版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 計(jì)算機(jī)組成原理課程設(shè)計(jì)</p><p><b> (Ver 3.1)</b></p><p> 計(jì)算機(jī)科學(xué)與工程學(xué)院</p><p><b> 2007年7月</b></p><p> 1、課程設(shè)計(jì)目的2</p><p><b>
2、2、儀器設(shè)備2</b></p><p> 3、基于微控器的模型機(jī)設(shè)計(jì)部分2</p><p> 3.1、設(shè)計(jì)步驟2</p><p> 3.2、準(zhǔn)備知識4</p><p> 3.3、設(shè)計(jì)內(nèi)容4</p><p> 題目一:設(shè)計(jì)一個(gè)具有帶進(jìn)位加法和立即數(shù)尋址方式的模型機(jī)4</p>
3、<p> 題目二:設(shè)計(jì)一個(gè)具有帶進(jìn)位加法和條件跳轉(zhuǎn)的模型機(jī)4</p><p> 題目三:設(shè)計(jì)一個(gè)具有循環(huán)左移功能的模型機(jī)4</p><p> 題目四:設(shè)計(jì)一個(gè)具有帶借位減法和存儲(chǔ)功能的模型機(jī)4</p><p> 4、可編程邏輯器件設(shè)計(jì)部分4</p><p> 4.1、設(shè)計(jì)步驟4</p><p
4、> 4.2、準(zhǔn)備知識4</p><p> 4.3、設(shè)計(jì)內(nèi)容4</p><p> 題目五:利用CPLD設(shè)計(jì)一個(gè)并行加法器4</p><p> 題目六:陣列乘法器設(shè)計(jì)4</p><p> 題目七:硬聯(lián)控制器設(shè)計(jì)4</p><p> 5、具有中斷處理功能的模型機(jī)設(shè)計(jì)4</p>&l
5、t;p> 5.1、設(shè)計(jì)內(nèi)容4</p><p> 5.2、準(zhǔn)備知識4</p><p> 5.3、設(shè)計(jì)步驟4</p><p> 6、課程設(shè)計(jì)任務(wù)及要求4</p><p><b> 7、考核辦法4</b></p><p><b> 8、參考資料4</b>
6、;</p><p><b> 9、附錄4</b></p><p> 附錄1(數(shù)據(jù)通路):4</p><p> 附錄2(系統(tǒng)連線參考圖)4</p><p> 附錄3(實(shí)驗(yàn)系統(tǒng)主要單元電路)4</p><p> 附錄4(ispDesignEXPERT軟件使用)4</p>
7、<p> VIII.把設(shè)計(jì)適配到Lattice器件中4</p><p> IX.層次化操作方法4</p><p> 《計(jì)算機(jī)組成原理》課程設(shè)計(jì)</p><p><b> 1、課程設(shè)計(jì)目的</b></p><p> 通過對一個(gè)簡單計(jì)算機(jī)的設(shè)計(jì),對計(jì)算機(jī)的基本組成,部件的設(shè)計(jì)、部件間的連接、微程
8、序控制器的設(shè)計(jì)、微指令和微程序的編制與調(diào)試等過程有更深的了解,在此基礎(chǔ)上完成一臺(tái)基本計(jì)算機(jī)的組成設(shè)計(jì),從而加深對理論課程的理解,鍛煉學(xué)生的獨(dú)立思考和動(dòng)手能力。</p><p><b> 2、儀器設(shè)備</b></p><p> 硬件環(huán)境為PC-386以上微機(jī),西安唐都科教儀器公司的TDN-CM+計(jì)算機(jī)組成原理實(shí)驗(yàn)臺(tái)。軟件環(huán)境采用WINDOWS操作系統(tǒng),西安唐都科教儀
9、器公司的TDN-CM+計(jì)算機(jī)組成原理實(shí)驗(yàn)軟件。</p><p> 3、基于微控器的模型機(jī)設(shè)計(jì)部分</p><p><b> 3.1、設(shè)計(jì)步驟</b></p><p> 設(shè)計(jì)一臺(tái)完整的計(jì)算機(jī),大致需按如下的順序來考慮:</p><p><b> 確定設(shè)計(jì)目標(biāo)</b></p>&l
10、t;p> 確定所設(shè)計(jì)計(jì)算機(jī)的功能和用途。</p><p><b> 確定指令系統(tǒng)</b></p><p> 確定數(shù)據(jù)的表示格式、位數(shù)、指令的編碼、類型、需要設(shè)計(jì)哪些指令及使用的尋址方式,并給出具體的編碼,比如指令的操作碼,地址碼等的位數(shù)及各種編碼的含義。</p><p> 確定總體結(jié)構(gòu)(寄存器、加法器、選擇器的設(shè)置與數(shù)據(jù)通路的設(shè)計(jì)
11、)</p><p> 總體結(jié)構(gòu)設(shè)計(jì)包含確定各部件設(shè)置以及它們之間的數(shù)據(jù)通路結(jié)構(gòu)。在此基礎(chǔ)上,就可以擬出各種信息傳輸路徑,以及實(shí)現(xiàn)這些傳輸所需要的微命令。</p><p> 對于部件設(shè)置,比如要確定運(yùn)算器部件采用什么結(jié)構(gòu),控制器是微程序控制還是硬聯(lián)控制等。</p><p> 綜合考慮計(jì)算機(jī)的速率、性能價(jià)格比、可靠性等要求,設(shè)計(jì)合理的數(shù)據(jù)通路結(jié)構(gòu),確定采用何種方案
12、的內(nèi)總線及外總線。數(shù)據(jù)通路不同,執(zhí)行指令所需要的操作就不同,計(jì)算機(jī)的結(jié)構(gòu)也就不一樣。</p><p><b> 設(shè)計(jì)指令執(zhí)行流程</b></p><p> 數(shù)據(jù)通路確定后,就可以設(shè)計(jì)指令系統(tǒng)中每條指令的執(zhí)行流程。</p><p> 根據(jù)指令的復(fù)雜程度,確定每條指令所需要的機(jī)器周期數(shù)。對于微程序控制的計(jì)算機(jī),根據(jù)總線結(jié)構(gòu),需考慮哪些微操作可
13、以安排在同一條微指令中,哪些微操作不能安排在同一條微指令中。</p><p><b> 確定微程序地址</b></p><p> 確定后續(xù)微地址的形成方法,確定每個(gè)微程序地址及分支轉(zhuǎn)移地址,畫出微程序流程圖。</p><p><b> 微指令代碼化</b></p><p> 根據(jù)微指令格式,
14、將微程序流程圖中的所有微指令代碼化。首先寫出每個(gè)微地址以及該地址對應(yīng)的微指令代碼(共24位二進(jìn)制信息),如下表所示:</p><p> 然后將每個(gè)微地址和對應(yīng)的微指令轉(zhuǎn)換成16進(jìn)制,并寫在一行,格式為:</p><p> $M********,前面2個(gè)‘*’表示該微指令的在微控制器中的地址,后面6個(gè)‘*’表示該微指令代碼。如上述表中的四條微指令寫成:</p><p&
15、gt; $M00018110:表示在控制存儲(chǔ)器地址00h處的代碼是018110h。</p><p> $M0101ED82:表示在控制存儲(chǔ)器地址01h處的代碼是01ED82h。</p><p> $M0200C048:表示在控制存儲(chǔ)器地址02h處的代碼是00C048h。</p><p> $M0300E004:表示在控制存儲(chǔ)器地址03h處的代碼是00E004
16、h。</p><p> 編寫工作程序并代碼化</p><p> 編寫測試用的工作程序(注:測試程序要能覆蓋設(shè)計(jì)的所有指令),并寫出內(nèi)存映像,用二進(jìn)制表示。然后代碼化用16進(jìn)制來表示,格式為:$P****,前面2個(gè)‘*’表示該內(nèi)存的地址,后面2個(gè)‘*’表示該地址的數(shù)據(jù)。例如:</p><p> $P0044:表示在內(nèi)存地址00h處的數(shù)據(jù)是44h。</p&g
17、t;<p> $P0146:表示在內(nèi)存地址01h處的數(shù)據(jù)是46h。</p><p><b> 聯(lián)機(jī)操作文件的建立</b></p><p> 為了從PC機(jī)下載工作程序和微程序,需要建立聯(lián)機(jī)操作文件,該文件是普通的文本文件,擴(kuò)展名為TXT,可用記事本來建立的,要求:</p><p> 測試用的工作程序排在文件的前面,每個(gè)內(nèi)存地
18、址及代碼占一行;</p><p> 微指令代碼排在文件的后面,每個(gè)微地址及微指令代碼占一行;</p><p> 例如,下面是一個(gè)實(shí)驗(yàn)的文件(文件名:sample.txt):</p><p><b> 連接實(shí)驗(yàn)線路</b></p><p> 根據(jù)附錄2的線路圖連接模型機(jī)實(shí)驗(yàn)線路。</p><p&
19、gt;<b> 系統(tǒng)與PC機(jī)聯(lián)機(jī)</b></p><p> 實(shí)驗(yàn)系統(tǒng)安裝有一個(gè)標(biāo)準(zhǔn)的DB型9針RS-232C串口插座,使用配套的串行通信電纜分別插在實(shí)驗(yàn)系統(tǒng)及PC機(jī)的串口,即可實(shí)現(xiàn)系統(tǒng)與PC機(jī)的聯(lián)機(jī)操作。</p><p> 下載工作程序和微程序</p><p> 使用唐都軟件將工作程序和微程序下載到實(shí)驗(yàn)箱的內(nèi)存和控制存儲(chǔ)器中。其中,自帶
20、電源線的實(shí)驗(yàn)箱用NCMP53軟件,啟動(dòng)軟件后使用F4[裝載]進(jìn)行下載;外接電源線的實(shí)驗(yàn)箱用CMPP軟件,啟動(dòng)軟件后在菜單中選擇[轉(zhuǎn)儲(chǔ)]/[裝載]進(jìn)行下載。</p><p> 調(diào)試(調(diào)試時(shí)用的測試數(shù)據(jù)要包括普通數(shù)據(jù)及臨界點(diǎn)數(shù)據(jù))</p><p> 在總調(diào)試前,先按功能模塊進(jìn)行組裝和分調(diào),因?yàn)橹挥懈鞴δ苣K工作正常后,才能保證整機(jī)的正常運(yùn)行??梢允褂每刂婆_(tái)命令SWA、SWB的不同取值,或使
21、用聯(lián)機(jī)軟件檢查內(nèi)存程序是否正確,微程序是否正確。</p><p> 當(dāng)所有功能模塊都調(diào)試正常后,進(jìn)入總調(diào)試。可以使用單步微指令方式執(zhí)行工作程序,也可以直接使用連續(xù)方式執(zhí)行程序。在執(zhí)行過程中,可以通過聯(lián)機(jī)軟件的數(shù)據(jù)通路圖查看信息在計(jì)算機(jī)中的傳送路徑,更有利于掌握數(shù)據(jù)的通路結(jié)構(gòu)。這樣也可以直接驗(yàn)證程序和微程序的正確性。</p><p> 如果運(yùn)行結(jié)果不正確,需要返回來修改程序或微程序,每次
22、修改后,需要重新完成第11步,將程序和微程序下載到實(shí)驗(yàn)箱中。</p><p><b> 3.2、準(zhǔn)備知識</b></p><p> 微程序控制器的基本任務(wù)是完成當(dāng)前指令的翻譯和執(zhí)行,即將當(dāng)前指令的功能轉(zhuǎn)換成可以控制硬件邏輯部件工作的微命令序列,以完成數(shù)據(jù)傳輸和各種處理操作。它的執(zhí)行方法就是將控制各部件動(dòng)作的微命令的集合進(jìn)行編碼,即將微命令的集合仿照機(jī)器指令一樣,用
23、數(shù)字代碼的形式表示,這種表示稱為微指令。這樣就可以用一個(gè)微指令序列表示一條機(jī)器指令,這種微指令序列稱為微程序。微程序存儲(chǔ)在一種專用的存儲(chǔ)器中,該存儲(chǔ)器稱為控制存儲(chǔ)器。</p><p> ?。?)TDN-CM+計(jì)算機(jī)組成原理實(shí)驗(yàn)臺(tái)主要單元電路見附錄三。</p><p> ?。?)微程序控制電路</p><p> 微程序控制電路如圖1所示。其中控制存儲(chǔ)器采用3片281
24、6E2PROM,具有電保護(hù)功能,微命令寄存器18位,用兩片8D觸發(fā)器(273)和一片4D(175)觸發(fā)組成。微地址寄存器6位,用三片正沿觸發(fā)的雙D觸發(fā)器(74)組成,它們帶有清“0”端和預(yù)置端。在不判別測試的情況下,T2時(shí)刻打入微地址寄存器的內(nèi)容即為下一條微指令地址。當(dāng)T4時(shí)刻進(jìn)行測試判別時(shí),轉(zhuǎn)移邏輯滿足條件后輸出的負(fù)脈沖通過強(qiáng)制將某一觸發(fā)器置為“1”狀態(tài),完成地址修改。</p><p> 在該實(shí)驗(yàn)電路中設(shè)有一
25、個(gè)編程開關(guān)(位于實(shí)驗(yàn)板右上方),它具有三種狀態(tài):PROM(編程)、READ(校驗(yàn))、RUN(運(yùn)行)。當(dāng)處于“編程狀態(tài)”時(shí),學(xué)生可根據(jù)微地址和微指令格式將微指令二進(jìn)制代碼寫入到控制存儲(chǔ)器2816中。當(dāng)處于“校驗(yàn)狀態(tài)”時(shí)可以對寫入控制存儲(chǔ)器中的二進(jìn)制代碼進(jìn)行驗(yàn)證,從而可以判斷寫入的二進(jìn)制代碼是否正確。當(dāng)處于“運(yùn)行狀態(tài)”時(shí),只要給出微程序的入口微地址,則可根據(jù)微程序流程圖自動(dòng)執(zhí)行微程序。圖中微地址寄存器輸出端增加了一組三態(tài)門,目的是隔離觸發(fā)器
26、的輸出,增加抗干擾能力,并用來驅(qū)動(dòng)微地址顯示燈。</p><p> 圖1:微程序控制電路</p><p><b> (3)微指令格式</b></p><p> 微指令字長共24位,其控制位順序如下表所示:</p><p> 表中uA0~uA5為6位的下一條微指令的地址,A、B、C為3個(gè)譯碼字段,分別由三個(gè)控制位譯
27、碼出多位。C字段中的P(1)~P(4)是四個(gè)測試字位。其功能是根據(jù)機(jī)器指令及相應(yīng)微代碼進(jìn)行譯碼,使微程序轉(zhuǎn)入相應(yīng)的微地址入口,從而實(shí)現(xiàn)微程序的順序、分支、循環(huán)運(yùn)行,其原理如圖2所示。圖中I7~I2為指令寄存器的7~2位輸出,SE5~SE1為微控器單元微地址鎖存器的強(qiáng)制端輸出。AR為算術(shù)運(yùn)算是否影響進(jìn)位及判零標(biāo)志控制位,其為零有效。B字段中的RS-B、R0-B、RI-B分別為源寄存器選通信號、目的寄存器選通信號及變址寄存器選通信號,其功能
28、是根據(jù)機(jī)器指令進(jìn)行三個(gè)工作寄存器R0、R1及R2的選通譯碼,其原理圖如圖3所示,圖中I0~I3為指令積存器的第0~3位,LDRi為打入工作寄存器信號的譯碼器使能控制位。</p><p><b> 圖2:指令譯碼電路</b></p><p><b> 圖3: 寄存器譯碼</b></p><p><b> ?。?
29、)控制臺(tái)</b></p><p> 為了向RAM中裝入程序和數(shù)據(jù),檢查寫入是否正確,并能啟動(dòng)程序執(zhí)行,還必須設(shè)計(jì)三個(gè)控制臺(tái)操作微程序。</p><p> 存儲(chǔ)器讀操作(KRD):撥動(dòng)總清開關(guān)CLR后,控制臺(tái)開關(guān)SWB、SWA為"00"時(shí),按START微動(dòng)開關(guān),可對RAM連續(xù)手動(dòng)讀操作。</p><p> 存儲(chǔ)器寫操作(KDE):
30、撥動(dòng)總清開關(guān)CLR后,控制臺(tái)開關(guān)SWB、SWA置為"01"時(shí),按START微動(dòng)開關(guān)可對RAM進(jìn)行連續(xù)手動(dòng)寫入。</p><p> 啟動(dòng)程序:撥動(dòng)總清開關(guān)CLR后,控制臺(tái)開關(guān)SWB、SWA置為"1l"時(shí),按START微動(dòng)開關(guān),即可轉(zhuǎn)入到第01號“取址”微指令,啟動(dòng)程序運(yùn)行。</p><p> 上述三條控制臺(tái)指令用兩個(gè)開關(guān)SWB、SWA的狀態(tài)來設(shè)置,
31、其定義如下:</p><p> 控制臺(tái)操作微程序如圖4所示:</p><p> 控制臺(tái)操作為P(4)測試,它以控制臺(tái)開關(guān)SWB、SWA作為測試條件,出現(xiàn)了三路分支,占用三個(gè)固定微地址單元。當(dāng)分支微地址單元固定后,剩下的其他單元就可以一條微指令占用控制存儲(chǔ)器一個(gè)微地址單元,其單元地址隨意填寫。注意:微程序流程圖上的單元地址為八進(jìn)制。</p><p><b&g
32、t; 3.3、設(shè)計(jì)內(nèi)容</b></p><p> 題目一:設(shè)計(jì)一個(gè)具有帶進(jìn)位加法和立即數(shù)尋址方式的模型機(jī)</p><p><b> 1、設(shè)計(jì)內(nèi)容:</b></p><p> 設(shè)計(jì)一臺(tái)具有輸入、輸出、帶進(jìn)位加法、存儲(chǔ)和跳轉(zhuǎn)功能的模型計(jì)算機(jī),并寫出工作程序和測試數(shù)據(jù)驗(yàn)證所設(shè)計(jì)的指令系統(tǒng)。</p><p>
33、<b> 2、設(shè)計(jì)要求</b></p><p> 所設(shè)計(jì)模型計(jì)算機(jī)的指令系統(tǒng)共包含五條機(jī)器指令:IN(輸入)、OUT(輸出)、ADC(帶進(jìn)位加法)、STA(存數(shù))、JMP(無條件轉(zhuǎn)移),加法指令的尋址方式為立即數(shù)尋址。其中IN指令為單字長(8位),其余為雙字長指令。使用R0寄存器作為工作寄存器。</p><p><b> 提示:</b>&l
34、t;/p><p> 模型機(jī)的指令系統(tǒng)及指令格式如下(前4位為操作碼):</p><p> 立即數(shù)在機(jī)器指令碼中以補(bǔ)碼形式出現(xiàn)。</p><p> 題目二:設(shè)計(jì)一個(gè)具有帶進(jìn)位加法和條件跳轉(zhuǎn)的模型機(jī)</p><p><b> 1、設(shè)計(jì)內(nèi)容</b></p><p> 設(shè)計(jì)一臺(tái)具有輸入、輸出、數(shù)據(jù)傳
35、送、帶進(jìn)位加法、條件跳轉(zhuǎn),停機(jī)功能的模型計(jì)算機(jī),并寫出工作程序和測試程序驗(yàn)證所設(shè)計(jì)的指令系統(tǒng)。</p><p><b> 2、設(shè)計(jì)要求</b></p><p> 所設(shè)計(jì)模型計(jì)算機(jī)的指令系統(tǒng)共包含六條機(jī)器指令:IN(輸入)、ADC(帶進(jìn)位加法)、OUT(輸出)、BZC(條件轉(zhuǎn)移)、MOV(數(shù)據(jù)傳送)、HALT(停機(jī)),其中條件轉(zhuǎn)移指令的尋址方式為直接尋址,其余指令的
36、尋址方式為寄存器尋址。</p><p><b> 提示:</b></p><p> 模型機(jī)的指令系統(tǒng)及指令格式如下(前4位為操作碼):</p><p> 其中,rs為源寄存器,rd為目的寄存器,并規(guī)定:</p><p> 題目三:設(shè)計(jì)一個(gè)具有循環(huán)左移功能的模型機(jī)</p><p><
37、b> 1、設(shè)計(jì)內(nèi)容</b></p><p> 設(shè)計(jì)一臺(tái)具有輸入、輸出、數(shù)據(jù)傳送、帶進(jìn)位加法,循環(huán)左移、停機(jī)等功能的模型機(jī),并寫出工作程序和測試程序驗(yàn)證所設(shè)計(jì)的指令系統(tǒng)。</p><p><b> 2、設(shè)計(jì)要求</b></p><p> 所設(shè)計(jì)模型計(jì)算機(jī)的指令系統(tǒng)共包含六條機(jī)器指令:IN(輸入)、ADC(帶進(jìn)位加法)、O
38、UT(輸出)、RLC(循環(huán)左移)、MOV(數(shù)據(jù)傳送)、HALT(停機(jī)),各條指令的尋址方式為寄存器尋址,且都為單字節(jié)指令。</p><p><b> 提示:</b></p><p> 本模型機(jī)中各條指令的格式和功能如下:</p><p> 其中,rs為源寄存器,rd為目的寄存器,并規(guī)定:</p><p> 題目四
39、:設(shè)計(jì)一個(gè)具有帶借位減法和存儲(chǔ)功能的模型機(jī)</p><p><b> 1、設(shè)計(jì)內(nèi)容</b></p><p> 設(shè)計(jì)一臺(tái)具有輸入、輸出、數(shù)據(jù)傳送、帶進(jìn)位減法,存數(shù)、取數(shù)等功能的模型機(jī),并寫出工作程序和測試程序驗(yàn)證所設(shè)計(jì)的指令系統(tǒng)。</p><p><b> 2、設(shè)計(jì)要求</b></p><p>
40、 所設(shè)計(jì)模型計(jì)算機(jī)的指令系統(tǒng)共包含六條機(jī)器指令:IN(輸入)、OUT(輸出)、SBC(帶借位減法)、LDA(取數(shù))、STA(存數(shù))、MOV(數(shù)據(jù)傳送),其中存數(shù)、取數(shù)指令的尋址方式為間接尋址。</p><p><b> 提示:</b></p><p> 本模型機(jī)中各條指令的格式和功能如下:</p><p> 其中,rs為源寄存器,rd為
41、目的寄存器,并規(guī)定:</p><p> 4、可編程邏輯器件設(shè)計(jì)部分</p><p><b> 4.1、設(shè)計(jì)步驟</b></p><p> 采用ispDesignEXPERT軟件來對可編程邏輯器件進(jìn)行編程設(shè)計(jì)實(shí)現(xiàn)所需的數(shù)字系統(tǒng)功能一般要經(jīng)過如下步驟:</p><p><b> 建立新工程</b>
42、;</p><p> 輸入原理圖或硬件描述語言進(jìn)行設(shè)計(jì)</p><p><b> 對源程序進(jìn)行編譯</b></p><p><b> 連接下載電纜</b></p><p> 將生成的JED文件下載到可編程邏輯器件中</p><p><b> 連接實(shí)驗(yàn)電路&
43、lt;/b></p><p> 在實(shí)驗(yàn)板上驗(yàn)證所設(shè)計(jì)系統(tǒng)的邏輯功能</p><p><b> 4.2、準(zhǔn)備知識</b></p><p> PLD是可編程邏輯器件(ProgramableLogicDevice)的簡稱,PLD是電子設(shè)計(jì)領(lǐng)域中最具活力和發(fā)展前途的一項(xiàng)技術(shù),它的影響絲毫不亞于70年代單片機(jī)的發(fā)明和使用。PLD能做什么呢?可
44、以毫不夸張的講,PLD能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡單的74電路,都可以用PLD來實(shí)現(xiàn)。PLD如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入法,或是硬件描述語言自由的設(shè)計(jì)一個(gè)數(shù)字系統(tǒng)。通過軟件仿真,我們可以事先驗(yàn)證設(shè)計(jì)的正確性。在PCB完成以后,還可以利用PLD的在線修改能力,隨時(shí)修改設(shè)計(jì)而不必改動(dòng)硬件電路。使用PLD來開發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時(shí)間,減少PCB面積,提高系統(tǒng)的可靠性。PLD的這些優(yōu)點(diǎn)使
45、得PLD技術(shù)在90年代以后得到飛速的發(fā)展,同時(shí)也大大推動(dòng)了EDA軟件和硬件描述語言(HDL)的進(jìn)步。當(dāng)前應(yīng)用廣泛的有復(fù)雜可編程邏輯器件(CPLD)和現(xiàn)場可編程門陣列(FPGA)等。</p><p> 目前有多家公司生產(chǎn)CPLD/FPGA,最大的三家是:ALTERA,XILINX,Lattice。許多PLD公司都還提供免費(fèi)試用軟件,如Altera公司的Maxplus2(Baseline版或E+MAX版),Xili
46、nx公司的WebPack,Lattice的ispDesignEXPERT等。</p><p> 實(shí)驗(yàn)系統(tǒng)中采用的器件是Lattice公司的ispLSI1032芯片,isp芯片具有“在系統(tǒng)可編程功能”,這種功能可隨時(shí)對系統(tǒng)進(jìn)行邏輯重構(gòu)和修改,而且只需要一條簡單的編程電纜和一臺(tái)PC機(jī)就可以完成器件大編程。</p><p> IspLSI1032芯片的等效邏輯門為6000門,具有128個(gè)宏單
47、元,192個(gè)觸發(fā)器和`64個(gè)鎖存器,共有84個(gè)引腳,ispLSI1032芯片的結(jié)構(gòu)圖如圖5所示。</p><p> 圖5ispLSI1032芯片結(jié)構(gòu)圖</p><p> 對該器件的邏輯系統(tǒng)設(shè)計(jì)是通過使用硬件描述語言或原理圖輸入來實(shí)現(xiàn)的,硬件描述語言有ABEL、VHDL等多種語言。</p><p> 實(shí)驗(yàn)系統(tǒng)中可采用ispDesignEXPERT軟件來對可編程邏
48、輯器件ispLS1032進(jìn)行編程設(shè)計(jì)實(shí)現(xiàn)。IspDesignEXPERT可采用原理圖或硬件描述語言或這兩種方法的混合輸入共三種方式來進(jìn)行設(shè)計(jì)輸入,并能對所設(shè)計(jì)的數(shù)字電子系統(tǒng)進(jìn)行功能仿真和時(shí)序仿真。其編譯器是此次軟件所需要的熔絲圖文件。該軟件支持所有Lattice公司的ispLSI器件。</p><p> 下載電纜的連接方法如下:</p><p> 在打開PC機(jī)和實(shí)驗(yàn)系統(tǒng)的電源之前,將下
49、載電纜的一端與PC機(jī)的并行口相連,另一端與TDN-CM+系統(tǒng)的ispLSI1032器件的編程接口相連。</p><p> ispDesignEXPERT軟件的使用見附錄4。</p><p><b> 4.3、設(shè)計(jì)內(nèi)容</b></p><p> 題目五:利用CPLD設(shè)計(jì)一個(gè)并行加法器</p><p><b>
50、; 1、設(shè)計(jì)內(nèi)容</b></p><p> 使用大規(guī)??删幊踢壿嬈骷﨏PLD設(shè)計(jì)實(shí)現(xiàn)一個(gè)4位并行進(jìn)位加法器,并驗(yàn)證設(shè)計(jì)的正確性。</p><p><b> 2、設(shè)計(jì)要求</b></p><p> 采用ispDesignEXPERT軟件來對可編程邏輯器件ispLSI1032進(jìn)行編程設(shè)計(jì),要求用原理圖輸入方式來進(jìn)行設(shè)計(jì)輸入,并對
51、所設(shè)計(jì)的加法器進(jìn)行功能和時(shí)序仿真,最后在西安唐都科教儀器公司的TDCM+計(jì)算機(jī)組成原理實(shí)驗(yàn)臺(tái)上驗(yàn)證所設(shè)計(jì)器件的邏輯功能。</p><p><b> 提示:</b></p><p> 在實(shí)驗(yàn)臺(tái)上進(jìn)行邏輯功能驗(yàn)證時(shí),可以借助使用INPUTDEVICE單元輸入加數(shù)和被加數(shù),進(jìn)位輸入可由SWITCHUNIT單元的一個(gè)開關(guān)來給出,可用總線單元的發(fā)光二極管來顯示運(yùn)算結(jié)果。&l
52、t;/p><p> 題目六:陣列乘法器設(shè)計(jì)</p><p><b> 1、設(shè)計(jì)內(nèi)容</b></p><p> 使用大規(guī)??删幊踢壿嬈骷﨏PLD設(shè)計(jì)實(shí)現(xiàn)一個(gè)4*4位不帶符號乘法器,并驗(yàn)證設(shè)計(jì)的正確性。</p><p><b> 2、設(shè)計(jì)要求</b></p><p> 采用
53、ispDesignEXPERT軟件來對可編程邏輯器件ispLSI1032進(jìn)行編程設(shè)計(jì),要求用VHDL語言編寫功能描述程序,并對所設(shè)計(jì)的乘法器進(jìn)行功能和時(shí)序仿真,最后在西安唐都科教儀器公司的TDCM+計(jì)算機(jī)組成原理實(shí)驗(yàn)臺(tái)上驗(yàn)證所設(shè)計(jì)器件的邏輯功能。</p><p><b> 提示:</b></p><p> 對于一個(gè)4*4位二進(jìn)制數(shù)相乘,有如下算式:</p&g
54、t;<p> 在實(shí)驗(yàn)臺(tái)上進(jìn)行邏輯功能驗(yàn)證時(shí),可以借助使用INPUTDEVICE單元輸入乘數(shù)和被乘數(shù),而相乘的結(jié)果可在OUTPUTDEVICE單元中的數(shù)碼管中以十六進(jìn)制形式顯示。</p><p> 題目七:硬聯(lián)控制器設(shè)計(jì)</p><p><b> 1、設(shè)計(jì)內(nèi)容</b></p><p> 使用大規(guī)??删幊踢壿嬈骷﨏PLD設(shè)計(jì)一
55、個(gè)簡單的硬聯(lián)控制器,實(shí)現(xiàn)下面表中三條指令,用開關(guān)置不同的指令,觸發(fā)時(shí)序,就可以實(shí)現(xiàn)不同的指令操作。</p><p><b> 2、設(shè)計(jì)要求</b></p><p> 采用ispDesignEXPERT軟件來對可編程邏輯器件ispLSI1032進(jìn)行編程設(shè)計(jì),要求用VHDL語言編寫程序,并在西安唐都科教儀器公司的TDCM+計(jì)算機(jī)組成原理實(shí)驗(yàn)臺(tái)上驗(yàn)證所設(shè)計(jì)器件的邏輯功能
56、。</p><p><b> 提示:</b></p><p> 用CPLD設(shè)計(jì)此控制邏輯的功能描述,各控制信號在ispLSI1032中對應(yīng)的引腳可參考如下:</p><p> 有三個(gè)部件需要控制:ALU、INPUTDEVICE和OUTPUTDEVICE。它們的控制信號由指令碼I1、I0和時(shí)序信號T4、T3、T2、T1組合產(chǎn)生。編程所實(shí)現(xiàn)的
57、功能就是根據(jù)這些輸入信號產(chǎn)生實(shí)現(xiàn)不同的指令時(shí)這三個(gè)部件所需要的控制信號。</p><p> 下面連線圖可供參考:</p><p> 5、具有中斷處理功能的模型機(jī)設(shè)計(jì)</p><p><b> 5.1、設(shè)計(jì)內(nèi)容</b></p><p> 在構(gòu)成一臺(tái)完整模型機(jī)的基礎(chǔ)上,外擴(kuò)一片8259接口芯片,完成中斷處理功能。要求
58、本模型機(jī)設(shè)計(jì)九條基本指令及三個(gè)控制臺(tái)操作指令,各條指令的格式和功能如下:</p><p> 其中D為立即數(shù),P為外設(shè)的端口地址:RS為源寄存器,RD為目的寄存器,并規(guī)定如下:</p><p> 三個(gè)控制臺(tái)指令用兩個(gè)開關(guān)SWA、SWB的狀態(tài)來設(shè)置,定義如下:</p><p><b> 5.2、準(zhǔn)備知識</b></p><
59、p> 8259芯片引腳分配如下圖所示:</p><p> D7-D0為雙向三態(tài)數(shù)據(jù)線。</p><p><b> 為片選信號線。</b></p><p> A0用來選擇芯片內(nèi)部不同的寄存器,通常接至地址總線的A0。</p><p> 為讀信號線,為低電平有效,當(dāng)其有效時(shí),控制信息從8259芯片讀至CPU。
60、</p><p> 為寫信號線,為低電平有效,當(dāng)其有效時(shí),控制信息從CPU寫入至8259芯片。</p><p> /用來從程序/允許緩沖。</p><p><b> 為中斷響應(yīng)輸入。</b></p><p><b> INT為中斷輸出。</b></p><p> I
61、R0-IR7為八條外界中斷請求輸入線。</p><p> CAS2-CAS0為級連信號線</p><p> 、A0、、、D4、D3位的電平與8259芯片的操作關(guān)系如下表所示。</p><p><b> 提示:</b></p><p> 根據(jù)指令系統(tǒng)要求,設(shè)計(jì)微程序流程及確定微地址,可參考下圖所示:</p&g
62、t;<p> 本設(shè)計(jì)需要端點(diǎn)保護(hù),需設(shè)置一個(gè)堆棧,可設(shè)R2寄存器專門做堆棧指針。</p><p> 設(shè)計(jì)中CPU還需要一個(gè)INTA信號、ICF指令執(zhí)行完成標(biāo)志,可以由微代碼中的M23、M24位來定義。將ALU的控制信號S3、S2、S1、S0簡化為只有S1、S0控制,而ALU單元的S3、S2、S1、S0均由CPLD輸出。LDDR2控制信號也簡化掉。這樣,微指令格式可按下表所示設(shè)計(jì)。其中,M24為I
63、CF標(biāo)志,M23為INTA信號,其為高電平有效,A字段原來的LDDR2由LDR2代替,R2-B代替B字段原RI-B。</p><p><b> </b></p><p> 本設(shè)計(jì)還要增加中斷響應(yīng),所以指令譯碼電路需重新設(shè)計(jì)。它們?nèi)坑靡黄珻PLD芯片描述。相應(yīng)的原理圖如下所示:</p><p><b> 指令譯碼電路</
64、b></p><p><b> 寄存器譯碼</b></p><p> 其中指令譯碼電路全由CPLD來描述。而寄存器譯碼是在LOGUNIT單元的譯碼電路的基礎(chǔ)上,增加一個(gè)或門,即LOGUNIT單元輸出的LDR2和微代碼的LDR2(原微代碼A字段的LDDR2位)相或后的輸出LDR2,這個(gè)或門是由CPLD描述的。</p><p><b
65、> 5.3、設(shè)計(jì)步驟</b></p><p> 用ABEL語言編寫上述設(shè)計(jì)的中斷響應(yīng)及指令譯碼電路邏輯,其在CPLD的1032芯片中的相應(yīng)引腳分配可參考下圖。</p><p> 參考接線圖如下圖所示。接至SWITCHUNIT單元的SWB開關(guān)為中斷請求信號,為高電平有效。</p><p> 根據(jù)微指令格式,參照微程序流程圖,將每條微指令代碼化
66、,并編寫一段機(jī)器指令。</p><p> 裝入機(jī)器指令及微程序,運(yùn)行程序,檢驗(yàn)所設(shè)計(jì)的中斷控制及指令系統(tǒng)。</p><p> 6、課程設(shè)計(jì)任務(wù)及要求</p><p> 1、任務(wù):在一周內(nèi)必須完成一道模型機(jī)部分題目和一道可編程邏輯器件設(shè)計(jì)題目。</p><p><b> 2、要求:</b></p>&
67、lt;p> 同學(xué)們在實(shí)驗(yàn)前應(yīng)該認(rèn)真準(zhǔn)備實(shí)驗(yàn)。</p><p> 每個(gè)題目完成后,回答實(shí)驗(yàn)指導(dǎo)老師的提問,由教師記錄完成情況。</p><p> 周末提交課程設(shè)計(jì)報(bào)告書,主要根據(jù)設(shè)計(jì)步驟的要求,寫出每一步驟的結(jié)果。</p><p><b> 7、考核辦法</b></p><p> 課程設(shè)計(jì)成績評定的依據(jù)有課
68、程設(shè)計(jì)報(bào)告書、具體完成情況、答辯情況及課程設(shè)計(jì)考勤登記表。</p><p> 具體評分細(xì)則為:參加實(shí)驗(yàn):1分</p><p> 完成所要求的設(shè)計(jì)1分</p><p> 正確進(jìn)行操作并回答問題1.5分</p><p> 課程設(shè)計(jì)報(bào)告書:1.5分</p><p> 實(shí)驗(yàn)結(jié)束由實(shí)驗(yàn)指導(dǎo)教師根據(jù)實(shí)驗(yàn)記錄,算出成績。&
69、lt;/p><p> 4.8分~5.5分及格</p><p> 5.6分~6.3分中等</p><p> 6.4分~7.1分良好</p><p><b> 7.2分以上優(yōu)秀</b></p><p><b> 8、參考資料</b></p><p>
70、 1、計(jì)算機(jī)組成與結(jié)構(gòu)(第3阪)王愛英主編清華大學(xué)出版社</p><p> 2、計(jì)算機(jī)組成原理上機(jī)實(shí)驗(yàn)指導(dǎo)書重慶工學(xué)院</p><p><b> 3、</b></p><p><b> 9、附錄</b></p><p> 附錄1(數(shù)據(jù)通路):</p><p> 附
71、錄2(系統(tǒng)連線參考圖)</p><p> 附錄3(實(shí)驗(yàn)系統(tǒng)主要單元電路)</p><p> 圖中虛線框內(nèi)的線已在線路板上連好,虛線框上的信號線為引出線,在裝置中可找到相應(yīng)的絲印字。</p><p><b> 運(yùn)算單元電路</b></p><p><b> 寄存器堆單元電路</b></p
72、><p><b> 移位控制電路</b></p><p> 程序計(jì)數(shù)器與地址寄存器單元</p><p><b> 指令寄存器單元</b></p><p><b> 時(shí)序單元電路</b></p><p><b> 主存儲(chǔ)器單元</b&
73、gt;</p><p><b> 總線單元</b></p><p> 附錄4(ispDesignEXPERT軟件使用)</p><p> 1.ispDesignEXPERTSystem的原理圖輸入</p><p> 啟動(dòng)ispDesignExpertSystem(按Start=>Programs=>L
74、atticeSemiconductor=>ispDesignEXPERTSystem菜單)</p><p> 創(chuàng)建一個(gè)新的設(shè)計(jì)項(xiàng)目</p><p><b> 選擇菜單File。</b></p><p> 選擇NewProject...。</p><p> 鍵入項(xiàng)目名c:\user\demo.syn。<
75、/p><p> 你可以看到默的項(xiàng)目名和器件型號:</p><p> UntitledandispLSI5384V-125LB388。</p><p><b> 項(xiàng)目命名</b></p><p> 用鼠標(biāo)雙擊Untitled。</p><p> 在Title文本框中輸入“DemoProject
76、”,并選OK。</p><p><b> 選擇器件</b></p><p> 雙擊ispLSIispLSI5384V-125LB388,你會(huì)看到ChooseDevice對話框(如下圖所示)。</p><p> 在ChooseDevice窗口中選擇ispLSI1000項(xiàng)。</p><p> 按動(dòng)器件目錄中的滾動(dòng)條,
77、直到找到并選中器件</p><p> ispLSI1032E-70LJ84。</p><p> 撳OK按鈕,選擇這個(gè)器件。</p><p> 在設(shè)計(jì)中增加源文件一個(gè)設(shè)計(jì)項(xiàng)目由一個(gè)或多個(gè)源文件組成。這些源文件可以是原理圖文件(*.sch)、ABELHD文件(*.abl)、VHDL設(shè)計(jì)文件(*.vhd)、VerilogHDL設(shè)計(jì)文件(*.v)、測試向量文件(*.
78、abv)或者是文字文件(*.doc,*.wri,*.txt)。在以下操作步驟中,你要在設(shè)計(jì)項(xiàng)目中添加一張空白的原理圖紙。</p><p> 從菜單上選擇Source項(xiàng)。</p><p><b> 選擇New...。</b></p><p> 在對話框中,選擇Schematic(原理圖),并按OK。</p><p>
79、 選擇路徑:c:\user并輸入文件名demo.sch。</p><p><b> 確認(rèn)后撳OK。</b></p><p> 原理圖輸入你現(xiàn)在應(yīng)該進(jìn)入原理圖編輯器。在下面的步驟中,你將要在原理圖中畫上幾個(gè)元件符號,并用引線將它們相互連接起來。</p><p> 從菜單欄選擇Add,然后選擇Symbol,你會(huì)看到如下圖所示的對話框:&l
80、t;/p><p> 選擇GATES.LIB庫,然后選擇G_2AND元件符號。</p><p> 將鼠標(biāo)移回到原理圖紙上,注意此刻AND門粘連在你的光標(biāo)上,并隨之移動(dòng)。</p><p> 單擊鼠標(biāo)左鍵,將符號放置在合適的位置。</p><p> 再在第一個(gè)AND門下面放置另外一個(gè)AND門。</p><p> 將鼠標(biāo)
81、移回到元件庫的對話框,并選擇G_2OR元件。</p><p> 將OR門放置在兩個(gè)AND門的右邊。</p><p> 現(xiàn)在選擇Add菜單中的Wire項(xiàng)。</p><p> 單擊上面一個(gè)AND門的輸出引腳,并開始畫引線。</p><p> 隨后每次單擊鼠標(biāo),便可彎折引線(雙擊便終止連線)。</p><p> 將
82、引線連到OR門的一個(gè)輸入腳。</p><p> 重復(fù)上述步驟,連接下面一個(gè)AND門。</p><p> 添加更多的元件符號和連線</p><p> 采用上述步驟,從REGS.LIB庫中選一個(gè)g_d寄存器,并從IOPADS.LIB庫中選擇G_OUTPUT符號。</p><p> 將它們互相連接,實(shí)現(xiàn)如下的原理圖:</p>
83、<p><b> 完成你的設(shè)計(jì)</b></p><p> 在這一節(jié),通過為連線命名和標(biāo)注I/OMarkers來完成原理圖。</p><p> 當(dāng)要為連線加信號名稱時(shí),你可以使用ispDesignEXPERT的特點(diǎn),同時(shí)完成兩件事-----同時(shí)添加連線和連線的信號名稱。這是一個(gè)很有用的特點(diǎn),可以節(jié)省設(shè)計(jì)時(shí)間。I/OMarkers是特殊的元件符號,它指明了
84、進(jìn)入或離開這張?jiān)韴D的信號名稱。注意連線不能被懸空(dangling),它們必需連接到I/OMarker或邏輯符號上。這些標(biāo)記采用與之相連的連線的名字,與I/OPad符號不同,將在下面定義屬性(AddAttributes)的步驟中詳細(xì)解釋。</p><p> 為了完成這個(gè)設(shè)計(jì),選擇Add菜單中的NetName項(xiàng)。</p><p> 屏幕底下的狀態(tài)欄將要提示你輸入的連線名,輸入‘A’并按
85、Enter鍵,連線名會(huì)粘連在鼠標(biāo)的光標(biāo)上。</p><p> 將光標(biāo)移到最上面的與門輸入端,并在引線的末連接端(也即輸入腳左端的紅色方塊),按鼠標(biāo)左鍵,并向左邊拖動(dòng)鼠標(biāo)。這可以在放置連線名稱的同時(shí),畫出一根輸入連線。</p><p> 輸入信號名稱現(xiàn)在應(yīng)該是加注到引線的末端。</p><p> 重復(fù)這一步驟,直至加上全部的輸入‘B’,’C’,’D’和‘CK’,
86、以及輸出‘OUT’。</p><p> 現(xiàn)在Add菜單的I/OMarker項(xiàng)。</p><p> 將會(huì)出現(xiàn)一個(gè)對話框,請選擇Input。</p><p> 將鼠標(biāo)的光標(biāo)移至輸入連線的末端(位于連線和連線名之間),并單擊鼠標(biāo)的左鍵。這時(shí)回出現(xiàn)一個(gè)輸入I/OMarker,標(biāo)記里面是連線名。</p><p> 鼠標(biāo)移至下一個(gè)輸入,重復(fù)上述步
87、驟,直至所有的輸入都有I/OMarker。</p><p> 現(xiàn)在請?jiān)趯υ捒蛑羞x擇Output,然后單擊輸出連線端,加上一個(gè)輸出I/OMarker。</p><p> 至此原理圖就基本完成,它應(yīng)該如下圖所示。</p><p> 定義ispLSI器件的屬性(Attributes)你可以為任何一個(gè)元件符號或連線定義屬性。在這個(gè)例子中,你可以為輸出端口符號添加引腳
88、鎖定LOCK的屬性。請注意,在ispDesignEXPERT中,引腳的屬性實(shí)際上是加到I/OPad符號上,而不是加到I/OMarker上。同時(shí)也請注意,只有當(dāng)你需要為一個(gè)引腳增加屬性時(shí),才需要I/OPad符號,否則,你只需要一個(gè)I/OMarker.</p><p> 在菜單條上選擇Edit=>Attribute=>SymbolAttribute項(xiàng),這時(shí)會(huì)出現(xiàn)一個(gè)SymbolAttributeEdit
89、or對話框。</p><p> 單擊需要定義屬性的輸出I/OPad.</p><p> 對話框里會(huì)出現(xiàn)一系列可供選擇的屬性。</p><p> 選擇SynarioPin屬性,并且把文本框中的‘*’替換成‘4’.</p><p><b> 關(guān)閉對話框。</b></p><p> 請注意,此
90、時(shí)數(shù)字‘4’出現(xiàn)在I/OPad符號內(nèi)。</p><p><b> 保存以完成的設(shè)計(jì)</b></p><p> 從菜單條上選擇File,并選Save命令。再選Exit命令。</p><p> 2.關(guān)于ABEL語言</p><p> 這一節(jié),你要建立一個(gè)簡單的ABELHDL語言輸入的設(shè)計(jì),并且將其與上一節(jié)中完成的原理
91、圖進(jìn)行合并,以層次結(jié)構(gòu)的方式,畫在頂層的原理圖上。然后對這個(gè)完整的設(shè)計(jì)進(jìn)行仿真、編譯,最后適配到ispLSI器件中。</p><p><b> 現(xiàn)在我們就開始吧!</b></p><p> I啟動(dòng)ispDesignEXPERTSystem如果你在上一節(jié)的練習(xí)后退出了ispDesignEXPERTSystem,點(diǎn)擊Start=>Programs=>La
92、tticeSemiconductor=>ispDesignEXPERTSystem菜單,屏幕上你的項(xiàng)目管理器應(yīng)該如下圖所示。</p><p> II建立頂層的原理圖</p><p> 仍舊選擇1032E器件,從菜單條上選Source。</p><p><b> 選擇New...</b></p><p> 在
93、對話框中選Schematic,并按OK。</p><p> 選擇路徑:c:\user然后在文本框中輸入文件名top.sch,并按OK。</p><p> 現(xiàn)在你就進(jìn)入了原理圖編輯器。</p><p> 調(diào)用上節(jié)中創(chuàng)建的元件符號。選擇Add菜單中的Symbol項(xiàng),這時(shí)會(huì)出現(xiàn)SymbolLibraries對話框,選擇Local的庫,你會(huì)注意到在下部的文本框中有一個(gè)
94、叫demo的元件符號,這就是你在上一節(jié)中自行建立的元件符號。</p><p> 選擇demo元件符號,并放到原理圖上的合適位置。</p><p> 建立內(nèi)含ABEL語言的邏輯元件符號現(xiàn)在你要為ABELHDL設(shè)計(jì)文件建立一個(gè)元件符號。只要知道了接口信息,你就可以為下一層的設(shè)計(jì)模塊創(chuàng)建一個(gè)元件符號。而實(shí)際的ABEL設(shè)計(jì)文件可以在以后再完成。</p><p> 在
95、原理圖編輯器里,選擇ADD菜單里的NewBlockSymbol...命令。</p><p> 這時(shí)候會(huì)出現(xiàn)一個(gè)對話框,提示你輸入ABEL模塊名稱及其</p><p> 輸入信號名和輸出信號名。請按照下圖所示輸入信息:</p><p> 當(dāng)你完成信號名的輸入,撳Run按鈕,就會(huì)產(chǎn)生一個(gè)元件符號,并放在本地元件庫中。同時(shí)元件符號還粘連在光標(biāo)上,隨之移動(dòng)。</
96、p><p> 把這個(gè)符號放在demo符號的左邊。</p><p> 單擊鼠標(biāo)右鍵,就會(huì)顯示SymbolLibraries的對話框。請注意abeltop符號出現(xiàn)在Local庫中。</p><p> 關(guān)閉對話框。你的原理圖應(yīng)該如下圖所示:</p><p><b> 完成原理圖</b></p><p&
97、gt; 現(xiàn)在請你添加必需的連線,連線名稱,以及I/O標(biāo)記,來完成頂層原理圖,使其看上去如下圖所示。如果你需要幫助,請參考第二節(jié)中有關(guān)添加連線和符號的指導(dǎo)方法。當(dāng)你畫完后,請存盤再退出。</p><p> 建立ABEL-HDL源文件現(xiàn)在你需要建立一個(gè)ABEL源文件,并把它鏈接到頂層原理圖對應(yīng)的符號上。項(xiàng)目管理器使這些步驟簡化了:</p><p> 你當(dāng)前的管理器應(yīng)該如下圖所示:<
98、;/p><p> 請注意abeltop左邊的紅色“?”圖標(biāo)。這意味著目前這個(gè)源文件還是個(gè)未知數(shù),因?yàn)槟氵€沒有建立它。同時(shí)也請注意源文件框中的層次結(jié)構(gòu),abeltop和demo源文件位于top原理圖的下面并且偏右,這說明它們是top原理圖的底層源文件。這也是ispDesignEXPERTSystem項(xiàng)目管理器另外一個(gè)有用的特點(diǎn)。</p><p> 為了建立所需的源文件,請選擇abeltop,
99、然后選擇Source菜單中的New...命令。</p><p> 在NewSource對話框中,選擇ABEL-HDLModule并按OK。</p><p> 下一個(gè)對話框會(huì)問你模塊名,文件名,以及模塊的標(biāo)題。為了將源文件與符號相鏈接,模塊名必須與符號名一致,而文件名沒有必要與符號名一致。但為了簡單,你可以給它們?nèi)∠嗤拿帧0聪聢D所示,填寫相應(yīng)的欄目:</p><p
100、> 按OK。你就進(jìn)入了TextEditor,而且可以可見ABELHDL設(shè)計(jì)文件的框架已經(jīng)呈現(xiàn)在你的面前。</p><p> 輸入下列的代碼。確保你的輸入代碼位于TITLE語句和END語句之間。</p><p> 當(dāng)你完成后,選擇File菜單中的Save命令。</p><p><b> 退出文本編輯器。</b></p>
101、;<p> 請注意項(xiàng)目管理器中abeltop源文件左邊的圖標(biāo)已經(jīng)改變了。這就意味著你已經(jīng)有了一個(gè)與此源文件相關(guān)的ABEL文件,并且已經(jīng)建立了正確的鏈接。</p><p><b> 編譯ABELHDL</b></p><p> 選擇abeltop源文件。</p><p> 在處理過程列表中,雙擊ReduceLogic過程。你
102、會(huì)看到項(xiàng)目管理器在執(zhí)行ReduceLogic過程之前,先去執(zhí)行CompileLogic過程。當(dāng)處理過程結(jié)束后,你的項(xiàng)目管理器應(yīng)該如上圖所示。</p><p><b> VII.仿真</b></p><p> 你現(xiàn)在可以對整個(gè)設(shè)計(jì)進(jìn)行仿真。為此,你需要一個(gè)新的測試矢量文件。在這個(gè)例子中你只需要修改當(dāng)前的測試矢量文件。</p><p> 雙
103、擊demo.abv源文件,就會(huì)出現(xiàn)文本編輯器。</p><p> 按照下圖修改測試矢量文件:</p><p><b> 完成后,存盤退出。</b></p><p> 仍舊選擇測試矢量源文件,雙擊FunctionalSimulation過程,進(jìn)行功能仿真。</p><p> 現(xiàn)進(jìn)入SimulationControl
104、Panel窗口。按Windows=>WaveformViewer窗口,打開波形觀測器準(zhǔn)備查看仿真結(jié)果。</p><p> 為了看波形,你必須在SimulationControlPanel窗口中按Debug鈕,使SimulationControlPanel窗口進(jìn)入Debug模式。</p><p> 在AvailableSignals欄中選擇CLK,TOPIN1,TOPIN2,TOP
105、IN3和TOPOUT信號,并且按Monitor鈕。這些信號名都可以在波形觀測器中觀察到。再按Run鈕進(jìn)行仿真,其結(jié)果如下圖所示:</p><p> 在步驟D中,如雙擊TimingSimulation過程,即可進(jìn)入時(shí)序仿真流程,以下仿真步驟與功能仿真相同。</p><p> VIII.把設(shè)計(jì)適配到Lattice器件中</p><p> 現(xiàn)在你已經(jīng)完成了原理圖和A
106、BEL語言的混合設(shè)計(jì)及其仿真。剩下的步驟只是將你的設(shè)計(jì)放入LatticeispLSI/pLSI器件中。因?yàn)槟阋呀?jīng)在第一節(jié)中選擇了器件,你可以直接執(zhí)行下面的步驟:</p><p> 在源文件窗口中選擇ispLSI1032E-70LJ84器件作為編譯對象,并注意觀察對應(yīng)的處理過程。</p><p> 雙擊處理過程CompileDesign。這將迫使項(xiàng)目管理器完成對源文件的編譯,然后連接所有
107、的源文件,最后進(jìn)行邏輯分割,布局和布線,將設(shè)計(jì)適配到所選擇的Lattice器件中。</p><p> 當(dāng)這些都完成后,你可以雙擊ispDesignEXPERTCompilerReport,查看一下設(shè)計(jì)報(bào)告和有關(guān)統(tǒng)計(jì)數(shù)據(jù)。</p><p> 祝賀!!你現(xiàn)在已經(jīng)完成了設(shè)計(jì)例子,并且掌握了ispDesignEXPERTSystem的主要功能。</p><p><
108、b> 層次化操作方法</b></p><p> 層次化操作是ispDesignEXPERT系統(tǒng)項(xiàng)目管理器的重要功能,它能夠簡化層次化設(shè)計(jì)的操作。</p><p> 在項(xiàng)目管理器的源文件窗口中,選擇最頂層原理圖“top.sch”.此時(shí)在項(xiàng)目管理器右邊的操作流程清單中必定有NavigationHierarchy過程。</p><p> 雙擊Na
109、vigationHierarchy過程,即會(huì)彈出最頂層原理圖“top.sch”。</p><p> 選擇View菜單中的Push/Pop命令,光標(biāo)就變成十字形狀。</p><p> 用十字光標(biāo)單擊頂層原理圖中的abeltop符號,即可彈出描述abeltop邏輯的文本文件abeltop.abl。此時(shí)可以瀏覽或編輯ABELHDL設(shè)計(jì)文件。瀏覽完畢后用File菜單中的Exit命令退回頂層原理
110、圖。</p><p> 用十字光標(biāo)單擊頂層原理圖中的demo符號,即可彈出描述demo邏輯的底層原理圖demo.sch。此時(shí)可以瀏覽或編輯底層原理圖。</p><p> 若欲編輯底層原理圖,可以利用Edit菜單中的Schematic命令進(jìn)入原理圖編輯器。編譯完畢后用File菜單中的Save和Exit命令退出原理圖編輯器。</p><p> 底層原理圖瀏覽完畢后
111、用十字光標(biāo)單擊圖中任意空白處即可退回上一層原理圖。</p><p> 若某一設(shè)計(jì)為多層次化結(jié)構(gòu),則可在最高層逐層進(jìn)入其底層,直至最底一層;退出時(shí)亦可以從最底層逐層退出,直至最高一層。</p><p> 層次化操作結(jié)束后用File菜單中的Exit命令退回項(xiàng)目管理器。</p><p> 注意:將Y1端口定義成時(shí)鐘輸入端的方法</p><p&g
112、t; ispLSI1016和ispLSI2032兩種器件的Y1端是功能復(fù)用的。如果不加任何控制,適配軟件在編譯時(shí)將Y1默認(rèn)為是系統(tǒng)復(fù)位端口(RESET)。若欲將Y1端用作時(shí)鐘輸入端,必須通過編譯器控制參數(shù)來進(jìn)行定義。</p><p> 3.關(guān)于ispDesignEXPERT系統(tǒng)中VHDL語言的設(shè)計(jì)方法</p><p> 除了支持原理圖和ABEL-HDL語言輸入外,商業(yè)版的ispDes
113、ignEXPERT系統(tǒng)中提供了VHDL和Verilog語言的設(shè)計(jì)人口。用戶的VHDL或Verilog設(shè)計(jì)可以經(jīng)ispDesignEXPERT系統(tǒng)提供的綜合器進(jìn)行編譯綜合,生成EDIF格式的網(wǎng)表文件,然后可進(jìn)行邏輯或時(shí)序仿真,最后進(jìn)行適配,生成可下載的JEDEC文件。</p><p> VHDL設(shè)計(jì)輸入的操作步驟</p><p> A. 在ispDesignEXPERTSystemPro
114、jectNavigator主窗口中,按File=>NewProject菜單建立一個(gè)新的工程文件,此時(shí)會(huì)彈出如下圖所示的對話框。請注意:在該對話框中的ProjectType欄中,必須根據(jù)您的設(shè)計(jì)類型選擇相應(yīng)的工程文件的類型。本例中,選擇VHDL類型。若是Verilog設(shè)計(jì)輸入,則選擇VerilogHDL類型。</p><p> 將該工程文件存盤為demo.syn。</p><p>
115、 在ispDesignEXPERTSystemProjectNavigator主窗口中,選擇Source=>New菜單。在彈出的NewSource對話框中,選擇VHDLModule類型。</p><p> 此時(shí),軟件會(huì)產(chǎn)生一個(gè)如下圖所示的NewVHDLSource對話框:</p><p> 在對話框的各欄中,分別填入如上圖所示的信息。按OK鈕后,進(jìn)入文本編輯器-TextEdito
116、r編輯VHDL文件。</p><p> 在TextEditor中輸入如下的VHDL設(shè)計(jì),并存盤。</p><p> libraryieee;</p><p> useieee.std_logic_1164.all;</p><p> entitydemois</p><p> port(A,B,C,D,CK:
117、instd_logic;</p><p> OUTP:outstd_logic);</p><p><b> enddemo;</b></p><p> architecturedemo_architectureofdemois</p><p> signalINP:std_logic;</p>
118、<p><b> begin</b></p><p> Process(INP,CK)</p><p><b> begin</b></p><p> if(rising_edge(CK))then</p><p> OUTP<=INP;</p><p
119、><b> endif;</b></p><p> endprocess;</p><p> INP<=(AandB)or(CandD);</p><p> enddemo_architecture;</p><p> 此VHDL設(shè)計(jì)所描述的電路與本教材第二節(jié)所輸入的原理圖相同,只不過將輸出端口OU
120、T改名為OUTP(因?yàn)镺UT為VHDL語言保留字)。</p><p> 此時(shí),在ispDesignEXPERTSystemProjectNavigator主窗口左側(cè)的源程序區(qū)中,demo.vhd文件被自動(dòng)調(diào)入。單擊源程序區(qū)中的ispLSI1032E-125LT100欄,此時(shí)的ispDesignEXPERTSystemProjectNavigator主窗口如下圖所示:</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---簡單計(jì)算機(jī)的設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告--簡單計(jì)算機(jī)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---簡單計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---簡單計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--簡單計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--計(jì)算機(jī)組成原理算法實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--基本模型計(jì)算機(jī)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--模型計(jì)算機(jī)設(shè)計(jì)
- 《計(jì)算機(jī)組成原理》課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)-概念模型計(jì)算機(jī)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)——模型計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)-- 模型計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告--復(fù)雜模型計(jì)算機(jī)的設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理-課程設(shè)計(jì)報(bào)告
評論
0/150
提交評論