簡(jiǎn)單微處理器的設(shè)計(jì)_第1頁(yè)
簡(jiǎn)單微處理器的設(shè)計(jì)_第2頁(yè)
簡(jiǎn)單微處理器的設(shè)計(jì)_第3頁(yè)
簡(jiǎn)單微處理器的設(shè)計(jì)_第4頁(yè)
簡(jiǎn)單微處理器的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(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、長(zhǎng)沙理工大學(xué)計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告簡(jiǎn)單微處理器的設(shè)計(jì) 李江江學(xué) 院 計(jì)算機(jī)與通信工程 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 085010502 學(xué) 號(hào) 200550080225 學(xué)生姓名 李江江 指導(dǎo)教師 肖曉麗 課程成績(jī) 完成日期 2008年1月18日 課程設(shè)計(jì)任務(wù)書計(jì)算機(jī)與通信工程學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè) 課程名稱計(jì)算機(jī)組成原理課程設(shè)計(jì)時(shí)間20072008學(xué)年第一學(xué)期1920周學(xué)生姓名李江江指導(dǎo)老師肖曉麗題 目簡(jiǎn)單微處理器的設(shè)計(jì)主要內(nèi)容:本課程設(shè)計(jì)要求采用EDA技術(shù)設(shè)計(jì)簡(jiǎn)單微處理器。系統(tǒng)設(shè)計(jì)要求采用自頂向下的設(shè)計(jì)方法。它要求完成數(shù)的輸入,數(shù)的比較,數(shù)的交換和結(jié)果輸出四部分。系統(tǒng)實(shí)現(xiàn)采用硬

2、件描述語(yǔ)言VHDL把系統(tǒng)電路按模塊化方式進(jìn)行設(shè)計(jì),然后進(jìn)行編程、時(shí)序仿真并分析。要求:(1)通過(guò)對(duì)相應(yīng)文獻(xiàn)的收集、分析以及總結(jié),給出相應(yīng)課題的背景、意義及現(xiàn)狀研究分析。(2)通過(guò)課題設(shè)計(jì),掌握計(jì)算機(jī)組成原理的分析方法和設(shè)計(jì)方法。(3)學(xué)按要求編寫課程設(shè)計(jì)報(bào)告書,能正確闡述設(shè)計(jì)和實(shí)驗(yàn)結(jié)果。(4)學(xué)生應(yīng)抱著嚴(yán)謹(jǐn)認(rèn)真的態(tài)度積極投入到課程設(shè)計(jì)過(guò)程中,認(rèn)真查閱相應(yīng)文獻(xiàn)以及實(shí)現(xiàn),給出個(gè)人分析、設(shè)計(jì)以及實(shí)現(xiàn)。應(yīng)當(dāng)提交的文件:(1)課程設(shè)計(jì)報(bào)告。(2)課程設(shè)計(jì)附件(主要是源程序)。課程設(shè)計(jì)成績(jī)?cè)u(píng)定學(xué) 院 計(jì)算機(jī)通信工程 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 計(jì)算機(jī)05-02 班 學(xué) 號(hào) 200550080225

3、學(xué)生姓名 李江江 指導(dǎo)教師 肖曉麗 課程成績(jī) 完成日期 2008年1月18日 指導(dǎo)教師對(duì)學(xué)生在課程設(shè)計(jì)中的評(píng)價(jià)評(píng)分項(xiàng)目?jī)?yōu)良中及格不及格課程設(shè)計(jì)中的創(chuàng)造性成果學(xué)生掌握課程內(nèi)容的程度課程設(shè)計(jì)完成情況課程設(shè)計(jì)動(dòng)手能力文字表達(dá)學(xué)習(xí)態(tài)度規(guī)范要求課程設(shè)計(jì)論文的質(zhì)量指導(dǎo)教師對(duì)課程設(shè)計(jì)的評(píng)定意見(jiàn)綜合成績(jī) 指導(dǎo)教師簽字 年 月 日簡(jiǎn)單微處理器的設(shè)計(jì)學(xué)生:李江江 指導(dǎo)老師:肖曉麗摘要:本課程設(shè)計(jì)采用EDA技術(shù)設(shè)計(jì)簡(jiǎn)單微處理器。系統(tǒng)設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法。它由數(shù)的輸入,數(shù)的比較,數(shù)的交換和結(jié)果輸出四部分組成。系統(tǒng)實(shí)現(xiàn)采用硬件描述語(yǔ)言VHDL把系統(tǒng)電路按模塊化方式進(jìn)行設(shè)計(jì),然后進(jìn)行編程、時(shí)序仿真并分析。系統(tǒng)結(jié)構(gòu)簡(jiǎn)

