關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于EDA技術(shù)的定向型計(jì)算機(jī)硬件設(shè)計(jì)

基于EDA技術(shù)的定向型計(jì)算機(jī)硬件設(shè)計(jì)

作者: 時(shí)間:2009-02-19 來(lái)源:網(wǎng)絡(luò) 收藏

1 引言

本文引用地址:http://butianyuan.cn/article/202714.htm

  隨著技術(shù)的迅速發(fā)展,系統(tǒng)中使用的硬件部件基本上都采用大規(guī)模和超大規(guī)模集成電路,這些電路的設(shè)計(jì)、驗(yàn)證和測(cè)試必須使用先進(jìn)的工具軟件,使逐漸趨于軟件化,加快和調(diào)試的速度[1],硬件作為一個(gè)典型的復(fù)雜數(shù)字系統(tǒng),其設(shè)計(jì)方法發(fā)生了根本性的變革。(Electronic Design Automation ,電子設(shè)計(jì)自動(dòng)化)技術(shù)就是一種自動(dòng)完成將用軟件的方式設(shè)計(jì)的電子系統(tǒng)形成集成電子系統(tǒng)或?qū)S眯酒囊婚T(mén)新技術(shù)[2]。

  TDN-CM++實(shí)驗(yàn)裝置是計(jì)算機(jī)組成原理及系統(tǒng)結(jié)構(gòu)課程的專(zhuān)用實(shí)驗(yàn)箱,但存在硬件結(jié)構(gòu)基本固定、CPU 的各個(gè)組成部件全部做好、以驗(yàn)證型的實(shí)驗(yàn)為主、學(xué)生只需按書(shū)中要求撥動(dòng)相應(yīng)開(kāi)關(guān)就能完成實(shí)驗(yàn)等問(wèn)題,達(dá)不到在整體上把握計(jì)算機(jī)的基本原理和工作流程的目的,實(shí)驗(yàn)效果不盡人意。

  根據(jù)目前計(jì)算機(jī)和集成電路技術(shù)的發(fā)展現(xiàn)狀,利用TDN-CM++實(shí)驗(yàn)裝置上復(fù)雜可編程邏輯器件ispLSI1032芯片,設(shè)計(jì)一個(gè)型計(jì)算機(jī)硬件系統(tǒng),包括運(yùn)算器、控制器、存儲(chǔ)器的設(shè)計(jì),以達(dá)到彌補(bǔ)實(shí)驗(yàn)裝置和實(shí)驗(yàn)項(xiàng)目不足的目的。

  2 基于 技術(shù)的計(jì)算機(jī)硬件系統(tǒng)設(shè)計(jì)過(guò)程

  設(shè)計(jì)一臺(tái)完整的計(jì)算機(jī)硬件系統(tǒng)主要經(jīng)過(guò)如下幾個(gè)階段:

  2.1 確定指令系統(tǒng)

  該系統(tǒng)的指令系統(tǒng)如表1所示。指令和數(shù)據(jù)都采用8位表示。源操作數(shù)采用存儲(chǔ)器直接尋址方式,目的操作數(shù)采用隱含尋址。

表1 指令系統(tǒng)

2.2 總體結(jié)構(gòu)與數(shù)據(jù)通路

  該系統(tǒng)總體結(jié)構(gòu)與數(shù)據(jù)通路如圖1所示。

圖1 系統(tǒng)總體結(jié)構(gòu)與數(shù)據(jù)通路圖

  2.3 狀態(tài)確定

  該系統(tǒng)指令周期是6個(gè)時(shí)鐘周期,前是三個(gè)時(shí)鐘周期即狀態(tài)S0~S2為指令的讀取周期,后3個(gè)時(shí)鐘周期即S3~S5為指令的執(zhí)行周期。

  2.4 設(shè)計(jì)指令執(zhí)行的流程

  該系統(tǒng)指令執(zhí)行流程如表2所示。

表2 指令執(zhí)行流程

