HDLBits (1) — 第一步
本題鏈接:
https://hdlbits.01xz.net/wiki/Step_one
歡迎使用HDLBits!
首先,入門數字邏輯設計可能會令人不知所措,因為您需要同時學習新概念,新的硬件描述語言(例如Verilog),幾個新的軟件包以及一個FPGA板。 HDLBits 提供了一種只要點擊“仿真”就能練習設計和調試簡單電路的方法。
設計電路需要幾個步驟:編寫HDL(Verilog)代碼,編譯代碼以生成電路,然后模擬電路并修復錯誤。
編寫代碼
編寫代碼的最簡單方法是在下面的代碼編輯器框中進行操作。就這個問題而言,我們已經為您填寫了大部分代碼。請繼續(xù)并完成此電路的代碼。
單擊“仿真”以編譯和模擬您的設計。
編譯
您的代碼是使用Altera Quartus編譯以產生電路的。使用Quartus會產生大量消息。單擊顯示Quartus消息以顯示/隱藏它們。減少警告的數量是個好習慣,但有時解決所有警告卻不切實際。
仿真
我們需要對編譯后的電路進行仿真以測試其是否正常運行。HDLBits使用ModelSim并行仿真您的電路和我們的參考解決方案,然后比較模塊的輸出。仿真報告了兩件事:
首先,它會報告您的電路是否與參考電路完全匹配(比如零個“不匹配”)或發(fā)生了多少“不匹配”?!安黄ヅ洹笔请娐份敵雠c參考輸出不匹配的樣本數。
其次,它可能會生成時序圖,以顯示運行我們的測試矢量時的電路輸出。模擬波形分為三個部分:“輸入”,“用戶”和“參考”。在正確的電路中,“您的”輸出將與“參考”輸出相同。“不匹配”信號會告訴您與參考輸出有哪里不匹配。
頂層模塊名稱和端口名稱top_module不得更改,否則會出現模擬錯誤。
最終狀態(tài)
如果電路正確,您將看到?狀態(tài):成功!?。此外還有其他幾種可能性:
編譯錯誤-電路未能編譯。
仿真錯誤-電路編譯成功,但仿真未能完成。
錯誤-電路已成功編譯和仿真,但輸出與參考不匹配。
成功!-電路正確
您可以在“我的統(tǒng)計信息”頁面上跟蹤或共享進度。
問題描述
我們將從代碼較少的HDL開始,以熟悉HDLBits的使用界面。這是您需要為此而練習構建的電路的描述:
建立一個沒有輸入和一個輸出的電路。該輸出應始終為1(或者是邏輯高電平)。
預期的解決方案長度:大約1行。
模塊聲明:
提示
我們需要讓one輸出為1

題目

答案

輸出波形


Verilog有下列四種基本的值來表示硬件電路中的電平邏輯
0:邏輯 0 或 "假"
1:邏輯 1 或 "真"
x 或 X:未知
z 或 Z:高阻
x?意味著信號數值的不確定,即在實際電路里,信號可能為 1,也可能為 0。
z?意味著信號處于高阻狀態(tài),常見于信號(input, reg)沒有驅動時的邏輯結果。例如一個 pad 的 input 呈現高阻狀態(tài)時,其邏輯值和上下拉的狀態(tài)有關系。上拉則邏輯值為 1,下拉則為 0 。
參考內容:
2.2 Verilog 數值表示 | 菜鳥教程:https://www.runoob.com/w3cnote/verilog-number.html