乘法器实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

乘法器实验报告

篇一:计组-4位乘法器实验报告

实验4位乘法器实验报告

XXX 姓名:

课程名称:计算机组成

实验时间:XXX 学号:同组学生姓名:无实验地点:指导老师: XXX 专业:计算机科学与技术

一、实验目的和要求

1. 熟练掌握乘法器的工作原理和逻辑功能

二、实验内容和原理

实验内容:

根据课本上例3-7的原理,来实现4位移位乘法器的设计。具体要求:1. 乘数和被乘数都是4位

2. 生成的乘积是8位的

3. 计算中涉及的所有数都是无符号数

4.需要设计重置功能

5.需要分步计算出结果(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 clk)

begin

case (count[15:14])

2'b00 :

begin

o_sel 2'b01 :

begin

o_sel code 2'b10 :

begin

o_sel 2'b11 :

begin

o_sel code endcase

case (code)

4'b0000: o_seg 4'b0011: o_seg 乘法器实验报告)0000000; 4'b1001: o_seg count end endmodule

UCF:

Net “clk” loc=”T9”;

Net “o_seg[0]” loc=”E14”;

Net “o_seg[1]” loc=”G13”;

Net “o_seg[2]” loc=”N15”;

Net “o_seg[3]” loc=”P15”;

Net “o_seg[4]” loc=”R16”;

Net “o_seg[5]” loc=”F13”;

Net “o_seg[6]” loc=”N16”;

Net “o_seg[7]” loc=”P16”;

Net “o_sel[0]” loc=”D14”;

Net “o_sel[1]” loc=”G14”;

Net “o_sel[2]” loc=”F14”;

Net “o_sel[3]” loc=”E13”;

Net “switch[0]” loc=”M10”;

Net “switch[1]” loc=”F3”;

Net “switch[2]” loc=”G4”;

Net “switch[3]” loc=”E3”;

Net “switch[4]” loc=”F4”;

2. ALU控制器的实现:

? 输入用 2 + 6 = 8 个拨动开关篇二:1496模拟乘法器实验报告

实验课程名称:_高频电子线路

- 1 -

- 2 -

- 3 -

- 4 -

相关文档
最新文档