0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用基本VHDL和Basys3板構(gòu)建秒表

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2019-11-04 10:09 ? 次閱讀

歡迎訪問有關(guān)如何使用基本VHDL和Basys 3板構(gòu)建秒表的說明。我們很高興與您分享我們的項目!這是2016年秋季在SLO的Cal Poly開設(shè)的CPE 133課程(數(shù)字設(shè)計)的最終項目。我們構(gòu)建的項目是一個簡單的秒表,用于啟動,重置和暫停時間。它以Basys3板上的三個按鈕作為輸入,并且時間顯示在板的四位數(shù)七段顯示器上。經(jīng)過的時間以 seconds:厘秒格式顯示。它使用開發(fā)板的系統(tǒng)時鐘作為輸入來跟蹤經(jīng)過的時間,并將時間輸出到七段顯示器的四位數(shù)。

步驟1:材料

該項目所需的材料:

從Xilinx安裝了1臺裝有Vivado Design Suite WebPack的計算機(首選版本2016.2)

1 Digilent Basys3 Xilinx Artix-7 FPGA

1 USB端口電纜

步驟2:設(shè)置輸入和輸出

上圖顯示了秒表主模塊的頂級框圖。秒表接受輸入“ CLK”(時鐘),“ S1”(開始按鈕),“ S2”(暫停按鈕)和“ RST”(復(fù)位),并具有4位輸出“陽極”,7位輸出“段”和一位輸出“ DP”(小數(shù)點)。當(dāng)輸入“ S1”為高時,秒表開始計時。當(dāng)“ S2”為低時,秒表暫停時間。當(dāng)“ RST”為高電平時,秒表將停止并重置時間。電路中有四個子模塊:時鐘分頻器,數(shù)字計數(shù)器,七段顯示驅(qū)動器和七段顯示編碼器。秒表主模塊將所有子模塊鏈接在一起,并鏈接到輸入和輸出。

步驟3:制作時鐘

時鐘分頻器模塊接收一個系統(tǒng)時鐘,并使用一個除數(shù)輸入來創(chuàng)建一個不大于系統(tǒng)時鐘速度的時鐘。秒表使用兩個不同的時鐘模塊,一個創(chuàng)建一個500 Hz的時鐘,另一個創(chuàng)建一個100 Hz的時鐘。時鐘分頻器的原理圖如上圖所示。時鐘分頻器接收一個位輸入“ CLK”,一個32位輸入“除數(shù)”和一個位輸出“ CLKOUT”。 “ CLK”是系統(tǒng)時鐘,“ CLKOUT”是結(jié)果時鐘。該模塊還包括一個“非”門,當(dāng)計數(shù)達(dá)到除數(shù)的值時,它將切換信號“ CLKTOG”。

步驟4:計數(shù)到十

數(shù)字計數(shù)器對從0到10的每個數(shù)字進(jìn)行計數(shù),并為下一個數(shù)字創(chuàng)建另一個時鐘,以使該數(shù)字在計數(shù)達(dá)到10時振蕩。模塊接收3個單位輸入“ S”, “ RST”和“ CLK”并產(chǎn)生一個單位輸出“ N”和一個4位輸出“ D”。輸入“ S”是輸入中的啟用。當(dāng)“ S”為高電平時,時鐘打開;當(dāng)“ S”為低電平時,時鐘關(guān)閉。 “ RST”是復(fù)位輸入,因此當(dāng)“ RST”為高電平時時鐘將復(fù)位。 “ CLK”是數(shù)字計數(shù)器的時鐘輸入。 “ N”是時鐘輸出,成為下一位數(shù)字的輸入時鐘。輸出“ D”表示計數(shù)器所在數(shù)字的二進(jìn)制值。

步驟5:顯示數(shù)字

這七個-segment顯示編碼器將對從七段顯示驅(qū)動器模塊接收到的二進(jìn)制數(shù)進(jìn)行編碼,并將其轉(zhuǎn)換為比特流,對于每個顯示段,該比特流將被解釋為“ 1”或“ 0”值。二進(jìn)制數(shù)由模塊作為4位輸入“數(shù)字”接收,并產(chǎn)生7位輸出“段”。該模塊由一個單例處理塊組成,該塊為從0到9的每個可能的輸入值分配一個特定的7位流。七位流中的每個位代表顯示器上數(shù)字的七個部分之一。流中各段的順序為“ abcdefg”,其中“ 0”表示為給定數(shù)字點亮的段。

步驟6:如何顯示秒表

在七段顯示驅(qū)動器模塊中,有四個4位輸入“ D0”,“ D1”,“ D2”和“ D3”,每個輸入代表4位數(shù)字。被顯示。輸入“ CLK”是系統(tǒng)的時鐘輸入。一位輸出“ DP”代表七段顯示器上的小數(shù)點。 4位輸出“ Anodes”確定顯示七段顯示器上的哪個數(shù)字,而4位輸出“ temp”取決于2位控制輸入“ SEL”的狀態(tài)。該模塊使用4個多路復(fù)用器作為控制輸入“ SEL”和三個輸出。 “陽極”,“溫度”和“ DP”。

第7步:將它們整合在一起

一個從中運行的‘if’過程塊500Hz時鐘用于創(chuàng)建開始和暫停按鈕。然后,通過聲明每個單獨的子模塊的組件并使用各種信號,將秒表主模塊中的所有子模塊鏈接在一起。數(shù)字子模塊采用前一個數(shù)字子模塊的時鐘輸出,第一個采用100Hz時鐘。然后,數(shù)字子模塊的“ D”輸出變?yōu)槠叨物@示驅(qū)動器模塊的“ D”輸入。最后,七段顯示驅(qū)動程序模塊的“ temp”輸出變?yōu)槠叨尉幋a器模塊的“ 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:測試

