• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于VHDL語(yǔ)言的數(shù)字鐘設(shè)計(jì)

      2017-05-08 10:44:03張穎
      科技創(chuàng)新與應(yīng)用 2017年12期
      關(guān)鍵詞:EDA技術(shù)

      張穎

      摘 要:以自頂向下的模塊化方法進(jìn)行數(shù)字鐘系統(tǒng)設(shè)計(jì),采用VHDL語(yǔ)言編寫(xiě)各功能模塊,原理圖作為頂層文件的方式,在Quartus II集成開(kāi)發(fā)環(huán)境里進(jìn)行編譯、仿真、綜合,最后在線下載到實(shí)驗(yàn)箱進(jìn)行調(diào)試,調(diào)試結(jié)果表明:數(shù)字鐘的時(shí)間顯示、調(diào)時(shí)和鬧鐘功能均可實(shí)現(xiàn)。

      關(guān)鍵詞:EDA技術(shù);VHDL;自頂向下;數(shù)字鐘

      引言

      隨著可編程邏輯器件應(yīng)用的日益廣泛,以大規(guī)??删幊碳呻娐窞槲镔|(zhì)基礎(chǔ)的EDA技術(shù)打破了軟硬件之間的設(shè)計(jì)界限,使硬件系統(tǒng)軟件化,這已成為現(xiàn)代電子設(shè)計(jì)技術(shù)的發(fā)展趨勢(shì)。[1]VHDL(超高速集成電路硬件描述語(yǔ)言)作為一種常用的數(shù)字系統(tǒng)設(shè)計(jì)輸入方式,語(yǔ)法結(jié)構(gòu)嚴(yán)謹(jǐn),描述功能強(qiáng)大,可用簡(jiǎn)潔明了的代碼描述復(fù)雜的邏輯電路設(shè)計(jì)。而且VHDL語(yǔ)言支持從系統(tǒng)級(jí)到門級(jí)所有層次的設(shè)計(jì),支持自頂向下的模塊化設(shè)計(jì)方法,在電子設(shè)計(jì)領(lǐng)域,已被廣泛使用。本文詳述使用VHDL語(yǔ)言實(shí)現(xiàn)對(duì)數(shù)字鐘的層次化設(shè)計(jì),將文本編輯和圖形編輯兩種方式混合使用[2],實(shí)現(xiàn)數(shù)字鐘計(jì)時(shí)、調(diào)時(shí)和鬧鐘功能。

      1 系統(tǒng)總體設(shè)計(jì)

      設(shè)計(jì)數(shù)字時(shí)鐘要求實(shí)現(xiàn)以下功能:(1)能顯示時(shí)、分、秒;(2)可手動(dòng)調(diào)整時(shí)和分;(3)具有鬧鐘功能,可設(shè)定時(shí)間并且到時(shí)提醒。根據(jù)系統(tǒng)的功能,采用自頂向下的模塊化設(shè)計(jì)方法,以VHDL語(yǔ)言描述底層模塊硬件功能,原理圖做頂層文件的方式進(jìn)行設(shè)計(jì)。根據(jù)數(shù)字鐘的功能要求,可以把系統(tǒng)大體分為三部分:計(jì)時(shí)部分、鬧鐘部分和顯示部分。計(jì)時(shí)部分的主體是3個(gè)級(jí)聯(lián)的異步計(jì)數(shù)器,計(jì)數(shù)并輸出結(jié)果。其中秒、分計(jì)數(shù)模塊分別由60進(jìn)制計(jì)數(shù)器組成,時(shí)計(jì)數(shù)模塊由24進(jìn)制計(jì)數(shù)器組成,且上一級(jí)計(jì)數(shù)器的進(jìn)位輸出信號(hào)作為下一級(jí)的時(shí)鐘脈沖輸入。為了實(shí)現(xiàn)調(diào)時(shí)調(diào)分功能,則分別在秒、分計(jì)數(shù)模塊外部增加調(diào)分調(diào)時(shí)控制端和調(diào)時(shí)信號(hào)脈沖輸入端。鬧鐘模塊則要求具有鬧鐘功能控制端,若控制端有效,模塊可以手動(dòng)調(diào)整鬧鐘時(shí)間;反之,則進(jìn)行正常的計(jì)時(shí)功能。而且當(dāng)鬧鐘時(shí)間與正常時(shí)間相同時(shí),可以發(fā)出提醒信號(hào)[3]。顯示部分則要通過(guò)動(dòng)態(tài)掃描的方法將計(jì)數(shù)器的輸出送到數(shù)碼管上來(lái)顯示,由選擇模塊和數(shù)碼管顯示模塊組成。

      2 底層模塊的設(shè)計(jì)與實(shí)現(xiàn)

      2.1 秒計(jì)數(shù)模塊(實(shí)體second)

      秒計(jì)數(shù)模塊可以看成一個(gè)60進(jìn)制的計(jì)數(shù)器,實(shí)現(xiàn)正常的計(jì)時(shí)和調(diào)分功能。此模塊與分計(jì)數(shù)模塊進(jìn)行級(jí)聯(lián),其進(jìn)位輸出信號(hào)enmin作為下一級(jí)分計(jì)數(shù)模塊的時(shí)鐘輸入,即秒計(jì)數(shù)器計(jì)數(shù)到59時(shí),enmin端輸出單個(gè)脈沖,此時(shí)分計(jì)數(shù)器加一計(jì)數(shù)。

      當(dāng)復(fù)位端clr有效時(shí),計(jì)數(shù)器復(fù)位清零;當(dāng)clr無(wú)效時(shí),如果調(diào)分控制端setmin有效,計(jì)數(shù)器則進(jìn)入調(diào)分狀態(tài),進(jìn)位輸出端enmin不再輸出計(jì)數(shù)器的計(jì)數(shù)結(jié)果,而是輸出手動(dòng)調(diào)分信號(hào)minin(minin輸入端為手動(dòng)控制的脈沖信號(hào)),通過(guò)使下一級(jí)分計(jì)數(shù)模塊以minin脈沖信號(hào)的頻率快速計(jì)數(shù)來(lái)完成調(diào)分功能;如果setmin無(wú)效,則計(jì)數(shù)器處于正常計(jì)時(shí)狀態(tài),從00計(jì)數(shù)到59并輸出進(jìn)位信號(hào)。硬件功能描述時(shí)通過(guò)多個(gè)if語(yǔ)句的嵌套使用來(lái)實(shí)現(xiàn),根據(jù)時(shí)鐘信號(hào)clk的輸入按照流程圖所示依次循環(huán)。過(guò)程中采用十進(jìn)制計(jì)數(shù),并且用BCD碼來(lái)表示個(gè)位和十位數(shù)字,使其易于理解也方便數(shù)碼管的顯示。設(shè)計(jì)流程如圖1(a)所示,生成的邏輯符號(hào)如圖1(b)所示。

      2.2 分計(jì)數(shù)模塊(實(shí)體minute)

      分計(jì)數(shù)模塊實(shí)質(zhì)上與秒計(jì)數(shù)模塊相同,也是一個(gè)60進(jìn)制的計(jì)數(shù)器,可實(shí)現(xiàn)計(jì)時(shí)和調(diào)時(shí)功能。模塊與下一級(jí)時(shí)計(jì)數(shù)模塊級(jí)聯(lián),當(dāng)計(jì)數(shù)到59時(shí),進(jìn)位輸出端enhour輸出單位脈沖到時(shí)計(jì)數(shù)模塊的時(shí)鐘輸入端clkm,時(shí)計(jì)數(shù)模塊加一計(jì)數(shù)。其設(shè)計(jì)流程同秒計(jì)數(shù)模塊相似,調(diào)時(shí)功能也是通過(guò)調(diào)時(shí)端sethour來(lái)控制進(jìn)位輸出端enhour輸出手動(dòng)調(diào)時(shí)信號(hào)hourin,使時(shí)計(jì)數(shù)模塊快速計(jì)數(shù)到需要的時(shí)間。生成模塊的邏輯符號(hào)如圖2所示。

      2.3 時(shí)計(jì)數(shù)模塊(實(shí)體hour)

      時(shí)計(jì)數(shù)模塊是一個(gè)簡(jiǎn)單的24進(jìn)制計(jì)數(shù)器,其時(shí)鐘輸入信號(hào)是分計(jì)數(shù)模塊的進(jìn)位輸出,不需要產(chǎn)生進(jìn)位信號(hào)。模塊功能描述與分、秒計(jì)數(shù)模塊大同小異,但要注意此計(jì)數(shù)器是從00計(jì)數(shù)到23,所以需多加一個(gè)if語(yǔ)句使計(jì)數(shù)器計(jì)數(shù)到23后復(fù)位清零。邏輯符號(hào)如圖3所示。

      2.4 鬧鐘模塊(實(shí)體naozhong)

      此模塊通過(guò)3個(gè)進(jìn)程語(yǔ)句,分別描述了手動(dòng)設(shè)定鬧鐘時(shí)、分和到時(shí)提醒的功能。設(shè)定鬧鐘時(shí)間的設(shè)計(jì)思路與之前second模塊調(diào)分功能相似,也是控制計(jì)數(shù)器加一計(jì)數(shù)直到需要的時(shí)間為止。以鬧鐘調(diào)分為例,當(dāng)鬧鐘調(diào)分控制端setm有效時(shí),進(jìn)入鬧鐘定時(shí)模式,通過(guò)minnao端手動(dòng)調(diào)分信號(hào)的輸入來(lái)設(shè)定鬧鐘時(shí)間,這里輸入的minnao信號(hào)與分計(jì)數(shù)模塊的時(shí)鐘輸入信號(hào)clk作用相同,控制計(jì)數(shù)器進(jìn)行計(jì)數(shù),其過(guò)程與前面時(shí)、分、秒計(jì)數(shù)過(guò)程是分開(kāi)的,二者互不影響;若setm端無(wú)效,輸出端outm、outh輸出時(shí)、分計(jì)數(shù)模塊的正常計(jì)數(shù)結(jié)果(即inm和inh的輸入)。而鬧鐘調(diào)時(shí)過(guò)程則需注意是從00計(jì)數(shù)到23,是24進(jìn)制計(jì)數(shù)。設(shè)計(jì)流程如圖4(a)所示。第三個(gè)進(jìn)程語(yǔ)句較為簡(jiǎn)單,只需通過(guò)if語(yǔ)句來(lái)判斷設(shè)定的鬧鐘時(shí)間與正常的計(jì)數(shù)時(shí)間是否相同,若相同,則產(chǎn)生提醒信號(hào)。生成模塊邏輯符號(hào)如圖4(b)所示。

      2.5 選擇模塊(實(shí)體select)和數(shù)碼管顯示模塊(實(shí)體display)

      這兩個(gè)模塊實(shí)質(zhì)上是通過(guò)動(dòng)態(tài)掃描的方法顯示時(shí)間。select模塊相當(dāng)于數(shù)據(jù)選擇器,在高頻率時(shí)鐘信號(hào)的作用下進(jìn)行循環(huán)掃描,選擇顯示的數(shù)碼管以及對(duì)應(yīng)的時(shí)、分、秒的結(jié)果。display模塊則接受選擇信號(hào),輪流向各位數(shù)碼管送出字形碼和相應(yīng)位選,使七段數(shù)碼管顯示所對(duì)應(yīng)的數(shù)字。此處的clk端必須輸入較高頻率的時(shí)鐘信號(hào),利用發(fā)光管的余輝和人眼視覺(jué)暫留作用,使人感覺(jué)好像各位數(shù)碼管都在顯示[4]。模塊邏輯符號(hào)如圖5(a)(b)所示。

      2.6 頂層設(shè)計(jì)原理圖

      在各模塊編譯通過(guò)且仿真成果正確的基礎(chǔ)上,采用頂層原理圖的設(shè)計(jì)方法,系統(tǒng)頂層方框圖如圖6所示。在實(shí)驗(yàn)中,還可在鬧鐘模塊的提醒信號(hào)輸出端sp后接一個(gè)簡(jiǎn)單的電子琴模塊,當(dāng)sp信號(hào)產(chǎn)生時(shí),鬧鐘定時(shí)與正常計(jì)時(shí)相同,此時(shí)控制電子琴模塊自動(dòng)演奏樂(lè)曲作為鬧鐘鈴聲。

      3 結(jié)束語(yǔ)

      根據(jù)上述數(shù)字鐘設(shè)計(jì)實(shí)例,可以看出通過(guò)VHDL 語(yǔ)言實(shí)現(xiàn)電子設(shè)計(jì),是一個(gè)以軟件設(shè)計(jì)為主,器件配置相結(jié)合的過(guò)程,能從多個(gè)層次對(duì)數(shù)字系統(tǒng)進(jìn)行設(shè)計(jì),設(shè)計(jì)數(shù)字電路更為靈活方便,設(shè)計(jì)周期也可大大減小,提高了設(shè)計(jì)效率和可靠性[5]。VHDL語(yǔ)言作為一種標(biāo)準(zhǔn)的硬件描述語(yǔ)言,具備強(qiáng)大的行為描述能力和移植復(fù)用能力,支持復(fù)雜電路設(shè)計(jì)的層次化分解和已有設(shè)計(jì)的移植再利用,已經(jīng)成為數(shù)字系統(tǒng)設(shè)計(jì)不可缺少的重要工具。

      參考文獻(xiàn)

      [1]李國(guó)麗,朱維勇,何劍春.EDA與數(shù)字系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2009.

      [2]胡宏梅.基于VHDL語(yǔ)言的數(shù)字鐘層次化設(shè)計(jì)與實(shí)現(xiàn)[J].電氣自動(dòng)化,2016(1).

      [3]賴偉瑋,蘇靜怡.FPGA原理及應(yīng)用結(jié)課論文[D].東北大學(xué)秦皇島分校,2012.

      [4]席玉清,陳化奎.兩位數(shù)碼管動(dòng)態(tài)顯示編程常見(jiàn)問(wèn)題分析[J].科技創(chuàng)新與應(yīng)用,2016(12).

      [5]王彩鳳.VHDL語(yǔ)言在電子設(shè)計(jì)中的應(yīng)用[J].實(shí)驗(yàn)科學(xué)與技術(shù),2014(4).

      猜你喜歡
      EDA技術(shù)
      EDA技術(shù)在現(xiàn)代電子設(shè)計(jì)中的應(yīng)用研究
      EDA技術(shù)在電子設(shè)計(jì)中的實(shí)踐應(yīng)用
      卷宗(2016年10期)2017-01-21 15:05:54
      EDA技術(shù)在數(shù)字電子技術(shù)實(shí)驗(yàn)中的應(yīng)用
      東方教育(2016年9期)2017-01-17 00:32:22
      基于EDA技術(shù)的通用異步收發(fā)器設(shè)計(jì)
      EDA技術(shù)在數(shù)字電子技術(shù)實(shí)驗(yàn)中的應(yīng)用
      EDA技術(shù)在數(shù)字電子技術(shù)教學(xué)中的探索
      EDA技術(shù)在電子設(shè)計(jì)中的運(yùn)用分析
      基于EDA技術(shù)的計(jì)算機(jī)硬件實(shí)驗(yàn)教學(xué)體系構(gòu)建
      EDA技術(shù)在數(shù)字電路課程設(shè)計(jì)教學(xué)改革中的探索與實(shí)踐
      三本院校EDA課程分層次教學(xué)方法的實(shí)踐與探索
      科技視界(2016年7期)2016-04-01 11:35:40
      邢台县| 霍州市| 大丰市| 阿拉善左旗| 怀化市| 金秀| 霍城县| 富锦市| 绥棱县| 竹溪县| 彰化市| 肥城市| 阿巴嘎旗| 屏东县| 晋城| 当雄县| 渝北区| 天镇县| 正宁县| 绥宁县| 康乐县| 任丘市| 舞阳县| 繁峙县| 建阳市| 许昌市| 遵义市| 肥乡县| 来宾市| 昆山市| 手游| 黑山县| 尤溪县| 楚雄市| 红桥区| 雷山县| 姜堰市| 乃东县| 庆元县| 黔南| 蓝田县|