计算机组成原理实验由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“计算机组成原理实验十”。
ALU设计
module ALU(ALU_OP,AB_SW,F_LED_SW,LED);
input[2:0] ALU_OP,AB_SW,F_LED_SW;
output[7:0] LED;reg[7:0] LED;
reg[31:0] A,B,F;reg OF,ZF;
always@(*)begin
end
always@(*)begin
ZF=0;OF=0;case(ALU_OP)
3'b000: begin F=A&B;end 3'b001: begin F=A|B;end 3'b010: begin F=A^B;end 3'b011: begin F=~(A|B);end 3'b100: begin {OF,F}=A+B;OF=OF^F[31];end 3'b101: begin {OF,F}=A-B;OF=OF^F[31];end 3'b110: begin F=A
3'b000: begin A=32'h0000_0000;B=32'h0000_0000;end 3'b001: begin A=32'h0000_0003;B=32'h0000_0607;end 3'b010: begin A=32'h8000_0000;B=32'h8000_0000;end 3'b011: begin A=32'h7FFF_FFFF;B=32'h7FFF_FFFF;end 3'b100: begin A=32'h8000_0000;B=32'hFFFF_FFFF;end 3'b101: begin A=32'hFFFF_FFFF;B=32'h8000_0000;end 3'b110: begin A=32'h1234_5678;B=32'h3333_2222;end 3'b111: begin A=32'h9ABC_DEF0;B=32'h1111_2222;end endcase endcase
if(F==32'b0)ZF=1;end
always@(*)begin
end case(F_LED_SW)
3'b000: LED=F[7:0];3'b001: LED=F[15:8];3'b010: LED=F[23:16];3'b011: LED=F[31:24];default:begin LED[7]=ZF;LED[0]=OF;LED[6:1]=6'b0;end endcase
endmodule 管脚配置
NET “AB_SW[0]” LOC = T10;NET “AB_SW[1]” LOC = T9;NET “AB_SW[2]” LOC = V9;NET “ALU_OP[0]” LOC = M8;NET “ALU_OP[1]” LOC = N8;NET “ALU_OP[2]” LOC = U8;NET “F_LED_SW[0]” LOC = V8;NET “F_LED_SW[1]” LOC = T5;NET “F_LED_SW[2]” LOC = B8;NET “LED[0]” LOC = U16;NET “LED[1]” LOC = V16;NET “LED[2]” LOC = U15;NET “LED[3]” LOC = V15;NET “LED[4]” LOC = M11;NET “LED[5]” LOC = N11;NET “LED[6]” LOC = R11;NET “LED[7]” LOC = T11;寄存器 module jicunqi(input Clk, input Reset, input [4:0] Reg_Addr, input Write_Reg, input [1:0] Sel, input AB, output reg [7:0] LED);reg [31:0] W_Data;wire [31:0] R_Data_A,R_Data_B,LED_Data;REG RU1(Clk,Reset,Reg_Addr,Reg_Addr,Reg_Addr,W_Data,Write_Reg,R_Data_A,R_Data_B);aign LED_Data=AB?R_Data_A : R_Data_B;always @(*)begin
W_Data=32'h0000_0000;
LED=8'b0000_0000;
if(Write_Reg)
begin
case(Sel)
2'b00: W_Data= 32'h1234_5678;
2'b01: W_Data= 32'h89AB_CDEF;2'b10: W_Data= 32'h7FFF_FFFF;2'b11: W_Data= 32'hFFFF_FFFF;endcase end
else
begin
case(Sel)
2'b00: LED=LED_Data[7:0];2'b01: LED=LED_Data[15:8];2'b10: LED=LED_Data[23:16];2'b11: LED=LED_Data[31:24];
endcase end end endmodule `timescale 1ns / 1ps // REG.v module REG(input Clk, input Reset, input [4:0] R_Addr_A, input [4:0] R_Addr_B, input [4:0] W_Addr, input [31:0] W_Data, input Write_Reg, output [31:0] R_Data_A, output [31:0] R_Data_B);
reg [31:0] REG_Files[0:31];integer i;
aign R_Data_A=REG_Files[R_Addr_A];aign R_Data_B=REG_Files[R_Addr_B];
always @(posedge Clk or posedge Reset)begin
if(Reset)
begin
for(i=0;i
REG_Files[i]
end
else
begin
if(Write_Reg)
begin
REG_Files[W_Addr]
end end end endmodule
管脚配置 NET “Clk” LOC=“C9”;NET “Reset” LOC=“D9”;NET “Reg_Addr[4]” LOC=“T5”;NET “Reg_Addr[3]” LOC=“V8”;NET “Reg_Addr[2]” LOC=“U8”;NET “Reg_Addr[1]” LOC=“N8”;NET “Reg_Addr[0]” LOC=“M8”;NET “Write_Reg” LOC=“V9”;NET “Sel[1]” LOC=“T9”;NET “Sel[0]” LOC=“T10”;NET “AB” LOC=“A8”;NET “LED[7]” LOC=“T11”;NET “LED[6]” LOC=“R11”;NET “LED[5]” LOC=“N11”;NET “LED[4]” LOC=“M11”;NET “LED[3]” LOC=“V15”;NET “LED[2]” LOC=“U15”;NET “LED[1]” LOC=“V16”;NET “LED[0]” LOC=“U16”;
计算机组成原理实验一基础汇编语言程序设计实验目的:1. 学习和了解TEC-2000十六位机监控命令的用法; 2. 学习和了解TEC-2000十六位机的指令系统; 3. 学习简单的TEC-2000十六位机汇......
计算机组成原理实验日志实验题目:进位、移位控制实验实验目的:(1)了解带进位控制的运算器的组成结构; (2)验证带进位控制的运算器的功能。 (3)了解移位发生器74LS299的功能; (4)......
计算机组成原理实验日志3 实验题目:静态随机存储器实验 实验目的:掌握静态随机存储器RAM工作特性及数据的读/写方法。 实验主要步骤:(1)形成时钟脉冲信号T3。具体接线方法和操......
软件082 袁晓辉200800834211uPC实验实验要求:利用COP2000实验仪上的K16..K23开关做为DBUS的数据,其它开关做为控制信号,实现微程序计数器uPC的写入和加1功能。 实验目的:1.了解......
实验3 半导体存储器原理实验(一)、实验目的(1)熟悉静态随机存储器RAM和只读存储器ROM的工作特性和使用方法; (2)熟悉半导体存储器存储和读出数据的过程; (3)了解使用半导体存储器电路......