vhdl中的if和case语句的问题~

houcs01   2007-12-15 17:06 楼主
具体是vhdl
语句很简单,就是在一个方波信号的过程中去检查并处理
if clk='1' then
        $%^%$             --一些简单的处理
elsif clk='0' then
      case *&$$ is
              when ......  --同样是一些处理
      end case;
end if;

这样的语句在vhdl中可以通过综合,但是综合的情况下,都不执行
不知道为啥?
而且在如果elsif clk='0' then这句话改成else的话,就好像会报错
不知道为什么,具体高人指点下,在下感激不尽。

(应该是fpga设计原理上的问题)

回复评论 (6)

首先确定你做的是不是时序电路
上升沿还是下降沿触发
其次确认敏感变量有没有被包含
点赞  2008-4-17 15:02
有点难度哦
点赞  2008-4-30 18:14
不会,帮顶
点赞  2008-4-30 23:17
如果是时序问题,应该有触发沿,上升沿或下降沿,如果改成else就少了一个end if;
点赞  2008-10-10 22:09
我要和VHDL永别

因为它太变态了

在这里警告楼主

不要把C语言等语言的习惯和思想带到VHDL中来,他真是个“硬件描述语言”!不是按照人的软件思维去写的。

注意VHDL的竞争冒险现象,毛刺产生的原因。

----------这些东西,VHDL。浪费了我大学的一些宝贵青春。唉。
点赞  2008-10-11 15:21
硬件的描述和软件有完全不同的思想,在你用vhdl或者verilog描述前,你应该完全知道你的电路是什么样子。
点赞  2008-10-12 12:41
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复