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

正文內(nèi)容

基于vhdl的8位模型計算機的設計與實現(xiàn)學士學位論文(參考版)

2025-06-30 21:05本頁面
  

【正文】 039。 END PROCESS。 reg2_out = reg2。 sysbus_out =sysbus。 mar_out = mar。 END IF。139。139。 END IF。 ELSE mem(TO_INTEGER(mar))=mdr。139。139。139。139。 mdr := sysbus。 THEN load_MDR=39。 ELSIF data_r(23)=39。139。139。 acc_out=acc。039。139。 END IF。 END IF。139。139。139。139。 END IF。 acc := acc UNSIGNED(reg1_out)。 THEN ALU_sub=39。 IF data_r(5)=39。 THEN ALU_ACC=39。 ELSIF IR_out(1 downto 0)=01THEN IF data_r(11)=39。 END IF。139。139。139。139。 END IF。 reg1:=sysbus。 then load_reg1=39。 If data_r(20)=39。 sysbus := STD_LOGIC_VECTOR(reg2)。 THEN REG2_bus=39。 IF data_r(19)=39。 sysbus := STD_LOGIC_VECTOR(reg1)。 THEN REG1_bus=39。 IF data_r(18)=39。 sysbus := STD_LOGIC_VECTOR(acc)。 THEN ACC_bus=39。 IF data_r(22)=39。 acc:=UNSIGNED(mdr)。 THEN load_ACC=39。 ALU IF data_r(16)=39。 IR_out = instr_reg。 END IF。rfillamp。139。139。 END IF。139。 END IF。 count = count+1。 THEN INC_PC=39。 ELSIF data_r(10)=39。139。139。 END IF。 sysbus := rfill amp。 THEN PC_bus=39。 PC IF data_r(15)=39。 data_r_out =data_r。 ELSE add_r := UNSIGNED(data_r(4 DOWNTO 0))。 ELSE add_r :=10100。039。 END IF。 ELSIF data_r(4 DOWNTO 0)=11110 THEN IF IR_out(1 downto 0)=10 THEN add_r :=00110。 op(2 DOWNTO 0)。 ELSIF RISING_EDGE(clock) THEN microprogram controller data_r := code(TO_INTEGER(add_r))。039。 mem = prog。 z_flag =39。039。)。 reg2 := (OTHERS =39。039。)。 mdr := (OTHERS =39。039。)。 instr_reg := (OTHERS =39。039。)。 THEN add_r:=(OTHERS =39。 IF reset=39。 VARIABLE temp: STD_LOGIC_VECTOR(4 DOWNTO 0)。 VARIABLE add_r : UNSIGNED(4 DOWNTO 0)。 VARIABLE sysbus : STD_LOGIC_VECTOR(word_w1 DOWNTO 0)。 VARIABLE reg2 : STD_LOGIC_VECTOR(word_w1 DOWNTO 0)。 VARIABLE mdr : STD_LOGIC_VECTOR(word_w1 DOWNTO 0)。039。 VARIABLE acc : UNSIGNED(word_w1 DOWNTO 0)。 SIGNAL sysbus_out : STD_LOGIC_VECTOR(word_w1 DOWNTO 0)。 SIGNAL reg1_out : STD_LOGIC_VECTOR(word_w1 DOWNTO 0)。 SIGNAL IR_out : STD_LOGIC_VECTOR(word_w1 DOWNTO 0)。 SIGNAL mdr_out : STD_LOGIC_VECTOR(word_w1 DOWNTO 0)。 SIGNAL op : STD_LOGIC_VECTOR(op_w1 DOWNTO 0)。 CONSTANT code : microcode_array:=(0= 000000001001010000000001,1= 000000000000000110000010,2= 000000000110000000000011,3= 000000000001001000011111, 4= 000000010010000000000000,5= 000100000000000000000000,6= 100000000000000000000111,7= 000010000001000000001111,8= 000000000000000110000100,9= 010000000000000000011110,10= 000000000000000110010000, 11= 000001000000100000100000,12= 000010000001000000010001,13= 000000000000000110011100,14= 000000000000000000000000,15= 000000000000000100000000, 16= 000000000010100001000000,17= 000000000000000110010010,18= 001000000010100000000000,19= 000000100010000000000000, 20= 000000000000000000000000)。 00, 6= STD_LOGIC_VECTOR(TO_UNSIGNED(2,word_w)), 7= STD_LOGIC_VECTOR(TO_UNSIGNED(3,word_w)))。 010 amp。 010amp。 001 amp。01, 2=op2slv(add)STD_LOGIC_VECTOR(TO_UNSIGNED(6,word_wop_w2))amp。00, 1= op2slv(sta) amp。 CONSTANT prog : mem_array:=( 0=op2slv(load)amp。ARCHITECTURE rtl OF CPU IS TYPE mem_array IS ARRAY (0 TO 2**(word_wop_w2)1) OF STD_LOGIC_VECTOR(word_w1 DOWNTO 0)。 add_r_out : OUT UNSIGNED(4 DOWNTO 0) )。 regg_out: OUT STD_LOGIC_VECTOR(word_w1 DOWNTO 0)。 data_r_out : OUT STD_LOGIC_VECTOR(23 DOWNTO 0)。 mem_addr : IN UNSIGNED(word_wop_w3 DOWNTO 0)。 reset : IN STD_LOGIC。USE 。 CPU的VHDL源程序設計LIBRARY IEEE。 end function slv2op。 end loop。 begin for i in opcode loop if slv=trans_table(i) then transop:=i。 END FUNCTION op2slv。 CONSTANT trans_table:optable :=(000, 001, 010, 011, 100, 101,110)。END PACKAGE cpu_defs。 FUNCTIOn slv2op(slv:IN STD_LOGIC_VECTOR) RETURN opcode。039。 CONSTANT op_w: NATURAL :=3。PACKAGE cpu_defs IS TYPE opcode IS (load,sta, sub, add, and1, jmp1, nop)。 頂層VHDL源程序設計 頭文件cpu_defs的VHDL設計LIBRARY IEEE。第2條指令“ADD A,7”執(zhí)行完畢。由于EDA=1,數(shù)據(jù)寄存器DR的輸出呈高阻態(tài),于是將其與內(nèi)部數(shù)據(jù)總線切斷。由于ESUM=0,IA=0,則在CLK上升沿到來時,將SR寄存器的內(nèi)容通過內(nèi)部數(shù)據(jù)總線送入累加器A。 (13)在T6=1節(jié)拍期間,IA=0,ESUM=0,EDA=1。ISUM=0。加法器ALU(2片74LS83)完成兩個操作數(shù)的加法運算,相加結果在SR寄存器的輸入端。由存儲器EPROM讀出操作數(shù)00000111,該數(shù)在外部數(shù)據(jù)總線上。此取址過程與(1)~(3)相同。 (9)在第2條指令的T0~T2節(jié)拍期間PC的內(nèi)容為010,取出EPROM中底2條指令的操作碼為11000110,經(jīng)譯碼后為ADD=1,即執(zhí)行加操作。 (8)在T7=1節(jié)拍期間,各個邏輯功能部件保持原狀態(tài),第1條指令“LD A,6”執(zhí)行完畢。 (7)在T6=1節(jié)拍期間,IA=0,在第7個CLK上升沿到來時,內(nèi)部數(shù)據(jù)總線上的操作數(shù)00000110送入累加器A。 (6)在T5=1節(jié)拍期間,IPC=1,在第6個CLK上升沿到來時,PC執(zhí)行PC+1操作,即PC內(nèi)容由001變成010,。 (5)在T4=1節(jié)拍期間,IDR=1,在第5個CLK上升沿到來時,外部數(shù)據(jù)總線上的操作數(shù)送入DR,并送入內(nèi)部數(shù)據(jù)總線。由存儲器EPROM讀出操作數(shù)00000010,該數(shù)在外部數(shù)據(jù)總線上。在第3個CLK下降沿到達時,T2節(jié)拍結束,開始T3節(jié)拍。 (3)在T2=1節(jié)拍期間,IIR=0;IPC=1。 (2) 在T1=1節(jié)拍期間,IDR=1;在第2個CLK上升沿到來時,將指令操作碼00111110送入DR,并直接送到內(nèi)部數(shù)據(jù)總線。4 基于VHDL的8位模型計算機的實現(xiàn) 基于VHDL的微程序執(zhí)行流程圖 微程序執(zhí)行流程圖 8位模型機的頂層原理圖設計 8位模型計算機頂層設計原理圖 基于VHDL的8位模型機工作流程 連接好頂層設計原理圖或頂層文件編程后,編譯成功,就可以進行工作其工作過程如下: (1)上電復位(CLR=0)后,程序計數(shù)器PC清零,即PC的狀態(tài)是000;節(jié)拍發(fā)生器產(chǎn)生T0節(jié)拍,即T0=1;在T0節(jié)拍內(nèi),IMAR=0,將PC內(nèi)容送入地址寄存器MAR,使存儲器的地址線為000,由存儲器EPROM讀出指令操作碼00111110,并送入DR的輸入端。 數(shù)據(jù)寄存器DR功能仿真 波形分析:輸入數(shù)據(jù)設置從00000000開始遞增1,EDR和IDR設置為01交替且在時鐘上升沿是不變化的,當IDR=1且時鐘信號CLK上升沿到來時,將被選中的存儲單元中的數(shù)據(jù)存入DR。DATA_OUT=REGQ WHEN EDR=’0’ ELSE “ZZZZZZZZ”。END IF。BEGIN PROCESS(CLK,IDR,EDR) BEGINIF(CLK’EVENT AND CLK=’1’) THEN IF(IDR=’1’) THEN REGQ=DATA_IN。END DR。 CLK:IN STD_LOGIC。 IDR:IN STD_LOGIC。USE 。當EDR=1時DR輸出成高阻態(tài);當EDR=0時,DR將所存儲數(shù)據(jù)送到數(shù)據(jù)總線。輸出信號為DOUT輸出的是選中地址中相應的內(nèi)容,仿真波形圖驗證了其功能的正確性。END A。 END IF。 BEGIN IF(CS=’0’) THEN IF(WR=’0’) THEN MEM(CONV_INTEGER(ADDR(2 DOWNTO 0))):=DIN。AR
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1