吳保榮
(武漢理工大學(xué) 計(jì)算機(jī)學(xué)院 ,湖北 武漢430070)
基于CPLD電路實(shí)現(xiàn)組合邏輯RISC控制器的設(shè)計(jì)
吳保榮
(武漢理工大學(xué) 計(jì)算機(jī)學(xué)院 ,湖北 武漢430070)
通過設(shè)計(jì)數(shù)據(jù)通道、指令系統(tǒng)、指令流程、控制信號(hào)等,找出了各個(gè)微控制信號(hào)的邏輯表達(dá)式,利用CPLD電路完成硬布線工作,做出了組合邏輯控制器,外加運(yùn)算器、寄存器、時(shí)序電路、主存儲(chǔ)器等部件實(shí)現(xiàn)簡(jiǎn)單的模型機(jī)計(jì)算機(jī)。此設(shè)計(jì)應(yīng)用了可編程邏輯器件,提高了模型機(jī)指令執(zhí)行的速度,也提高了系統(tǒng)的可靠性。
CPLD;組合邏輯控制器;模型機(jī)
20世紀(jì) 80年代興起的電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation,簡(jiǎn)稱EDA)是現(xiàn)代電子設(shè)計(jì)的核心技術(shù),利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的主要目標(biāo)是完成專用集成電路(ASIC)的設(shè)計(jì)。而現(xiàn)場(chǎng)可編程門陣列(FPGA)和復(fù)雜可編程邏輯器件(CPLD)是實(shí)現(xiàn)這一途徑的主流器件。由這些器件、技術(shù)應(yīng)用到組合邏輯控制器上,繼而組成芯片上并行化的計(jì)算器形成硬件上的RISC。
本文介紹了一種基于CPLD組合邏輯控制器模型機(jī)的實(shí)現(xiàn),大規(guī)??删幊踢壿嬈骷?(Complex Programmable Logic Device,CPLD)采用ispLSll032芯片,它的等效邏輯門為6000門,具有128個(gè)宏單元,192個(gè)觸發(fā)器和64個(gè)鎖存器。
該模型機(jī)的目標(biāo)定位:具有取數(shù)LD、存數(shù)ST、數(shù)據(jù)傳送MOV、加法ADD、跳轉(zhuǎn)JMP、停機(jī)等功能,數(shù)據(jù)位數(shù)為8位,即運(yùn)算器8位;寄存器8位,數(shù)量3個(gè),分別為R0,R1,R2;數(shù)據(jù)線8位,指令長(zhǎng)度8位。
微控制信號(hào)的產(chǎn)生電路由CPLD-ispLSll032芯片實(shí)現(xiàn),其他運(yùn)算器,存儲(chǔ)器等通稱為外部電路。
使用ABEL硬件描述語言對(duì)CPLD進(jìn)行編程來實(shí)現(xiàn)模型中CPU控制器的功能,利用ispDesign EXPERT軟件環(huán)境對(duì)可編程邏輯器件進(jìn)行設(shè)計(jì)系統(tǒng)、仿真、測(cè)試、驗(yàn)證其邏輯功能并下到CPLD芯片中。它與外圍部分的時(shí)序電路、主存、輸入輸出設(shè)備、運(yùn)算單元、寄存器組等構(gòu)成l臺(tái)完整的8位模型計(jì)算機(jī)。
圖1 :數(shù)據(jù)通路圖
本設(shè)計(jì)的指令系統(tǒng)采用定長(zhǎng)8位,共包含5條指令:取數(shù)LD、存數(shù) ST、數(shù)據(jù)傳送 MOV、加法 ADD、跳轉(zhuǎn) JMP,其中MOV、ADD、JMP指令的尋址方式為寄存器尋址,且都為單字節(jié)指令;LD、ST指令的尋址方式為存儲(chǔ)器尋址,且都為雙字節(jié)指令。
單字節(jié)指令為單周期執(zhí)行完成;雙字節(jié)指令為2周期執(zhí)行完成,設(shè)置周期狀態(tài)標(biāo)記為F,第一機(jī)器周期F=0,第二機(jī)器周期F=1,F(xiàn)由組合邏輯控制器產(chǎn)生。
模型機(jī)中的各條指令的格式和功能如下:
其中,rs為源寄存器,rd為目的寄存器,并規(guī)定:
如圖2所示,取指令操作碼的操作安排在2個(gè)節(jié)拍內(nèi)完成,在F=0周期的Tl節(jié)拍將PC的內(nèi)容送AR,T2節(jié)拍發(fā)出讀命令,把取出的機(jī)器指令送指令寄存器lR。對(duì)MOV、Add和JMP指令在鴨和T4節(jié)拍完成PC+1與指令的執(zhí)行;對(duì)LOAD和STORE指令在T3節(jié)拍修改PC值,在T4節(jié)拍將PC的內(nèi)容送AR,同時(shí)時(shí)F=l,準(zhǔn)備取指令的第二個(gè)階段。在F=1周期完成指令的執(zhí)行。
圖2 :指令流程圖
把指令流程圖中的控制信號(hào)序列合理地安排到各個(gè)機(jī)器周期的相應(yīng)節(jié)拍中去,列出每條指令的各操作過程所需的控制信號(hào),以MOV指令合LD指令為例:
MOV指令各時(shí)鐘周期的控制信號(hào):
LOAD指令各時(shí)鐘周期的控制信號(hào):
根據(jù)以上控制信號(hào)時(shí)間安排,對(duì)每個(gè)控制信號(hào)進(jìn)行邏輯綜合和化簡(jiǎn),得到控制信號(hào)的最簡(jiǎn)邏輯表達(dá)式(用ABEL硬件語言描述)如下:
根據(jù)每個(gè)控制信號(hào)的表達(dá)式在門陣列器件中編程,生成硬聯(lián)控制邏輯。使用ABEL硬件描述語言,利用ispDesign EXPERT軟件來對(duì)可編程邏輯器件設(shè)計(jì)系統(tǒng)進(jìn)行仿真、測(cè)試,驗(yàn)證其邏輯功能,通過下載電纜將仿真確認(rèn)編譯好的JED文件下載至CPLD芯片ispLSll032中,進(jìn)行系統(tǒng)的在線校驗(yàn)。
基于CPLD器件及硬件描述語言的組合邏輯控制器設(shè)計(jì)完成后,利用實(shí)驗(yàn)導(dǎo)線將可編程邏輯器件的各引腳與給定試驗(yàn)箱的外圍電路相連接,組裝成1臺(tái)完整的模型機(jī)。由于大部分受控電路模塊利用實(shí)驗(yàn)箱內(nèi)的實(shí)驗(yàn)單元模塊,所以隨時(shí)可以根據(jù)現(xiàn)場(chǎng)要求對(duì)控制電路進(jìn)行在線修改,從而給設(shè)計(jì)帶來了極大的便利。
根據(jù)表l中“模型機(jī)的指令系統(tǒng)”,編寫l段機(jī)器指令,進(jìn)行硬件測(cè)試。利用實(shí)驗(yàn)箱的其它實(shí)驗(yàn)電路模塊與CPLD模塊搭建系統(tǒng),能以單拍或單步的方法在實(shí)驗(yàn)箱上運(yùn)行程序,直到調(diào)試成功。
機(jī)器指令的程序清單如下:
;機(jī)器指令格式說明(”P”代表機(jī)器指令):
;PXX XX
;地址 機(jī)器代碼
運(yùn)行上述幾條機(jī)器指令,在該組合邏輯控制器模型機(jī)中執(zhí)行需要9個(gè)機(jī)器周期,從邏輯綜合與仿真測(cè)試的結(jié)果看,該控制器完全達(dá)到了設(shè)計(jì)指標(biāo),并優(yōu)于微程序控制器模型機(jī)。
利用大規(guī)??删幊踢壿嬈骷?,完成了組合邏輯硬布線控制器模型機(jī)的設(shè)計(jì)與實(shí)現(xiàn)。通過軟件設(shè)計(jì)芯片來實(shí)現(xiàn)系統(tǒng)功能,從而有效地增強(qiáng)了設(shè)計(jì)的靈活性,提高了工作效率。并能夠縮小系統(tǒng)體積,降低功耗,提高了系統(tǒng)的性能和可靠性。
硬布線控制器模型機(jī),是用組合邏輯的門電路實(shí)現(xiàn)控制信號(hào),充分發(fā)揮了可編程邏輯器件的作用,隨著新一代機(jī)器及VLSI技術(shù)的發(fā)展,硬布線邏輯設(shè)計(jì)思想必將會(huì)越來越得到重視。
由于時(shí)間倉促和水平有限,許多問題未能考慮,不足之處懇請(qǐng)讀者賜教。
[1]李朝青.單片機(jī)原理及接口技術(shù)[M].北京航空航天大學(xué)出版社,1999.
[2]鄭緯民,湯志忠.計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(第二版)[M].清華大學(xué)出版社,1995.
[3]張杰.基于FPGA的八位RISC CPU的設(shè)計(jì) [J].微計(jì)算機(jī)信息,2006,(35).
[4]王誠,劉衛(wèi)東.普及型教學(xué)計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與應(yīng)用,1999,(3).
[5]周寧寧,劉勝.基于FPGA技術(shù)的CPU模型機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[J].南京郵電學(xué)院學(xué)報(bào):自然科學(xué)版,2003,(1).
[6]楊宏雨,黃賢英,陳媛編.計(jì)算機(jī)組成原理課程設(shè)計(jì)[J].重慶工學(xué)院,2007.
[7]唐朔飛.計(jì)算機(jī)組成原理[M].北京:高等教育出版社,1999.
[8]吳秀敏,王曉蘭,高楊,安德勝.EDA技術(shù)在計(jì)算機(jī)硬件設(shè)計(jì)中的應(yīng)用與研究[J].計(jì)算機(jī)與數(shù)字工程,2010,(10).
[9]白中英.計(jì)算機(jī)組成原理(2版)[M].北京:科學(xué)出版社,2000.
[10]劉毅堅(jiān).ABEL硬件程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2004.
湖北經(jīng)濟(jì)學(xué)院學(xué)報(bào)·人文社科版2012年1期