实验八数字电路功能与实现_第1页
实验八数字电路功能与实现_第2页
实验八数字电路功能与实现_第3页
实验八数字电路功能与实现_第4页
实验八数字电路功能与实现_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验八 数字电路功能与实现本章运用FPGA来完成数字电路的功能实现。数字电路实验主要包括4位全加器、触发器、8位计数器、8位乘法器、锁存器、7段数码管显示译码器以及七人投票表决器,文中介绍了实验原理、ISE功能仿真、chipscope在线观测与调试。8.1 4位全加器实验1 实验原理全加器是指能进行加数、被加数和低位来的进位信号相加,并根据求和结果给出该位的进位。四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框图如图8-1所示,其中CSA为一位全加器。显然,对于这种方式,因高位运算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。图8-1 四位串行加法器原

2、理图8-1中,A和B为加法器的输入位串,对于四位加法器则位宽为4位,D为加法器输出位串,和输入位串相同,C为进位输入( Ci ) 或输出 ( Co )。全加器的真值表如下所示。 表8-1 全加器的真值表输入输出Xi Yi Ci-1Si Ci 0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 10 01 01 00 11 00 10 11 1实现代码为:module adder4(cout,sum,ina,inb,cin);output3:0 sum;output cout;input3:0 ina,inb;input cin;assign cout,sum=ina+

3、inb+cin;endmodule2. 实验目的(1) 熟悉 ISE9.1 开发环境,掌握工程的生成方法;(2) 熟悉 SEED-XDTK XUPV2Pro 实验环境;(3) 了解 Verilog HDL语言在 FPGA 中的使用;(4) 了解4位全加器的Verilog HDL语言实现。3. 实验内容(1)用Verilog HDL语言设计4位全加器,进行功能仿真验证;(2)使用chipscope-Pro 生成 ILA/ICON 核,在线观测调试。4. 实验准备(1)将 USB 下载电缆与计算机及 XUPV2Pro 板的 J8 连接好; (2)将 RS232 串口线一端与计算机连接好,另一端与板

4、卡的 J11 相连接; (3)启动计算机后,将 XUPV2Pro 板的电源开关 SW11 打开到 ON 上。观察 XUPV2Pro 板上的2.5V,3.3V,1.5V 的电源指示灯是否均亮,若有不亮的,请断开电源,检查电源;5. 实验步骤(1)创建工程及设计输入1) 在E:project目录下,新建名为count8的新工程;器件族类型(Device Family)选择“Virtex2P”器件型号(Device)选“XC2VP30 ff896 -7”综合工具(Synthesis Tool)选“XST (VHDL/Verilog)”仿真器(Simulator)选“ISE Simulator”2)设

5、计输入,在源代码窗口中单击右键,在弹出的菜单中选择New Source,在弹出的对话框中选择Verilog Moudle ,在右端的File name 中输入源文件名adder4,下面各步点next,然后在弹出的源代码编辑框内输入前面所示的源代码并保存即可。(2) 功能仿真1)在sources窗口sources for中选择Behavioral Simulation;2)由Test Bench WaveForm添加激励源,如下图所示。图8-2 波形激励编辑窗口然后在processes窗口中点击simulater behavioral model即开始仿真,仿真结果如下:图8-3 仿真结果从图中

6、可以验证由Verilog HDL语言设计的4位全加器的工作是正确的。由于此全加器没有时钟输入,所以不必进行User Constraints。(3)用chipscope进行在线调试这里使用的是核生成法。1) 生成chipscope核代码比较简单,这里只需要ICON和VIO这两个核即可。打开chipscope pro core generator,下面的8-4图至8-6图是ICON核的生成过程,8-7图至8-8图是VIO核的生成过程。图8-4 操作示意图8-5操作示意在output netlist位置指向adder4所在的路径,在device family里选virtex2p器件,由于只用了VIO

7、核,所以ICON的控制端口数设置为1。图8-6 操作示意如上图中选定HDL语言为verilog,综合工具为xilinx XST。 在接下来的VIO和生成过程中,选定VIO前的复选框进入VIO核的生成过程。路径也选择adder4所在位置,器件类型为virtex2p,然后在输入输出端口设置过程中选定异步输入端口和异步输出端口。异步输入端口宽度根据ina(4位)、inb(4位)、cin(1位)、sum(4位)、cout(1位)的总位数设定,异步输出端口根据ina(4位)、inb(4位)、cin(1位)的总位数设定。如下面两图所示。 图8-7 操作示意 图8-8 操作示意2) 添加ICON和VIO核到

