1引言
隨著計算機技術的迅速發(fā)展,計算機系統(tǒng)中使用的硬件部件基本上都采用大規(guī)模和超大規(guī)模集成電路,這些電路的設計、驗證和測試必須使用先進的工具軟件,使硬件設計逐漸趨于軟件化,加快硬件設計和調試的速度[1],計算機硬件作為一個典型的復雜數字系統(tǒng),其設計方法發(fā)生了根本性的變革。EDA(Electronic Design Automation ,電子設計自動化)技術就是一種自動完成將用軟件的方式設計的電子系統(tǒng)形成集成電子系統(tǒng)或專用芯片的一門新技術[2].
TDN-CM++實驗裝置是計算機組成原理及系統(tǒng)結構課程的專用實驗箱,但存在硬件結構基本固定、CPU的各個組成部件全部做好、以驗證型的實驗為主、學生只需按書中要求撥動相應開關就能完成實驗等問題,達不到在整體上把握計算機的基本原理和工作流程的目的,實驗效果不盡人意。
根據目前計算機和集成電路技術的發(fā)展現狀,利用TDN-CM++實驗裝置上復雜可編程邏輯器件ispLSI1032芯片,設計一個定向型計算機硬件系統(tǒng),包括運算器、控制器、存儲器的設計,以達到彌補實驗裝置和實驗項目不足的目的。
2基于EDA技術的計算機硬件系統(tǒng)設計過程
設計一臺完整的計算機硬件系統(tǒng)主要經過如下幾個階段:
2.1確定指令系統(tǒng)
該系統(tǒng)的指令系統(tǒng)如表1所示。指令和數據都采用8位表示。源操作數采用存儲器直接尋址方式,目的操作數采用隱含尋址。
表1指令系統(tǒng)
2.2總體結構與數據通路
該系統(tǒng)總體結構與數據通路如圖1所示。
圖1系統(tǒng)總體結構與數據通路圖
2.3狀態(tài)確定
該系統(tǒng)指令周期是6個時鐘周期,前是三個時鐘周期即狀態(tài)S0~S2為指令的讀取周期,后3個時鐘周期即S3~S5為指令的執(zhí)行周期。
2.4設計指令執(zhí)行的流程
該系統(tǒng)指令執(zhí)行流程如表2所示。
表2指令執(zhí)行流程
2.5編程、調試、運行、仿真
編程、編譯、綜合所設計的工程文件,建立測試向量進行功能仿真。將生成的JEDEC文件下載至實驗儀器的ispLSI芯片中。按設計的線路圖進行連線。系統(tǒng)連線圖如圖2所示。把程序寫入內存中。調試運行。
圖2系統(tǒng)連線圖
3各功能部件的VHDL源程序
3.1內存ROM功能模塊的VHDL實現
對于圖1中ispLSI芯片功能圖中內存ROM 16X8的功能采用VHDL實現代碼如下。
rom16x8: process(ce)
begin
if ce='0' then ——使能端ce為邏輯“0”時,才能進行數據的讀取命令。
case addrbus is
when“0000”=>
maindata
maindata[outport,led,wr]) [.x.,1]->[.x.,。x.,。x.];
@REPEAT 100 {[.c.,0]->[.x.,。x.,。x.];} [.x.,1]->[.x.,。x.,。x.];
END
3.2 CPU功能模塊的VHDL實現
對于圖1 中ispLSI 芯片功能圖中內CPU 功能模塊的VHDL 實現流程如圖3 所示,它是整個模型機的核心。
圖3 CPU 功能模塊VHDL 實現流程
計算機硬件系統(tǒng)的仿真根據ROM的中存放的程序不同,這個模型機完成的操作也就不同,下面將通過建立編寫仿真測試向量,來進行邏輯功能仿真,檢驗設計是否實現了需要完成的功能。 對實現20-6+2運算的工作程序及其在ROM內存映像(起始地址0H)如表3所示:
表3工作程序
利用上面建立的測試向量文件,其仿真結果如圖4所示。
由仿真波形可以看到在執(zhí)行OUT指令時送出20-6+2的運算結果為1C,同時使輸出給OUTPUT DEVICE的信號led='0',wr也由1->0.在執(zhí)行HLT指令時run由1->0,模型機停機。這與理論結果完全相符。
圖4仿真結果
結束語
作者創(chuàng)新點為:提出了在TDN-CM++實驗裝置中的復雜可編程邏輯器件ispLSI1032芯片上,設計定向型計算機硬件系統(tǒng)(包括運算器、控制器、存儲器)的結構、設計方法及具體實現,彌補了TDN-CM++實驗裝置的不足,為進一步理解計算機原理和組成以及系統(tǒng)結構方面的知識創(chuàng)造了條件,為嵌入式系統(tǒng)等的應用打好基礎。