資源描述:
《簡化的risc_cpu設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、可綜合的VerilogHDL設(shè)計實例---簡化的RISCCPU設(shè)計簡介---前言:在前面七章里我們已經(jīng)學習了VerilogHDL的基本語法、簡單組合邏輯和簡單時序邏輯模塊的編寫、Top-Down設(shè)計方法、還學習了可綜合風格的有限狀態(tài)機的設(shè)計,其中EEPROM讀寫器的設(shè)計實質(zhì)上是一個較復雜的嵌套的有限狀態(tài)機的設(shè)計,它是根據(jù)我們完成的實際工程項目設(shè)計為教學目的改寫而來的,可以說已是真實的設(shè)計。在這一章里,我們將通過一個經(jīng)過簡化的用于教學目的的RISC_CPU的設(shè)計過程,來說明這種新設(shè)計方法的潛力。這個模型實質(zhì)上是第四章的RISC_CPU模型的改進。第四章中的RISC_CPU模型是一個仿真模型,它關(guān)
2、心的只是總體設(shè)計的合理性,它的模塊中有許多是不可綜合的,只可以進行仿真。而本章中構(gòu)成RISC_CPU的每一個模塊不僅是可仿真的也都是可綜合的,因為他們符合可綜合風格的要求。為了能在這個虛擬的CPU上運行較為復雜的程序并進行仿真,因而把尋址空間擴大到8K(即15位地址線)。下面讓我們一步一步地來設(shè)計這樣一個CPU,并進行仿真和綜合,從中我們可以體會到這種設(shè)計方法的魅力。本章中的VerilogHDL程序都是我們自己為教學目的而編寫的,全部程序在CADENCE公司的LWB(LogicWorkBench)環(huán)境下和Mentor公司的ModelSim環(huán)境下用Verilog語言進行了仿真,通過了運行測試,并
3、分別用Synergy和Synplify綜合器針對不同的FPGA進行了綜合。分別用Xilinx和Altera公司的的布局布線工具在Xilinx3098上和AlteraFlex10K10實現(xiàn)了布線。順利通過綜合前仿真、門級結(jié)構(gòu)仿真以及布線后的門級仿真。這個CPU模型只是一個教學模型,設(shè)計也不一定合理,只是從原理上說明了一個簡單的RISC_CPU的構(gòu)成。我們在這里介紹它的目的是想說明:VerilogHDL仿真和綜合工具的潛力和本文介紹的設(shè)計方法對軟硬件聯(lián)合設(shè)計是有重要意義的。我們也希望這一章能引起對CPU原理和復雜數(shù)字邏輯系統(tǒng)設(shè)計有興趣的同學的注意,加入我們的設(shè)計隊伍。由于我們的經(jīng)驗與學識有限,不足
4、之處敬請讀者指正。8.1.什么是CPU?CPU即中央處理單元的英文縮寫,它是計算機的核心部件。計算機進行信息處理可分為兩個步驟:1)將數(shù)據(jù)和程序(即指令序列)輸入到計算機的存儲器中。2)從第一條指令的地址起開始執(zhí)行該程序,得到所需結(jié)果,結(jié)束運行。CPU的作用是協(xié)調(diào)并控制計算機的各個部件執(zhí)行程序的指令序列,使其有條不紊地進行。因此它必須具有以下基本功能:a)取指令:當程序已在存儲器中時,首先根據(jù)程序入口地址取出一條程序,為此要發(fā)出指令地址及控制信號。b)分析指令:即指令譯碼。是對當前取得的指令進行分析,指出它要求什么操作,并產(chǎn)生相應(yīng)的操作控制命令。c)執(zhí)行指令:根據(jù)分析指令時產(chǎn)生的“操作命令”形
5、成相應(yīng)的操作控制信號序列,通過運算器,存儲器及輸入/輸出設(shè)備的執(zhí)行,實現(xiàn)每條指令的功能,其中包括對運算結(jié)果的處理以及下條指令地址的形成。將其功能進一步細化,可概括如下:1)能對指令進行譯碼并執(zhí)行規(guī)定的動作;2)可以進行算術(shù)和邏輯運算;3)能與存儲器,外設(shè)交換數(shù)據(jù);4)提供整個系統(tǒng)所需要的控制;213盡管各種CPU的性能指標和結(jié)構(gòu)細節(jié)各不相同,但它們所能完成的基本功能相同。由功能分析,可知任何一種CPU內(nèi)部結(jié)構(gòu)至少應(yīng)包含下面這些部件:1)算術(shù)邏輯運算部件(ALU),2)累加器,3)程序計數(shù)器,4)指令寄存器,譯碼器,5)時序和控制部件。RISC即精簡指令集計算機(ReducedInstructi
6、onSetComputer)的縮寫。它是一種八十年代才出現(xiàn)的CPU,與一般的CPU相比不僅只是簡化了指令系統(tǒng),而且是通過簡化指令系統(tǒng)使計算機的結(jié)構(gòu)更加簡單合理,從而提高了運算速度。從實現(xiàn)的途徑看,RISC_CPU與一般的CPU的不同處在于:它的時序控制信號形成部件是用硬布線邏輯實現(xiàn)的而不是采用微程序控制的方式。所謂硬布線邏輯也就是用觸發(fā)器和邏輯門直接連線所構(gòu)成的狀態(tài)機和組合邏輯,故產(chǎn)生控制序列的速度比用微程序控制方式快得多,因為這樣做省去了讀取微指令的時間。RISC_CPU也包括上述這些部件,下面就詳細介紹一個簡化的用于教學目的的RISC_CPU的可綜合VerilogHDL模型的設(shè)計和仿真過程
7、。8.2.RISCCPU結(jié)構(gòu)RISC_CPU是一個復雜的數(shù)字邏輯電路,但是它的基本部件的邏輯并不復雜。從第四章我們知道可把它分成八個基本部件:1)時鐘發(fā)生器2)指令寄存器3)累加器4)RISCCPU算術(shù)邏輯運算單元5)數(shù)據(jù)控制器6)狀態(tài)控制器7)程序計數(shù)器8)地址多路器各部件的相互連接關(guān)系見圖8.2。其中時鐘發(fā)生器利用外來時鐘信號進行分頻生成一系列時鐘信號,送往其他部件用作時鐘信號。各部件之間的相