作者e758e (e758e)
看板Electronics
標題[問題] Verilog latch問題
時間Mon May 24 17:03:02 2021
各位前輩好,小弟在學校考試時遇到了一題在問有沒有latch的簡單程式,
老師給的答案是有latch,以下是我的問題和過程
(1)哪個才是latch的定義
1.有incomplete的敘述
2.每個可能的輸入都要有一個對應的輸出,否則會產生latch
雖然看起來很像,但從題目中去思考會有點差異。
(2)以下為我實際用Quartus去模擬的結果,並多了兩個對照組
https://imgur.com/a/ilwZuYH
共有6章圖片
(3)依照合成出來的電路圖來說是沒有latch的,那從waveform可以看出有沒有latch嗎 ?
(4)若問題(1)的答案是1,那題目中很明顯的是incomplete敘述,
要怎麼解釋合成出來的電路沒有latch?
(5)若問題(1)的答案是2, 當x=4'bx000時(x000的x是don't care),y=0
那麼就表示每一個可能的input之下,y都會有值,
那麼就跟合出來沒有latch的電路說的通了
(6)請問大神們,這樣到底有沒有latch呢......
還是當有爭議時就看合成出來的結果?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.129.54.218 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Electronics/M.1621846984.A.1CE.html
1F:→ ViewMoon: 你把 quartus 當作不可信,就不用糾結了 05/24 21:31
我是相信Quartus的... 只是老師不認為答案是沒latch,讓我很納悶
2F:→ wildwolf: 有 default 值(寫在前面或是最後有 else)就不會有 latch 05/25 07:50
3F:→ wildwolf: 所以只有第三個例子會有latch產生,跟 quartus 結果相符 05/25 07:52
感謝,只要所有有可能出現的input,它的output值能被決定就不會有latch
4F:推 mmonkeyboyy: 其實問題在於這verilog語法 .... 唉 05/25 11:28
5F:→ mmonkeyboyy: 通常你要有else 就不會有latch 05/25 11:29
6F:→ mmonkeyboyy: 如果是else if 你通常就會有latch (狀態沒列完) 05/25 11:29
7F:→ mmonkeyboyy: 第一個沒有的原因是因為你有y=0 先定義了所有y可能性 05/25 11:30
8F:→ mmonkeyboyy: 這 能的話就別用verilog 了 學學 always_comb 等 05/25 11:31
9F:→ mmonkeyboyy: 用法吧 05/25 11:31
感謝回覆,那能請問問題(1)的答案應該要選2會比較精確是嗎?
因為可能還會再跟老師討論,要想辦法說服他
※ 編輯: e758e (220.129.54.218 臺灣), 05/25/2021 20:21:54
※ 編輯: e758e (220.129.54.218 臺灣), 05/25/2021 20:24:32