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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 12972|回复: 21

[求助] 还是一道ASIC笔试题,问verilog代码综合后的电路有何不同,仍求大神

[复制链接]
发表于 2012-10-30 09:14:40 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 超群天晴 于 2012-10-30 09:15 编辑

题目是这样的
请说明下面语句综合后电路的区别

(1)

#5 a=b;

a= #5 b;

(2)

c=foo?a:b;

if(foo) c=a;

else c=b;


(1)题我答得是这样的,这两句话要实现的功能均是把b传递给a,只不过第一种写法的结果是需要在前一句代码执行完后延时5个timescale,a立即和b一致;而第二种写法使得a总是延后与b 5个timescale


(2)题我就不太清楚怎么回答了,虽然说if else 必须放在always结构里面,但是always综合出来的也可以是纯组合逻辑而不产生DFF,那样和问号选择语句功能不就一样了吗?


自己学得不扎实,求前辈指导!

发表于 2012-10-30 09:57:02 | 显示全部楼层
说的是综合后的电路:
1)综合后应该是一样的,延迟只作用于仿真,对综合无效;
2)这个不清楚,感觉都会综合出来mux;
 楼主| 发表于 2012-10-30 10:09:42 | 显示全部楼层
回复 2# Gary.wang


    可能是题目我记错了,题目问的的确是“有什么不同”,我也考虑综合后电路是一样,那样就没办法回答
 楼主| 发表于 2012-10-30 10:11:02 | 显示全部楼层
回复 2# Gary.wang


   Gary啊,#5的语句,能综合吗,还是说综合后没有延时?我一直以为只能做测试用
发表于 2012-10-30 10:35:02 | 显示全部楼层



延迟语句不能综合,综合时候会自动忽略;这样写主要是为了仿真的时候调整时序;
而真正的时序调整会在STA阶段实现;
发表于 2012-10-30 10:55:20 | 显示全部楼层
本帖最后由 shxr 于 2012-10-30 14:41 编辑

以我的理解,这两个写法综合出来都是一样的
楼主可以综合一下试试
1.综合工具忽略延时信息,忽略后二者代码一致,综合出来的一致
2.通常if……else……语句综合出来有优先级判断的电路,但这里只是1次判断,所以综合出来就是mux。而另一个三目运算符本来就是综合出mux。
so。。。我的答案如上
发表于 2012-10-30 13:16:01 | 显示全部楼层
仿真表现不一样,综合后是一样的。上面的foo为不定态时c为不定态,下面的foo为不定态时c为b。
发表于 2012-10-30 13:25:41 | 显示全部楼层
回复 7# zhq415758192


   这也算潇洒?
 楼主| 发表于 2012-10-30 14:34:18 | 显示全部楼层
回复 6# shxr


    if else 有优先级吗?不是说优先级只能通过多个if语句才能实现吗?
发表于 2012-10-30 16:33:16 | 显示全部楼层
第二题,貌似?:是综合出trisbuf,if else是mux的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-4 01:45 , Processed in 0.039822 second(s), 10 queries , Gzip On, Redis On.

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