課程設(shè)計(jì)采用EDA技術(shù)設(shè)計(jì)簡(jiǎn)單微處理器_第1頁(yè)
課程設(shè)計(jì)采用EDA技術(shù)設(shè)計(jì)簡(jiǎn)單微處理器_第2頁(yè)
課程設(shè)計(jì)采用EDA技術(shù)設(shè)計(jì)簡(jiǎn)單微處理器_第3頁(yè)
課程設(shè)計(jì)采用EDA技術(shù)設(shè)計(jì)簡(jiǎn)單微處理器_第4頁(yè)
課程設(shè)計(jì)采用EDA技術(shù)設(shè)計(jì)簡(jiǎn)單微處理器_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、. . . . 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告簡(jiǎn)單微處理器的設(shè)計(jì)簡(jiǎn)單微處理器的設(shè)計(jì)摘要:本課程設(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)單,使用方便,功能齊全,精度高,具有一定的應(yīng)用價(jià)值。關(guān)鍵詞:處理器;輸入;比較;交換24 / 26目錄1 引言11.1課題設(shè)計(jì)的背景、目的11.2 課程設(shè)計(jì)的容12 EDA、VHDL簡(jiǎn)介32.1 EDA簡(jiǎn)介32.2VHDL簡(jiǎn)介3VHDL語(yǔ)言的特點(diǎn)3VHDL的設(shè)計(jì)流程43 簡(jiǎn)單微處理器

2、的設(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è)重要部分,其性能從很大程度上決定了計(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è)月

3、集成度提高一倍的速度迅速發(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在芯片部增加一個(gè)8KB的高速緩沖存儲(chǔ)器(cache),還增加了相當(dāng)于80387的浮點(diǎn)部件(FPU),在基本指令的實(shí)現(xiàn)上,采用硬布線邏輯而不是微程序技術(shù)。1993年3月,Intel公司推出了第一代“奔騰”微處理器(Pentium),微處理器技術(shù)發(fā)展進(jìn)入了一個(gè)新的階段。到目前為止,“奔騰”已有四代產(chǎn)品?!氨简v”的設(shè)計(jì)思想是把如何提高微處

4、理器部指令執(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í)用電子稱(chēng)的設(shè)計(jì),鞏固和綜合運(yùn)用所學(xué)課程,理論聯(lián)系實(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ì)的容本設(shè)計(jì)主要介紹的設(shè)計(jì)一臺(tái)簡(jiǎn)單微處理器,要求具有以下驗(yàn)證程序所要求的功能:輸入包含10個(gè)整數(shù)(無(wú)符號(hào)數(shù))的數(shù)組M,按從小到大的順序輸出

5、這10個(gè)數(shù)。( 1 )程序開(kāi)始與輸入10個(gè)數(shù)據(jù)。( 2 )數(shù)的比較。( 3 )交換兩個(gè)數(shù)。( 4 )結(jié)果輸出(從小到大)。2EDA、VHDL簡(jiǎn)介2.1 EDA簡(jiǎn)介EDA是Electronic Design Automation(電子設(shè)計(jì)自動(dòng)化)的縮寫(xiě),EDA技術(shù)是20世紀(jì)90年代初以來(lái)迅速發(fā)展起來(lái)的現(xiàn)代電子工程領(lǐng)域的一門(mén)新技術(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 Integrat

6、ed 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)稱(chēng)87版)之后,各EDA公司相繼推出了自己的VHDL設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和VHDL接口。此后VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語(yǔ)言。1993年,IEEE對(duì)VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本,(簡(jiǎn)稱(chēng)93版)?,F(xiàn)在,VHDL和

7、Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語(yǔ)言。有專(zhuān)家認(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ì),或稱(chēng)設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱(chēng)可是部分,與端口)和部(或稱(chēng)不可視部分),既涉與實(shí)體的部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其部開(kāi)發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。應(yīng)用VHDL進(jìn)行工程設(shè)計(jì)的優(yōu)點(diǎn)是

8、多方面的。(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)的功能可行性,隨時(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)

9、的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門(mé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ì)要求,和你要想到達(dá)的目標(biāo)。2.采用VHDL進(jìn)行設(shè)計(jì)描述這部分包括設(shè)計(jì)規(guī)劃和程序的編寫(xiě)。設(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ì)后,就可以編寫(xiě)個(gè)模塊的VHDL程序

10、了,最后將各模塊的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í)行效率與減少資源的利用;布局布線,指的是將邏輯關(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ù)字鍵盤(pán)輸入操作數(shù),其中所鍵入的數(shù)據(jù)將被暫存在移位寄存器中,然后根據(jù)運(yùn)算符執(zhí)行產(chǎn)生不同的操作結(jié)果,所獲得的

