用VHDL設(shè)計(jì)三八譯碼器超贊版_第1頁(yè)
用VHDL設(shè)計(jì)三八譯碼器超贊版_第2頁(yè)
用VHDL設(shè)計(jì)三八譯碼器超贊版_第3頁(yè)
用VHDL設(shè)計(jì)三八譯碼器超贊版_第4頁(yè)
用VHDL設(shè)計(jì)三八譯碼器超贊版_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、3-8 譯碼器的設(shè)計(jì)1 設(shè)計(jì)目的與要求隨著社會(huì)的進(jìn)一步發(fā)展, 我們的生活各個(gè)地方都需要計(jì)算機(jī)的參 與,有了計(jì)算機(jī), 我們的生活有了很大的便利,很多事情都不需要我 們?nèi)藶榈膮⑴c了,只需要通過(guò)計(jì)算機(jī)就可以實(shí)現(xiàn)自動(dòng)控制。由此,計(jì) 算機(jī)對(duì)我們的社會(huì)對(duì)我們每個(gè)人都是很重要的。 所以我們要了解計(jì)算 機(jī)得組成,內(nèi)部各種硬件, 只有了解了計(jì)算機(jī)基本器件已經(jīng)相應(yīng)的軟 件,才能促進(jìn)社會(huì)的發(fā)展。 編碼器和譯碼器的設(shè)計(jì)是計(jì)算機(jī)的一些很 基礎(chǔ)的知識(shí), 通過(guò)本次對(duì)于編碼器和譯碼器的設(shè)計(jì), 可以讓我知道究 竟這種設(shè)計(jì)是如何實(shí)現(xiàn)的, 這種設(shè)計(jì)對(duì)我們的生活有什么幫助, 這種 設(shè)計(jì)可以用到我們生活的哪些方面, 對(duì)我們的各種生活有

2、什么重大的 意義。1.1 設(shè)計(jì)的目的本次設(shè)計(jì)的目的是通過(guò)簡(jiǎn)單的譯碼器的設(shè)計(jì)掌握基本的計(jì)算機(jī) 的一些有關(guān)的知識(shí),通過(guò)查資料已經(jīng)自己的動(dòng)手設(shè)計(jì)去掌握 EDA 技 術(shù)的基本原理已經(jīng)設(shè)計(jì)方法,并掌握 VHDL 硬件描述語(yǔ)言的設(shè)計(jì)方 法和思想。以計(jì)算機(jī)組成原理為指導(dǎo),通過(guò)將理論知識(shí),各種原理方 法與實(shí)際結(jié)合起來(lái),切實(shí)的親手設(shè)計(jì),才能掌握這些非常有用的知識(shí)。 通過(guò)對(duì)編碼器和譯碼器的設(shè)計(jì),鞏固和綜合運(yùn)用所學(xué)知識(shí),提高 IC 設(shè)計(jì)能力,提高分析、解決計(jì)算機(jī)技術(shù)實(shí)際問(wèn)題的獨(dú)立工作能力。也 能通過(guò)這種自主設(shè)計(jì), 增強(qiáng)自己的動(dòng)手能力, 將理論知識(shí)切實(shí)應(yīng)用的 能力,這對(duì)我們將來(lái)的發(fā)展是很有幫助的。1.2 設(shè)計(jì)要求根據(jù)

3、計(jì)算機(jī)組成原理中組合邏輯電路設(shè)計(jì)的原理,利用 VHDL 設(shè)計(jì)計(jì)算機(jī)電路中譯碼器的各個(gè)模塊, 并使用 EDA 工具對(duì)各模塊進(jìn) 行仿真驗(yàn)證和分析。譯碼器由三 -八譯碼器為實(shí)例代表。關(guān)鍵詞 :輸入、輸出、譯碼2 VHDL 的簡(jiǎn)單介紹2.1 VHDL 的簡(jiǎn)介VHDL 語(yǔ)言是一種用于電路設(shè)計(jì)的高級(jí)語(yǔ)言。它在 80 年代的后 期出現(xiàn)。最初是由美國(guó)國(guó)防部開(kāi)發(fā)出來(lái)供美軍用來(lái)提高設(shè)計(jì)的可靠性 和縮減開(kāi)發(fā)周期的一種使用范圍較小的設(shè)計(jì)語(yǔ)言 。 VHDL 翻譯成中 文就是超高速集成電路硬件描述語(yǔ)言, 主要是應(yīng)用在數(shù)字電路的設(shè)計(jì) 中。目前,它在我過(guò)的應(yīng)用多數(shù)是用在 FPGA/CPLD/EPLD 的設(shè)計(jì)中。 當(dāng)然在一些實(shí)

