- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
計组-4位乘法器实验报告
实验4位乘法器实验报告姓名:XXX学号:XXX专业:计算机科学与技术课程名称:计算机组成同组学生姓名:无实验时间:实验地点:指导老师:XXX实验目的和要求1.熟练掌握乘法器的工作原理和逻辑功能二、实验内容和原理实验内容:根据课本上例3-7的原理,来实现4位移位乘法器的设计。具体要求:1. 乘数和被乘数都是4位 2. 生成的乘积是8位的 3. 计算中涉及的所有数都是无符号数 4.需要设计重置功能 5.需要分步计算出结果(4位乘数的运算,需要四步算出结果)实验原理:乘法器原理图本实验的要求:需要设计按钮和相应开关,来增加乘数和被乘数每按一下M13,给一个时钟,数码管的左边两位显示每一步的乘积4步计算出最终结果后,LED灯亮,按RESET重新开始计算三、主要仪器设备Spartan-III开发板1套装有ISE的PC机 1台四、操作方法与实验步骤实验步骤:创建新的工程和新的源文件编写verilog代码(top模块、display模块、乘法运算模块、去抖动模块以及UCF引脚)进行编译进行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 detectorinitialbegini_r = 16h1122;//0x1122i_s = 16h3344;//0x3344endalu M1(i_r, i_s, switch[4:2], o_zf, disp_code);display M3(clk, disp_num, o_seg, o_sel);assigndisp_num = switch[0]?disp_code:(switch[1] ? i_s : i_r);endmoduleALU:module alu(i_r, i_s, switch, o_zf, disp_code);input[15:0] i_r, i_s;input[2:0] switch;output rego_zf;// zero detectoroutput reg[15:0] disp_code;always@(switch[2:0])begincase(switch)3b000: disp_code = i_r i_s;3b001: disp_code = i_r | i_s;3b010: disp_code = i_r + i_s;3b110: disp_code = i_r - i_s;3b111: disp_code = i_r i_s ? 1:0;endcaseif(disp_code == 16b0)o_zf = 1;endendmoduleDISPLAY: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 = 4b0;reg [15:0] count = 15b0;always @(posedgeclk) begincase (count[15:14])2b00 : begino_sel = 4b1110; code = disp_num[3:0];end2b01 :begino_sel = 4b1101;code = disp_num[7:4];end2b10 : begino_sel = 4b1011;code = disp_num[11:8];end2b11 : begino_sel = 4b0111;code = disp_num[15:12];endendcase case (code) 4b0000: o_seg = 8 4b0001: o_seg = 8 4b0010: o_seg = 8b10100
文档评论(0)