作者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