4、單,使用方便,功能齊全,精度高,具有一定的應(yīng)用價(jià)值。關(guān)鍵詞:處理器;輸入;比較;交換目錄1 引 言11.1課題設(shè)計(jì)的背景、目的11.2 課程設(shè)計(jì)的內(nèi)容12 EDA、VHDL簡(jiǎn)介32.1 EDA簡(jiǎn)介32.2 VHDL簡(jiǎn)介3VHDL語(yǔ)言的特點(diǎn)3VHDL的設(shè)計(jì)流程43 簡(jiǎn)單微處理器的設(shè)計(jì)過(guò)程53.1設(shè)計(jì)規(guī)劃53.2 各模塊設(shè)計(jì)及相應(yīng)程序54 系統(tǒng)仿真91.數(shù)的輸入.92 數(shù)的比較。93 交換兩個(gè)數(shù)。104 結(jié)果輸出(從小到大).10結(jié)束語(yǔ)11致 謝12參考文獻(xiàn)13附 錄141 引 言隨著社會(huì)的發(fā)展,科學(xué)技術(shù)也在不斷的進(jìn)步。特別是計(jì)算機(jī)產(chǎn)業(yè),可以說(shuō)是日新月異,而處理器,作為計(jì)算機(jī)中的一個(gè)重要部分,其性

5、能從很大程度上決定了計(jì)算機(jī)的性能。本設(shè)計(jì)介紹的簡(jiǎn)單微處理器,要求具有以下驗(yàn)證程序所要求的功能:輸入包含10個(gè)整數(shù)(無(wú)符號(hào)數(shù))的數(shù)組M,按從小到大的順序輸出這10個(gè)數(shù)。1.1課題設(shè)計(jì)的背景、目的微處理器技術(shù)的發(fā)展是與微電子技術(shù)即大規(guī)模集成電路技術(shù)的發(fā)展分不開(kāi)的。微電子技術(shù)以每18個(gè)月集成度提高一倍的速度迅速發(fā)展。20世紀(jì)80年代初,主要是16位微處理器8086/8088。1985年推出了80386微處理器,完成了16位體系結(jié)構(gòu)向32位體系結(jié)構(gòu)的轉(zhuǎn)變。1989年80486出現(xiàn)了。80486的設(shè)計(jì)目標(biāo)是提高指令執(zhí)行速度和支持多處理器系統(tǒng)。80486在芯片內(nèi)部增加一個(gè)8KB的高速緩沖存儲(chǔ)器(cache

6、),還增加了相當(dāng)于80387的浮點(diǎn)部件(FPU),在基本指令的實(shí)現(xiàn)上,采用硬布線邏輯而不是微程序技術(shù)。1993年3月,Intel公司推出了第一代“奔騰”微處理器(Pentium),微處理器技術(shù)發(fā)展進(jìn)入了一個(gè)新的階段。到目前為止,“奔騰”已有四代產(chǎn)品。“奔騰”的設(shè)計(jì)思想是把如何提高微處理器內(nèi)部指令執(zhí)行的并行性作為主導(dǎo)。指令執(zhí)行的并行性越好,微處理器的性能就越高。本次設(shè)計(jì)的目的就是了解并掌握VHDL硬件描述語(yǔ)言的設(shè)計(jì)方法和思想,通過(guò)學(xué)習(xí)的VHDL語(yǔ)言結(jié)合電子電路的設(shè)計(jì)知識(shí)理論聯(lián)系實(shí)際,掌握所學(xué)的課程知識(shí),學(xué)習(xí)VHDL基本單元電路的綜合設(shè)計(jì)應(yīng)用。通過(guò)對(duì)實(shí)用電子稱的設(shè)計(jì),鞏固和綜合運(yùn)用所學(xué)課程,理論聯(lián)

