看板 Electronics 關於我們 聯絡資訊
各位好, 我想請教幾個觀念, 和一個設計verilog的想法 先問個觀念: 1. 一個module結束的時機在甚麼時候? 是output被賦值的瞬間嗎? 若是這樣, 那如果我設計一個pipeline(多個always@(posedge clk), 最後一個always block做output的給值) 那這樣不就在第一個clk的 時候output就會接到一個不知名的訊號然後結束嗎, 而不會等到真正 的值來? 2. 組合電路會和循序電路寫在同一個模組嗎? 如下 always@(posedge clk)begin A區........ end ......在兩個block中間做一個組合電路 always@(posedge clk)begin B區...... end 最後問一個關於怎麼設計的問題: -- 我目前有一個變數fraction, 我想在每一次迭代中檢查fraction的最高 bit是否為1, 不是則<<, 並且進入下一次迭代 -- 目前架構: always@(input1)begin .....做些處理得到fraction end always@(...... ....迭代處理fraction並決定輸出 .... end -- 目前遇到的困難: 1. 輸入並沒有提供clock, 但是我嘗試在module裡面做一個clk, 但模擬 器就會報error. ( 我的clk: always#10 clk~=clk; ) 若我沒有clock, 是否就無法迭代? 2. 無法確保把正確的值給輸出前, 下一個input訊號就來了, 還是我不需 管這個? 問題有點多, 先在這裡感謝各位的幫忙 ^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.112.53 ※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1555043310.A.C31.html
tkhan: 一個module結束的時機在,你書念的不夠多 04/12 12:47
BellCranell: pipeline你應該要知道哪個時間的值是你要的.. 04/12 13:12
kramasdia: 先丟掉你軟體語言的包袱 module沒有結束的概念 它是一 04/12 16:23
kramasdia: 塊電路 04/12 16:23
DRQX: 請看邏輯設計/數位邏輯 的書 04/12 18:39
a12349221: 寒假報一下cic開的verilog課程吧,成大有開課 04/13 23:35
Neverfor: assign 跟 always比較一下 04/21 02:29
hihihihsuan: 1. module 是一塊電路,會一直存在著,你給了它什麼i 04/28 21:46
hihihihsuan: nput它就會輸出相應的結果 04/28 21:46
hihihihsuan: 2. 組合和循序邏輯可以分開也可以合在一起,不一定要 04/28 21:46
hihihihsuan: 分開寫,分開寫的話循序邏輯就只有把next值給到curre 04/28 21:46
hihihihsuan: nt值,組合邏輯寫你的function 04/28 21:46
hihihihsuan: 3. 要在一個clk做完的話,可以用if或case來判斷要shi 04/28 21:46
hihihihsuan: ft幾次才能讓MSB為1,不然就會產生combination loop 04/28 21:46