亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VHDL的簡易CPU的設計和實現

        2010-03-27 06:55:48宋沛羅瓊
        電腦與電信 2010年8期
        關鍵詞:高電平寄存器部件

        宋沛 羅瓊

        (廣州大學物理與電子工程學院,廣州番禺510006)

        1.引言

        現代電子設計技術的核心是EDA(Electronic Design Automation)技術。EDA技術是依賴計算機作為硬件平臺,以大規(guī)??删幊踢壿嬈骷凹呻娐窞樵O計載體,設計者在EDA軟件平臺上,使用以描述硬件電路的功能、信號連接關系及定時關系的語言HDL(即硬件描述語言)完成文件設計,再經由計算機自動地完成邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合、優(yōu)化、布局布線、以及邏輯優(yōu)化和仿真測試,直至完成對特定目標芯片的適配編譯、邏輯映射和編程下載等工作,最終形成集成電子系統(tǒng)或專用集成芯片的一門技術[1]。

        本文采用EDA技術,以VHDL為硬件描述語言,以QuartusII6.0[2]為開發(fā)環(huán)境,采用“自頂向下”[3]的設計方法,選用Altera公司CYCLONE[4]系列的EP1C6Q240C8N芯片作為目標芯片,設計實現了一個簡易微處理器。在使更多人理解并接觸微處理器的同時,為設計和使用IP核打下基礎。此簡易微處理器,雖在性能上不能與商用CPU相提并論,但“麻雀雖小,五臟俱全”。

        2.簡易CPU的系統(tǒng)結構

        此簡易微處理器的結構特點是:功能簡單,只能做兩個數的加減法;內存量小,只有一個16×8ROM;字長為8位,輸出用二進制8位顯示。簡易微處理器的總體結構如圖1所示。簡易微處理器共分十個部分。PC是程序計數器,每次運行之前,先復位至0000,當取出一條指令后,PC加1,為了簡化,將其計數范圍設定為0000~1111。也就是說,存儲指令和數據的PROM的地址范圍為0000~1111,共16個存儲單元,每個存儲單元是8位。MAR是存儲地址寄存器,接收來自PC的二進制程序號,作為地址碼送至PROM去。IR是指令寄存器,從ROM接收到指令字,同時將指令字分送到控制部件CON_MODEL(高4位)和W總線(低4位)上去。CON是控制部件,主要負責將指令寄存器IR送來的高4位譯成12位的控制信號,由此控制信號指揮其它功能部件的運作。A為累加器,用以儲存計算機運行期間的中間結果,它能接收W總線送來的數據,也能將數據送到W總線上去。它還有一個數據輸出端,將數據送至ALU去進行算術運算。ALU為算術邏輯部件,將其簡化為一個二進制補碼加法器/減法器。寄存器B,將要與A相加減的數據暫存于此寄存器。輸出寄存器O,計算機運行結束時,累加器A中存有答案。如要輸出此答案,就得送入O。D為二進制顯示器,這是用發(fā)光二極管(LED)組成的顯示器。每一個LED接到寄存器O的一位上去。當某位為高電位時,則該LED發(fā)光[5]。

        圖1 簡易微處理器結構[6]

        3.基于VHDL的簡易CPU的設計和實現

        用VHDL分別實現圖1中的所有部件,其中最重要的是控制部件CON和總線部件W的設計和實現,其它部件實現較簡單(其它部件多為在時鐘下降沿觸發(fā)的異步清零同步使能的寄存器或計數器),這里不做詳細介紹。

        3.1 控制部件的設計和實現

        控制部件CON的功能如下:

        每次運行之前,發(fā)出CLR=1,使有關的部件清0。此時:PC=0000 IR=0000 0000

        能根據IR送來的指令發(fā)出12位的控制字:

        根據控制字中各位的置1或置0情況,計算機就能自動地按指令程序有秩序地運行。

        3.1.1 簡易CPU的指令系統(tǒng)

        為了簡化系統(tǒng)我們將此微處理器的指令精簡為5條,都采用直接尋址的方式。具體指令見表1。

        表1 簡易微處理器的指令系統(tǒng)

        3.1.2 每個指令在6個節(jié)拍中的控制字

        執(zhí)行一條指令的時間為一個機器周期。機器周期又可分為取指周期和執(zhí)行周期。取指周期的過程需要3個機器節(jié)拍,每個指令的取指周期都是相同的,其每個節(jié)拍的控制字如表2。

        表2 取指周期3個節(jié)拍的控制字(CON=CPEPLMER LIEILAEA SUEULBLO)

        (1)地址節(jié)拍T0:控制部件發(fā)出的控制字為CON=CPEPLMERLIEILAEASUEULBLO=0110 0000 0000,即Ep為高電平,Lm為高電平,其它與總線W相連的輸入為高阻狀態(tài),從而將PC的內容送入MAR(并通過MAR到達PROM)。

        (2)存儲節(jié)拍T1:從表2可知ER為高電平,LI為高電平,將ROM中由PC送來的地址碼所指定的存儲單元中的內容送到IR,同時IR立即將其高4位送至控制部件。

        (3)增量節(jié)拍T2:從表2可知Cp為高電平,使PC加1,做好下一條指令的取指準備。

        緊接著就進入執(zhí)行周期,不同的指令執(zhí)行周期都是3個節(jié)拍,但是發(fā)出的控制字不盡相同。表3針對五個指令分別列出執(zhí)行周期中3個節(jié)拍所對應的控制字。

        下面以ADD指令為例,說明執(zhí)行周期的控制字的設置。ADD指令的執(zhí)行周期的第1個節(jié)拍T3,從表3中可以看出發(fā)出的控制信號CON中,LM=1,EI=1。將IR的低4位數作為地址并立即送至MAR(PROM分為指令區(qū)和數據區(qū),在取指周期中,訪問的是指令區(qū);在執(zhí)行周期中,訪問的是數據區(qū))。ADD指令的執(zhí)行周期的第2個節(jié)拍T4,發(fā)出的控制信號使ER=1,LA=1。將PROM數據區(qū)的存儲單元的內容送入累加器A。ADD指令的執(zhí)行周期的第3個節(jié)拍T5,發(fā)出的控制信號使LA=1,EU=1,將算術邏輯部件的計算結果存入累加器A中。

        表3 執(zhí)行周期3個節(jié)拍每個指令所對應的控制字(CON=CPEPLM ER LIEILAEA SUEULBLO)

        3.1.3 控制器部件的VHDL實現

        采用有限狀態(tài)機實現上面的控制功能。由于無論什么指令都需要6個節(jié)拍(最后的3個節(jié)拍根據具體的操作不同而輸出不同的控制信號),因此對應地設計有限狀態(tài)機共有6種狀態(tài),狀態(tài)之間的轉換由時鐘控制(如圖2所示),在每個狀態(tài)下發(fā)出相應的控制字,從而實現根據指令進行控制各部件完成指令所要求的操作。控制部件的輸入數據來自指令寄存器IR的高四位INST_H[3..0]。同樣具有異步清零信號CLR,可以使整個系統(tǒng)復位。控制部件根據指令的高4位決定其他部件的使能信號和鎖存信號共12個信號,從而控制整個系統(tǒng)的運行情況。

        在CON_MODEL的結構體的說明部分定義數據類型,使狀態(tài)符號化:

        3.2 總線模塊的設計和實現

        總線可以使多個模塊之間溝通信息,為了避免信息在公共總線W中亂竄,必須規(guī)定在某一時鐘節(jié)拍,只有一個寄存器L門為高電平,和另一個寄存器的E門為高電平。其余各門的L和E控制信號必須為低電平。這樣,E門為高電位的寄存器的數據就可以流入到L門為高電平的寄存器中去。實現總線結構的主要VHDL代碼如下:

        3.3 頂層文件仿真分析和測試

        為了對整體進行測試,我們需在ROM中放入要執(zhí)行的程序段和要處理的數據。由于整個系統(tǒng)只支持5種指令,而且尋址空間只能是0~f,因此我們僅設計了一段程序計算16+20+24+28-32,并將相應的二進制代碼(此段代碼可參照參考文獻[4])存入PROM中。由于PROM是由LP_ROM產生,要存儲內容,只需設定它的存儲內容的文件rom.m if即可。下面是rom.m if文件的內容如下:

        圖3 頂層文件仿真與分析

        圖4 第一個指令的仿真分析

        圖3為使用QuartusII6.0進行仿真分析的結果。由圖3可知,輸出結果為56,是正確的。圖4加入了中間信號的輸出,便于分析第一個指令周期。從圖4可看出,CLR信號使當前狀態(tài)為T0,第一個CLK上升沿到,發(fā)出EP=’1’和LM=‘1’控制信號,程序計數器PC發(fā)出了數據并且存入地址寄存器MAR,這時數據線上的數據是PC的“0000”,因此W出現“00000000”;第二個CLK上升沿到,進入狀態(tài)T1,于是ER=‘1’和LI=‘1’,于是ROM發(fā)送地址為“0000”單元存儲的指令到總線,并且存入指令寄存器IR,此時的總線W是ROM發(fā)出的數據“00001001”(即LDA 9H指令對應的二進制代碼);當第三個CLK上升沿到,進入狀態(tài)T2,出現CP=‘1’,此時的計數器PC加1,這時的總線變?yōu)楦咦锠顟B(tài);當第四個CLK上升沿到,進入狀態(tài)T3,EI=‘1’和LM=‘1’,IR送低4位到總線,MAR接收此低4位數,此時的數據總線為“00001001”;當第五個CLK上升沿到,進入狀態(tài)T4,ER=‘1’且LA=‘1’,因此ROM將數據送到總線,然后在時鐘下降沿存到寄存器A中;當第六個CLK上升沿到,進入狀態(tài)T5,E和L端全部為低電平,即是一個空節(jié)拍(為的是使每條指令的機器周期都一樣長),此時的總線的數據是高阻狀態(tài)。自此,完成了第一個指令LDA 9H,即將ROM中數據區(qū)的地址為9H的存儲單元中的數據放存入A累加器中。之后由進入下一個機器周期,依次類推。由時序仿真可知設計正確。最后使用EDA工具和軟件QuartusII6.0,將設計配置到A ltera公司的CYCLONE系列的EP1C6Q240C8N芯片,運行正確。

        4.結束語

        本文使用VHDL語言,采用“自頂向下”設計方法,實現了一個簡易微處理器。并以EP1C6Q240C8N芯片為目標芯片,用QuartusII6.0產生的配置文件配置目標芯片,運行正確。此簡易微處理器的設計和實現可以起到拋磚引玉的作用,為進一步擴展CPU,實現更多更復雜的指令,擴大存儲器容量,實現中斷等深入設計打下基礎。

        [1] 潘松,黃繼業(yè).EDA技術實用教程[M].第三版,北京:科學出版社,2006.

        [2] Introduction to the Quartus II Software Version 10.0[EB/OL].http://www.altera.com.cn/literature/manual/intro_to_quartus2.pdf

        [3] Cyclone Device Handbook,Volume 1[EB/OL].http://www.altera.com.cn/literature/lit-cyc.jsp

        [4] 鄭學堅,周斌.微型計算機原理及應用[M].第三版,北京:清華大學出版社,2001.

        [5] IEEE Standard VHDL Language Reference Manual,IEEE Standard 1076-1987,New York,1988.

        [6] Altera Quartus II 6.0 reference manual,A ltera Corporation,San Jose CA,1992.

        猜你喜歡
        高電平寄存器部件
        一種基于FPGA的PWM防錯輸出控制電路
        Lite寄存器模型的設計與實現
        計算機應用(2020年5期)2020-06-07 07:06:44
        TS-03C全固態(tài)PDM中波發(fā)射機開關機控制電路原理及故障分析
        科技傳播(2019年15期)2019-08-22 08:07:44
        基于Siemens NX和Sinumerik的銑頭部件再制造
        部件拆分與對外漢字部件教學
        分簇結構向量寄存器分配策略研究*
        DM 50KW中波廣播發(fā)射機欠推動故障分析
        PDM 1kW中波廣播發(fā)射機保護電路分析
        水輪機過流部件改造與節(jié)能增效
        高速數模轉換器AD9779/AD9788的應用
        久久青青草原国产毛片| 日本女优禁断视频中文字幕| 久久综合久久综合久久| 男女午夜视频一区二区三区| 中文字幕人成乱码中文| av在线入口一区二区| 国产猛男猛女超爽免费视频| 日本护士吞精囗交gif| 久久国产精品免费一区二区| 一本到亚洲av日韩av在线天堂| 女人18片毛片60分钟| 日本亚洲色大成网站www久久| 亚洲成色在线综合网站| 欧美破处在线观看| av天堂网手机在线观看| 国产综合精品一区二区三区| 永久免费无码av在线网站 | 国产精品熟女一区二区三区 | 麻豆md0077饥渴少妇| 69久久夜色精品国产69| 久久夜色精品国产噜噜噜亚洲av| 中文日本强暴人妻另类视频| 成人做爰69片免费看网站野花| 亚洲av第一成肉网| 99热久久只有这里是精品| 国产av综合网站不卡| 久久亚洲精品无码va白人极品| 亚洲色欲久久久综合网| 一区二区三区一片黄理论片| 免费av一区二区三区无码| 成片免费观看视频大全| 91精品国产色综合久久不卡蜜| 亚洲熟女av一区少妇| 亚洲综合网国产精品一区| 无码a∨高潮抽搐流白浆| 日本午夜国产精彩| 亚洲精品中文字幕尤物综合| 日本一区二区不卡精品| 亚洲一区自拍高清亚洲精品| 国产一级做a爱免费观看| 国产精品很黄很色很爽的网站|