3FPGA实验报告8位计数器—徐艺萍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三8位计数器试验
一、实验原理
所做8位计数器,有1个时钟输入端,1个同步清0端,输出为8位并行输出,每来1个时钟脉冲,所输出的八位二进制数加1,当由00000000计数到11111111时,计数器返回到00000000重新开始计数。
其代码如下:
module counter8(out,reset,clk);
output[7:0] out;(可以不写吗?)
input reset,clk;
reg[7:0] out;
always @(posedge clk)
begin
if (reset) out<=0; //同步复位
else out<=out+1; //计数
end
endmodule
本实验采用ChipScope-Pro生成ILA/ICON 核,并插入到8位计数器设计中,在线进行观测和调试。
二、实验目的
1. 熟悉ISE9.1开发环境,掌握工程的生成方法;
2. 熟悉SEED-XDTK XUPV2Pro实验环境;
3. 了解Verilog HDL语言在FPGA中的使用;
4. 通过掌握8位计数器的Verilog HDL设计,了解数字电路的设计。
三、实验内容
1.用Verilog HDL语言设计8位计数器,进行功能仿真验证。
2.使用chipscope-Pro生成ILA/ICON核,在线观测调试。
四、实验准备
1. 将USB下载电缆与计算机及XUPV2Pro板的J8连接好;
2. 将RS232串口线一端与计算机连接好,另一端与板卡的J11相连接;
3. 启动计算机,当计算机启动后,将XUPV2Pro板的电源开关SW11打开到ON 上。观察XUPV2Pro板上的+2.5V,+3.3V,+1.5V 的电源指示灯是否均亮。若有不亮的,请断开电源,检查电源。
五、实验步骤
1.创建工程及设计输入
⑴在E:\project\目录下,新建名为counter8的新工程;
器件族类型(Device Family)选择“Virtex2P”,
器件型号(Device)选“XC2VP30 ff896 -7”,
综合工具(Synthesis Tool)选“XST (VHDL/Verilog)”,
仿真器(Simulator)选“ISE Simulator”
⑵设计输入
2.功能仿真
⑴在sources窗口sources for中选择Behavioral Simulation。
⑵由Test Bench WaveForm 添加激励源,如图1所示。
图1 波形激励编辑窗口
仿真结果如图2所示。
图2 仿真结果
从图中可以验证由Verilog HDL语言设计的8位计数器的工作是正确的。在reset=0时,数据输出在每一时钟上升沿到来时加1;在reset=1时,数据的输出为0。
3.添加引脚约束
⑴首先对生成的工程进行综合。
⑵添加引脚约束,如图3所示。
图3 引脚约束
4.添加ChipScope核
采用核生成法。由于要对模块进行实时的控制,因此在这里需要1个ICON 核,1个ILA核,1个VIO核。将例化模块所用到的代码加到counter8相应的位置,并进行修改,最后得到的代码如下:
module counter8(out,CLK);
output[7:0] out;
input CLK;
reg[7:0] out;
wire reset;
wire [35 : 0] CONTROL_ILA;
wire [35 : 0] CONTROL_VIO;
wire CLK;
wire [0 : 0] ASYNC_OUT;
wire [7 : 0] ASYNC_IN;
ICON I_ICON(
.CONTROL0(CONTROL_ILA),
.CONTROL1(CONTROL_VIO)
);
ILA I_ILA(
.CLK(CLK),
.CONTROL(CONTROL_ILA),
.TRIG0(reset),
.DATA(out)
);
VIO I_VIO(
.CONTROL(CONTROL_VIO),
.ASYNC_OUT(ASYNC_OUT),
.ASYNC_IN(ASYNC_IN)
);
assign ASYNC_IN=out;
assign reset=ASYNC_OUT;
always @(posedge CLK)
begin
if (reset) out<=0; //同步复位
else out<=out+1; //计数
end
endmodule
5.在线调试
⑴设计综合和实现。
⑵在实现步骤成功后,点击Generate Programming Files ,生成bit流文件。
⑶双击Analyze Design Using Chipscope,出现chipscope Pro Analyzer 窗口。双击图标,检测连接情况。
⑷然后下载bit流文件。
6.观测调试
双击VIO Console,可以看到异步输入信号在不停的变化着,如图4所示。
图4 调试结果1
将异步输出信号即reset信号设为1,则异步输入都变为0,如图5所示。