7、系實(shí)際,提高IC設(shè)計(jì)能力,提高分析、解決計(jì)算機(jī)技術(shù)實(shí)際問(wèn)題的獨(dú)立工作能力。通過(guò)課程設(shè)計(jì)深入理解VHDL語(yǔ)言的精髓,達(dá)到課程設(shè)計(jì)的目標(biāo)。1.2 課程設(shè)計(jì)的內(nèi)容本設(shè)計(jì)主要介紹的設(shè)計(jì)一臺(tái)簡(jiǎn)單微處理器,要求具有以下驗(yàn)證程序所要求的功能:輸入包含10個(gè)整數(shù)(無(wú)符號(hào)數(shù))的數(shù)組M,按從小到大的順序輸出這10個(gè)數(shù)。( 1 )程序開(kāi)始及輸入10個(gè)數(shù)據(jù)。( 2 )數(shù)的比較。( 3 )交換兩個(gè)數(shù)。( 4 )結(jié)果輸出(從小到大)。2 EDA、VHDL簡(jiǎn)介2.1 EDA簡(jiǎn)介EDA是Electronic Design Automation(電子設(shè)計(jì)自動(dòng)化)的縮寫,EDA技術(shù)是20世紀(jì)90年代初以來(lái)迅速發(fā)展起來(lái)的現(xiàn)代電子工

8、程領(lǐng)域的一門新技術(shù)。它可以編程邏輯器件(PLD)為載體,以計(jì)算機(jī)為工作平臺(tái),以EDA工具軟件為開(kāi)發(fā)環(huán)境,以硬件描述語(yǔ)言(HDL)作為電子系統(tǒng)功能描述方式,以電子系統(tǒng)設(shè)計(jì)為應(yīng)用方向的電子產(chǎn)品自動(dòng)化設(shè)計(jì)過(guò)程。2.2VHDL簡(jiǎn)介VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,誕生于1982年。1987年底,VHDL被IEEE和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言 。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本,IEEE-1076(簡(jiǎn)稱87版)之后,各EDA公司相繼推出了自己的VHDL設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可

9、以和VHDL接口。此后VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語(yǔ)言。1993年,IEEE對(duì)VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本,(簡(jiǎn)稱93版)?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語(yǔ)言。有專家認(rèn)為,在新的世紀(jì)中,VHDL于Verilog語(yǔ)言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。2.3VHDL語(yǔ)言的特點(diǎn)VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,

10、一個(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)。應(yīng)用VHDL進(jìn)行工程設(shè)計(jì)的優(yōu)點(diǎn)是多方面的。(1)與其他的硬件描述語(yǔ)言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。強(qiáng)大的行為描述能力是避開(kāi)具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。(2)VHDL豐富的仿真語(yǔ)句和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行

11、性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。(3)VHDL語(yǔ)句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場(chǎng)需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。(4)對(duì)于用VHDL完成的一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。(5)VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。2.4VHDL的設(shè)計(jì)流程它主要包括以下幾個(gè)步驟:1.設(shè)計(jì)規(guī)范的定義這個(gè)有點(diǎn)象系統(tǒng)的設(shè)計(jì)的總體規(guī)劃,就是要明確這個(gè)系統(tǒng)有哪些設(shè)計(jì)要求,和你要

12、想到達(dá)的目標(biāo)。2.采用VHDL進(jìn)行設(shè)計(jì)描述這部分包括設(shè)計(jì)規(guī)劃和程序的編寫。設(shè)計(jì)規(guī)劃主要包括設(shè)計(jì)方式的選擇及是否進(jìn)行模塊劃分。設(shè)計(jì)方式一般包括直接設(shè)計(jì),自頂向下和自底向下設(shè)計(jì),這個(gè)和其他軟件語(yǔ)言差不多。最重要還是模塊劃分,這個(gè)和設(shè)計(jì)者的設(shè)計(jì)水平有很大關(guān)系。 完成規(guī)劃設(shè)計(jì)后,就可以編寫個(gè)模塊的VHDL程序了,最后將各模塊的VHDL程序綜合起來(lái)就完成了整個(gè)設(shè)計(jì)的VHDL描述.3.VHDL程序仿真 這個(gè)過(guò)程和其他軟件語(yǔ)言沒(méi)什么區(qū)別。4.綜合、優(yōu)化和布局布線綜合指的是將設(shè)計(jì)描述轉(zhuǎn)化成底層電路的表示形式,其結(jié)果是一個(gè)網(wǎng)表或者是一組邏輯方程;優(yōu)化,這個(gè)主要是為了提高程序的執(zhí)行效率及減少資源的利用;布局布線,

