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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: wangyangcha

[求助] 新人问代码问题

[复制链接]
发表于 2017-5-22 22:48:24 | 显示全部楼层
发表于 2017-5-28 08:46:33 | 显示全部楼层


回复  wangyangcha
full/ parallel 是  synthesis directives.目的是告斯synthesizer 如何implement "cas ...
wythelin 发表于 2017-5-22 11:41



牛逼。简单看了一下那个文档,
full_case=no时,意味着case分支不全;
full_case=user时,意味着case分支不全;但是RTL代码,对case段加了synopsys综合工具才能识别的“// synopsys full_case”,即RTL存在latch风险,但会通知synopsys综合工具,“虽然分支不全,但不关心没指定case分支的输出值”。
full_case=auto时,意味着case分支齐全;RTL代码完美。


parallel_case完全类似。不过不在意味着case分支是否齐全,而是意味着case分支是否存在交叉满足情况。
如果case分支存在交叉满足情况,那么综合生成的电路会存在优先级,导致结构复杂,浪费器件。

总之,这两个情况,还是建议从RTL设计代码里解决。
发表于 2017-5-28 23:33:16 | 显示全部楼层
回复 12# 001qilei001
說的很正確,不過我想補充一點
關於parallel_case的 這個 Directives ,我認為最重要因素是synthesis 後的frequency,不是size
設了parallel_case,將不再有priority
Ex:
always @(*) begin
case ({a,b})
       2'b01:  result = 1'b0;
       2'b10:  result = 1'b1;
endcase
end
以上這個電路
如果 a = 1'b1; and b = 1'b1;
沒有設parallel_case,則 result = 1'b0;
設parallel_case,則result = 1'b0 or 1'b1; depend on synthesis tool.
但是Synthesis 之後的電路路徑會比較短
发表于 2018-1-5 15:40:29 | 显示全部楼层
66666666666666666666666666
发表于 2021-6-20 14:13:17 | 显示全部楼层
好帖
发表于 2021-9-29 15:28:09 | 显示全部楼层
learning~~~
发表于 2021-11-17 09:34:45 | 显示全部楼层
学习到了,感谢
发表于 2024-1-10 14:19:33 | 显示全部楼层
好帖
发表于 2024-1-15 10:02:48 | 显示全部楼层
謝謝分享 牛B
发表于 2024-8-19 23:23:46 | 显示全部楼层
好帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-27 19:42 , Processed in 0.025611 second(s), 7 queries , Gzip On, Redis On.

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