資源描述:
《基于vhdl的簡易cpu的設(shè)計(jì)和實(shí)現(xiàn)new》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、學(xué)術(shù)探討應(yīng)用技術(shù)與研究基于VHDL的簡易CPU的設(shè)計(jì)和實(shí)現(xiàn)宋沛羅瓊(廣州大學(xué)物理與電子工程學(xué)院,廣州番禺510006)[摘要]采用EDA技術(shù),以VHDL為硬件描述語言,以QuartusII6.0為開發(fā)環(huán)境,選用Altera公司CYCLONE系列的EP1C6Q240C8N芯片作為目標(biāo)芯片,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)簡易微處理器。主要介紹了其中兩個(gè)模塊:控制器模塊和總線模塊,使VHDL的設(shè)計(jì)者對“自頂向下”的設(shè)計(jì)方法和狀態(tài)機(jī)的設(shè)計(jì)和使用有更深入的了解。[關(guān)鍵詞]現(xiàn)場可編程門陣列;超高速集成電路硬件描述語言;EDA;微處理器去。它還
2、有一個(gè)數(shù)據(jù)輸出端,將數(shù)據(jù)送至ALU去進(jìn)行算術(shù)運(yùn)1.引言算。ALU為算術(shù)邏輯部件,將其簡化為一個(gè)二進(jìn)制補(bǔ)碼加法現(xiàn)代電子設(shè)計(jì)技術(shù)的核心是EDA(ElectronicDesign器/減法器。寄存器B,將要與A相加減的數(shù)據(jù)暫存于此寄Automation)技術(shù)。EDA技術(shù)是依賴計(jì)算機(jī)作為硬件平臺,以存器。輸出寄存器O,計(jì)算機(jī)運(yùn)行結(jié)束時(shí),累加器A中存有大規(guī)??删幊踢壿嬈骷凹呻娐窞樵O(shè)計(jì)載體,設(shè)計(jì)者在答案。如要輸出此答案,就得送入O。D為二進(jìn)制顯示器,這EDA軟件平臺上,使用以描述硬件電路的功能、信號連接關(guān)是用發(fā)光二極管(LE
3、D)組成的顯示器。每一個(gè)LED接到寄存系及定時(shí)關(guān)系的語言HDL(即硬件描述語言)完成文件設(shè)器O的一位上去。當(dāng)某位為高電位時(shí),則該LED發(fā)光[5]。計(jì),再經(jīng)由計(jì)算機(jī)自動地完成邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合、優(yōu)化、布局布線、以及邏輯優(yōu)化和仿真測試,直至完成對特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T[1]技術(shù)。本文采用EDA技術(shù),以VHDL為硬件描述語言,以[2][3]QuartusII6.0為開發(fā)環(huán)境,采用“自頂向下”的設(shè)計(jì)方法,選[4]用Altera公司CYC
4、LONE系列的EP1C6Q240C8N芯片作為目標(biāo)芯片,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)簡易微處理器。在使更多人理解并接觸微處理器的同時(shí),為設(shè)計(jì)和使用IP核打下基礎(chǔ)。此簡易微處理器,雖在性能上不能與商用CPU相提并論,但“麻雀雖小,五臟俱全”。2.簡易CPU的系統(tǒng)結(jié)構(gòu)此簡易微處理器的結(jié)構(gòu)特點(diǎn)是:功能簡單,只能做兩個(gè)圖1簡易微處理器結(jié)構(gòu)[6]數(shù)的加減法;內(nèi)存量小,只有一個(gè)16×8ROM;字長為8位,輸出用二進(jìn)制8位顯示。簡易微處理器的總體結(jié)構(gòu)如圖13.基于VHDL的簡易CPU的設(shè)計(jì)和實(shí)現(xiàn)所示。簡易微處理器共分十個(gè)部分。PC是程序計(jì)數(shù)器
5、,每次運(yùn)行之前,先復(fù)位至0000,當(dāng)取出一條指令后,PC加1,為了用VHDL分別實(shí)現(xiàn)圖1中的所有部件,其中最重要的簡化,將其計(jì)數(shù)范圍設(shè)定為0000~1111。也就是說,存儲指是控制部件CON和總線部件W的設(shè)計(jì)和實(shí)現(xiàn),其它部件實(shí)令和數(shù)據(jù)的PROM的地址范圍為0000~1111,共16個(gè)存儲現(xiàn)較簡單(其它部件多為在時(shí)鐘下降沿觸發(fā)的異步清零同步單元,每個(gè)存儲單元是8位。MAR是存儲地址寄存器,接收使能的寄存器或計(jì)數(shù)器),這里不做詳細(xì)介紹。來自PC的二進(jìn)制程序號,作為地址碼送至PROM去。IR是3.1控制部件的設(shè)計(jì)和實(shí)現(xiàn)指
6、令寄存器,從ROM接收到指令字,同時(shí)將指令字分送到控制部件CON的功能如下:控制部件CON_MODEL(高4位)和W總線(低4位)上去。每次運(yùn)行之前,發(fā)出CLR=1,使有關(guān)的部件清0。此時(shí):CON是控制部件,主要負(fù)責(zé)將指令寄存器IR送來的高4位PC=0000IR=00000000譯成12位的控制信號,由此控制信號指揮其它功能部件的能根據(jù)IR送來的指令發(fā)出12位的控制字:運(yùn)作。A為累加器,用以儲存計(jì)算機(jī)運(yùn)行期間的中間結(jié)果,CON=CPEPLMERLIEILAEASUEULBLO。它能接收W總線送來的數(shù)據(jù),也能將數(shù)據(jù)送
7、到W總線上根據(jù)控制字中各位的置1或置0情況,計(jì)算機(jī)就能自動————————————————作者簡介:宋沛,女,河南長垣人,碩士,講師,研究方向:計(jì)算信息技術(shù)及應(yīng)用、電子設(shè)計(jì)自動化。—62—學(xué)術(shù)探討應(yīng)用技術(shù)與研究地按指令程序有秩序地運(yùn)行。表3執(zhí)行周期3個(gè)節(jié)拍每個(gè)指令所對應(yīng)的控制字3.1.1簡易CPU的指令系統(tǒng)(CON=CPEPLMERLIEILAEASUEULBLO)為了簡化系統(tǒng)我們將此微處理器的指令精簡為5條,都節(jié)拍采用直接尋址的方式。具體指令見表1。控制字CONT3T4T5表1簡易微處理器的指令系統(tǒng)指令LDA00
8、1001000000000100100000000000000000操作碼(即8位指令中助記符功能的高4位)ADD001001000000000100000010000000100100LDA0000將數(shù)據(jù)(指令的低4位給出數(shù)SUB001001000000000100000010000000101100據(jù)地址)裝入累加器AOUT000000010001000