2.5 編程、調(diào)試、運(yùn)行、仿真

  編程、編譯、綜合所設(shè)計(jì)的工程文件,建立測(cè)試向量進(jìn)行功能仿真。將生成的JEDEC 文件下載至實(shí)驗(yàn)儀器的ispLSI 芯片中。按設(shè)計(jì)的線(xiàn)路圖進(jìn)行連線(xiàn)。系統(tǒng)連線(xiàn)圖如圖2所示。把程序?qū)懭雰?nèi)存中。調(diào)試運(yùn)行。

圖2 系統(tǒng)連線(xiàn)圖

3 各功能部件的VHDL源程序
  3.1 內(nèi)存ROM功能模塊的VHDL實(shí)現(xiàn)

  對(duì)于圖1中ispLSI 芯片功能圖中內(nèi)存ROM 16X8的功能采用VHDL實(shí)現(xiàn)代碼如下。

rom16x8: process(ce)
begin
if ce='0' then --使能端ce 為邏輯“0”時(shí),才能進(jìn)行數(shù)據(jù)的讀取命令。
case addrbus is
when 0000=>
maindata=10100000;
when others=>
maindata=00000000;
end case;
end if; end process rom16x8;

  3.2 CPU功能模塊的VHDL實(shí)現(xiàn)

  對(duì)于圖1 中ispLSI 芯片功能圖中內(nèi)CPU 功能模塊的VHDL 實(shí)現(xiàn)流程如圖3 所示,它是整個(gè)模型機(jī)的核心。

圖3 CPU 功能模塊VHDL 實(shí)現(xiàn)流程

  計(jì)算機(jī)硬件系統(tǒng)的仿真根據(jù)ROM的中存放的程序不同,這個(gè)模型機(jī)完成的操作也就不同,下面將通過(guò)建立編寫(xiě)仿真測(cè)試向量,來(lái)進(jìn)行邏輯功能仿真,檢驗(yàn)設(shè)計(jì)是否實(shí)現(xiàn)了需要完成的功能。 對(duì)實(shí)現(xiàn)20-6+2運(yùn)算的工作程序及其在ROM內(nèi)存映像(起始地址0H)如表3所示:

表3工作程序

進(jìn)行功能仿真首先需要用ABEL-HDL語(yǔ)言編寫(xiě)?yīng)毩⒌臏y(cè)試向量文件:

  MODULE model

clk,reset,outport,led,wr pin;
Test_vectors ([clk,reset]->[outport,led,wr]) [.x.,1]->[.x.,.x.,.x.];
@REPEAT 100 {[.c.,0]->[.x.,.x.,.x.];} [.x.,1]->[.x.,.x.,.x.];
END

  利用上面建立的測(cè)試向量文件,其仿真結(jié)果如圖4所示。

  由仿真波形可以看到在執(zhí)行OUT 指令時(shí)送出20-6+2的運(yùn)算結(jié)果為1C,同時(shí)使輸出給OUTPUT DEVICE 的信號(hào)led=’0’,wr也由1->0。在執(zhí)行HLT指令時(shí)run 由1->0,模型機(jī)停機(jī)。這與理論結(jié)果完全相符。

圖4 仿真結(jié)果

  結(jié)束語(yǔ)

   作者創(chuàng)新點(diǎn)為:提出了在TDN-CM++實(shí)驗(yàn)裝置中的復(fù)雜可編程邏輯器件ispLSI1032芯片上,設(shè)計(jì)型計(jì)算機(jī)硬件系統(tǒng)(包括運(yùn)算器、控制器、存儲(chǔ)器)的結(jié)構(gòu)、設(shè)計(jì)方法及具體實(shí)現(xiàn),彌補(bǔ)了TDN-CM++實(shí)驗(yàn)裝置的不足,為進(jìn)一步理解計(jì)算機(jī)原理和組成以及系統(tǒng)結(jié)構(gòu)方面的知識(shí)創(chuàng)造了條件,為嵌入式系統(tǒng)等的應(yīng)用打好基礎(chǔ)。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