11、運(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ǔ)到目的寄存器所指向的地址單元),MOV2(將源寄存器所指向的地址單元中的數(shù)送入目的寄存器), OUT1(輸出),CMP(將目的寄存器和源寄存器所指向的地址單元中的數(shù)據(jù)進(jìn)行比較),DEC(將目的寄存器中的數(shù)據(jù)自減一),INC(將目的寄存器中的數(shù)據(jù)自加一),JMP(無(wú)條件跳轉(zhuǎn)),(小于跳轉(zhuǎn)),下表列出了每條指令的格式、匯編符號(hào)和指令功能。表

12、3.2 指令系統(tǒng)格式表助記符號(hào)指令格式功 能IN1 Rd1000Rd (SW)-RdMOV im Rd 1001Rdim(im)RdMOV1 Rs Rd1010Rs Rd(Rs)-RdMOV2 Rs Rd 1011 Rs Rd(Rs)RdOUT1 Rd1100Rs (Rs)LEDCMPRs Rd1101 RsRd(Rs)-(Rd),鎖存CY和ZIDEC Rd1110Rd(Rd)-1RdINC Rd1111 Rd(Rd)+1RdJMP addr0110addraddr-PC addr0111addr若小于,則addr-PC關(guān)鍵程序數(shù)的選擇模塊LIBRARY IEEE;USE IEEE.STD_L

13、OGIC_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 R

14、1_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=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

15、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.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;ARCHITECTUR

16、E 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 PROCESS;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:O

17、UT 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; ELSIF(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)

18、行交換。使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é)們的耐心幫助之下成功完成了本次實(shí)驗(yàn),并能得到預(yù)期的實(shí)驗(yàn)結(jié)果。在這段時(shí)間,我努力學(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

19、的過(guò)程中讓我真正領(lǐng)會(huì)到了其并行運(yùn)行與其他軟件(C語(yǔ)言)順序執(zhí)行的差別與其在電路設(shè)計(jì)上的優(yōu)越性。致 本課程設(shè)計(jì)在選題和設(shè)計(jì)過(guò)程中得到了肖曉麗老師的悉心指導(dǎo),肖老師多次詢(xún)問(wèn)課程設(shè)計(jì)進(jìn)程,并多次指導(dǎo)我對(duì)課程設(shè)計(jì)進(jìn)行修改,幫助我完善了該課程設(shè)計(jì)。在此對(duì)肖老師表示衷心的感。 還要感寢室的同學(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ǔ).:大學(xué),20045 剛,龍海燕.現(xiàn)代電子技術(shù)VHDL與數(shù)字系統(tǒng)設(shè)計(jì)

20、.電子工業(yè),2004附 錄程序清單:1 ALU子模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE 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

21、 ALU ISSIGNAL AA,BB,TEMP: STD_LOGIC_VECTOR(8 DOWNTO 0);BEGIN PROCESS(S1,S0) BEGIN IF(S1=0 AND S0=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

22、; CY=TEMP(8); IF( TEMP =000000000) THEN ZI = 1; ELSE ZI = 0; END IF; ELSIF(S1=1 AND S0=0) THEN AA=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 =

23、000000000) THEN ZI = 1; ELSE ZI = 0; END IF; ELSE BCDOUT = 00000000; CY = 0; ZI = 0; END IF; END 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) BE

24、GIN IF(LDFREVENT AND LDFR=1) THEN FC=CY; FZ=ZI; END IF; END PROCESS;END A;3時(shí)序產(chǎn)生器子模塊LIBRARY IEEE;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

25、X:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGIN PROCESS(Q,CLR) BEGIN IF(CLR=0) THEN T2=0; T3=0; T4=0; X=00; 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

26、;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY PC ISPORT( LOAD,LDPC,CLR:IN STD_LOGIC; BUS_IN:IN STD_LOGIC_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; E

27、LSIF (LDPCEVENT AND LDPC=1) THEN IF (LOAD=0) THEN QOUTPC ELSE QOUT= QOUT+1; -PC+1 END IF; END IF; 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 R

28、OMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT ROMOUT 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_

29、LOGIC_UNSIGNED.ALL;ENTITY RAM IS PORT( WR,CS:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); 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

30、: MEMORY; BEGIN IF (CS=0) THEN IF (WR=0) THEN MEM(CONV_INTEGER(ADDR(4 DOWNTO 0):=DIN; ELSIF(WR=1) 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:

31、IN STD_LOGIC_VECTOR(7 DOWNTO 0); MUX2_2OUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END MUX2_2;ARCHITECTURE 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

32、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(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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論