13、指的是將邏輯關(guān)系轉(zhuǎn)化成電路連接的方式。5.后仿真。這個(gè)與VHDL程序仿真不同,這個(gè)不僅是對(duì)邏輯方面的驗(yàn)證,還要進(jìn)行時(shí)序功能驗(yàn)證。6.器件編程3 簡(jiǎn)單微處理器的設(shè)計(jì)過(guò)程3.1設(shè)計(jì)規(guī)劃 計(jì)算器通過(guò)簡(jiǎn)單的數(shù)字鍵盤輸入操作數(shù),其中所鍵入的數(shù)據(jù)將被暫存在移位寄存器中,然后根據(jù)運(yùn)算符執(zhí)行產(chǎn)生不同的操作結(jié)果,所獲得的運(yùn)算結(jié)果再通過(guò)譯碼電路轉(zhuǎn)移到七段顯示器輸出。整個(gè)微處理器的工作原理圖如圖3.11所示。圖3.1 微處理器的工作原理圖3.2 各模塊設(shè)計(jì)及相應(yīng)程序本系統(tǒng)設(shè)計(jì)了10條指令:IN1(輸入到目的寄存器),MOV(將一個(gè)數(shù)送入目的寄存器),MOV1(將源寄存器中的數(shù)據(jù)存儲(chǔ)到目的寄存器所指向的地址單元),M

14、OV2(將源寄存器所指向的地址單元中的數(shù)送入目的寄存器), OUT1(輸出),CMP(將目的寄存器和源寄存器所指向的地址單元中的數(shù)據(jù)進(jìn)行比較),DEC(將目的寄存器中的數(shù)據(jù)自減一),INC(將目的寄存器中的數(shù)據(jù)自加一),JMP(無(wú)條件跳轉(zhuǎn)),JB(小于跳轉(zhuǎn)),下表列出了每條指令的格式、匯編符號(hào)和指令功能。表3.2 指令系統(tǒng)格式表助記符號(hào)指令格式功 能IN1 Rd 1000Rd (SW)-RdMOV im Rd 1001Rdim(im)RdMOV1 Rs Rd1010Rs Rd(Rs)-RdMOV2 Rs Rd 1011 Rs Rd(Rs)RdOUT1 Rd 1100Rs (Rs)LEDCMP

15、Rs Rd 1101 RsRd(Rs)-(Rd),鎖存CY和ZIDEC Rd1110Rd(Rd)-1RdINC Rd 1111 Rd(Rd)+1RdJMP addr0110addraddr-PCJB addr0111addr若小于,則addr-PC關(guān)鍵程序數(shù)的選擇模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX5 ISPORT( R0_B,R1_B,R2_B,R3_B,ALU_B:IN STD_LOGIC; R0_IN,R1_IN,R2_IN,R3_IN,ALU_IN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); M

16、UX5OUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END MUX5;ARCHITECTURE A OF MUX5 ISBEGIN PROCESS(ALU_B,R3_B,R2_B,R1_B,R0_B) BEGIN IF(ALU_B=1 AND R3_B=1 AND R2_B=1 AND R1_B=1 AND R0_B=0) THEN MUX5OUT=R0_IN; ELSIF(ALU_B=1 AND R3_B=1 AND R2_B=1 AND R1_B=0 AND R0_B=1) THEN MUX5OUT=R1_IN; ELSIF(ALU_B=1 AND R3_B

17、=1 AND R2_B=0 AND R1_B=1 AND R0_B=1) THEN MUX5OUT=R2_IN; ELSIF(ALU_B=1 AND R3_B=0 AND R2_B=1 AND R1_B=1 AND R0_B=1) THEN MUX5OUT=R3_IN; ELSIF(ALU_B=0 AND R3_B=1 AND R2_B=1 AND R1_B=1 AND R0_B=1) THEN MUX5OUT=ALU_IN; ELSE MUX5OUT=ALU_IN; END IF; END PROCESS;END A;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.

18、ALL;ENTITY FEN2 ISPORT( MUX5_IN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); LED_B,WR: IN STD_LOGIC; OUT_MUX3,OUT_PUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END FEN2;ARCHITECTURE A OF FEN2 ISBEGIN PROCESS(LED_B) BEGIN IF(LED_B=0 AND WR=0) THEN OUT_PUT=MUX5_IN; OUT_MUX3=00000000; ELSE OUT_MUX3=MUX5_IN; END IF; END P

19、ROCESS;END A;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX3 ISPORT( SW_B,CS:IN STD_LOGIC; FEN2_IN,MUX2_2IN,SW_IN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); MUX3OUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END MUX3;ARCHITECTURE A OF MUX3 ISBEGINPROCESS(SW_B,CS) BEGIN IF(SW_B=0 AND CS=1) THEN MUX3OUT=SW_IN; ELS