8、工程 点击file>open,在adder4所在位置找到icon_xst_example.v和vio_xst_example.v文件并打开,将两部分的模块声明加到源代码中endmodule后面,然后分别将icon_xst_example.v,vio_xst_example.v示例中例化模块所用到的代码加到adder4.v相应的位置,并进行修改,最后得到的代码如下:module adder4(cout,sum);output3:0 sum;output cout;wire 3:0 ina,inb;wire cin;wire 35:0control0;wire 13:0 async_in;w

9、ire 8:0 async_out;icon i_icon ( .control0(control0) );vio i_vio ( .control(control0), .async_in(async_in), .async_out(async_out) );assign async_in3:0=ina3:0;assign async_in7:4=inb3:0;assign async_in8=cin;assign async_in12:9=sum3:0;assign async_in13=cout;assign ina3:0=async_out3:0;assign inb3:0=async

10、_out7:4;assign cin=async_out8;assign cout,sum=ina+inb+cin;endmodulemodule icon ( control0 ); output 35:0 control0;endmodulemodule vio ( control, async_in, async_out ); input 35:0 control; input 13:0 async_in; output 8:0 async_out;endmodule 然后在ISE里进行综合、实现并generate programming file。3) 在chipscope里观测调试

11、点击analyze design using chipscope进入chipscope pro analyzer窗口,点击图标,找到前面生成的比特文件,在所用器件名上右击然后选configuration将bit文件下载到板子上,然后打开vio consle窗口,在这里即可进行观测调试,调试结果如下面两图所示。图8-9 调试结果图8-10 调试结果在这里可以看出全加器的设计是正确的。8. 2 触发器实验1. 实验原理(1)主从D触发器下面是主从触发器的逻辑图及逻辑符号。 图8-11 主从触发器原理图主从结构的触发器状态改变是在时钟脉冲下降沿完成的,因而这种结构的触发器无空翻现象。 若CP下降沿前

12、D=1,则Qn+1=1;若CP下降沿前D=0,则Qn+1=0。代码如下:module dtrigger(Q,QB,clk,D);input clk,D;output Q,QB;reg Q,QB;always (negedge clk)beginQ<=D;QB=Q;endendmodule(2) 主从JK触发器 主从JK触发器的逻辑图及逻辑符号如图8-12所示,其状态转换是在时钟下降沿完成的。图8-12 JK触发器原理图其真值表如下表所示。 表8-2 真值表Verilog代码如下:module jktrigger(Q,QB,J,K,clk);input J,K,clk;output Q,Q

13、B;reg Q;assign QB=Q;always(negedge clk)begincase(J,K)2'b00 : Q <= Q;2'b01 : Q <= 1'b0;2'b10 : Q <= 1'b1;2'b11 : Q <= Q;default: Q<= 1'bx;endcaseendendmodule(3) JK触发器转换的D触发器真值表如下表所示。 表8-3 真值表根据上表可写出JK与D、Q的关系:J=D、K=/D图8-13 JK转D触发器原理图Verilog代码如下:module jkdtrig

14、ger(cp,D,Qn,Qnb);input cp, D;output Qn,Qnb;wire J,K;jktrigger a2(Qn,Qnb,J,K,cp);not a1(K,D);assign J=D;endmodulemodule jktrigger(Q,QB,J,K,clk);input J,K,clk;output Q,QB;reg Q;assign QB=Q;always(negedge clk)begincase(J,K)2'b00 : Q <= Q;2'b01 : Q <= 1'b0;2'b10 : Q <= 1'b1;

15、 2'b11 : Q <= Q;default: Q<= 1'bx;endcaseendendmodule此代码中添加了子模块jktrigger();说明程序写法有自上而下的特点。2. 实验目的(1)熟悉 ISE9.1 开发环境,掌握工程的生成方法;(2)熟悉 SEED-XDTK XUPV2 Pro 实验环境;(3)了解 Verilog HDL语言在 FPGA 中的使用;(4)了解触发器的Verilog HDL语言实现。3. 实验内容(1)用Verilog HDL语言设计D触发器、JK触发器和JK触发器转换的D触发器,进行功能仿真验证;(2)使用chipscope-