4、力較為雄厚的單位,它也被用來(lái)設(shè)計(jì)ASIC。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有 硬件特征的語(yǔ)句外, VHDL 的語(yǔ)言形式、 描述風(fēng)格以及語(yǔ)法是十分類 似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。 VHDL 的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè) 計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分 成外部(或稱可視部分 ,及端口 )和內(nèi)部(或稱不可視部分),既涉及實(shí) 體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面 后,一旦其內(nèi)部開(kāi)發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。 這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是 VHDL 系統(tǒng)設(shè)計(jì)的基本點(diǎn)。2.2 VHDL 的特點(diǎn)1,

5、功能強(qiáng)大,設(shè)計(jì)靈活:VHDL 具有功能強(qiáng)大的語(yǔ)言結(jié)構(gòu), 可以用簡(jiǎn)潔明確的源代碼來(lái)描 述復(fù)雜的邏輯控制。它具有多層次的設(shè)計(jì)描述功能,層層細(xì)化,最后 可直接生成電路級(jí)描述。 VHDL 支持同步電路、 異步電路和隨機(jī)電路 的設(shè)計(jì), 這是其他硬件描述語(yǔ)言所不能比擬的。 VHDL 還支持各種設(shè) 計(jì)方法,既支持自底向上的設(shè)計(jì),又支持自頂向下的設(shè)計(jì);既支持模 塊化設(shè)計(jì),又支持層次化設(shè)計(jì)。2,,支持廣泛,易于修改:由于 VHDL 已經(jīng)成為 IEEE 標(biāo)準(zhǔn)所規(guī)范的硬件描述語(yǔ)言, 目前大 多數(shù) EDA 工具幾乎都支持 VHDL ,這為 VHDL 的進(jìn)一步推廣和廣泛 應(yīng)用奠定了基礎(chǔ)。在硬件電路設(shè)計(jì)過(guò)程中,主要的設(shè)計(jì)

6、文件是用 VHDL 編寫(xiě)的源代碼,因?yàn)?VHDL 易讀和結(jié)構(gòu)化,所以易于修改設(shè)計(jì)。 3,強(qiáng)大的硬件系統(tǒng)描述能力:VHDL 具有多層次的設(shè)計(jì)描述功能, 既可以描述系統(tǒng)級(jí)電路, 又 可以描述門級(jí)電路。 而描述既可以采用行為描述、 寄存器傳輸描述或 結(jié)構(gòu)描述,也可以采用三者混合的混合級(jí)描述。另外, VHDL 支持慣 性延遲和傳輸延遲, 還可以準(zhǔn)確地建立硬件電路模型。 VHDL 支持預(yù) 定義的和自定義的數(shù)據(jù)類型, 給硬件描述帶來(lái)較大的自由度, 使設(shè)計(jì) 人員能夠方便地創(chuàng)建高層次的系統(tǒng)模型。4,獨(dú)立于器件的設(shè)計(jì),與工藝無(wú)關(guān):設(shè)計(jì)人員用 VHDL 進(jìn)行設(shè)計(jì)時(shí),不需要首先考慮選擇完成設(shè)計(jì) 的器件,就可以集中精

7、力進(jìn)行設(shè)計(jì)的優(yōu)化。當(dāng)設(shè)計(jì)描述完成后,可以 用多種不同的器件結(jié)構(gòu)來(lái)實(shí)現(xiàn)其功能。5. ,很強(qiáng)的移植能力:VHDL 是一種標(biāo)準(zhǔn)化的硬件描述語(yǔ)言, 同一個(gè)設(shè)計(jì)描述可以被不 同的工具所支持,使得設(shè)計(jì)描述的移植成為可能。 6,易于共享和復(fù)用:VHDL 采用基于庫(kù)( Library )的設(shè)計(jì)方法,可以建立各種可再次 利用的模塊。這些模塊可以預(yù)先設(shè)計(jì)或使用以前設(shè)計(jì)中的存檔模塊, 將這些模塊存放到庫(kù)中, 就可以在以后的設(shè)計(jì)中進(jìn)行復(fù)用, 可以使設(shè) 計(jì)成果在設(shè)計(jì)人員之間進(jìn)行交流和共享,減少硬件電路設(shè)計(jì)。2.3 VHDL 的設(shè)計(jì)步驟1. 文本編輯:用任何文本編輯器都可以進(jìn)行, 也可以用專用的 HDL 編輯環(huán)境。 通常

