999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于quartus 制作微處理器

2020-04-21 10:35:00黃峻杰
通信電源技術(shù) 2020年5期
關(guān)鍵詞:功能

黃峻杰

(重慶郵電大學(xué) 電子信息工程(中美),重慶 400065)

0 引 言

21 世紀(jì),各式各樣的技術(shù)和設(shè)備不停更新?lián)Q代,微處理器也不例外。對(duì)于微處理器的設(shè)計(jì),源于其內(nèi)部的功能選擇。對(duì)于不同功能的微處理器,其內(nèi)部的邏輯結(jié)構(gòu)也會(huì)產(chǎn)生多種變化。本文將完全集成、測試和演示微處理器的所有部分,完成控制單元的設(shè)計(jì),以獲取和執(zhí)行所有指令。測試將在ModelSim 上進(jìn)行仿真,并通過電路板進(jìn)行演示。

1 微處理器的構(gòu)造

利用quartus 軟件進(jìn)行制作微處理器,需要掌握微處理器的構(gòu)造。微處理器由IR、AC、PC、ALU、寄存器以及集成的中央處理器組成,其中IR、AC、PC、ALU、寄存器比較簡單,但是中央處理器的運(yùn)用比較困難[1]。筆者采用狀態(tài)轉(zhuǎn)移寄存器,分階段對(duì)中央處理器進(jìn)行編輯。對(duì)中央處理器的內(nèi)部組成理解,采用opcode 操作數(shù)進(jìn)行仿真操作。opcode 代表ALU 執(zhí)行的操作,如加減乘除,是計(jì)算機(jī)最基本的部分。

通過定義和命名其他狀態(tài)完成表1 內(nèi)容,以控制指令集中每個(gè)指令的執(zhí)行。

IR 內(nèi)部包括低位處理器和高位處理器[2]。低位主要負(fù)責(zé)向隨機(jī)接入寄存器RAM 輸入數(shù)據(jù)(類似于計(jì)算機(jī)構(gòu)造中的鍵盤輸入)與讀取;高位主要向ALU 計(jì)算器中輸入內(nèi)容和操作數(shù),而操作數(shù)決定微處理器的功能。PC 內(nèi)部構(gòu)造主要是地址的尋址和棧中數(shù)據(jù)的存儲(chǔ);AC 類寄存器主要負(fù)責(zé)數(shù)據(jù)的處理。

下面使用給定的存儲(chǔ)器數(shù)據(jù),在執(zhí)行每條指令時(shí)找出存儲(chǔ)在每個(gè)寄存器中的數(shù)據(jù),結(jié)果如表2 所示。

2 控制單元修改后的系統(tǒng)Verilog 代碼

控制單元修改后的系統(tǒng)Verilog 代碼如下。

//Huang junjie 2017215089

module control_unit2(input logic [7:0] opcode,

input logic NFLG, ZFLG, RESET, CLK, output logic[3:0] STATE,

output logic LOAD_AC, output logic LOAD_IRU,output logic LOAD_IRL, output logic LOAD_PC, output logic INCR_PC, output logic FETCH,

output logic STORE_MEM);

typedef enum logic [0:3] {START, PREPU, FETCHU,PREPL, FETCHL, STORE,

表1 相關(guān)狀態(tài)的定義和命名

表2 存儲(chǔ)在每個(gè)寄存器中的數(shù)據(jù)情況

executive1, executive2, JUMP} statetype;

statetype state, nextstate;

always_ff@(negedge CLK, posedge RESET) if(RESET)state <= START;

else state <=nextstate;

always_comb case(state)

START: nextstate=PREPU; //first run the prepu to producethe

opcode

IRL)

PREPU: nextstate = FETCHU;

FETCHU:case(opcode) //opcode default 8’h00:nextstate =PREPU;

8’h04: nextstate = executive1; default: nextstate =PREPL;

endcase

PREPL: nextstate=FETCHL; //enter the alu operation FETCHL:case(opcode)

8’h02: nextstate = executive1; //the alu who uses value

8’h06: nextstate =executive1; 8’h08: nextstate=executive1; 8’h0E: nextstate = executive1; 8’h0F:nextstate =executive1;

8’h01: nextstate = executive2; //the alu who uses MDR(from 8’h05: nextstate =executive2;

8’h07: nextstate =executive2;

8’h09: nextstate = executive2; 8’h0A: nextstate= executive2; 8’h0B: nextstate = executive2; 8’h0C:nextstate = executive2; 8’h0D: nextstate =executive2;

8’h03: nextstate = STORE; //Store the address

8’h10: nextstate= JUMP; // choose which jump circle 8’h11: nextstate = (NFLG)?JUMP:PREPU; //if NFLG=1,jump,or

get into prepu

8’h12: nextstate = (~NFLG)?JUMP:PREPU;

8’h13: nextstate = (ZFLG)?JUMP:PREPU;

8’h14: nextstate = (~ZFLG)?JUMP:PREPU; default:nextstate = PREPU;

endcase

executive1: nextstate = PREPU;

executive2: nextstate = executive1; STORE: nextstate =PREPU;

JUMP: nextstate = PREPU; endcase

assign FETCH = (state ==PREPU || state ==PREPL ||state == FETCHU || state == FETCHL);

assign LOAD_IRU = (state == FETCHU); assign LOAD_IRL = (state == FETCHL);

assign INCR_PC = (state == FETCHU || state ==FETCHL); assign LOAD_AC = (state == executive1); //relate to value assign STORE_MEM = (state == STORE);

