乘法器实验报告
篇一:计组-4位乘法器实验报告
实验4位乘法器实验报告
XXX 姓名:
课程名称:计算机组成
实验时间:XXX 学号: 同组学生姓名:无实验地点: 指导老师: XXX 专业: 计算机科学与技术
一、实验目的和要求
1. 熟练掌握乘法器的工作原理和逻辑功能
二、实验内容和原理
实验内容:
根据课本上例3-7的原理,来实现4位移位乘法器的设计。具体要求:1. 乘数和被乘数都是4位
2. 生成的乘积是8位的
3. 计算中涉及的所有数都是无符号数
(4位乘数的运算,需要四步算出结果)
实验原理:
1. 乘法器原理图
2. 本实验的要求:
1. 需要设计按钮和相应开关,来增加乘数和被乘数
2. 每按一下M13,给一个时钟,数码管的左边两位显示每一步的乘
积
3. 4步计算出最终结果后,LED灯亮,按RESET重新开始计算
三、主要仪器设备
1. Spartan-III开发板
2. 装有ISE的PC机
1套 1台
四、操作方法与实验步骤
实验步骤:
1. 创建新的工程和新的源文件
2. 编写verilog代码(top模块、display模块、乘法运算模块、去抖动模块以及UCF引脚)
3. 进行编译
4. 进行Debug 工作,通过编译。
5.. 生成FPGA代码,下载到实验板上并调试,看是否与实现了预期功能
操作方法: TOP:
module alu_top(clk, switch, o_seg, o_sel);
input wire clk;
input wire[4:0] switch;
output wire [7:0] o_seg; // 只需七段显示数字,不用小数点 output wire [3:0] o_sel; // 4个数码管的位选
wire[15:0] disp_num;
reg [15:0] i_r, i_s;
wire [15:0] disp_code;
wire o_zf; //zero detector
initial
begin
i_r i_s end
alu M1(i_r, i_s, switch[4:2], o_zf, disp_code);
display M3(clk, disp_num, o_seg, o_sel);
assign disp_num = switch[0]?disp_code:(switch[1] ? i_s : i_r);
endmodule
DISPLAY:
module display(clk, disp_num, o_seg, o_sel); input wire clk;
input wire [15:0] disp_num; //显示的数据
output reg [ 7:0] o_seg; //七段,不需要小数点 output reg [ 3:0] o_sel; //4个数码管的位选
reg [3:0] code = 4'b0;
reg [15:0] count = 15'b0;
always @(posedge cl
乘法器实验报告 来自淘豆网m.daumloan.com转载请标明出处.