歡迎訪問有關如何使用基本VHDL和Basys 3板構建秒表的說明。我們很高興與您分享我們的項目!這是2016年秋季在SLO的Cal Poly開設的CPE 133課程(數字設計)的最終項目。我們構建的項目是一個簡單的秒表,用于啟動,重置和暫停時間。它以Basys3板上的三個按鈕作為輸入,并且時間顯示在板的四位數七段顯示器上。經過的時間以 seconds:厘秒格式顯示。它使用開發板的系統時鐘作為輸入來跟蹤經過的時間,并將時間輸出到七段顯示器的四位數。
步驟1:材料
該項目所需的材料:
從Xilinx安裝了1臺裝有Vivado Design Suite WebPack的計算機(首選版本2016.2)
1 Digilent Basys3 Xilinx Artix-7 FPGA板
步驟2:設置輸入和輸出
上圖顯示了秒表主模塊的頂級框圖。秒表接受輸入“ CLK”(時鐘),“ S1”(開始按鈕),“ S2”(暫停按鈕)和“ RST”(復位),并具有4位輸出“陽極”,7位輸出“段”和一位輸出“ DP”(小數點)。當輸入“ S1”為高時,秒表開始計時。當“ S2”為低時,秒表暫停時間。當“ RST”為高電平時,秒表將停止并重置時間。電路中有四個子模塊:時鐘分頻器,數字計數器,七段顯示驅動器和七段顯示編碼器。秒表主模塊將所有子模塊鏈接在一起,并鏈接到輸入和輸出。
步驟3:制作時鐘
時鐘分頻器模塊接收一個系統時鐘,并使用一個除數輸入來創建一個不大于系統時鐘速度的時鐘。秒表使用兩個不同的時鐘模塊,一個創建一個500 Hz的時鐘,另一個創建一個100 Hz的時鐘。時鐘分頻器的原理圖如上圖所示。時鐘分頻器接收一個位輸入“ CLK”,一個32位輸入“除數”和一個位輸出“ CLKOUT”。 “ CLK”是系統時鐘,“ CLKOUT”是結果時鐘。該模塊還包括一個“非”門,當計數達到除數的值時,它將切換信號“ CLKTOG”。
步驟4:計數到十
數字計數器對從0到10的每個數字進行計數,并為下一個數字創建另一個時鐘,以使該數字在計數達到10時振蕩。模塊接收3個單位輸入“ S”, “ RST”和“ CLK”并產生一個單位輸出“ N”和一個4位輸出“ D”。輸入“ S”是輸入中的啟用。當“ S”為高電平時,時鐘打開;當“ S”為低電平時,時鐘關閉。 “ RST”是復位輸入,因此當“ RST”為高電平時時鐘將復位。 “ CLK”是數字計數器的時鐘輸入。 “ N”是時鐘輸出,成為下一位數字的輸入時鐘。輸出“ D”表示計數器所在數字的二進制值。
步驟5:顯示數字
這七個-segment顯示編碼器將對從七段顯示驅動器模塊接收到的二進制數進行編碼,并將其轉換為比特流,對于每個顯示段,該比特流將被解釋為“ 1”或“ 0”值。二進制數由模塊作為4位輸入“數字”接收,并產生7位輸出“段”。該模塊由一個單例處理塊組成,該塊為從0到9的每個可能的輸入值分配一個特定的7位流。七位流中的每個位代表顯示器上數字的七個部分之一。流中各段的順序為“ abcdefg”,其中“ 0”表示為給定數字點亮的段。
步驟6:如何顯示秒表
在七段顯示驅動器模塊中,有四個4位輸入“ D0”,“ D1”,“ D2”和“ D3”,每個輸入代表4位數字。被顯示。輸入“ CLK”是系統的時鐘輸入。一位輸出“ DP”代表七段顯示器上的小數點。 4位輸出“ Anodes”確定顯示七段顯示器上的哪個數字,而4位輸出“ temp”取決于2位控制輸入“ SEL”的狀態。該模塊使用4個多路復用器作為控制輸入“ SEL”和三個輸出。 “陽極”,“溫度”和“ DP”。
第7步:將它們整合在一起
一個從中運行的‘if’過程塊500Hz時鐘用于創建開始和暫停按鈕。然后,通過聲明每個單獨的子模塊的組件并使用各種信號,將秒表主模塊中的所有子模塊鏈接在一起。數字子模塊采用前一個數字子模塊的時鐘輸出,第一個采用100Hz時鐘。然后,數字子模塊的“ D”輸出變為七段顯示驅動器模塊的“ D”輸入。最后,七段顯示驅動程序模塊的“ temp”輸出變為七段編碼器模塊的“ temp”輸入。
步驟8:約束
使用3個按鈕(W19,T17和U18)輸入“ RST”,“ S1”和“ S2”。 W19是重置按鈕,T17是開始按鈕(S1),而U18是暫停按鈕(S2)。還需要使用端口W5限制時鐘輸入的輸入。另外,請記住將此行添加到時鐘約束中:
create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK}]
也請鏈接陽極和電路板上的分段,因此秒表顯示在約束文件中所示的七段顯示器上。
步驟9:測試
通過按三個按鈕來確保設備正常工作:以各種可能的方式推動并按住它們,以便發現代碼中可能存在的問題。
責任編輯:wv
-
vhdl
+關注
關注
30文章
817瀏覽量
128345 -
秒表
+關注
關注
3文章
77瀏覽量
22069 -
basys3
+關注
關注
0文章
4瀏覽量
4496
發布評論請先 登錄
相關推薦
評論