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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3241|回复: 9

[求助] always@(mode_ctrol[3:0])悲剧

[复制链接]
发表于 2012-5-31 15:27:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 XIDIANCAD2 于 2012-5-31 17:40 编辑

芯片都快要投片了,但今天发现师兄们写的RTL代码有点问题。是这样的

always@(mode_ctrol[3:0])

begin

    case(mode_ctrol)

    4'b0000:  .....

    4'b0001:......

这样写肯定不合理呀,应该这样

alway@(mode_ctrol[3:0])

begin

     case(mode_ctrol[3:0])

    4'b0000:  .....

    4'b0001:......


mode_ctrol是8位的。

但仿真时都没有发现问题。不知道这样两种写法综合出来的是否是一样的。

谢谢大家的意见。我终于弄明白了。综合出来的网表确实不一样。形式验证也通不过。功能上也有一些差异。但我发现我的设计里没有用到mode_ctrol的前四位,也就是说我的设计保证mode_ctrol的前四位不变。只要前四位不变,两种方法的输出都是一样的。所以不会影响到我的输出。只有mode_crol的前四位出现了变化这时两种网表的功能就会不一样,输出也不一样。

发表于 2012-5-31 16:04:48 | 显示全部楼层
通不过,还要流片?慢慢改吧
发表于 2012-5-31 16:26:52 | 显示全部楼层
我觉得最保险的办法你跟一下综合后的网表看到底对不对
发表于 2012-5-31 16:46:16 | 显示全部楼层
为什么不写成always @(*)
不支持2001的语法么?
看一下综合出来的电路图有没有区别吧
话说最近投片的是哪个foundry的?
 楼主| 发表于 2012-5-31 16:47:38 | 显示全部楼层
回复 4# poiu_elab


    UMC 0.25um
发表于 2012-5-31 17:05:20 | 显示全部楼层
仿真当然是对的啦,但综合结果跟综合器有关的,看一下电路结构就好了
发表于 2012-5-31 17:14:43 | 显示全部楼层
悲剧了
 楼主| 发表于 2012-5-31 17:42:08 | 显示全部楼层
回复 3# jackzhang


   

谢谢大家的意见。我终于弄明白了。综合出来的网表确实不一样。形式验证也通不过。功能上也有一些差异。但我发现我的设计里没有用到mode_ctrol的前四位,也就是说我的设计保证mode_ctrol的前四位不变。只要前四位不变,两种方法的输出都是一样的。所以不会影响到我的输出。只有mode_crol的前四位出现了变化这时两种网表的功能就会不一样,输出也不一样。

发表于 2012-5-31 18:52:36 | 显示全部楼层
第一种写法,仅当mode_ctrol高4位全为零时,才和第二种写法一样
 楼主| 发表于 2012-5-31 23:36:37 | 显示全部楼层
回复 9# Timme


    对,如果前四位不是0结果就不一样。而我的设计的前四位全为0,不会出现其他值,所以应该不会影响我的功能的。不想改了。所有的都弄好了都马上tapeout了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-5-29 13:15 , Processed in 0.023087 second(s), 7 queries , Gzip On, MemCached On.

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