1、计算机组成原理模型机实验报告计算机组成原理模型机实验报告实验六计算机系统综合设计与实现 一、实验目得、深入理解计算机系统工作得基本原理,建立整机概念.2、融会贯通计算机组成原理课程得内容,通过知识得综合运用,加深对计算机系统各模块得工作原理及相互联系得认识.3、培养科学研究得独立工作能力,取得工程设计与组装调试得实践经验。二、实验要求1、将已经设计得运算器、存储器与控制器连接,构建完整得计算机系统; 2、编写一段可以实现一定功能得指令程序,进行计算机整机系统功能得验证.、所有任务要求功能仿真与必要得验证。实验完成后,一周内提交实验报告。三、实 验设备PC机+ Qats1、0 FPGA(DE2;
2、15)+TEC-实验箱 四、计算机系统(TEC;8) ) 综合逻辑框图硬连线控制器控制信号切换电路AU 端口B端口C R0 R1 R R3 R P AR 双端口 DUS五、实验任务1、将实验二得运算器、实验三得存储器与实验五得控制器连接,构建完整得计算机系统; 、计算机整机系统功能测试,进行功能仿真与时序仿真并在D2;15上验证。()根据指令系统,编写一段可以实现一定功能得程序,要求: 有一个合理得运算功能与逻辑关系; 指令数量:不少于8条; 指令类型:停机、跳转、RR、读存、写存、算术与逻辑运算; (2)将指令程序手工汇编成二进制代码; (3)理论上设置寄存器得初值,并计算程序执行后得结果;
3、 ()将指令程序得二进制代码存入存储器RA中; (5)将需要得运算数据初值存入寄存器-R3中; (6)进行程序连续运行得功能仿真与时序仿真,将仿真运算结果与理论计算结果进行比较。六、实验步骤 实验电路图子模块 (1 )tr _742 4tri74244、v mdule t_74244 (en,Di,Dou ); inpt en ; wir en ;input 7:0 Din;i :0 Din ;output 7:0 Dout ;rg 7:0 Dout ;wa (e o Din) bgiif (en) Dot= n ; eleDot = 8bzzzzzz; edendmodue timesale
4、 1 ps/ 1 p moule tr_4_v_st(); reg eacec; eg 7:0 Din; reg e; ire 7:0Dout; i7424、 tmescal p moule tri_742_vl_tt(); reg chvc; eg 7:0 Din; g ; wi 7:0Do; t_7424 i1 (、Dn(Din),、Dot(Do), 、)e(ne); ntgr i;intalbgini=0;Dinb000000; n; en=; 3 e=0; 40 e=1; endiiialbgifo(i0;i;ii1)begn10 Di;endedendmou ri7424功能仿真 (
5、2 )ALU、bdmoolue481可即件文olire为换转块模 1817 得中库utauq 用使de2_d24、v module 2_4(en,in,out);input2:in ;inpten;outut 4:1out ;reg4:out ;alway(en or i)if(en)case (n)2b00:ou4b001;201:out=b010; 20:ut=b0100;2b:u=4b1000;dflt:ut4b00;endcaseelse ot4b000;ndodue d d 2_4 、t tiesale n ps modu de24_vlg_tst(); re echvec; e e
6、; reg 2: in; wire 4:1out;d2_ ( 、 ,)n(e、 ,)n(n 、out(ot) );iniialeien0; nd intilbei 10 e=1; n iitialbein 5 in=2b00; #5 in=2b0; i=2b1; 15 in2b1; #40 $finis; end nitial mnitr($time,,= in% ot=b,e,n,ou);dmodlregeg8、 modle re8 ( T,DOU , );put T3 ; wie T3 ; inpu : D ; wir 7: D ;utput 7:0 DOUT ;eg 7:0 OUT ;w
7、ays( poedge T3 )bgiDT D ;endeduerg8、vt timscle 1 ps 1 ps oule regvl_tst; g eahvc; reg 7:0 D; reg T3; wire :0DOUT; re8 i1 (、D(D),、DU(DOUT), 、)3T(3); inteer i; iital giT3=; D=8; endalwas bgin5 3= T3;eninitialginfo(i0;i11;i+1)begi#10 D=;enddenmodlmu_4_1_4_、v moule mu_1(d1,d2,3,4,se1,s2,ot); iput 7:1; i
8、put 7:0d; input 7:0d3;nt 7:d; input e1; nput se2; outut dou;rg 7:du;always(d1 o 2 or 3 o d4 r e1 or se2)case(e2,e1)00 : do=1;21 :dout=d2;1 :dutd3;211 :dou=d;endcas enodule mu_41、t tiescale 1 ps/ s moule mu_4_g_t(); reg eacc; reg 7:0 d; reg 7:0 d2; reg 7:0 d3; reg :0 d4; eg s1; reg s2; ie :0dut; m_1
9、i1 ( 、,)1d(1、d2(d), 、,)3d(3d 、4(d4),、dout(o),、se1(se1), 、)2e(2es); ineger ,j; initialben10 d=8000001; 2=b00000010; =8b0000011; d4=0000100;niniialbeginwile()o(i=;i2;=+1)fo(=0;j2;jj1)begn#5 s2i; se1j;endndendmoueALU 逻辑电路图 逻辑功能表 (1) 写寄存器(例如:向通用寄存器 R0;R3 分别写入数据5H/A/03/04) 3 RD DRW AU DU7、 功能(写R) uarr; 0
10、 0 1 55 55HR0 uarr; 0 1 1 0 AH AAH1 uarr; 1 0 1 0 3H HR2 uarr; 1 1 1 1 0 04H 04H3(2) 选择将 R0 送 4181 得 端口,R1 送 送 B 端口 , 进行算术功能验算 M Cn S3、0RD R RW SUS ABS DS、0 15 1 ff.0 54 (3 )选择将 0 送 4 81 得 得 A 端口,R1 送 送 B 端口,进行逻辑功能验算 M n 3、 RD RS R SBUS BUS DU7、0 11 AA 1 0.11 55 当 =55H , = H , =0000 111 ,M= , IN 1 时
11、仿真测试文件及功能仿真波形timecale 1 / 1 s module l_vlg_ts(); g T3; eg BUS; r DR; eg ABUS; reg LD; reg IN; re M; rg 1: R; rg 1: RS; reg 3: S; eg 7:0 SD; wir 7:0DBU; ire C; u 1 (、AU(BUS), 、 ,)(C、 ,)NIC(NI 、DB(DBUS), 、 ,)WRD(RD 、D(LDC),、M(M),、RD(RD), 、 ,)SR(SR 、S(S), 、 ,)SUBS(SUBS、 ,)DS(S 、T3(T3); nitialbgiT3=0; B
12、US=;DR=1;AU=0;RD=2b00;=8b100;#0 RD=b;S=8b01; 10 RD=2b1;SD=8b0001;10 RD=11;SD=b0000000;10 RD=2b; R20;SBUS=0;DRW=0;ABUS; CIN;LDC=1; M=0;endwysein5 T3=;nd integer i; intalben#40S=4b000;for(1;i;=i+1)10 S=i; endinitialmntr($te,,M= S= IN=b D= S=% Cb,M,S,I,SD,BUS,C); mdue 指令 A R0 ,R1( R0+R10) 得仿真测试文件及功能仿真波
13、形 tmescale 1 ns/ 1 s modle allg_st(); reg 3; re SBUS; eg DRW; eg ABUS; g DC; eg CIN; reg ; reg 1: RD; reg 1:0 R; eg 3:0 S; eg 7:0 ; ir 7:0DBS; re C; lu ( 、 ,)SU(SA、 ,)C(C、 ,)NIC(NIC、 ,)SUBD(SUB 、DRW(DR), 、 ,)CDL(DL 、M(M),、RD(D),、R(RS),、(S),、SBUS(SBS),、SD(SD), 、 )3(3); nitalfkT3=0;SS=1;DRW=1;ABU0;RD=
14、2b00;S=80000111; D=2b0;0 SD=8b000001; 20 RD=2b00;20 RS=20; 0 SBS=; #20 RW0;20 AS=;#0 C; #2 LC=;#2 =0; #20 S=b1001; 30 =2b00;# DW1; 40 DRW=0; ialwaysbegn T3=T3;nd endmoule00nDBS=0T3 上升沿到来(5时)数据H 被写 R0 0nDBU01HT3 上升沿到来(1ns 时)数据 01H 被写 R1 20ns= R+R=0+1=08H 30nsT上升沿到来(5ns)时 DBUS 数据8H 被写 R,因此 DBUS0R1=08H
15、0H=0H (说明实现了0+R )注意:此时=0, 10,CIN1(相当于00),实现算术运算 A+B 指令 SUB R0 ,R1 ( R -R1 R )得仿真测试文件及功能仿真波形 iescale 1 n/ ps modl al_ltst(); reg 3; reg SBU; e DRW; reg BU; eg LDC; reg N; re ; re 1:0 RD; reg 1: RS; rg 3:0 S; reg :0 ; we 7:0BUS; ire C; alu i ( 、 ,)SUB(SUBA 、C(C), 、 ,)NI(NI、 ,)SUBD(SUBD、 ,)WR(W 、LC(C),
16、 、 ,)(、 ,)R(R 、RS(RS),、(S), 、 ,)B(SUBS 、SD(SD),、T3(3)); niialfor3=0; SBUS=1;RW=1;BUS=0; R=b00;SD=8b0000111;10 RD=2b0;1 SD=8b000001;#20 2b0;#2 RS=2b0; #0 SBUS=0; 20 DRW=0;0 ABS1;20 CI0; #0 DC=1;20 M=0; 20 =0110;# Rb0;3 D=1; #0 DRW=; oinalwysegin5 3=T3;nd ndmodle 00nDBUS033 上升沿到来(5ns 时)数据7H 被写 R0 0sDB
17、US=01HT3 上升沿到来(5ns 时)数据 0被写 R1 20nsDBUS= 0;107-106 30nT3 上升沿到来(35)时 DBS 数据 06H 被写,因此 DBSR0;R1=06H;1=5H (说明实现了 R0-R1 R0)注意:此时 M=0,S=0110,实现算术运算 A;1,设置 CIN=0(相当于 C01),让进位 C0=1,因此实现运算(A;B-1)+1-B 指令 AND0 ,R (R0 1 R0 )得仿真测试文件及功能仿真波形 timecale 1 n/ 1 ps mdle lu_vlgts(); r T3; g SBUS; re RW; reg BUS; reg DC
18、; eg CI; eg ; 1: RD; re 1:0 RS; reg 3:0 S; reg 7:0 SD; wir 7:0DBS; ie C; alu i1 ( 、 ,)SUB(SUBA 、(C),、(CIN),、DBU(DBU), 、 ,)WRD(WRD、 ,)CDL(CD 、(M),、RD(RD),、R(RS), 、 ,)S( 、SBU(SBU), 、 ,)DS(S、 )3T(3T); nitilforkT3=0;SUS=1;DR=;ABUS=0; RD=2b00;SD=8b000011;#10 R=201;0 S=8b00101;20 D=2b00;#20 S=2b;# SB=0;#0
19、 DRW=;20 BS=1;0 CN=1;#2 LDC=1;#20 M1; 2 S4;#0 RD=b00;#30 DR=1; #38 S=4b0000;40 RW=0;joinasegi T3=T3;end edmule 00nDBUS0000011T3 上升沿到来(5ns 时) 数据被写 R0 0nDBU=00103 上升沿到来(1ns 时)数据被写1 0nsDBUS= R;R1=00000 3nsRW=1T上升沿到来(35n)时BUS 数据被写 R0, 3 ns1,S=0000DBU=RR1=1111110H 实现了求反运算 (说明已经实现了 R0;R 0) (3)RA AM、f cnt6
20、cn26、v odue cnt56(,DA,LDN,reset,);otpt 7:0 Q; inut 7:0 D; inu L,eet,clk; reg 7:0 ; always (psedge c o negedge rest)/clk 上升沿触发begnif(!eet)/异步清零,低电平有效=b0;else i(!DN)Q=DAT;/同步置数,低电平有效ee Q+1;/计数 ed endmdulec5、vt tescale 1 ns/ 1 ps modul cnt26_gtst; re 7:0 DATA; rg LDN;r ck; reg rese;wire :0Q; cnt256 1 (
21、、DATA(DTA),、N(N),、Q(),、clk(c), 、)er(teser); initaleginDAA1h; lk=0;est=1;DN=;AA=80001010; #20 eset=;eset=; 260 DN=0;#80 LN=1; endalwysbgi#20 clkclk;edenmdasd口端双成生接连行进器储存口端单两用再,器储存口端单成生先块模能功宏用利存储器 RAM4 仿真测试逻辑图 双端口逻辑功能表(1)从左端口写存储器(在 0 H 单元中写入数据 11 )(右端口为只读端口)T 3 M WSB SL RL C B S C R_ARIN PCINC D 7 、0
22、功能 uarr;011001 101HARuarr; 1 00010 111 (1)(地址线与数据线分时复用技术,先送地址,再送数据)用同样方法在 0 中写入 22H(2)从左端口读存储器(从 01 中读出数据 11H)(右端口为只读端口)T2T MEMWSBU C B SCLR_A NCP C7 、 功能_uarr;01100 0 0101HA uarr;_00 01 00_(H)DBS(地址线与数据线分时复用技术,先送地址,再送数据)用同样方法读出 0 H 中得 22H(3) 从右端口读存储器(从 1 中读出数据 1 H)(右端口为只读端口)T2T3 M M B LARCMBUS LR_A
23、 INCPCIN SD 7 、0功能_uarr;0 0 1000 HPCuarr; 00 0 00_ (01) INS(地址线与数据线分时复用技术,先送地址,再送数据)用同样方法读出 02H 中得 22H( )AR 自动加 读存储器(从左端口连续读存储器)T2T M MWSBU LARLP BUSC R ARINC C NCSD7 、0 功能uarr;_0000 10_MDB S(5 )PC自动加 1读存储器 (从右端 口连续 读存储 器) 2T3MWSBUSLPCMBUSCLR_AR N CI CSD7 、0 功能uarr;_ 0000 0 _MIN(4 )UCU_ir_1U_1、bdf ram640rm64_40、v module rom64_40 (,d q); tni 0:;dda outpt 3:0;reg 39:0 q;always (adr5 or adr or add3 r addr2 or addr1 r add0)nigebcas(ad5,adr4,adr3,adr2,ddr,adr0)6 ;0000c0 = : h 6h01 :q = 00
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1