assign LOAD_PC = (state == JUMP); assign STATE =state;

endmodule

3 模式選擇單元的系統(tǒng)Verilog 代碼

模式選擇單元的系統(tǒng)Verilog 代碼如下。

//Huangjunjie this is used for the PC,MAR,MDR module Muxright(input logic A, B,

input logic Mode, output logic Z);

always_comb if(Mode) Z = B; else Z = A;

Endmodule

//Huangjunjie this is used for the LOAD_AC,LOAD_PC,etc module Muxleft(input logic [7:0]A, B,

input logic Mode, output logic [7:0]Z);

always_comb if(Mode) Z = B; else Z = A;

endmodule

4 電路圖的仿真框圖

電路圖的仿真框圖,如圖1 所示,涉及微處理器的內(nèi)部完整構(gòu)造。

圖1 電路圖的仿真框圖

5 仿真波形圖

仿真波形可用于檢驗(yàn)微處理器的功能是否正確,如圖2 所示。

圖2 仿真波形圖

可以發(fā)現(xiàn),波形與計(jì)算的波形相同。就像以clk 的第一個(gè)邊緣為例,MDR 加載到02,并且復(fù)位在狀態(tài)1下為低電平有效。操作碼變?yōu)?2,PC 添加到2,并進(jìn)入ALU。

6 結(jié) 論

微處理器的主要作用是執(zhí)行各種操作運(yùn)算,對(duì)于數(shù)的操作難易程度主要看微處理器的功能是否強(qiáng)大。微處理器的操作主要看中央處理器的運(yùn)算操作能力。本文利用軟件仿真的微處理器的代碼邏輯是否清晰,主要是循環(huán)利用PC 和ALU 交替進(jìn)行操作,而中央處理器主要負(fù)責(zé)循環(huán)遞歸的進(jìn)行操作者的命令。quartus軟件對(duì)于這類微處理器的操作比較方便,擁有最基礎(chǔ)的合成軟件邏輯門和高階寄存器。本文提及的system verilog 代碼目前只能在quartus 上執(zhí)行。這類sv 代碼邏輯清晰,電路結(jié)構(gòu)十分嚴(yán)謹(jǐn),對(duì)于最后集成電路的焊接、光刻、對(duì)照也十分清晰。

猜你喜歡
功能
拆解復(fù)雜功能
鐘表(2023年5期)2023-10-27 04:20:44
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基層弄虛作假的“新功能取向”
深刻理解功能關(guān)系
鉗把功能創(chuàng)新實(shí)踐應(yīng)用
關(guān)于非首都功能疏解的幾點(diǎn)思考
基于PMC窗口功能實(shí)現(xiàn)設(shè)備同步刷刀功能
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達(dá)功能
中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
主站蜘蛛池模板: 成人夜夜嗨| 亚洲经典在线中文字幕| …亚洲 欧洲 另类 春色| 性欧美精品xxxx| 91视频区| 亚洲成人播放| 99精品国产自在现线观看| 日韩区欧美国产区在线观看 | 久久免费视频6| 免费va国产在线观看| 99re在线观看视频| 一级片一区| 精品国产福利在线| 国产探花在线视频| 99在线小视频| 国产美女免费| 久久精品亚洲专区| 五月婷婷激情四射| 欧美三級片黃色三級片黃色1| 免费 国产 无码久久久| 国产精品一区二区在线播放| 成年片色大黄全免费网站久久| 国产精品亚欧美一区二区三区| 亚洲成人高清在线观看| 亚洲一区毛片| 精品久久久久无码| 91视频首页| 老色鬼欧美精品| 亚洲人成色在线观看| 亚洲IV视频免费在线光看| 国产福利影院在线观看| 国产精品真实对白精彩久久 | 欧美精品1区| 成人a免费α片在线视频网站| 一区二区偷拍美女撒尿视频| 欧美另类视频一区二区三区| 欧美日韩专区| 国产精品冒白浆免费视频| 国产亚洲欧美在线中文bt天堂| 国产精品高清国产三级囯产AV| 精品国产美女福到在线不卡f| 欧类av怡春院| 亚洲无码视频喷水| 5555国产在线观看| 91久久国产热精品免费| 国产永久在线视频| 久久无码av三级| 國產尤物AV尤物在線觀看| www精品久久| 久草青青在线视频| 国产91精品久久| 99久久这里只精品麻豆| 国产最爽的乱婬视频国语对白| 欧美国产菊爆免费观看| 国产系列在线| 国产精品林美惠子在线播放| 啦啦啦网站在线观看a毛片| 黑色丝袜高跟国产在线91| 在线观看国产精品日本不卡网| 中文字幕丝袜一区二区| 亚洲人成网址| 超清无码熟妇人妻AV在线绿巨人| 青青操国产视频| 日韩东京热无码人妻| 亚洲欧美天堂网| 国产精品极品美女自在线| 国产69囗曝护士吞精在线视频| 一级毛片在线免费视频| 亚洲国产看片基地久久1024| 亚洲娇小与黑人巨大交| 成人亚洲视频| 日本道综合一本久久久88| 国产后式a一视频| 国产欧美日韩资源在线观看| 国产精品夜夜嗨视频免费视频| 无码又爽又刺激的高潮视频| 2020精品极品国产色在线观看| 四虎AV麻豆| 色悠久久久| 久久久成年黄色视频| 亚洲一区二区三区国产精品| 四虎在线观看视频高清无码|