16、Pro 生成 ILA/ICON 核,在线观测调试。4. 实验准备(1)将 USB 下载电缆与计算机及 XUPV2Pro 板的 J8 连接好; (2)将 RS232 串口线一端与计算机连接好,另一端与板卡的 J11 相连接; (3)启动计算机后,将 XUPV2Pro 板的电源开关 SW11 打开到 ON 上。观察 XUPV2Pro 板上的2.5V,3.3V,1.5V 的电源指示灯是否均亮,若有不亮的,请断开电源,检查电源;5. 实验步骤(1) D触发器设计1)创建工程 及设计输入在E:project目录下,新建名为dtrigger的新工程;器件族类型(Device Family)选择“Virte

17、x2P”器件型号(Device)选“XC2VP30 ff896 -7”综合工具(Synthesis Tool)选“XST (VHDL/Verilog)”仿真器(Simulator)选“ISE Simulator”设计输入,在源代码窗口中单击右键,在弹出的菜单中选择New Source,在弹出的对话框中选择Verilog Moudle ,在右端的File name 中输入源文件名dtrigger,下面各步点next,然后在弹出的源代码编辑框内输入D触发器的源代码并保存即可。2)功能仿真在sources窗口sources for中选择Behavioral Simulation;由Test Benc

18、h WaveForm添加激励源,如下图所示;图8-14 波形激励编辑窗口 然后在processes窗口中点击simulater behavioral model开始仿真,仿真结果如下:图8-15仿真结果从图中可以验证由Verilog HDL语言设计的D触发器的工作是正确的。3) 添加引脚约束首先对生成的工程进行综合;添加引脚约束。双击User Constraints 下的Assign Package Pins,由于采用chipscope进行调试,因此引脚约束只需要添加时钟引脚的约束就可以了,如图8-16所示。 图8-16引脚约束4) Chipscope进行调试这里也是用的核生成法,所用到的核有

19、ICON核和VIO核。生成ICON核和VIO核核的生成过程同4位加法器里的生成过程一样。ICON的生成中文件路径指向dtrigger所在位置,器件类型为virtex2p,控制端口数为1,语言为verilog,综合工具为xilinx XST。VIO的生成中,异步输入端口宽度为3,异步输出端口数为1。添加ICON和VIO核到工程 点击file>open,在dtrigger所在位置找到icon_xst_example.v和vio_xst_example.v文件并打开,将两部分的模块声明加到源代码中endmodule后面,然后分别将icon_xst_example.v,vio_xst_examp

20、le.v示例中例化模块所用到的代码加到dtrigger.v相应的位置,并进行修改,最后得到的代码如下:module dtrigger(Q,QB,clk);input clk;output Q,QB;reg Q,QB;wire D;wire 35:0control0;wire 2:0async_in;wire async_out;assign async_in0=D;assign async_in1=Q;assign async_in2=QB;assign D=async_out;icon i_icon ( .control0(control0) ); vio i_vio ( .control(

21、control0), .async_in(async_in), .async_out(async_out) );always (negedge clk)beginQ<=D;QB=Q;endendmodulemodule icon ( control0 ); output 35:0 control0;endmodulemodule vio ( control, async_in, async_out ); input 35:0 control; input 2:0 async_in; output 0:0 async_out;endmodule在chipscope里观测调试 点击analy

22、ze design using chipscope进入chipscope pro analyzer窗口,点击图标,找到前面生成的比特文件,在所用器件名上右击然后选configuration将bit文件下载到板子上,然后打开vio console窗口,在这里即可进行观测调试,调试结果如下面两图所示。 图8-17调试结果 图8-18 调试结果(2) JK触发器设计1) 创建工程 及设计输入在E:project目录下,新建名为jktrigger的新工程;器件族类型(Device Family)选择“Virtex2P”器件型号(Device)选“XC2VP30 ff896 -7”综合工具(Synthe

23、sis Tool)选“XST (VHDL/Verilog)”仿真器(Simulator)选“ISE Simulator”设计输入,在源代码窗口中单击右键,在弹出的菜单中选择New Source,在弹出的对话框中选择Verilog Moudle ,在右端的File name 中输入源文件名jktrigger,下面各步点next,然后在弹出的源代码编辑框内输入JK触发器的源代码并保存即可,工程名称为jktrigger。2) 功能仿真由Test Bench WaveForm添加激励源,如下图所示。图8-19 波形激励编辑窗口仿真结果如下图所示:图8-20仿真结果由图中可以看出JK触发器的设计是正确的