通過按三個按鈕來確保設(shè)備正常工作:以各種可能的方式推動并按住它們,以便發(fā)現(xiàn)代碼中可能存在的問題。
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    816

    瀏覽量

    128018
  • 秒表
    +關(guān)注

    關(guān)注

    3

    文章

    77

    瀏覽量

    21981
  • basys3
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    4453
收藏 人收藏

    評論

    相關(guān)推薦

    使用低成本MSP430 MCU簡化7段LED秒表應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《使用低成本MSP430 MCU簡化7段LED秒表應(yīng)用說明.pdf》資料免費下載
    發(fā)表于 09-13 10:12 ?0次下載
    使用低成本MSP430 MCU簡化7段LED<b class='flag-5'>秒表</b>應(yīng)用說明

    verilog設(shè)計之基于basys3實現(xiàn)的簡易分秒數(shù)字鐘

    基于basys3實現(xiàn)的簡易分秒數(shù)字鐘
    發(fā)表于 09-03 14:15 ?0次下載

    【招聘】verilog vhdl FPGA

    1.熟悉FPGA架構(gòu)及應(yīng)用,熟悉圖像算法的FPGA實現(xiàn)。 2.熟悉verilog vhdl,熟悉Xilinx或Intel等開發(fā)工具。 3.有AI算法 fpga實現(xiàn)經(jīng)驗優(yōu)先。 4.本科及以上學(xué)歷,碩士優(yōu)先。具有強烈的責(zé)任心,執(zhí)行力,良好的溝通能力和團(tuán)隊合作能力。
    發(fā)表于 09-02 15:50

    Verilog到VHDL轉(zhuǎn)換的經(jīng)驗與技巧總結(jié)

    Verilog與VHDL語法是互通且相互對應(yīng)的,如何查看二者對同一硬件結(jié)構(gòu)的描述,可以借助EDA工具,如Vivado,打開Vivado后它里面的語言模板后,也可以對比查看Verilog和VHDL之間的差異。
    的頭像 發(fā)表于 04-28 17:47 ?1915次閱讀
    Verilog到<b class='flag-5'>VHDL</b>轉(zhuǎn)換的經(jīng)驗與技巧總結(jié)

    ONMCU DIL 3V3 CTRL數(shù)據(jù)手冊

    電子發(fā)燒友網(wǎng)站提供《ONMCU DIL 3V3 CTRL數(shù)據(jù)手冊.rar》資料免費下載
    發(fā)表于 04-22 18:14 ?0次下載
    ONMCU DIL <b class='flag-5'>3V3</b> CTRL<b class='flag-5'>板</b>數(shù)據(jù)手冊

    請問Systemverilog中如何使用VHDL的package?

    現(xiàn)在需要使用system verilog寫代碼,但是想復(fù)用之前VHDL的package,里面有寫的現(xiàn)成的function等,請問如何調(diào)用呢??偸菆箦e說找不到_pkg
    發(fā)表于 03-12 15:37

    基于VHDL的組合邏輯設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于VHDL的組合邏輯設(shè)計.ppt》資料免費下載
    發(fā)表于 03-11 09:23 ?2次下載

    UVVM(通用 VHDL 驗證方法)

    UVVM(通用 VHDL 驗證方法) 簡介? UVVM(通用 VHDL 驗證方法)是一種免費的開源方法和庫,用于開發(fā)非常結(jié)構(gòu)化的基于 VHDL 的測試平臺。 概述、可讀性、可維護(hù)性、可擴(kuò)展性和重用性
    發(fā)表于 01-02 12:59

    開源VHDL驗證方法 (OSVVM)

    電子發(fā)燒友網(wǎng)站提供《開源VHDL驗證方法 (OSVVM).docx》資料免費下載
    發(fā)表于 12-26 09:57 ?0次下載

    例說Verilog HDL和VHDL區(qū)別

    Verilog和VHDL之間的區(qū)別將在本文中通過示例進(jìn)行詳細(xì)說明。對優(yōu)點和缺點的Verilog和VHDL進(jìn)行了討論。
    的頭像 發(fā)表于 12-20 09:03 ?2740次閱讀
    例說Verilog HDL和<b class='flag-5'>VHDL</b>區(qū)別

    線路知識之pcb有沒有3?

    線路知識之pcb有沒有3?
    的頭像 發(fā)表于 12-06 14:39 ?2615次閱讀

    基于VHDL的全數(shù)字鎖相環(huán)的設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于VHDL的全數(shù)字鎖相環(huán)的設(shè)計.pdf》資料免費下載
    發(fā)表于 11-10 09:47 ?0次下載
    基于<b class='flag-5'>VHDL</b>的全數(shù)字鎖相環(huán)的設(shè)計

    基于VHDL語言實現(xiàn)遠(yuǎn)程防盜報警設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于VHDL語言實現(xiàn)遠(yuǎn)程防盜報警設(shè)計.pdf》資料免費下載
    發(fā)表于 11-08 14:33 ?0次下載
    基于<b class='flag-5'>VHDL</b>語言實現(xiàn)遠(yuǎn)程防盜報警設(shè)計

    基于VHDL的洗衣機控制器的設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于VHDL的洗衣機控制器的設(shè)計.pdf》資料免費下載
    發(fā)表于 11-07 10:28 ?2次下載
    基于<b class='flag-5'>VHDL</b>的洗衣機控制器的設(shè)計

    基于CPLD的VHDL語言數(shù)字鐘(含秒表)設(shè)計

    發(fā)表于 11-03 08:31 ?0次下載
    基于CPLD的<b class='flag-5'>VHDL</b>語言數(shù)字鐘(含<b class='flag-5'>秒表</b>)設(shè)計