20、IF(SW_B=1 AND CS=0) THEN MUX3OUT=MUX2_2IN; ELSIF(SW_B=0 AND CS=0) THEN MUX3OUT=FEN2_IN; ELSE MUX3OUTR2則跳轉(zhuǎn)到交換,否則順序執(zhí)行。圖4.2 數(shù)的比較4.3交換兩個(gè)數(shù)。如圖4.3,由于R3種的數(shù)25大于R2中的數(shù)15,則進(jìn)行交換。使R2每次存入最大的值后,R3繼續(xù)讀入R1地址的值繼續(xù)進(jìn)行比較。圖4.3 交換兩個(gè)數(shù)4.4 結(jié)果輸出圖4.4中的R0控制循環(huán), R1與用自增, R2用于輸出寄存器.結(jié)果從QD輸出。圖中剛好從最小的數(shù)06開(kāi)始輸出。圖4.4 結(jié)果輸出結(jié)束語(yǔ)我在老師的細(xì)心指導(dǎo)和同學(xué)們的耐心幫

21、助之下成功完成了本次實(shí)驗(yàn),并能得到預(yù)期的實(shí)驗(yàn)結(jié)果。在這段時(shí)間內(nèi),我努力學(xué)習(xí)了計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),VHDL等相關(guān)的各項(xiàng)知識(shí),也查閱不少資料,并能夠?qū)⒄n堂上所學(xué)的知識(shí)運(yùn)用于實(shí)際的設(shè)計(jì)中,能夠很好的進(jìn)行理論聯(lián)系實(shí)際進(jìn)行開(kāi)發(fā)。通過(guò)解決這次設(shè)計(jì)和設(shè)計(jì)中遇到的問(wèn)題,也積累了一定的經(jīng)驗(yàn)。對(duì)以后從事集成電路設(shè)計(jì)工作會(huì)有一定的幫助。在應(yīng)用VHDL的過(guò)程中讓我真正領(lǐng)會(huì)到了其并行運(yùn)行與其他軟件(C語(yǔ)言)順序執(zhí)行的差別及其在電路設(shè)計(jì)上的優(yōu)越性。致 謝 本課程設(shè)計(jì)在選題和設(shè)計(jì)過(guò)程中得到了肖曉麗老師的悉心指導(dǎo),肖老師多次詢問(wèn)課程設(shè)計(jì)進(jìn)程,并多次指導(dǎo)我對(duì)課程設(shè)計(jì)進(jìn)行修改,幫助我完善了該課程設(shè)計(jì)。在此對(duì)肖老師表示衷心的感謝。 還

22、要感謝寢室的同學(xué)們,謝謝你們對(duì)我技術(shù)和精神上的幫助,謝謝你們。參考文獻(xiàn)1 黃仁欣.EDA技術(shù)實(shí)用教程.北京:清華大學(xué)出版社,20062黃志鵬,付麗琴.可編程邏輯器件開(kāi)發(fā)技術(shù)MAX+pius.北京:國(guó)防工業(yè)出版社,20053潘松.VHDL實(shí)用教程M.成都:電子科技大學(xué)出版社,20004 譚會(huì)生.EDA技術(shù)基礎(chǔ).長(zhǎng)沙:湖南大學(xué)出版社,20045 楊剛,龍海燕.現(xiàn)代電子技術(shù)VHDL與數(shù)字系統(tǒng)設(shè)計(jì).北京.電子工業(yè)出版社,2004 附 錄程序清單:1 ALU子模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;U

23、SE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ALU ISPORT( AC, DR: IN STD_LOGIC_VECTOR(7 DOWNTO 0); S1, S0: IN STD_LOGIC; BCDOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); CY,ZI: OUT STD_LOGIC );END ALU;ARCHITECTURE A OF ALU ISSIGNAL AA,BB,TEMP: STD_LOGIC_VECTOR(8 DOWNTO 0);BEGIN PROCESS(S1,S0) BEGIN IF(S1=0 AND S0=

24、0) THEN BCDOUT = AC + DR; AA=0∾ BB=0&DR; TEMP = AA + BB; CY=TEMP(8); IF( TEMP =100000000) THEN ZI = 1; ELSE ZI = 0; END IF; ELSIF(S1=0 AND S0=1) THEN BCDOUT = AC - DR; AA=0∾ BB=0&DR; TEMP = AA - BB; CY=TEMP(8); IF( TEMP =000000000) THEN ZI = 1; ELSE ZI = 0; END IF; ELSIF(S1=1 AND S0=0) THEN AA

