求助,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;
有遇到类似问题的童鞋吗?求助。
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 帮助不了
已经解决啦!
