微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求助,if条件满足却不执行?

求助,if条件满足却不执行?

时间:10-02 整理:3721RD 点击:
如题,vhdl在满足if条件时却不执行语句:
         buf_min 已赋初值x"ff".
   if conv_integer(unsigned(buf_min)) < conv_integer(unsigned(timer_buf)) then
      buf_min <= buf_min ;
   else
      buf_min <= timer_buf ;
   end if;
   有遇到类似问题的童鞋吗?求助。

早忘了VHDL了,但是如果你代码量很小的话,基本可以说就是你代码功能的问题,那个逻辑设计错了,或者代码不符合常规可执行的代码规范。

这个是逻辑写错了
应该这么写:
   if conv_integer(unsigned(timer_buf1)) < conv_integer(unsigned(timer_buf)) then
      buf_min <=timer_buf1 ;
   else
      buf_min <= buf_min ;
   end if;

…………

看你代码里面是关于两个无符号数的对比。 VERILOG 里面你不定义sign , 工具自动默认为unsigned。 你的写法会不会多此一举了呢? 去掉看看是什么效果


这是VHDL...去掉它会默认成signed

没用过VHDL 帮助不了



已经解决啦!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top