24、。3)添加引脚约束首先对生成的工程进行综合;添加引脚约束。双击User Constraints 下的Assign Package Pins,由于采用chipscope进行调试,因此引脚约束只需要添加时钟引脚的约束就可以了,如图8-21所示。 图8-21引脚约束4)Chipscope进行调试 用核生成法,所用到的核有ICON核和VIO核。 按照前面的步骤生成ICON核和VIO核并将它们添加到工程。ICON核的控制端口数为1,VIO核的异步输入端口宽度为4,异步输出端口宽度为2。 最后得到的代码如下:module jktrigger(Q,QB,clk);input clk;output Q,QB;

25、reg Q;wire J;wire K;wire 35:0control0;wire 3:0async_in;wire 1:0async_out;icon i_icon ( .control0(control0) ); vio i_vio ( .control(control0), .async_in(async_in), .async_out(async_out) );assign async_in0=J;assign async_in1=K;assign async_in2=Q;assign async_in3=QB;assign J=async_out0;assign K=async_o

26、ut1;assign QB=Q;always(negedge clk)begincase(J,K)2'b00 : Q <= Q;2'b01 : Q <= 1'b0;2'b10 : Q <= 1'b1;2'b11 : Q <= Q;default: Q<= 1'bx;endcaseendendmodulemodule icon ( control0 ); output 35:0 control0;endmodulemodule vio ( control, async_in, async_out ); inpu

27、t 35:0 control; input 3:0 async_in; output 1:0 async_out;endmodule在chipscope pro analyzer里的VIO console里观测到的调试结果如下面几图所示: 图8-22调试结果J=1,K=0时,将Q置1。 图8-23调试结果J=0,K=0时,Q保持不变。 图8-24调试结果J=0,K=1时,将Q置0 图 8-25调试结果 图8-26 调试结果J=1,K=1时可以看到Q和QB不断地翻转。因此,从调试结果分析可知JK触发器的设计是正确的。(3)JK触发器转换为D触发器的设计1) 创建工程 及设计输入 在E:proje

28、ct目录下,新建名为jkdtrigger的新工程;器件族类型(Device Family)选择“Virtex2P”器件型号(Device)选“XC2VP30 ff896 -7”综合工具(Synthesis Tool)选“XST (VHDL/Verilog)”仿真器(Simulator)选“ISE Simulator” 设计输入,在源代码窗口中单击右键,在弹出的菜单中选择New Source,在弹出的对话框中选择Verilog Moudle ,在右端的File name 中输入源文件名jkdtrigger,下面各步点next,然后在弹出的源代码编辑框内输入JK触发器的源代码并保存即可,工程名称为

29、jkdtrigger。2) 功能仿真由Test Bench WaveForm添加激励源,如下图所示:图8-27波形激励编辑窗口仿真结果如下图所示: 图8-28仿真波形从图中可以看出此设计是正确的。3)添加引脚约束首先对生成的工程进行综合;添加引脚约束。双击User Constraints 下的Assign Package Pins,由于采用chipscope进行调试,因此引脚约束只需要添加时钟引脚的约束就可以了,如图所示:图8-29引脚约束4)Chipscope进行调试 用核生成法,所用到的核有ICON核和VIO核。 按照前面的步骤生成ICON核和VIO核并将它们添加到工程。ICON核的控制端

30、口数为1,VIO核的异步输入端口宽度为5,异步输出端口宽度为1。最后得到的代码如下:module jkdtrigger(cp,Qn,Qnb);input cp;output Qn,Qnb;wire D;wire J,K;wire 35:0control0;wire 4:0async_in;wire async_out;assign async_in0=D;assign async_in1=J;assign async_in2=K;assign async_in3=Qn;assign async_in4=Qnb;assign D=async_out;icon i_icon ( .control0

31、(control0) ); vio i_vio ( .control(control0), .async_in(async_in), .async_out(async_out) );jktrigger a2(Qn,Qnb,J,K,cp);not a1(K,D);assign J=D;endmodule module jktrigger(Q,QB,J,K,clk);input J,K,clk;output Q,QB;reg Q;assign QB=Q;always(negedge clk)begincase(J,K)2'b00 : Q <= Q;2'b01 : Q <