25、=0∾ TEMP=AA+1; BCDOUT=TEMP(7 DOWNTO 0); CY=TEMP(8); IF( TEMP =100000000) THEN ZI = 1; ELSE ZI = 0; END IF; ELSIF(S1=1 AND S0=1) THEN AA=0∾ TEMP=AA-1; BCDOUT=TEMP(7 DOWNTO 0); CY=TEMP(8); IF( TEMP =000000000) THEN ZI = 1; ELSE ZI = 0; END IF; ELSE BCDOUT = 00000000; CY = 0; ZI = 0; END IF; END

26、PROCESS;END A;2狀態(tài)條件寄存器子模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LS74 ISPORT( LDFR:IN STD_LOGIC; CY,ZI:IN STD_LOGIC; FC,FZ:OUT STD_LOGIC );END LS74;ARCHITECTURE A OF LS74 ISBEGIN PROCESS(LDFR) BEGIN IF(LDFREVENT AND LDFR=1) THEN FC=CY; FZ=ZI; END IF; END PROCESS;END A;3 時(shí)序產(chǎn)生器子模塊LIBRARY IEEE;

27、USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNTER ISPORT( Q,CLR:IN STD_LOGIC; T2,T3,T4:OUT STD_LOGIC );END COUNTER;ARCHITECTURE A OF COUNTER ISSIGNAL X:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGIN PROCESS(Q,CLR) BEGIN IF(CLR=0) THEN T2=0; T3=0; T4=0; X=00;

28、 ELSIF(QEVENT AND Q=1) THEN X=X+1; T2=(NOT X(1) AND X(0); T3=X(1) AND (NOT X(0); T4=X(1) AND X(0); END IF; END PROCESS;END A;4.程序計(jì)數(shù)器子模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY PC ISPORT( LOAD,LDPC,CLR:IN STD_LOGIC; BUS_IN:IN STD_LOG

29、IC_VECTOR(7 DOWNTO 0); PCOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END PC;ARCHITECTURE A OF PC ISSIGNAL QOUT: STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN PROCESS(LDPC,CLR,LOAD) BEGIN IF (CLR=0) THEN QOUT= 00000000; ELSIF (LDPCEVENT AND LDPC=1) THEN IF (LOAD=0) THEN QOUTPC ELSE QOUT= QOUT+1; -PC+1 END IF; END IF

30、; END PROCESS; PCOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT

31、 ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT NULL; END CASE; END IF; END PROCESS;END A;6.RAM子模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY RAM IS PORT( WR,CS:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

32、DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); ADDR:IN STD_LOGIC_VECTOR(7 DOWNTO 0) );END RAMARCHITECTURE A OF RAM ISTYPE MEMORY IS ARRAY(0 TO 31) OF STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN PROCESS(CS,WR) VARIABLE MEM: MEMORY; BEGIN IF (CS=0) THEN IF (WR=0) THEN MEM(CONV_INTEGER(ADDR(4 DOWNTO 0):=DIN; ELSIF(WR=1

33、) THEN DOUT = MEM(CONV_INTEGER(ADDR(4 DOWNTO 0); END IF; END IF; END PROCESS;END A;7選擇對(duì)ROM或者RAM進(jìn)行操作的二選一選擇器子模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX2_2 ISPORT( R_R:IN STD_LOGIC; ROM_IN,RAM_IN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); MUX2_2OUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END MUX2_2;ARCHITE

34、CTURE A OF MUX2_2 ISBEGIN PROCESS(R_R,ROM_IN,RAM_IN) BEGIN IF(R_R=0)THEN MUX2_2OUT=ROM_IN; ELSE MUX2_2OUT=RAM_IN; END IF; END PROCESS;END A;8.五選一選擇器子模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX5 ISPORT( R0_B,R1_B,R2_B,R3_B,ALU_B:IN STD_LOGIC; R0_IN,R1_IN,R2_IN,R3_IN,ALU_IN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); MUX5OUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END MUX5;ARCHITECTURE A OF MUX5 ISBEGIN PROCESS(ALU_B,R3_B,R2_B,R1_B,R0_B) BEGIN IF(ALU_B=1 AND R3_B=1 AND R2_B=1 AND R1_B=1 AND R0_B=0) THEN MUX5OUT=R0_IN; ELSIF(

溫馨提示

  • 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)論