8、 VHDL 文件保存為 .vhd 文件, Verilog 文件保存為 .v 文件。2. 使用編譯工具編譯源文件。3. 功能仿真:將文件調(diào)入 HDL 仿真軟件進(jìn)行功能仿真,檢查邏輯功能是否正 確(也叫前仿真, 對(duì)簡(jiǎn)單的設(shè)計(jì)可以跳過(guò)這一步, 只在布線完成以后, 進(jìn)行時(shí)序仿真)4. 邏輯綜合:將源文件調(diào)入邏輯綜合軟件進(jìn)行綜合, 即把語(yǔ)言綜合成最簡(jiǎn)的布 爾表達(dá)式。邏輯綜合軟件會(huì)生成.edf或.edif的EDA工業(yè)標(biāo)準(zhǔn)文件。5. 布局布線:將.edf文件調(diào)入PLD廠家提供的軟件中進(jìn)行布線,即把設(shè)計(jì)好 的邏輯安放 PLD/FPGA 內(nèi)。6. 時(shí)序仿真:需要利用在布局布線中獲得的精確參數(shù), 用仿真軟件驗(yàn)證電

9、路的 時(shí)序。 (也叫后仿真) 通常以上過(guò)程可以都在 PLD/FPGA 廠家提供 的開(kāi)發(fā)工具。7. 燒寫(xiě)器件3 譯碼器的原理二進(jìn)制譯碼器的輸入是一組二進(jìn)制代碼 ,輸出是一組與輸入代碼 一一對(duì)應(yīng)的高、 低電平信號(hào)。 對(duì)于三-八譯碼器來(lái)說(shuō), 3 位二進(jìn)制共有 8 種狀態(tài),所以對(duì)應(yīng)的輸出有 8 種狀態(tài)。例如:對(duì)于二進(jìn)制代碼 111 來(lái)說(shuō),輸出為 10000000 。對(duì)于二 -四譯碼器來(lái)說(shuō), 2 位二進(jìn)制共有 4 種狀態(tài),所以對(duì)應(yīng)的輸出有 4種狀態(tài)。例如:對(duì)于二進(jìn)制代碼 11 來(lái) 說(shuō),輸出為 1000 。三-八譯碼器的設(shè)計(jì)關(guān)于三-八譯碼器的工作框圖如圖所示YIMA_138-INP2.OOUTP7.0CS

10、|Liii1| i譯碼器內(nèi)部電路:3-8譯碼器引腳排列圖:II2 a*-5J牴彥U一旦 nlorr一3-8譯碼器的功能表:輸 入輸出SiS2 +S3A2A1AoY0Y1Y2Y3Y4YY6Y7100000111111110001101111111001011011111100111110111110100111101111010111111011101101111110110111111111100XXXX11111111X1XXX11111111無(wú)論從邏輯圖還是功能表我們都可以看到3-8譯碼器的八個(gè)輸出管腳,任何時(shí)刻要么全為高電平 1芯片處于不工作狀態(tài),要么只 有一個(gè)為低電平0,其余7個(gè)輸出管

11、腳全為高電平1。如果出現(xiàn)兩個(gè) 輸出管腳在同一個(gè)時(shí)間為0的情況,說(shuō)明該芯片已經(jīng)損壞。當(dāng)附加控制門的輸出為高電平(S = 1)時(shí),可由邏輯圖寫(xiě)出X4A4隧X = 44-4 =碼K44輕=444=G *44呦4E =A4 =K * A44 % j? = A 44 =眄A8譯碼器邏揖閤由上式可以看出,在同一個(gè)時(shí)間又是這三個(gè)變量的全部最小項(xiàng)的 譯碼輸出,所以也把這種譯碼器叫做最小項(xiàng)譯碼器。3-8譯碼器有三個(gè)附加的控制端、和。當(dāng)、時(shí),輸出為高電平(S = 1),譯碼器處 于工作狀態(tài)。否則,譯碼器被禁止,所有的輸出端被封鎖在高電平, 如表1所示。這三個(gè)控制端也叫做“片選”輸入端,利用片選的作用可 以將多篇連

12、接起來(lái)以擴(kuò)展譯碼器的功能。帶控制輸入端的譯碼器又是一個(gè)完整的數(shù)據(jù)分配器。電路中如果 把作為“數(shù)據(jù)”輸入端(在同一個(gè)時(shí)間),而將作為“地址”輸入端,那 么從送來(lái)的數(shù)據(jù)只能通過(guò)所指定的一根輸出線送出去。 這就不難理解 為什么把叫做地址輸入了。例如當(dāng)=101時(shí),門的輸入端除了接至輸 出端的一個(gè)以外全是高電平,因此的數(shù)據(jù)以反碼的形式從輸出, 而不 會(huì)被送到其他任何一個(gè)輸出端上。三-八譯碼器由VHDL程序來(lái)實(shí)現(xiàn),下面是其中一段 VHDL關(guān)鍵代碼 使用 WHEN-ELSE 語(yǔ)句4 三 -八譯碼器仿真 三-八譯碼器由 VHDL 程序 : 使用 WHEN-ELSE 語(yǔ)句 LIBRARY IEEE;USE IE

