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

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

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

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

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

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

步驟1:材料

該項(xiàng)目所需的材料:

從Xilinx安裝了1臺(tái)裝有Vivado Design Suite WebPack的計(jì)算機(jī)(首選版本2016.2)

1 Digilent Basys3 Xilinx Artix-7 FPGA

1 USB端口電纜

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

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

步驟3:制作時(shí)鐘

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

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

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

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

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

步驟6:如何顯示秒表

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

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

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

步驟8:約束

使用3個(gè)按鈕(W19,T17和U18)輸入“ RST”,“ S1”和“ S2”。 W19是重置按鈕,T17是開(kāi)始按鈕(S1),而U18是暫停按鈕(S2)。還需要使用端口W5限制時(shí)鐘輸入的輸入。另外,請(qǐng)記住將此行添加到時(shí)鐘約束中:

create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK}]

也請(qǐng)鏈接陽(yáng)極和電路板上的分段,因此秒表顯示在約束文件中所示的七段顯示器上。

步驟9:測(cè)試

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

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

    關(guān)注

    30

    文章

    816

    瀏覽量

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

    關(guān)注

    3

    文章

    77

    瀏覽量

    21987
  • basys3
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    4455
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

    【招聘】verilog vhdl FPGA

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

    【龍芯2K0300蜂鳥(niǎo)試用】SDK部署與構(gòu)建

    }mkimage,沒(méi)有的話才用系統(tǒng)的mkimage,如果將uboot構(gòu)建出來(lái)的mkimage放在這里,它就會(huì)優(yōu)先用。 再次執(zhí)行make uImage -j8完成構(gòu)建,得到uImage 3.buildroot
    發(fā)表于 09-02 00:15

    使用RT-Thread的scons構(gòu)建系統(tǒng)來(lái)編譯ESP32C3固件?

    我正在嘗試使用 RT-Thread 的 scons 構(gòu)建系統(tǒng)來(lái)編譯 ESP32C3 固件。目前 ESP32C3 的 bsp 已經(jīng)被社區(qū)小伙伴們 PR 到 RT-Thread 主倉(cāng)庫(kù)了([[url
    發(fā)表于 06-07 06:18

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

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

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

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

    請(qǐng)問(wèn)Systemverilog中如何使用VHDL的package?

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

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

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

    鴻蒙開(kāi)發(fā)【編譯構(gòu)建】講解

    編譯構(gòu)建是將應(yīng)用/服務(wù)的源代碼、資源、第三方庫(kù)等,通過(guò)編譯工具轉(zhuǎn)換為可直接在硬件設(shè)備上運(yùn)行的二進(jìn)制機(jī)器碼,然后再將二進(jìn)制機(jī)器碼封裝為HAP/APP軟件包,并為HAP/APP包進(jìn)行簽名的過(guò)程。其中
    發(fā)表于 02-27 17:41

    如何構(gòu)建linux開(kāi)發(fā)環(huán)境和編譯軟件工程、應(yīng)用程序

    前文介紹了如何使用官方提供的鏡像文件啟動(dòng)開(kāi)發(fā),本文將說(shuō)明如何構(gòu)建linux開(kāi)發(fā)環(huán)境和編譯軟件工程、應(yīng)用程序。
    的頭像 發(fā)表于 01-03 12:31 ?1872次閱讀
    如何<b class='flag-5'>構(gòu)建</b>linux開(kāi)發(fā)環(huán)境和編譯軟件工程、應(yīng)用程序

    UVVM(通用 VHDL 驗(yàn)證方法)

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

    開(kāi)源VHDL驗(yàn)證方法 (OSVVM)

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

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

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

    線路知識(shí)之pcb有沒(méi)有3?

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