freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的微處理器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文-文庫吧資料

2025-06-28 15:55本頁面
  

【正文】 PCPC_OUT送入PC_RAM中提取對(duì)應(yīng)地址指令程序存儲(chǔ)器PC_RAMINSTRUCTION送入IR中鎖存指令指令寄存器IR_RAM IR指令操作碼送入CONTROL進(jìn)行譯碼RD送入TRAM在控制信號(hào)作用下對(duì)操作數(shù)進(jìn)行寫入和讀出操作RRDATA寄存器堆TRAMREG_RD送入ALUMUX在控制信號(hào)作用下選擇操作數(shù)REG_RR數(shù)據(jù)選擇器ALUMUXA送入ALU控制信號(hào)作用下進(jìn)行輸入操作數(shù)運(yùn)算B運(yùn)算器ALUR輸出結(jié)果C4輸出溢出R0運(yùn)算結(jié)果送入TRAM時(shí)鐘發(fā)生器TIME_CTRLCLKR送入TRAM控制讀寫和數(shù)據(jù)輸出時(shí)間控制器CONTROLABSEL送入ALUMUX控制輸出操作數(shù)A、BOUTEN送入TRAM控制數(shù)據(jù)輸出RAM_CTRL送入TRAM控制數(shù)據(jù)的寫入和讀出LOGIC送入ALU控制移位操作ALU_CTRL送入ALU控制算術(shù)和邏輯運(yùn)算操作LOAD送入ALU控制操作數(shù)直接輸出STORE送入TRAM控制上條指令運(yùn)算結(jié)果的存儲(chǔ)SLEEP送入FSM控制CPU狀態(tài)轉(zhuǎn)入停機(jī)狀態(tài)狀態(tài)機(jī)FSMNRST送入PC、PC_RAM控制其復(fù)位操作EN送入PC、IR_RAM控制其是否能進(jìn)行操作PC_INC送入PC控制加一操作 RISCCPU的功能仿真驗(yàn)證當(dāng)把所有的模塊都組裝成了一個(gè)整體,再用QUARTUSII對(duì)這個(gè)整體進(jìn)行編譯和綜合成功后就可以對(duì)CPU進(jìn)行功能仿真。圖5—1 RTL綜合電路圖綜合后的電路結(jié)構(gòu)由程序計(jì)數(shù)器PC模塊、程序存儲(chǔ)器PC_RAM模塊、指令寄存器IR_RAM模塊、寄存器堆TRAM模塊、數(shù)據(jù)選擇器ALUMUX模塊、運(yùn)算器ALU模塊、控制器CONTROL模塊、狀態(tài)機(jī)FSM模塊和時(shí)鐘發(fā)生器TIME_CTRL模塊組成。 綜合RTL電路圖利用硬件語言法構(gòu)建好頂層文件,把所有模塊組裝成了一個(gè)整體,在對(duì)這個(gè)整體進(jìn)行編譯和綜合成功后即可對(duì)它進(jìn)行功能仿真。 SIGNAL outen :STD_LOGIC。各個(gè)模塊間的互連信號(hào)是用用signal類型的變量聲明的。 END COMPONENT pc。 frompc_inc : IN STD_LOGIC 。用VHDL語言引用一個(gè)模塊時(shí)是先用ponent來聲明這個(gè)模塊,模塊的接口要用port關(guān)鍵詞聲明,例如對(duì)程序計(jì)數(shù)器模塊的引用聲明如下:COMPONENT pc IS PORT ( clk ,fen: IN STD_LOGIC 。原理圖法就是將CPU中的每個(gè)綜合模塊以元件的形式,通過互連線將各個(gè)模塊像電路上畫原理圖一樣連接起來,系統(tǒng)規(guī)模比較大時(shí),各個(gè)模塊連起來的互連線很多,操作起來很不方便,同時(shí)也容易出錯(cuò)。第五章 RISC CPU的仿真驗(yàn)證 各模塊的組合前面兩章將CPU細(xì)化為多個(gè)功能模塊,為了使其能集合成一個(gè)完整的系統(tǒng)共同完成特定的功能執(zhí)行,各個(gè)模塊就需要組合起來配合工作。process (state) begin //第二個(gè)模塊用組合邏輯判斷狀態(tài)的邏輯輸出 case state is //當(dāng)狀態(tài)發(fā)生改變時(shí),利用case語句輸出對(duì)應(yīng)狀態(tài)的信號(hào) when exe = when sp = when tj = end case。 end if。 end if。 then state = tj。 // 當(dāng)寫信號(hào)有效時(shí)程序?qū)懭?,此時(shí)狀態(tài)機(jī)保持待機(jī) elsif ( rising_edge(clk)) then case state is when exe=// 利用case語句對(duì)每一個(gè)狀態(tài)建立一項(xiàng)case語句的分支 If input =39。139。圖16是各個(gè)狀態(tài)的狀態(tài)轉(zhuǎn)移圖。在本次CPU設(shè)計(jì)中,將采用Mealy型狀態(tài)機(jī)來實(shí)現(xiàn)時(shí)序和狀態(tài)的轉(zhuǎn)換。Mealy型狀態(tài)機(jī)的輸出是當(dāng)前狀態(tài)和所輸入信號(hào)決定的,它的輸出是在輸入變化后立即發(fā)生的,不依賴時(shí)鐘的同步[16]。從狀態(tài)機(jī)的信號(hào)輸出上分,有Moore型和Mealy型兩種狀態(tài)機(jī)。程序計(jì)數(shù)器PC值的改變、指令寄存器取指令以及CPU的復(fù)位等操作都是由狀態(tài)機(jī)來控制的。圖41 控制器Control外部接口控制器根據(jù)4位操作碼IR進(jìn)行譯碼,通過指令譯碼給出其它各單元的操作控制信號(hào),包括ALU 單元的算術(shù)和邏輯運(yùn)算控制信號(hào)、移位控制信號(hào),操作數(shù)輸入選擇信號(hào)、結(jié)果輸出信號(hào),TRAM 的讀寫控制、送入狀態(tài)機(jī)得停機(jī)控制信號(hào)。為了實(shí)現(xiàn)控制模塊的功能,可以將該模塊細(xì)化為兩個(gè)部分,即控制指令操作的控制器和控制狀態(tài)轉(zhuǎn)換的有限狀態(tài)機(jī)(FSM)。流水線操作和數(shù)據(jù)通路各個(gè)模塊的所有控制信號(hào)都是來自控制單元。圖311 ALU模塊外部接口第四章 CPU控制單元的設(shè)計(jì)在CPU中還有一個(gè)重要的模塊,即控制單元模塊,其功能是得到當(dāng)前指令,得到需要的數(shù)據(jù),在正確的時(shí)間、用正確的值設(shè)置所有相關(guān)的控制信號(hào),控制CPU的取指、譯碼和指令執(zhí)行等操作。但是結(jié)果輸出是在下一個(gè)時(shí)鐘信號(hào)的上升沿進(jìn)行的,這樣可以控制輸出的時(shí)間,保證其輸出正確,而且輸出控制信號(hào)outen控制CPU是否輸出數(shù)據(jù),若outen控制信號(hào)有效,則再判斷需要輸出何種類型的數(shù)據(jù),若load控制信號(hào)有效則將輸入數(shù)據(jù)直接輸出,完成從指定寄存器讀出數(shù)據(jù)的操作,若無效則將算術(shù)或邏輯運(yùn)算的結(jié)果輸出。 else R=a1(7 downto 0)。039。 then R=ZZZZZZZZ。Process (clk) begin if (rising_edge(clk)) then if fouten =39。 case fromlogic is … end case。在本次設(shè)計(jì)中只完成加法、減法、與、或、不帶進(jìn)位的左移和不帶進(jìn)位的右移的運(yùn)算功能,并輸出溢出信號(hào)。LSL指令組分為帶進(jìn)位的循環(huán)右移和不帶進(jìn)位的算術(shù)右移操作。指令A(yù)DD分為不帶進(jìn)位和帶進(jìn)位加法操作:SUB指令組分為執(zhí)行不帶進(jìn)位和帶進(jìn)位減法操作。2位邏輯控制輸入信號(hào)Logic決定一個(gè)輸入數(shù)據(jù)的邏輯操作類型,可以有4種不同的功能組合。在執(zhí)行運(yùn)算單元中,根據(jù)指令的類型對(duì)兩個(gè)或一個(gè)8位輸入數(shù)據(jù)進(jìn)行運(yùn)算。圖37 ALU整體結(jié)構(gòu)圖算術(shù)邏輯單元ALU 是絕大多數(shù)指令必須經(jīng)過的單元,所有的運(yùn)算都在ALU 中完成。取操作數(shù)單元負(fù)責(zé)對(duì)ALU的兩個(gè)操作數(shù)A和B的取值,執(zhí)行運(yùn)算單元負(fù)責(zé)將取到的操作數(shù)進(jìn)行相應(yīng)的操作。 ALU模塊ALU單元即算術(shù)運(yùn)算單元,是CPU的核心處理的單元,不但能完成算術(shù)和邏輯運(yùn)算,而且很多數(shù)據(jù)都要通過ALU送出到輸出端口并輸出。 //將指定寄存器的值輸出 elsif (fromram_ctrl = 01) then ram (conv_integer(fromrd))=value2。If (rising_edge(fclkr)) then If (fstore =’1’) then ram (conv_integer(fromrd))=fR0 //存儲(chǔ)上條指令運(yùn)算得到的結(jié)果 elsif (fromram_ctrl = 11) then toreg_rr=ram(conv_integer(fromrr))。 圖36 寄存器堆TRAM外部接口 如圖12所示,fclkr時(shí)鐘信號(hào)是來自時(shí)鐘發(fā)生器,控制寄存器是否能進(jìn)行讀寫操作。 將指定目的操作寄存器地址中的數(shù)據(jù)讀出并輸出。圖35 時(shí)鐘發(fā)生器的外部接口 寄存器堆TRAM 寄存器堆與程序存儲(chǔ)器設(shè)計(jì)相同,都是直接使用一個(gè)數(shù)組存放二進(jìn)制數(shù)據(jù),通過 VHDL 編寫一個(gè)一定長度的數(shù)組實(shí)現(xiàn),同樣可以通過集成器數(shù)組元素和輸入地址間的相互賦值實(shí)現(xiàn)“讀存儲(chǔ)器”,“寫存儲(chǔ)器”。CLKR是將CLK延遲半個(gè)周期產(chǎn)生的,有利于流水線的完成。當(dāng)en有效時(shí)指令寄存器才能更新來自程序存儲(chǔ)器的指令。圖34指令寄存器外部接口圖34所示,指令寄存器的指令流向是:4位操作碼IR指令送往控制單元已做譯碼使用,而根據(jù)不同指令分離出來的要操作的立即數(shù)DATA、源操作寄存器RR、目的操作寄存器RD送到寄存器堆TRAM模塊。同樣道理可知,送入控制單元并進(jìn)行指令譯碼也是下一條指令。所以指令寄存器的作用是暫時(shí)存放取到的指令,是從程序存儲(chǔ)器到控制單元和ALU模塊中的中間緩沖模塊。圖33程序存儲(chǔ)器外部接口信號(hào)程序存儲(chǔ)器模塊的外部接口信號(hào)如圖33所示,其中讀狀態(tài)地址來自PC模塊,輸出指令直接送往指令寄存器模塊,寫狀態(tài)地址來自CPU輸入地址,寫入指令存儲(chǔ)到對(duì)應(yīng)地址單元中。當(dāng) WR 有效時(shí),程序存儲(chǔ)器為寫狀態(tài),即將輸入程序存入其輸入地址對(duì)應(yīng)的存儲(chǔ)單元中, 即執(zhí)行操作 ram(conv_integer(waddr)) = wdata;當(dāng) WR 為低電平時(shí),程序存儲(chǔ)器處于讀狀態(tài),其將程序計(jì)數(shù)器輸出地址 PC_OUT上 對(duì)應(yīng)的存儲(chǔ)單元中的指令輸出,即執(zhí)行操作instruction = ram(conv_integer(pc_in))。第一個(gè)數(shù)組元素下標(biāo)表示存貯器的0 號(hào)地址,第二個(gè)數(shù)組元素下標(biāo)表示1 號(hào)地址,以此類推至第256個(gè)數(shù)組元素的下標(biāo),即11111111 號(hào)存貯器地址。圖32 程序存儲(chǔ)器示意圖在設(shè)計(jì)程序存儲(chǔ)器模塊時(shí),本文是自行設(shè)計(jì)寄存器堆型的存儲(chǔ)器,直接使用一個(gè)數(shù)組存放二進(jìn)制數(shù)據(jù),通過 VHDL 編寫一個(gè)一定長度的數(shù)組實(shí)現(xiàn)。 程序存儲(chǔ)器PC_RAM程序存儲(chǔ)器是存儲(chǔ)微處理器程序,即能執(zhí)行特定功能的一組指令組合。PC_INC控制信號(hào)來自控制單元,若PC_INC有效則PC將執(zhí)行加1操作。其中輸出的PC是8BitS寬的,因此PC模塊可以尋址獨(dú)立的256個(gè)單元。在正常工作的條件下,控制信號(hào)選擇PC+1作為下一個(gè)PC的值輸出;當(dāng)執(zhí)行JMP指令時(shí),選擇來自指令中的跳轉(zhuǎn)地址決定新的PC值,但是在本次設(shè)計(jì)中沒有涉及到。正是有了PC的移動(dòng)和變化,CPU才能按一定的順序或預(yù)想的情況進(jìn)行指令的執(zhí)行。下面將一一介紹數(shù)據(jù)通路的各個(gè)模塊功能及其實(shí)現(xiàn)。另一種方案是在微處理器內(nèi)部創(chuàng)建一條總線,并且在各個(gè)部件之間使用總線傳數(shù)據(jù)。設(shè)計(jì)數(shù)據(jù)通路,有兩種不同的設(shè)計(jì)方案。在這一章中將細(xì)分?jǐn)?shù)據(jù)通路模塊,數(shù)據(jù)通路是CPU中的執(zhí)行部件,數(shù)據(jù)傳輸、存儲(chǔ)、處理都是在數(shù)據(jù)通路中完成的。第三章 CPU數(shù)據(jù)通路設(shè)計(jì)從這一章開始將詳細(xì)介紹整個(gè)CPU的細(xì)化設(shè)計(jì)模塊。數(shù)據(jù)通路和控制通路這兩大部分又可以細(xì)化為更小的模塊,ALU模塊(算術(shù)邏輯單元)、PC_RAM模塊(程序存儲(chǔ)器)和IR(指令寄存器)、TRAM(寄存器堆)屬于數(shù)據(jù)通路部分,ALU內(nèi)部又包含更小的模塊(加、減、與、或、移位模塊);控制模塊屬于控制通路部分,其中控制模塊又由FSM(狀態(tài)機(jī))和CONTROL(控制器)構(gòu)成。本設(shè)計(jì)將CPU分解為兩大子系統(tǒng):數(shù)據(jù)通路和控制通路。 CPU結(jié)構(gòu)的層次劃分正確合理的劃分系統(tǒng)是所有數(shù)字系統(tǒng)設(shè)計(jì)成功的關(guān)鍵。系統(tǒng)中包括了很多寄存器的設(shè)計(jì)包括指令寄存器(IR),程序計(jì)數(shù)器(PC),這些寄存器大都在我們頂層可見的模塊的內(nèi)部,系統(tǒng)的工作也可以看作就是數(shù)據(jù)在這些寄存器之間的“遷移”,也即寄存器內(nèi)容的遷移。取指單元的第一個(gè)模塊是程序計(jì)數(shù)器(PC),PC中是下條要執(zhí)行的指令的地址,它是指向程序存儲(chǔ)器單元(PROM)來尋址指令的。取指單元負(fù)責(zé)取下條指令,執(zhí)行單元負(fù)責(zé)執(zhí)行當(dāng)前指令。微處理器的時(shí)鐘采用邊沿觸發(fā)的方式,整個(gè)系統(tǒng)采用單時(shí)鐘電路,即提供一個(gè)系統(tǒng)時(shí)鐘,每當(dāng)時(shí)鐘邊沿到來的時(shí)候,向狀態(tài)單元寫入數(shù)據(jù)。它們的輸出僅僅依賴于當(dāng)前的輸入狀態(tài),沒有內(nèi)部存儲(chǔ)功能;(2) 寄存器堆、臨時(shí)寄存器都是狀態(tài)單元,它的輸出不僅依賴于輸入,還有其自身內(nèi)部的狀態(tài)。 在設(shè)計(jì)微處理器的功能模塊之前,需要決定如何邏輯實(shí)現(xiàn)和處理器鎖存數(shù)據(jù)。每個(gè)模塊都將按照EDA設(shè)計(jì)中自下而上的設(shè)計(jì)原則分別獨(dú)立設(shè)計(jì)。該模塊包含了系統(tǒng)的主要模塊及它們之間的連接關(guān)系。當(dāng)WR信號(hào)有效時(shí),整個(gè)CPU進(jìn)入指令輸入狀態(tài),當(dāng)WR低電平時(shí)CPU進(jìn)入指令讀取并完成指令操作的狀態(tài),當(dāng)CPU完成全部輸入指令時(shí)進(jìn)入停機(jī)狀態(tài),此時(shí)Start信號(hào)重新啟動(dòng)CPU,使其進(jìn)入等待狀態(tài)。系統(tǒng)的時(shí)鐘信號(hào)將直接驅(qū)動(dòng)驅(qū)動(dòng)整個(gè)CPU。 CPU整體結(jié)構(gòu)即設(shè)計(jì)思想在設(shè)計(jì)CPU 之前整個(gè)結(jié)構(gòu)的特性及由哪些模塊組成,這些模塊之間的互連關(guān)系以及整個(gè)CPU的最后輸出信號(hào)等都是要事先定義好的.。表2說明了在引入流水線后PC的具體工作情況:表3 指令執(zhí)行中PC值的變化情況時(shí)鐘周期Reset周期1周期2周期3周期4PC0 1234第一條指令讀取指令0執(zhí)行指令0第二條指令讀取指令1執(zhí)行指令1第三條指令讀取指令2執(zhí)行指令2表3表明,在系統(tǒng)復(fù)位時(shí),PC內(nèi)的值清0,第一個(gè)時(shí)鐘周期,指令寄存器取PC為0的地址的指令,同時(shí)PC的值加1;第二個(gè)時(shí)鐘周期,執(zhí)行0地址的指令,同時(shí)讀取地址1的指令,同時(shí)PC的值加1;第三個(gè)時(shí)鐘周期,重復(fù)這樣的過程。在程序開始執(zhí)行前,CPU將它的起始地址送入PC,當(dāng)指令執(zhí)行時(shí),CPU 將自動(dòng)修改PC 的內(nèi)容,所以PC中的內(nèi)容總是下一條指令的地址。正是靠PC的移動(dòng),CPU才能一條一條的執(zhí)行
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1