- 主题:请问这种RTL写法是正确的么? 信号的复位值是一个变量?
可以这么写,也可以综合,但要注意实际电路的情况有可能和仿真器的结果有差别,arm的cpu里面见过这种写法
【 在 atlandis 的大作中提到: 】
请问这种写法是正确的么? 信号的复位值是一个变量?
综合后是个什么样子?
always@(posedge dclk o
--
FROM 36.17.183.*
【 在 atlandis 的大作中提到: 】
: 既然可综合,而且arm的cpu也有这种写法, 那么怎么能知道电路和仿真的差别在哪呢?
:
https://bbs.eetop.cn/thread-919034-3-1.html
eetop上之前就讨论过,简单来说就是rtl前仿的时候可能q只会在rst下降沿的时候随着bw_32的值变化一次,而网表后仿和实际电路的行为就是rst低电平时q一直随着bw_32的变化而变化,引起这个差别的原因是vcs理解时序触发的条件就是你always后面括号里的posedge和negedge,但是写的人又希望实际逻辑是下面的if(!rst)的逻辑,把组合的连续赋值逻辑和时序触发逻辑搞在一起了,vcs看到这样的写法也很难办啊。至于dc综合出来的电路在上面的链接里有人贴出来了
--
FROM 116.236.47.*
综合工具比你想的聪明多了,即使没有拿来就能完全符合的dff,人家也可以对复位信号进行处理再用普通的带复位置位的dff来实现,永远不要小看经过几十年检验的工具和几百上千号做工具的人,说实话现在流传的很多所谓的代码技巧在编译器和综合工具眼里都是笑话了,不管是软件还是硬件
【 在 frank1123 的大作中提到: 】
: 一群人东拉西扯的。就这兄弟说得很清楚了。既然是可综合语句,综合器必须要知道到底调用哪种类型复位的dff
--
FROM 116.236.47.*