在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: hancheng1166

[求助] 请问一个verilog 的case statement的非常奇怪的问题

[复制链接]
发表于 2013-4-2 09:18:03 | 显示全部楼层
楼主你没把两个变量各是三位表示出来 你用12345678这样表示没指明位数。
建议写成****=3‘b***
 楼主| 发表于 2013-4-2 09:46:55 | 显示全部楼层
回复 12# 小小舟


   anyway,很奇怪的我即使用最简单的形式,比如:



  1. always @(*)
  2. begin
  3. casex( funct)
  4. 3'b000 : alu_ctrl = 0000;
  5. 3'b001 : alu_ctrl = 0001;
  6. 3'b010 : alu_ctrl = 0010;
  7. 3'b011 : alu_ctrl = 0011;
  8. 3'b100 : alu_ctrl = 0100;
  9. 3'b101 : alu_ctrl = 0101;
  10. 3'b110 : alu_ctrl = 0110;
  11. 3'b111 : alu_ctrl = 0111;
  12. default : alu_ctrl = 1101;
  13. endcaseend


复制代码


结果跟上面是一样一样的。
更奇怪的是,我如果这么写:





  1. always @(*)
  2. begin
  3. casex( funct)
  4. 3'b000 : alu_ctrl = 0000;
  5. 3'b001 : alu_ctrl = 0001;
  6. 3'b010 : alu_ctrl = 1010;
  7. 3'b011 : alu_ctrl = 1011;
  8. 3'b100 : alu_ctrl = 0100;
  9. 3'b101 : alu_ctrl = 0101;
  10. 3'b110 : alu_ctrl = 1110;
  11. 3'b111 : alu_ctrl = 1111;
  12. default : alu_ctrl = 1101;
  13. endcase
  14. end


复制代码



结果就正确了。我用的是xilinx ise14.2
如果你也有ise的话也可以试试。
我反正是没招了~~
发表于 2013-4-2 10:06:54 | 显示全部楼层
回复 14# hancheng1166


    咕~~(╯﹏╰) 不好意思 我刚没说清楚,是testbench里面的那两个激励*****和***,貌似默认是8位?
发表于 2013-4-2 10:10:00 | 显示全部楼层
回复 14# hancheng1166


    咦 不是endmodule吗?还有你把 endcase和end写成endcaseend肯定错了,居然没出错
发表于 2013-4-2 10:15:51 | 显示全部楼层
没用过ISE 不过应该可以看波形吧 看看两个变量各是几位的?还有各个时间点上的变化和你testbench里写的是否一致。
 楼主| 发表于 2013-4-2 10:45:46 | 显示全部楼层
回复 16# 小小舟


   这个我可能复制代码的时候刚才有点弄乱了
发表于 2013-4-2 22:39:00 | 显示全部楼层
不要用casex
发表于 2013-4-3 06:31:06 | 显示全部楼层
你altctrl几位的。?monitor那边用二进制,casex那边用十进制
发表于 2013-4-3 08:26:56 | 显示全部楼层
本帖最后由 orlye 于 2013-4-3 08:30 编辑

楼主请记住,不指定格式的数字会被认为是32位的十进制数。

例如30ns的那个,case语句返回的确实是0010,但它是32位的十进制数,转换成二进制,取低4位就是1010。
其它没出错的楼主可以换算一下,都是纯属巧合。
楼主的case语句等号右边都该写成4'b....,也就是指定它是4比特二进制数,就对了。
发表于 2013-4-3 10:19:16 | 显示全部楼层




    看了一下,的确和21L说的一样。verilog代码里面的十进制数转变为二进制后,符合你仿真的结果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-17 15:03 , Processed in 0.030711 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表