三天前寫了一個1101序列檢測電路,但是仿真結果一直不對。當我從源文件上絞盡腦汁也不知道哪裏錯了,後來發現是modelsim在時鐘上升沿時對狀態的讀取方式和我們數電老師講的不一樣造成的。
錯誤:
紅色的是按照數電剛開始老師講的,上升沿到時讀取狀態爲上升沿前一時刻的狀態,故讀取1101,但輸出並沒有變爲1
其實當上升沿到時,如果需要讀取的數據正好也是在上升沿或下降沿,則讀法不一樣。
上升沿讀1,下降沿讀0
所以正確的數據爲0011
修改激勵後:
可見,在時鐘上升沿時,輸入信號也是上升沿則爲1,下降沿則爲0,故讀的1101,輸出=1