13、EE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY yangdan_DECODER ISPORT(INP:IN STD_LOGIC_VECTOR(2 DOWNTO 0);OUTP:OUT BIT_VECTOR (7 DOWNTO 0); END yangdan_DECODER;ARCHITECTURE ART3 OF yangdan_DECODER IS BEGINOUTP(0)<='1' WHEN INP="000" ELSE '0'OUTP(1)<='

14、;1' WHEN INP="001" ELSE '0'OUTP(2)<='1' WHEN INP="010" ELSE '0'OUTP(3)<='1' WHEN INP="011" ELSE '0'OUTP(4)<='1' WHEN INP="100" ELSE '0'OUTP(5)<='1' WHEN INP="101" ELSE &#

15、39;0'OUTP(6)<='1' WHEN INP="110" ELSE '0'OUTP(7)<='1' WHEN INP="111" ELSE '0'END ART3;其仿真圖如圖所示三-八譯碼器功能時(shí)序仿真圖6結(jié)果分析對(duì)其仿真圖進(jìn)行仿真分析:OUTP譯碼輸出標(biāo)志,INP為輸入信 號(hào)組,它由INP2-INP0三個(gè)二進(jìn)制代碼輸入信號(hào)組成。OUTP為 輸出信號(hào)組, 它由OUTP7-OUTP0八個(gè)輸出信號(hào)組成。OUTP為 1時(shí)候表示輸出。當(dāng)輸入為:111時(shí),譯碼后為指定的狀

16、態(tài),即輸出 10000000 ,緊接著依次類推,當(dāng)輸入為:110時(shí),輸出輸出01000000 , 當(dāng)輸入為101時(shí),輸出00100000,當(dāng)輸入為100時(shí),輸出00010000 , 輸入011時(shí),輸出為00001000,輸入為010時(shí),輸出00000100, 輸入為001時(shí),輸出00000010,輸入為000時(shí),輸出為00000001。 7心得體會(huì)我所選擇的題目是譯碼器的設(shè)計(jì),這些題目在以前基礎(chǔ)強(qiáng)化訓(xùn)練 的時(shí)候做過(guò)類似的題目,所以心里至少還是有點(diǎn)思路,不過(guò)本次課設(shè)我們所要用的是 EDA 以及 VHDL 等知識(shí)來(lái)達(dá)到本次設(shè)計(jì)的要求經(jīng)過(guò)好幾天努力的琢磨鉆研,我終于知道了該做什么,心里有個(gè) 大概的思

17、路了, 知道了究竟本次設(shè)計(jì)的目的與原理等等的, 以及設(shè)計(jì) 的大致步驟。最后完成了我的設(shè)計(jì)任務(wù)基于 VHDL 譯碼器的設(shè) 計(jì)。通過(guò)本次課程設(shè)計(jì)的學(xué)習(xí), 我深深的體會(huì)到設(shè)計(jì)課的重要性和目 的性所在。 本次設(shè)計(jì)課不僅僅培養(yǎng)了我們實(shí)際操作能力, 也培養(yǎng)了我 們靈活運(yùn)用課本知識(shí),理論聯(lián)系實(shí)際,獨(dú)立自主的進(jìn)行設(shè)計(jì)的能力。 它不僅僅是一個(gè)學(xué)習(xí)新知識(shí)新方法的好機(jī)會(huì), 同時(shí)也是對(duì)我所學(xué)知識(shí) 的一次綜合的檢驗(yàn)和復(fù)習(xí), 使我明白了自己的缺陷所在, 從而查漏補(bǔ) 缺。附錄三-八譯碼器由 VHDL 程序 :使用 WHEN-ELSE 語(yǔ)句LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;US

18、E IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY yangdan_DECODER ISPORT(INP:IN STD_LOGIC_VECTOR(2 DOWNTO 0);OUTP:OUT BIT_VECTOR (7 DOWNTO 0);END yangdan_DECODER;ARCHITECTURE ART3 OF yangdan_DECODER ISBEGINOUTP(0)<='1' WHEN INP="000" ELSE '0'OUTP(1)<='1' WHEN INP="001

19、" ELSE '0'OUTP(2)<='1' WHEN INP="010" ELSE '0'OUTP(3)<='1' WHEN INP="011" ELSE '0'OUTP(4)<='1' WHEN INP="100" ELSE '0'OUTP(5)<='1' WHEN INP="101" ELSE '0'OUTP(6)<='1' WHEN INP="110" ELSE '0'OUTP(7)<='1' WHEN INP="111" ELSE '0'END ART3;使用 CASE-WHEN 語(yǔ)句 :LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;-庫(kù)的說(shuō)明ENTITY yima38a ISPOR

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論