- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4FPGA实验报告8位乘法器—徐艺萍
实验四 8位乘法器实验
一、实验原理
8位乘法器,输入为两个8位信号,输出结果为16位。
module mult8(out, a, b); //8位乘法器源代码
parameter size=8;
input[size-1:0] a,b; //两个操作数
output[2*size-1:0] out; //结果
assign out=a*b; //乘法运算符
endmodule
用Chipscope-Pro生成VIO/ICON核,并插入到8位乘法器设计中,在线进行观测和调试。
-Pro 生成 VIO/ICON 核,在线观测调试。
四、实验准备
1. 将 USB 下载电缆与计算机及 XUPV2Pro 板的 J8 连接好;
2. 将 RS232 串口线一端与计算机连接好,另一端与板卡的 J11 相连接;
3. 启动计算机,当计算机启动后,将 XUPV2Pro 板的电源开关 SW11 打开到 ON 上。观察 XUPV2Pro 板上的+2.5V,+3.3V,+1.5V 的电源指示灯是否均亮。若有不亮的,请断开电源,检查电源。
五、实验步骤
⑴ 创建工程及设计输入
① 在E:\project\目录下,新建名为mult8的新工程;
器件族类型(Device Family)选择“Virtex2P”,
器件型号(Device)选“XC2VP30 ff896 -7”,
综合工具(Synthesis Tool)选“XST (VHDL/Verilog)”,
仿真器(Simulator)选“ISE Simulator”
② 设计输入
图2 仿真结果
从图中可以验证由Verilog HDL语言设计的8位乘法器的工作是正确的,不论是输入a的值变化还是输入b的值变化,输出值随之变化,为a与b的乘积。
⑶ 生成核并添加核
本次试验内容为8位乘法器,不需要使用ILA核。因此下面使用核生成法生成一个ICON核,一个VIO核就可以了。
① 首先对生成的工程进行综合。
② 生成核
③ 添加核
最后的代码如下:
module mult8(out);
parameter size=8;
output[2*size-1:0] out;
wire[size-1:0] a,b;
wire [35 : 0] CONTROL0;
wire [15 : 0] ASYNC_OUT;
wire [15 : 0] ASYNC_IN;
ICON I_ICON(
.CONTROL0(CONTROL0)
);
VIO I_VIO(
.CONTROL(CONTROL0),
.ASYNC_OUT(ASYNC_OUT),
.ASYNC_IN(ASYNC_IN)
);
assign ASYNC_IN[15:0]=out[15:0];
assign a[7:0]=ASYNC_OUT[7:0];
assign b[7:0]=ASYNC_OUT[15:8];
assign out=a*b;
endmodule
⑷ 在线调试
① 设计综合和实现。
② 在实现步骤成功后,点击Generate Programming Files,生成bit流文件。
③ 双击Analyze Design Using Chipscope,出现chipscope Pro Analyzer窗口。双击图标,出现如图3所示的对话框,点击OK。
图3 操作示意画面1
然后下载bit流文件,具体操作步骤:右击DEV:2 myDevice2(XC2VP30),选择Configure...,如图4所示。会弹出一个对话框如图5所示,点击“Select New File”,在弹出的对话框中选择mult8.bit文件并打开,再点击OK,如图6所示。
图4 操作示意画面2
图5 操作示意画面3
图6 操作示意画面4
④ 观测调试
双击VIO console,可以看到异步输入信号和异步输出信号,如图7所示。
图7 调试结果1
分别将异步输入和异步输出信号按照在代码中设定的改为总线形式并重命名,以更加直观的观测信号。也可以右键单击各个信号选择Bus Radix 后的Unsigned Decimal...将各个信号以十进制的形式显示,如图8所示。
图8 调试结果2
用二进制显示方式如图9所示。
图9 调试结果3
可以通过输入不同的数值然后与自己的计算进行比较来验证设计的正确性。
六、总结
通过本次实验,我对以前所学的知识有了更一步的掌握,了解了用Verilog HDL语言如何设计8位乘法器,进行功能仿真。
文档评论(0)