计算机组成原理实验报告
代码:
module logic_operation
#(parameter ISA_WIDTH = 4, DATA_WIDTH = 8) ( input sys_clock, input sys_reset,
input [ISA_WIDTH - 1 : 0] control, input [DATA_WIDTH - 1 : 0] data_a, input [DATA_WIDTH - 1 : 0] data_b, output reg[DATA_WIDTH - 1 : 0] result );
integer i;
always @(posedge sys_clock or posedge sys_reset) begin if (sys_reset == 1'b0) begin result <= 4'b0; end
else begin
case (control) 4'b0000: begin
for (i = 0; i < DATA_WIDTH; i = i + 1) result[i] = data_a[i]; end
4'b0001: begin
for (i = 0; i < DATA_WIDTH; i = i + 1) result[i] = data_b[i]; end
4'b0010: begin
for (i = 0; i < DATA_WIDTH; i = i + 1) result[i] = data_a[i] & data_b[i]; end
4'b0011: begin
for (i = 0; i < DATA_WIDTH; i = i + 1) result[i] = data_a[i] | data_b[i]; end
6
计算机组成原理实验报告
4'b0100: begin
for (i = 0; i < DATA_WIDTH; i = i + 1) result[i] = ~data_a[i]; end
default: ; endcase end end
endmodule
五、调试运行结果:
还在学习Testbench的编写,所以调试就没有跟进了。
六、所遇问题及解决方法:
1. 自己在实践过程中,连线比较枯燥,刚开始连错了,造成重大失误,导致LED灯亮的效
果跟实验中的不一样,后来经过自己的检查,纠正了这个错误。
七、实验总结:
1. 通过本次实验了解运算器的组成结构(即输入逻辑、输出逻辑、算术逻辑单
元),掌握运算器的工作原理(主要是加法器)。知道运算器的输出跟数据总线相连,同时两个输入端通过两个锁存器也与数据总线相连。 2. 完成了本次实验,提高了我对组成原理实验的积极性,更教育了我实验要认真,要培
养了实验要认真,要严谨的态度。
八、建议:
1. 2. 3.
7