看板 Electronics 關於我們 聯絡資訊
請問各位大大,為什麼我以下的程式中, d1不會如我所預期的dealy一個clock才有值 呢? always@(posedge clk_HBF2 or posedge reset) begin if(reset==1) d1<=0; else d1<=data_in; end 但如果我用subblock的方式去呼叫, subblock f1(.out(out),.clk(clk),.in(data_in)); 就可以看到dealy的效果,請問是為什麼呢??? 我應該怎麼寫會比較好呢?請大大幫忙,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.208.195
zelk:因為兩種東西跑出來的實際電路不同 05/17 20:21
baoerking:大大是指的是合成後嗎? 05/17 23:06
zelk:對 不過我主修機械...你...參考就好 05/17 23:44
bakerly:你的f1就是上面那個always block嗎,如果是的話那相當不合 05/18 18:47
bakerly:理,一定有其它地方錯了.... 05/18 18:47
baoerking:不何理是指?? 05/18 22:59
ksmrt0123:有waveform圖嗎? 還是更完整的程式? 05/19 02:26
bakerly:你call的subblock少了一根reset, 我假設是你打漏了,在這 05/19 11:35
bakerly:個前題下,不應該會有任何不同,這就是我說的不合理。 05/19 11:36
colinshih:因為你的data_in 為module port, 同時rising edge 給值 05/20 00:12
colinshih:請以falling edge 給值,或加入input delay 05/20 00:13
sasako:這有時候跟你testbench給值的時間有關係 正如樓上講的 05/25 23:45
sneak: 有waveform圖嗎 https://noxiv.com 11/11 15:09
sneak: 因為兩種東西跑出來的實 http://yofuk.com 01/04 21:56