• 
    

    
    

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

      基于FPGA的數(shù)字邏輯電路實驗設(shè)計

      2022-12-08 07:23:22賀雪莉
      現(xiàn)代計算機 2022年18期
      關(guān)鍵詞:邏輯電路選擇器開發(fā)板

      賀雪莉

      (興義民族師范學(xué)院物聯(lián)網(wǎng)工程專業(yè),興義 562400)

      0 引言

      《數(shù)字邏輯電路》課程作為電子信息專業(yè)的必修課程之一,在電子電路專業(yè)學(xué)科人才培養(yǎng)中占據(jù)重要的地位。傳統(tǒng)的數(shù)字邏輯電路實驗教學(xué)多基于Logisim、Multisim等仿真工具來完成,主要培養(yǎng)學(xué)生重現(xiàn)邏輯電路和驗證分析電路功能的能力,對組合邏輯電路內(nèi)部的邏輯關(guān)聯(lián)和電路應(yīng)用分析能力培養(yǎng)不足。此外,隨著電子科學(xué)技術(shù)的飛速發(fā)展,現(xiàn)階段手工設(shè)計電子產(chǎn)品已經(jīng)不再適應(yīng)社會的需求。電子設(shè)計自動化(electronic design automation,EDA)技術(shù)是以計算機為工作平臺[1],實現(xiàn)電子電路技術(shù)、計算機技術(shù)和智能化技術(shù)的綜合應(yīng)用,并以此來達到電子線路系統(tǒng)功能的技術(shù)手段。目前,EDA已成為電子領(lǐng)域的主要趨勢,因此,在數(shù)字電路課程設(shè)計中引入EDA技術(shù)是數(shù)字邏輯電路實驗及課程設(shè)計的教學(xué)改革方向[2]。EDA以大規(guī)??删幊踢壿嬈骷樵O(shè)計載體,來實現(xiàn)集成電子系統(tǒng)功能。而現(xiàn)場可編程門陣列(field programmable gate array,F(xiàn)PAG)因其具有運算速度快、存儲容量大、擴展性強和可無限重復(fù)編程等特點,在安防及工業(yè)領(lǐng)域、醫(yī)療檢測分析儀器、軟件無線電等各個領(lǐng)域均有應(yīng)用,是當(dāng)前主流的可編程邏輯器件之一。將基于EDA技術(shù)的FPGA設(shè)計開發(fā)應(yīng)用到數(shù)字邏輯電路實驗課程的教學(xué)中來,通過實操實驗及綜合應(yīng)用實驗,幫助學(xué)生更好地理解并掌握邏輯門電路的結(jié)構(gòu)特點和時序邏輯,結(jié)合FPGA開發(fā)板的可擴展性和可重復(fù)編程特點,讓學(xué)生自主設(shè)計邏輯電路解決實際工程問題,以此培養(yǎng)學(xué)生的創(chuàng)造性,調(diào)動學(xué)生的積極性。

      基于FPGA的數(shù)字邏輯電路實驗設(shè)計,主要通過XC7A35T-2FFG484開發(fā)板來完成,開發(fā)板如圖1所示。

      開發(fā)板上集成有DDR3存儲顆粒、數(shù)碼管、通用按鍵、通用LED燈、OLED/攝像頭模塊、千兆以太網(wǎng)接口、HDMI接口和足量的擴展接口等,能夠滿足常規(guī)數(shù)字邏輯電路實驗的設(shè)計要求。實驗基于Vivado工具實現(xiàn),通過Verilog硬件描述語言編寫程序設(shè)計,結(jié)合Notepad++編輯器和Modelsim仿真工具來完成各項實驗工程的搭建和驗證分析。研究基于FPGA的數(shù)字邏輯電路實驗方法具有很大的發(fā)展前景,在實驗教學(xué)上具有推廣的價值和意義[3]。

      1 基于FPGA的數(shù)字邏輯電路實驗設(shè)計規(guī)劃

      各系列數(shù)字邏輯電路教材內(nèi)容基本大同小異,雖因不同專業(yè)培養(yǎng)方案不同,教學(xué)中的側(cè)重點會稍有差異,但是核心知識點基本一致,主要章節(jié)分布一般為數(shù)字邏輯概述、邏輯化簡、組合邏輯電路、觸發(fā)器和時序邏輯電路等幾個模塊。無論是純仿真的實驗還是基于FPGA的設(shè)計實驗,在實驗教學(xué)中均是圍繞重點章節(jié)展開。本文研究的基于FPGA的數(shù)字邏輯電路實驗設(shè)計,主要通過和理論知識重點章節(jié)映射完成實驗設(shè)計規(guī)劃,具體設(shè)計思路如表1所示。其中觸發(fā)器和計數(shù)器的設(shè)計實驗可綜合在顯示譯碼器實驗中完成,在此不再贅述,實驗五綜合應(yīng)用實驗可根據(jù)不同專業(yè)培養(yǎng)方案做調(diào)整,達到考查學(xué)生綜合應(yīng)用能力的目的即可,本文重點對實驗一至實驗四做詳細分析。

      表1 基于FPGA的數(shù)字電路實驗設(shè)計規(guī)劃表

      基于FPGA的數(shù)字邏輯電路實驗設(shè)計,實施分為四個步驟來完成,即分析、設(shè)計、仿真和實測驗證。每個實驗均通過分析邏輯電路的功能特點擬定設(shè)計思路,再結(jié)合Verilog硬件描述語言完成設(shè)計,接著通過仿真檢驗設(shè)計的邏輯性和功能性,最后通過JTAG下載接口實現(xiàn)工程的實測驗證。

      2 基于FPGA實現(xiàn)數(shù)字邏輯電路基礎(chǔ)電路實驗設(shè)計

      本文研究的基于FPGA設(shè)計的數(shù)字邏輯電路均是基于芯片型號為xc7a35tfgg484-2達芬奇FPGA開發(fā)板來實現(xiàn),考慮到圖片的顯示問題,文中給出的FPGA設(shè)計原理圖部分為不完整的縮減圖。在設(shè)計中賦值操作均通過非阻塞賦值完成,因此在FPGA設(shè)計仿真波形圖顯示中,結(jié)果均要比輸入數(shù)據(jù)晚一個系統(tǒng)時鐘周期。

      2.1 基于FPGA設(shè)計基本的邏輯門電路

      無論是組合邏輯電路、觸發(fā)器還是時序邏輯電路,其最基本的邏輯元器件構(gòu)成都是基本邏輯門電路。基本邏輯門電路指實現(xiàn)簡單邏輯關(guān)系的電路[4],比如“與”邏輯、“或”邏輯和“非”邏輯。三種基本的邏輯門電路可以組成例如“與非”“或非”“與或非”“同或”和“異或”等多種符合邏輯運算,也可以搭配構(gòu)成復(fù)雜的組合邏輯電路,多種不同類型的觸發(fā)器電路和各類時序邏輯電路。圖2的(a)、(b)、(c)圖依次表示二端口“與”邏輯、“或”邏輯和“非”邏輯的中國國標符號,其邏輯表達式分別為Y=A·B,Y=A+B和Y=Aˉ。

      基于FPGA設(shè)計基本的邏輯門電路可根據(jù)門電路的邏輯運算關(guān)系,通過簡單的算術(shù)運算來實現(xiàn)。圖3所示為FPGA工程的原理圖。為了便于觀察結(jié)果,實測中將端口輸入數(shù)據(jù)data_a和data_b通過按鍵控制輸入,三個邏輯門的輸出接在LED引腳,通過LED燈的亮滅來觀察邏輯門電路的輸出結(jié)果狀態(tài)。

      圖4所示為FPGA設(shè)計的邏輯門電路的仿真波形圖,所有輸出數(shù)據(jù)在復(fù)位信號高電平無效狀態(tài)和時鐘上升沿到來時刻觸發(fā)有效。分析波形圖可以看出,當(dāng)邏輯門電路的數(shù)據(jù)以00、01、10、11、00輸入時(其中“or”邏輯只有一個輸入端口data_a),仿真輸出結(jié)果與邏輯表達式Y(jié)=A·B、Y=A+B和Y=Aˉ計算結(jié)果一致。

      2.2 基于FPGA設(shè)計加法器和數(shù)值比較器

      2.2.1 二進制加法器

      數(shù)字邏輯電路中的加法器分為半加器、全加器和n位加法器三大類。其中半加器位最基礎(chǔ)的二進制加法器,只需要考慮當(dāng)前位的計算結(jié)果即可;全加器在計算本位結(jié)果的同時需要考慮運算后是否產(chǎn)生進位問題;而n位加法器是一種全加器的級聯(lián)擴展模式。因此本文研究的基于FPGA的加法器設(shè)計主要針對全加器來完成。全加器的邏輯電路圖和邏輯符號如圖5所示。

      基于FPGA設(shè)計的全加器原理圖如圖6所示。設(shè)計包括脈沖產(chǎn)生、動態(tài)顯示和全加器三個模塊,輸入信號A和B通過開發(fā)板的按鍵輸入實現(xiàn),運算后的sum值和進位C的值通過數(shù)碼管顯示。仿真結(jié)果如圖7所示。全加器依次輸入00-01-10-11-00的數(shù)值,對應(yīng)的和值S依次顯示0-1-1-0-0數(shù)值,進位C依次顯示0-0-0-1-0數(shù)值,全加器功能驗證完成。

      2.2.2 數(shù)值比較器

      數(shù)電中的數(shù)值比較器是指用來比較兩個二進制數(shù)大小的邏輯電路,輸入變量是兩個n位二進制數(shù)值,輸出變量有Y(A>B)、Y(A=B)和Y(A<B)三個狀態(tài)[4]。數(shù)值比較器邏輯符號如圖8所示,其中輸入端A、B可以是多位二進制數(shù)。工作原理為當(dāng)兩個多位二進制數(shù)相比較時,應(yīng)從高位到低位逐位比較,如果最高位不相等,則可立即判斷兩個數(shù)值的大小;如果最高位相等,則需比較次高位,以此類推,直到最低位。

      基于FPGA設(shè)計數(shù)值比較器,結(jié)合開發(fā)板的數(shù)碼顯示模塊、按鍵模塊和LED燈模塊來完成。由于本文設(shè)計用到的達芬奇Artix-7 FPGA開發(fā)板只包含4個獨立按鍵,因此實測設(shè)計時以2 bit輸入端為例完成實驗,并通過LED亮滅來表示輸入端按鍵的狀態(tài),比較器輸出結(jié)果通過數(shù)碼管顯示。實驗設(shè)計的原理如圖9所示。

      圖10所示為數(shù)值比較器仿真波形圖。其中輸入數(shù)據(jù)data_1和data_2由按鍵控制輸入,由于開發(fā)板按鍵是低電平有效,因此需要引入一個按鍵標志信號key_flag來表示正邏輯下的按鍵狀態(tài)數(shù)值,并通過LED亮滅來顯示按鍵通斷狀態(tài);輸出結(jié)果result表示,初始狀態(tài)為“00”,當(dāng)data_1<data_2時輸出“01”;當(dāng)data_1>data_2時輸出“10”;data_1=data_2時輸出“11”。觀察波形圖可以看到,2bit數(shù)值比較器的功能正常實現(xiàn)。

      2.3 基于FPGA設(shè)計編碼器和譯碼器

      基于FPGA實現(xiàn)數(shù)值邏輯電路編碼器的設(shè)計,主要設(shè)計二進制編碼器。所謂二進制編碼器,即將數(shù)值通過編碼轉(zhuǎn)換為計算機能夠識別的二進制形式。編碼器是組合邏輯電路中最基礎(chǔ)的電路之一,基于FPGA設(shè)計編碼器,只需要將編碼器的輸入和輸出接入FPGA的相應(yīng)控制管腳即可,在實操中等同于實現(xiàn)了按鍵控制LED的實驗,操作較簡單。本文重點分析譯碼器設(shè)計,對編碼器不做詳細分析。譯碼是編碼的逆過程,即將具有特定含義的一組代碼“翻譯”出來的過程,其原理框圖如圖11所示。

      基于FPGA的譯碼器設(shè)計包括譯碼器設(shè)計和顯示譯碼兩個模塊,其原理圖如圖12所示。按鍵控制譯碼器輸入,數(shù)碼管輸入端接譯碼器輸出端,通過數(shù)碼管顯示出譯碼器的輸出結(jié)果,由于本文所使用的開發(fā)板只有六個數(shù)碼管,因此對于3-8線的譯碼器實現(xiàn),需要結(jié)合2位的LED來表示數(shù)值6和7。

      數(shù)碼管實際上是由七個發(fā)光管組成“8”字形構(gòu)成的,加上小數(shù)點就是8個,這些段分別由字母a,b,c,d,e,f,g,dp來表示,八個發(fā)光二極管有共陰極和共陽極兩種接法,如圖13所示,前者某一段接高電平時發(fā)光,后者某一段接低電平時發(fā)光。達芬奇Artix-7 FPGA開發(fā)板上集成有六個八段數(shù)碼管,LED數(shù)碼管由多個發(fā)光二極管封裝在一起組成“8”字形的器件,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極,其原理圖如圖14所示。

      圖15所示為譯碼器設(shè)計仿真圖,按鍵控制輸入,按鍵輸入的數(shù)值從000~111變化,對應(yīng)的顯示譯碼值從7~0變化,當(dāng)數(shù)值為7和6時,通過LED燈的狀態(tài)表示輸出結(jié)果;當(dāng)數(shù)值為5~0時,通過數(shù)碼管的位選信號LED_SEL表示結(jié)果,并在對應(yīng)的數(shù)碼管上顯示數(shù)值1,表示當(dāng)前數(shù)碼管被選通。

      2.4 基于FPGA設(shè)計數(shù)據(jù)選擇器和數(shù)據(jù)分配器

      2.4.1 數(shù)據(jù)選擇器

      數(shù)據(jù)選擇器是一種多路調(diào)制器,主要由地址譯碼和多路數(shù)字開關(guān)組成[4]。數(shù)據(jù)選擇器是數(shù)字邏輯電路中常見的一種組合邏輯電路,主要功能是通過地址選通控制數(shù)據(jù)的多路輸入單路輸出,其邏輯框圖如圖16所示。當(dāng)選擇器有nbit的地址輸入控制時,則允許的最多數(shù)據(jù)輸入端為2n路,根據(jù)地址來選擇可以輸出的數(shù)據(jù)通路。

      基于FPGA設(shè)計多路數(shù)據(jù)選擇器原理圖如圖17所示。實驗設(shè)計地址輸入為3 bit,通過按鍵控制輸入,考慮到開發(fā)板的可顯示資源情況,實測分析中僅利用了4路輸入數(shù)據(jù)端口,并通過開發(fā)板的LED指示信號表示當(dāng)前被選通的輸入端,輸出端結(jié)果通過數(shù)碼管顯示。

      圖18 所示為多路數(shù)據(jù)選擇器仿真波形圖。地址控制端由key_flag表示,輸入為3 bit,可用于實現(xiàn)8路數(shù)據(jù)的選通,綜合考慮達芬奇Artix-7 FPGA開發(fā)板資源情況,假設(shè)數(shù)據(jù)輸入端有4路數(shù)據(jù),即iC0~iC3。分析仿真波形,當(dāng)?shù)刂愤x路key_flag從1~4變化時,對應(yīng)的輸出端Z依次輸出iC0~iC3的數(shù)據(jù),數(shù)據(jù)選擇器的功能得到驗證。LED_SEG和LED_SEL為數(shù)碼管的段選和位選信號,通過查看共陽極數(shù)碼管的顯示數(shù)值表可知,數(shù)碼管顯示數(shù)值LED_SEG依次為1、2、4、8,即為輸入端iC0~iC3的數(shù)據(jù)0001、0010、0100、1000所對應(yīng)的十進制數(shù)值。

      2.4.2 數(shù)據(jù)分配器

      數(shù)據(jù)分配器實現(xiàn)的即為數(shù)據(jù)選擇器的逆過程,將1路輸入數(shù)據(jù)信號通過地址控制端,從不同的輸出端口輸出數(shù)據(jù),其原理框圖如圖19所示。

      數(shù)據(jù)分配器設(shè)計原理和思路與數(shù)據(jù)選擇器一致,不再重復(fù)描述,其FPGA設(shè)計原理圖如圖20所示。

      3 結(jié)語

      新時代高校的人才培養(yǎng)目標隨著科技的發(fā)展不斷進行著變革和更新,高素質(zhì)、高技能的綜合實踐型人才是現(xiàn)今高等院校為中國特色社會主義主要輸送的人才類型[5]。在數(shù)字邏輯課程中運用FPGA技術(shù),一方面可以將理論教學(xué)知識點和實驗教學(xué)的知識點實現(xiàn)一一映射,讓學(xué)生不僅對數(shù)字邏輯電路的內(nèi)部結(jié)構(gòu)知其然而且要知其所以然,真正地弄懂、學(xué)透組合邏輯的知識,并能熟練地應(yīng)用組合邏輯電路來解決實際問題;另一方面,F(xiàn)PGA作為在各個行業(yè)均能發(fā)揮重要作用的技術(shù),懂?dāng)?shù)字邏輯電路設(shè)計、FPGA的專業(yè)人才也備受用人單位的青睞[6],讓學(xué)生學(xué)習(xí)并掌握FPGA的應(yīng)用也能讓其在職業(yè)生涯上多一個選擇的機會,這也是高校培養(yǎng)計算機專業(yè)學(xué)生創(chuàng)新能力和實踐能力的一種有效方式。

      猜你喜歡
      邏輯電路選擇器開發(fā)板
      靶通道選擇器研究與優(yōu)化設(shè)計
      數(shù)字電子時鐘邏輯電路的教學(xué)設(shè)計與仿真
      電子制作(2019年20期)2019-12-04 03:51:28
      四選一數(shù)據(jù)選擇器74LS153級聯(lián)方法分析與研究
      電腦與電信(2017年6期)2017-08-08 02:04:22
      Microchip最新推出兩款PIC32 Curiosity開發(fā)板
      淺析單片機開發(fā)板的設(shè)計與制作
      電子制作(2017年22期)2017-02-02 07:10:14
      基于軟件技術(shù)的組合邏輯電路模型分析與實現(xiàn)研究
      短區(qū)間自動閉塞車站接近區(qū)段邏輯電路設(shè)計
      雙四選一數(shù)據(jù)選擇器74HC153的級聯(lián)分析及研究
      Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
      Arduino和Atmel發(fā)布Arduino Zero開發(fā)板
      工布江达县| 钦州市| 西和县| 汶上县| 天台县| 黄骅市| 苍南县| 林口县| 上饶县| 平武县| 五家渠市| 巴里| 沁源县| 六安市| 离岛区| 托里县| 本溪| 杂多县| 弥渡县| 贵南县| 宁强县| 毕节市| 九龙坡区| 泸溪县| 太和县| 沭阳县| 梨树县| 延边| 定南县| 杭锦后旗| 英超| 九寨沟县| 铅山县| 永修县| 永善县| 邵阳县| 桐乡市| 灌南县| 金华市| 图木舒克市| 基隆市|