32、= 1'b0;2'b10 : Q <= 1'b1;2'b11 : Q <= Q;default: Q<= 1'bx;endcaseendendmodulemodule icon ( control0 ); output 35:0 control0;endmodulemodule vio ( control, async_in, async_out ); input 35:0 control; input 4:0 async_in; output 0:0 async_out;endmodule在chipscope pro analyzer

33、里的VIO console里观测到的调试结果如下面两图所示: 图8-30调试结果 图8-31调试结果从图中可以看出此触发器的设计是正确的。8.3 8位计数器实验1. 实验原理 所涉及的8位计数器有一个时钟输入端,1个同步清0端。输出为8位并行输出,每来一个脉冲,所输出的八位二进制数加一,当由00000000计数到11111111时,计数器返回到00000000重新开始计数。其代码如下:module count8(out,reset,clk);output7:0 out;input reset,clk;reg7:0 out;always (posedge clk)beginif (reset)

34、out<=0; /同步复位else out<=out+1; /计数endendmodule本实验采用 Chipscope-Pro 生成 ILA/ICON 核,并插入到 8位计数器设计中,在线进行观测和调试。2. 实验目的(1) 熟悉 ISE9.1 开发环境,掌握工程的生成方法;(2) 熟悉 SEED-XDTK XUPV2Pro 实验环境;(3) 了解 Verilog HDL语言在 FPGA 中的使用;(4) 通过掌握8位计数器的Verilog HDL设计,了解数字电路的设计。3. 实验内容(1) 用Verilog HDL语言设计8位计数器,进行功能仿真验证;(2) 使用chipsc

35、ope-Pro 生成 ILA/ICON 核,在线观测调试。4. 实验准备(1) 将 USB 下载电缆与计算机及 XUPV2Pro 板的 J8 连接好; (2) 将 RS232 串口线一端与计算机连接好,另一端与板卡的 J11 相连接; (3) 启动计算机后,将 XUPV2Pro 板的电源开关 SW11 打开到 ON 上。观察 XUPV2Pro 板上的2.5V,3.3V,1.5V 的电源指示灯是否均亮,若有不亮的,请断开电源,检查电源; 5. 实验步骤(1) 创建工程 及设计输入1) 在E:project目录下,新建名为count8的新工程;器件族类型(Device Family)选择“Virt

36、ex2P”器件型号(Device)选“XC2VP30 ff896 -7”综合工具(Synthesis Tool)选“XST (VHDL/Verilog)”仿真器(Simulator)选“ISE Simulator”2)设计输入 ,输入上面所提到的代码,保存后如下图所示。图8-32设计输入 (2) 功能仿真1)在sources窗口sources for中选择Behavioral Simulation;2)由Test Bench WaveForm 添加激励源,由于本工程中源代码比较简单,只需要对reset信号进行适当的设置就可以了; 图8-33仿真波形从图中可以验证由Verilog HDL语言设计

37、的8位计数器的工作是正确的,在reset=0时,数据输出在每一时钟上升沿到来时加1,而在reset=1时,数据的输出为0.(3) 添加引脚约束1)首先对生成的工程进行综合;2)添加引脚约束。双击User Constraints 下的Assign Package Pins,由于采用chipscope进行调试,因此引脚约束只需要添加时钟引脚的约束就可以了,如图所示: 图8-34 引脚约束 (4) 添加chipscope核由于要对模块进行实时的控制,因此在这里需要2个ICON核,1个ILA核,1个VIO核。采用核生成法,生成核的声明分别如下:/-/ ICON core module declarat

38、ion/-module icon ( control0, control1 ); output 35:0 control0; output 35:0 control1;endmodule/-/ ILA core module declaration/-module ila ( control, clk, trig0, trig1 ); input 35:0 control; input clk; input 7:0 trig0; input 0:0 trig1;endmodule/-/ VIO core module declaration/-module vio ( control, asy

39、nc_in, async_out ); input 35:0 control; input 7:0 async_in; output 0:0 async_out;endmodule将模块声明加到源代码中endmodule后面,然后分别将icon_xst_example,ila_xst_example,vio_xst_example示例中例化模块所用到的代码加到count8相应的位置,并进行修改,最后得到的代码如下:module count8(out,clk);output7:0 out;input clk;reg7:0 out;wire reset; / ICON core wire decl

