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

正文內(nèi)容

基于vhdl語言的8位risc-cpu的設(shè)計答辯(完整版)

2025-01-04 21:37上一頁面

下一頁面
  

【正文】 39。139。039。039。139。039。039。039。039。139。039。039。139。039。 state=s3。 wr=39。 when s2=pc_clk=39。039。139。 ir_ena=39。 acc_ena=39。 halt=39。 pc_ena=39。139。 constant ADD: std_logic_vector(2 downto 0):=010。 entity state_machine is port(clk1, ena, zero: in std_logic。 else ena=39。 end mach_ctr。 (8) 第 8 個時鐘 S7,若操作符為 SKZ 且累加器值為 0,則 PC 值再增 1,跳過一條指令,否則 PC 無變化。 (2) 第 2 個時鐘 S1,與上一時鐘相比只是 PC_CLK 從 0 變?yōu)?1,故 PC 增 1;同時 ROM 送來低 8 位指令代碼,指令寄存器寄存該 8 位代碼。 假設(shè)指令地址為 0、 3… ,為便于顯示,設(shè)置地址指令和程序計數(shù)器輸出為數(shù)制十進制,仿真波形如下圖: clk 的上升沿啟動電路,當 rst 為低電平, ena 為低電平時, pc_addr 自身加1; ena 為高電平則 pc_addr 輸出 ir_addr 的值。 elsif ena=39。then if rst=39。 entity pc is port(clk, rst, ena: in std_logic。有兩種途徑可形成指令地址:其一是順序執(zhí)行的情況,其二是遇到要改變順序執(zhí)行程序的情況,例如執(zhí)行 JMP 指令后,需要形成新的指令地址。 addr: out std_logic_vector(12 downto 0))。 地址多路器 地址多路器 ADDR 用于選擇輸出的地址是 PC(程序計數(shù))地址還是數(shù)據(jù) /端口地址,如圖 311 所示。 alu_out: in std_logic_vector(7 downto 0)。有圖 38 算術(shù)邏輯運算單元仿真波形 第三章 八位 RISCCPU各模塊設(shè)計與仿真 14 時要傳輸指令,有時要傳送 RAM 區(qū)或接口的數(shù)據(jù)。 end behave。 when LDA=alu_out_latch=data。 if alu_clk39。 constant STO: std_logic_vector(2 downto 0):=110。 end alu。 算術(shù)邏輯單元 源程序如下: library ieee。 圖 35 累加器 第三章 八位 RISCCPU各模塊設(shè)計與仿真 11 end if。event and clk1=39。當累加器通過 ENA口收到來自 CPU 狀態(tài)控制器 ACC_ENA 信號時,即 ENA=1 時,在 CLK1 時鐘正跳沿時就收到來自于數(shù)據(jù)總線的數(shù)據(jù),由 DATA[7..0]輸入;而當 ENA=0 時,累加器保持不變。 end process。 state:=39。 then case state is when 39。139。 opcode: out std_logic_vector(2 downto 0)。 STATE 為零表示取的高 8 位,存入高 8 位寄存器,同時將變量 STATE 置為 1。寄存與否,由 CPU 狀態(tài)控制器的 IR_ENA 信號控制。 then fetch=not fetch。event and clk2=39。 process(clk1) begin clk1=not clk。039。圖 23 RISCCPU 結(jié)構(gòu)圖 第三章 八位 RISCCPU各模塊設(shè)計與仿真 6 第三章 八位 RISCCPU各模塊設(shè)計與仿真 時鐘發(fā)生器 時鐘發(fā)生器 Clock Generator 如上圖所示, 利用外來時鐘信號 CLK 來生成一系列時鐘信號 CLK FETCH、 ALU_CLK 送往 CPU 的其他部件 ,各分頻時鐘信號功能如下: ? CLK1 信號經(jīng) CLK 反相后用作指令寄存器、累加器、狀態(tài)控制器的時鐘信號。 RISCCPU 模塊的劃分 計算機進行信息處理可分為兩個步驟: 一、將數(shù)據(jù)和程序(即指令序列)輸入到計算機的存儲器中。另外輸入輸出指令一般也通過累加器來完成。 存儲器、數(shù)據(jù)通路和控制器這三部分的基本關(guān)系 下 圖所示 : 存儲器中存放了要執(zhí)行的指令和相應(yīng)數(shù)據(jù)。 (3) 從嵌入式系統(tǒng)設(shè)計 技術(shù)層面看,集成電路發(fā)展已進入 IP core 復(fù) 用的 SoC時代, 8 位嵌入式微處理器發(fā)展的一個重要特點是片上系統(tǒng) SoC 化。很快,許多廠商都開發(fā)出了自己的 RISC指令系統(tǒng),除了 IBM的 Power 和 PowerPC外 , 還有 DEC 的 Alpha、 SUN的 SPARC、HP 的 PARISC、 MIPS 技術(shù)公司的 MIPS、 ARM 公司的 ARM 等。 CPU 由運算器和控制器組成,其內(nèi)部結(jié)構(gòu)歸納起來可以分為控制單元、邏輯單元和存儲單元三大部分,這三個部分相互協(xié)調(diào),便可以進行 分析,判斷、運算并控制計算機各部分協(xié)調(diào)工作。 畢業(yè)設(shè)計說明書 基于 VHDL語言的 8位 RISCCPU的設(shè)計 學(xué) 院: 專 業(yè): 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師 : 201 年 月 中 文 摘 要 I 摘 要 RISC 即精簡指令集計算機( Reduced Instruction Set Computer)的縮寫。 CPU 從最初發(fā)展至今已經(jīng)有幾十年的歷史了,這期間,按照其處理信息的字長, CPU 可以分為:四位微處理器、八位微處理器、十六位微處理器、三十二位微處理器以及六十四位微處理器。它的應(yīng)用范圍也遠比 X86 來得廣泛,大到各種超級計算機、工作站、高階服務(wù)器,小到各類嵌入式設(shè)備、家用游戲機、消費電子產(chǎn)品、工業(yè)控制計算機,都可以看到 RISC的身影。本課題也為基于 IP 核的嵌入式系統(tǒng)設(shè)計積累了寶貴經(jīng)驗。存儲器的讀寫信號由控制器給出。 程序計數(shù)器指向下一條要執(zhí)行的指令。 二、從第一條指令的地址起開始執(zhí)行該程序,得到所需結(jié)果,結(jié)束運行。 ? FETCH 是外來時鐘 CKL 的 8 分頻信號,其 上升沿觸發(fā) CPU 控制器開始執(zhí)行一條指令,該 信號 同時 還控制地 址多路器輸出指令地址和數(shù)據(jù)地址。 alu_clk: out std_logic)。 圖 31 時鐘發(fā)生器 第三章 八位 RISCCPU各模塊設(shè)計與仿真 7 if clk139。039。 end if。 IR_ENA 信號 通過 ENA 口輸入到指令寄存器。再 次 寄存時, 因 STATE 為 1, 取低 8 位 并 存入低 8 位寄存器中,同時將 STATE 置為 0,如此往復(fù)。 ir_addr: out std_logic_vector(12 downto 0))。)then if rst=39。039。039。 opcode=opc_iraddrs(15 downto 13)。 累加器源程序如下: library ieee。139。 end if。 use 。 architecture behave of alu is signal alu_out_latch: std_logic_vector(7 downto 0)。 constant JMP: std_logic_vector(2 downto 0):=111。event and alu_clk=39。 when STO=alu_out_latch=accum。 在仿真過程中,假設(shè)操作碼依次為上述 8 種操作碼。累加器的數(shù)據(jù)只有在需要往RAM 區(qū)或端口寫時才允許輸出,否則應(yīng)呈現(xiàn)高阻態(tài),以允許其它部件使用數(shù)據(jù)總線。 data: out std_logic_vector(7 downto 0))。每個指令周期的前 4 個時鐘周期用于從 ROM 中讀取指令,輸出 PC 地址。 end addr_mux。 圖 311 地址多路器 圖 312 地址多路 器 仿真波形 第三章 八位 RISCCPU各模塊設(shè)計與仿真 16 復(fù)位后,指令指針為零,即每次 CPU 重新啟動將從 ROM 的零地址開始讀取指令并執(zhí)行。 ir_addr: in std_logic_vector(12 downto 0)。139。039。 rst 為高電平時輸出 清 0。 (3) 第 3 個時鐘 S2,空操作。 在實體編寫過程中,首先定義 8 個狀態(tài)為 S0~S7,然后定義 8 個指令代碼 為常量。 architecture behave of mach_ctr is begin process(fetch) begin if fetch39。139。 opcode: in std_logic_vector(2 downto 0)。 constant AN_D: std_logic_vector(2 downto 0):=011。then if ena=39。039。039。039。139。 acc_ena=39。 ir_ena=39。039。039。 when s3=if (opcode=HLT) then pc_clk=39。 wr=39。 else pc_clk=39。 wr=39。 end if。 rd=39。 halt=39。 rd=39。 halt=39。 rd=39。halt=39。 rd=39。 halt=39。pc_ena=39。 datactl_ena=39。 acc_ena=39。 ir_ena=39。 acc_ena=39。 ir_ena=39。 acc_ena=39。ir_ena=39。 acc_ena=39。ir_ena=39。 when s6=pc_clk=39。 wr=39。 state=s7。039。039。039。039。 end process。 opcode: in std_logic_vector(2 downto 0)。 opcode: in std_logic_vector(2 downto 0)。rst 回到低電平后,接著到來的 fetch的上升沿啟動狀態(tài)控制器工作。第七個時鐘,判斷累加器值不為 0,程序計數(shù)器保持不變。 clk1, fetch: buffer std_logic。 ponent acc port(clk1, rst, ena: in std_logic。 alu_out: out std_logic_vector(7 downto 0))。 addr: out std_logic_vector(12 downto 0))。 pc_clk,acc_ena,pc_ena,rd,wr,ir_ena,halt,datactl_ena:out std_logic)。 data: inout std_logic_vector(7 downto 0)。 signal opcode_b: std_logic_vector(2 downto 0)。 U8:pc port map(pc_clk_b, rst, pc_ena_b, ir_addr_b, pc_addr_b)。復(fù)位時 RST 引腳上至少保持兩個時鐘周期的高電平輸入信號,內(nèi)部復(fù)位操作在 RST 變?yōu)楦唠娖胶蟮牡诙€時鐘周期進行。 用 VHDL 語言進行設(shè)計有其優(yōu)越性,從總體行為設(shè)計開始到最終邏輯綜合,形成網(wǎng)表為止,每一步都要進行仿真檢查,這樣有利于盡早發(fā)現(xiàn)系統(tǒng)設(shè)計中存在的問題,從而可以大大縮短系統(tǒng)硬件的設(shè)計周期。 EDA 技術(shù)的出現(xiàn),極大地提高了電路設(shè)計的效率和可操作性,減輕了設(shè)計者的勞動強度。復(fù)位后 PC 值為 0000H,故復(fù)位后的程序入口地址為 0000H。 各部件連接圖如下: 第四章 RISCCPU的綜合及操作時序 28 圖 42 RISCCPU 各模塊連接圖 第四章 RISCCPU的綜合及操作時序 29 CPU 復(fù)位啟動操作時序 CPU 執(zhí)行程序時主要是由時序控制在存儲器或端口之間進行相應(yīng)的讀寫操作。 U2:ir port map(clk1_b, rst, ir_ena_b,data, opcode_b, ir_addr_b)。 addr: out std_logic_vector(12 downto 0))。 end mypack。 ponent datactrl port(data_ena: in std_logic。
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1