看板 Electronics 關於我們 聯絡資訊
小弟不才有一個小小疑問請想請教各位先進。 小弟作了一個小實驗,HDL大概長這樣: output reg IQCLK; always@(posedge EXTERNAL_CLK) begin if(DATA_READ_CLK) begin IQCLK <= 1; end else begin IQCLK <= 0; end end output reg IQWRT; always@(posedge EXTERNAL_CLK) begin if(DATA_READ_CLK) begin IQWRT <= 1; end else begin IQWRT <= 0; end end =========================================== 小弟的問題是,在作timing simulator的時候發現IQWRT上拉電位的時間點都比 IQCLK的速度還要在快一點??Why????? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.124.181.210 ※ 文章網址: http://www.ptt.cc/bbs/Electronics/M.1404542874.A.782.html ※ 編輯: gn00446610 (140.124.181.210), 07/05/2014 14:50:02
michael6172:wire delay cause this two difference result 07/05 17:02
gn00446610:m大..那有辦法去控制嘛?還是要作時續約束?? 07/05 17:06
letitgo02:如果沒有要輸出用 sequential電路都是 clock based 07/05 21:15
letitgo02:不會有影響 其他運算 看你需求 07/05 21:16
letitgo02:沒有要輸出FPGA用 07/05 21:17
kuoll:你應該檢查netlist是不是用了不同的cell 如果沒有timing 07/06 01:56
kuoll:violation就不用在意這個時間差 07/06 01:56
gn00446610:那麼有沒有辦法讓IQCLK的時間點比IQWRT上拉的時間點快 07/06 15:49
gn00446610:一點或者同時發生??? 07/06 15:49
lovepy:有甚麼特殊需求或原因一定要兩個同時發生嗎?? 07/06 16:32
lovepy:因為如果是一般的同步的話 基本上只要保證下次邊緣觸發時 07/06 16:33
lovepy:所有的數值在那之前已經穩定的拉起來就可以正常運作了 07/06 16:33
kuoll:將IQWRT再接幾個delay cell就可以晚點上拉了 07/06 19:56
gn00446610:l大,小的是因為要符合datasheet上的時序要求 07/07 12:07
kuoll:那你的HDL不該這樣設計 應該分兩cycle拉訊號 07/07 14:52
gn00446610:有點不是很懂k大您的意思??或者舉例一下 07/07 15:20
kuoll:我晚點回信跟你解釋一下好了 07/07 18:00
illl:k大信可以順便寄給我嗎?感恩 07/08 18:02
cpyi:1ovepy正解 下一個clock之前對就好了 拉起來之後 07/28 03:16
cpyi:時間 沒有影響 考慮這個問題的兩種情況 07/28 03:17
cpyi:第一種 就是下一個clock setup time還沒算完 07/28 03:17
cpyi:第二種情況 就是太快算完 導致hold time不符合 07/28 03:18
cpyi:你的問題應該是第二個 解決方法就是加一些buffer(2 Not gates 07/28 03:19
lovepy:datasheet? 意思是你的輸出信號會去控制其他晶片嗎? 08/01 09:32
lovepy:比較標準的作法應該是在合成的時候設定output delay 08/01 09:32
lovepy:比較快速的做法是 你原FPGA用正緣觸發 晶片用負緣觸發 08/01 09:34
lovepy:不過這樣電路操作頻率因有些地方的延遲浪費而降低 08/01 09:36
gn00446610:我這段code是要輸出訊號控制其他chip的沒錯 08/03 17:41
gn00446610:而且最後得到的結果,似乎是要對合成下一些constrain 08/03 17:42