推 bakerly: q2沒初值,q2[3]是x,if無法判定。10/06 18:53
→ BellCranell: Q2沒initial value10/06 19:20
推 mmonkeyboyy: 到底是誰在教HDL都沒教要放初值的10/06 22:04
抱歉沒有打清楚,我只擷取always的部分,我都有設定初值,但是同樣是計數功能,第一
段程式執行q2卻沒信號,但第三段卻有正常運作
※ 編輯: cscin218 (180.217.187.191), 10/06/2017 22:28:40
推 ericute: 第一段可能是combinational loop導致失敗吧,請問lattic10/06 23:46
→ ericute: e的模擬是算真實電路模擬嗎,還是純rtl sim10/06 23:46
我第一個是真實電路的時候沒波形出來,但是用modelsim模擬時卻有
→ Jielolz: 不貼清楚很難抓藥10/07 00:18
J大
其實我想問的是關於除頻器的寫法,為什麼網路上查都沒人用always@(clk)的寫法而是都
有加正緣觸發的,所以我就試了一下卻發現在真實電路上無法動作
※ 編輯: cscin218 (180.217.203.132), 10/07/2017 01:08:10
推 Jielolz: 沒給正負緣 想像一下會怎樣 10/07 01:14
沒給正負緣的話,每當clk改變值時就做一次always內的流程,應該是這樣子吧!?
※ 編輯: cscin218 (180.217.203.132), 10/07/2017 01:26:42
推 lin089170: if(Q2[3]=1) or if(Q2[3]==1) ???10/07 08:18
推 mmonkeyboyy: 樓上 nice catch 10/07 09:51
推 eamansf96xs: lin大 正確10/07 10:45
不好意思今天出門現在才看到
這個是筆誤,不是這個的問題…
※ 編輯: cscin218 (111.246.128.198), 10/07/2017 23:25:21
因為我用modelsim模擬時是正常的但是燒到電路中就不行,我想了解的是是不是燒到電路中有哪些用法是無法轉成電路,所以導致cpld無法正常運作,想看看有沒有人遇到跟我類似的事情嗎?
※ 編輯: cscin218 (111.246.128.198), 10/07/2017 23:35:48
→ BellCranell: 所以你有合成嗎 10/07 23:44
推 bakerly: 沒寫正負緣這電路會變成組合邏輯,你第一個電路實際上不 10/07 23:44
→ bakerly: 知道會變成什麼東西。但不會是你想像的那樣跑。 10/07 23:44
→ bakerly: 依我對模擬器的印象也許模擬會正常,但合成後絕對不會如 10/07 23:47
→ bakerly: 你想的那樣跑。 10/07 23:47
推 mmonkeyboyy: 樓上正解 10/08 07:29
→ mmonkeyboyy: 想翻的人可以看IEEE STD1364 沒有edge就是組合羅輯 10/08 07:32
→ mmonkeyboyy: 至於你模擬可能可以這樣跑是因為 edge除了01 還有xz 10/08 07:33
→ mmonkeyboyy: 某些條件也許符合所以模擬跑得出來 具體理由我忘了 10/08 07:34
推 mmonkeyboyy: 但可以得知道 你的態有可能進入了XZ 然後程式會補正 10/08 07:37
→ mmonkeyboyy: 但一般這應該會有warning幾乎現代的simulator都有了 10/08 07:38
→ mmonkeyboyy: 除非你使用的signal都是b 然後內部就會被強制改成b 10/08 07:38
→ mmonkeyboyy: 但對於synthesis來說 他才不管 他轉成GATES之後就 10/08 07:39
→ mmonkeyboyy: 不再考量clk (變組合羅輯了) 但simulator由於不是這 10/08 07:40
→ mmonkeyboyy: 樣設計的 所以才造成你可能會有結果 10/08 07:40
→ mmonkeyboyy: 如果你看不懂 就當我沒說 反正不重要 學到正確要 10/08 07:40
→ mmonkeyboyy: 加edge就好 其他亂七八糟就不用看了 10/08 07:41
→ ahoyhoy: 有glitch就死翹翹了 10/23 18:05