40、arations wire 35:0 control_ila; wire 35:0 control_vio; / ILA Core wire declarations wire clk; wire 7:0 trig0; wire 0:0 trig1; assign trig0 = out; assign trig1 = reset; / VIO Core wire declarations wire 7:0 async_in; wire 0:0 async_out;assign reset = async_out;assign async_in = out;/count8 always (po

41、sedge clk)beginif (reset) out<=0; /同步复位else out<=out+1; /计数end / ICON core instance icon count8_icon ( .control0(control_ila), .control1(control_vio) ); / ILA core instance ila count8_ila ( .control(control_ila), .clk(clk), .trig0(trig0), .trig1(trig1) ); / VIO core instance vio count8_vio ( .

42、control(control_vio), .async_in(async_in), .async_out(async_out) );endmodule (5) 在线调试1)设计实现。在工程的资源操作窗(Processes),双击 Implement Design;2)在实现步骤成功后,点击Generate Programming Files ,生成bit流文件;3)双击Analyze Design Using Chipscope,出现chipscope Pro Analyzer 窗口。双击图标,出现以下对话框,点击OK。 图8-35 操作示意然后下载bit流文件,右击DEC:2 myDevi

43、ce2,选择Configure.图8-36操作示意选择count8.bit文件,点击OK。(6) 观测调试双击VIO console,可以看到异步输入信号在不停的变化着,如图所示: 图8-37 调试结果将异步输出信号即reset信号设为1,则异步输入都变为0; 图8-38 调试结果将异步输入信号设为总线形式,并重命名,可以更加直观的观测信号,如图所示: 图8-39 调试结果双击按钮,出现ILA核捕获的数据波形,如下图所示。 图8-40 数据波形对相应信号设为总线形式并重命名,可以更好的观测信号,如下图所示。 图8-41数据波形8.4 8位乘法器实验1实验原理8位乘法器的输入为两个8位信号,输出

44、结果为16位。module mult8(out, a, b); /8位乘法器源代码parameter size=8;inputsize-1:0 a,b; /两个操作数output2*size-1:0 out; /结果assign out=a*b; /乘法运算符endmodule 本实验采用 Chipscope-Pro 生成 VIO/ICON 核,并插入到 8位乘法器设计中,在线进行观测和调试。2. 实验目的(1) 熟悉 ISE9.1 开发环境,掌握工程的生成方法;(2) 熟悉 SEED-XDTK XUPV2Pro 实验环境;(3) 了解 Verilog HDL语言在 FPGA 中的使用;(4)

45、 通过掌握8位乘法器的Verilog HDL设计,了解数字电路的设计。3. 实验内容(1) 用Verilog HDL语言设计8位乘法器,进行功能仿真验证;(2) 使用chipscope-Pro 生成 VIO/ICON 核,在线观测调试。4. 实验准备(1) 将 USB 下载电缆与计算机及 XUPV2Pro 板的 J8 连接好; (2) 将 RS232 串口线一端与计算机连接好,另一端与板卡的 J11 相连接; (3) 启动计算机后,将 XUPV2Pro 板的电源开关 SW11 打开到 ON 上。观察 XUPV2Pro 板上的2.5V,3.3V,1.5V 的电源指示灯是否均亮,若有不亮的,请断开

46、电源,检查电源; 5. 实验步骤(1) 创建工程 及设计输入1) 在E:project目录下,新建名为mult8的新工程;器件族类型(Device Family)选择“Virtex2P”器件型号(Device)选“XC2VP30 ff896 -7”综合工具(Synthesis Tool)选“XST (VHDL/Verilog)”仿真器(Simulator)选“ISE Simulator”2) 设计输入 ,输入上面所提到的代码,保存后如下图所示。 图8-42设计输入(2) 功能仿真1)在sources窗口sources for中选择Behavioral Simulation;2)由Test Bench WaveForm 添加激励源。仿真结果如图所示。 图8-43 波形仿真从图中可以验证由Verilog HDL语言设计的8位乘法器的工作是正确的,不论是输入a的值变化还是输入b的值变化,输出值随之变化,为a与b的乘积。(3)生成核并添加核本次实验内容为8位乘法器,不需要使用ILA核,因此下面使用核生成法生成一个ICON核和一个VIO核就可以了。1)首先对生成的工程进行综合;2)生成核:点击开始>程序>chipscope pro 9.1i>xilinx chipscope pro core generator弹出如下对话框: 图8-44 操作示意点击Next

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论