作者kenyun (睡梦中的Zito)
看板Electronics
标题[问题] verilog中有关=与<=的用法
时间Thu May 14 17:07:50 2009
在循序逻辑中的用法我大概都知道了
我主要想问的是 reg <= 与 reg = 在一个always pos clk的block中
合成gate level出来的结果是否有区别?
或者在绕线完之後会有区别吗
感谢各位先进回答 ^ ^...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.117.179.90
1F:推 tkhan:你可以syntheis完,自己比比看.. 05/14 18:30
2F:推 arclitetank:EE板老梗: = vs <=, comdnational sequential 分开写 05/14 22:52
3F:→ arclitetank:其他请版友补充 05/14 22:52
4F:推 pupucar:这问题讨论到烂掉了...爬文吧... 05/15 08:39
我会这样问主要是碰到一个case
简化版
always@(posedge clk2 ) begin
case (state)
A:
c1 if (condition) begin
p1 state<=B;
p2 reg <=dataA;
end
B:
p3 reg <= dataB;
.
.
.
endcase
end
在够大的电路中 gate level与DFT时 模拟执行c1时会执行p1与p2 (正常)
但在後续P&R完 在NANOSIM模拟执行c1却会执行p1,但是p3被执行而p2不能 (????)
只能解释为routing完後clk2到达state与reg的时间不同
我只是在想是不是<=与=用法差异造成的
不好意思问法有点奇怪
不过lab学长们晶片没开过一颗可以完全work的
所以有些问题好像他们也不太懂 只能放在这里问问各位前辈 ^ ^..
※ 编辑: kenyun 来自: 140.117.179.90 (05/15 11:17)
5F:→ bakerly:从你的描述来看单纯是clock skew造成的问题,和=, <= 无关 05/15 13:12
6F:推 fnrj:skew大超过一个clock也蛮扯的 我觉得apr的flow可能要再看一下 05/16 00:34
7F:→ fnrj:另外netlist比一下 lec吧 说不定是中间logic出问题 05/16 00:35
8F:推 pupucar:先看一下STA report有没有问题 不然跑後模拟时先降速跑 05/16 05:26
9F:→ bakerly:只要CLK的SKEW比condition的DELAY就可以了..不用大於一个 05/16 17:34
10F:→ bakerly:CLK 05/16 17:34
11F:推 fnrj:小弟不才 其实是skew大於condition + case mux的delay就会跳 05/16 18:24
12F:→ fnrj:错 感谢楼上大大提醒 05/16 18:25
13F:→ kenyun:因为clk2是clk的降频电路生的 好像不能做CTS(其实我也不会) 05/16 22:25
14F:→ bakerly:muti-cycle path也可以作STA, 不过这讲起来有点复杂, 05/18 18:43
15F:→ bakerly:constrain 不好下, 你先拿HDLSIM 和 POSTSIM的wave form 05/18 18:44
16F:→ bakerly:比一下,看看是不是condiction出现的时间不对,是的话把他 05/18 18:44
17F:→ bakerly:调好就好了,不过这可能会造成其它地方的SKEW不对,要很小心 05/18 18:45
18F:→ kenyun:感谢^^..其实我从coding那边下手解决了 05/19 14:27
19F:→ kenyun:毕竟我是学演算法的...合成这边没有上过课只靠投影片来合.. 05/19 14:29