买芯片网
XILINX(AMD),ALTERA(INTEL),LATTICE
聚焦三大FPGA芯片品牌,强大的现货交付能力
Xilinx,Altera,Lattice
买芯片网代理Altera(英特尔)、Lattice(莱迪思)、Xilinx(赛灵思 AMD)
首页 >> Xilinx新闻 >> FPGA实战开发技巧(12)
FPGA实战开发技巧(12)
5.6 大规模设计的调试经验

在大规模设计的调试应该按照和设计理念相反的顺序,从底层测试,主要依靠ChipScope Pro 工具。下面主要介绍ChipScope Pro、FPGA Editor 组件的使用方法。

买芯片网专注整合全球优质赛灵思代理商现货资源,是国内领先的Altera(英特尔)、Lattice(莱迪思)、Xilinx(赛灵思 AMD)芯片采购服务平台,买芯片网轻松满足您的芯片采购需求.

5.6.1 ChipScope Pro组件应用实例

在赛灵思软件设计工具中,ISE 可集成赛灵思公司的所有工具和程序。ChipScope Pro 也不例外,在ISE 中将其作为一类源文件,和HDL 源文件、IP Core 以及嵌入式系统的地位是等同的。本节在Xilinx Spartan3E-D开发板上实现一个计数器模块,基于该模块详细介绍如何在ISE 中新建ChipScope 应用以及观察、分析数据的详细操作。

例5.6.1 :在ISE 中实现一个8 比特计数器,利用ChipScope 分析其逻辑输出。

(1) 新建用户工程,添加mycounter.v 的源文件,其内容如下所列:
module mycounter(clk, reset, dout);
input clk;
input reset;
output [7:0] dout;
reg [7:0] dout;
always @(posedge clk) begin
if (reset == 0)
dout = 0;
else
dout = dout + 1;
end
endmodule

然后根据电路连接,添加相应的管脚约束。

(2) 综合工程,然后在ISE 工程管理区,单击右键,选择“Add New Source”命令,在弹出的对话框中选择“ChipScope DefiniTIon and ConnecTIon File” 类型, 并在“File Name” 栏输入ChipScope 设计名称mychipscope,。

图5-41 添加ChipScope设计示意图

图5-42 测试模块选择界面

单击“Next”按键,进入分析文件选择界面,这里会将该文件夹里所有的HDL 设计、原理图设计都罗列出来( 包括顶层模块和全部底层模块),供用户挑选,用鼠标单击即可选中,本例选择mycounter,。单击“Next”按键进入小结页面,单击“Finish”按键完成添加。

(3) 双击工程区mycounter.v 下的子模块mychipscope.cdc,可自动打开Chipscope Pro Core Insterser软件,添加触发单元和触发位宽。其中触发类型选为Basic,位宽为8比特;设置采样深度为4096,各步骤。

图5-43 调试工程配置界面

图5-44 ICON核配置界面

图5-45 触发信号配置界面

图5-46 采集深度配置界面

(4) 点击“Next”进入网表连接显示页面,。其中如果用户定义的触发和时钟信号线有未连接的情况,则图中“UNIT”、“CLOCKPORT”以及“TRIGGERPORTS”等字样以红色显示;正确完成连接后则变成黑色。

图5-47网表连接提示界面

点击图5-47 中“Modify ConnecTIon”的按键,进入连接页面,时钟和数据的连接。需要注意的是,ChipScope Pro 只能分析FPGA 设计的内部信号,因此不能直接连接输入信号的网表,所以输入信号网表全部以灰色显示。如果要采样输入信号,可通过连接其输入缓冲信号来实现,时钟信号选择相应的BUFGP,普通信号选择相应的IBUF。,选择采样时钟时,选择了CLK_BUFGP。

图5-48 时钟网表连接界面

图5-49 触发网表连接界面

连接完成后,单击“OK”按键返回连接显示界面,发现所有提示字符“UNIT”、“CLOCKPORT”以及“TRIGGERPORTS”没有红色,则单击“Return Project Navigator”,退出Chipscope,返回到ISE 中。否则需要再次点击“Modify ConnecTIon”按键重新连接。

(5) 在工程中加入UCF 文件,约束时钟、数据管脚位置。为了简化也可以只添加clk 和reset 这两个控制信号的管脚约束,其内容如下:

NET clk LOC = C9 | IOSTANDARD = LVCMOS33 ;
# Define clock period for 50 MHz oscillator (40%/60% duty-cycle)
NET clk PERIOD = 20.0ns HIGH 40%;
NET reset LOC = H13 | IOSTANDARD = LVTTL | PULLDOWN ;

(6) 在ISE 过程控制区中双击“Implement Design”和“Generate Programming File”, 可以完成实现以及生成可编程文件,并将设计人员插入的各类核也将被包含在比特文件中。生成配置文件后,双击图5-50所示的“Analyze Design Using Chipscope”图标,可自动打开Chipscope Pro Analyzer 软件。

图5-50 Chipscope Pro Analyzer启动操作示意图

(7) 在Chipscope Analyzer 用户界面上点击工具栏上图标“ ”,初始化边界扫描链。等扫描完成后,单击“Device”菜单下“DEV: 0 My Device0(XC3S500E) → Configure”命令选择.bit 文件配置FPGA
(8) 芯片配置完成后,选择“File”菜单的“Import”命令,可弹出CDC 文件加载页面,选择相应的CDC 文件,将会把所有以“Dataport”的名称修改为综合后的线网名称。
(9) 组合cnt 总线信号。可按住“Ctrl”键,选择多个总线信号,单击右键,选择“Add to Bus”命令,将其组合成相应的总线信号,。

图5-51 添加总线操作示意图

(10) 不设定触发条件采集数据。点击工具栏的“ ”图标,开始采集数据。整体结果,单击工具栏的“ ”按键,可放大信号,局部结果。从分析结果可以看出,本设计在FPGA中成功地完成了8 比特计数器的功能。

图5-52 Analyzer分析结果整体示意图

(11) 设定触发条件采集数据。在“Trigger Setup”栏Match 区域的“M0: Trigger Port0”行的Value 列输入触发条件“0000_0000”,。

点击工具栏的“ ”图标,开始采集数据,可以看到,采集结果的第一个数为0,。当然,
用户可以根据需要设置更复杂的触发条件。

(12) 利用Bus Plot 功能绘制输出信号波形。在工程区双击“Bus Plot”命令,然后在弹出窗口的“Bus Selection”区域选中“dout”,则会将采集数据以图形方式显示出来,。由于本设计是8 比特加1 计数器,因此其波形就是幅度为0 到255 的锯齿波。

图5-56 8计数器的波形示意图

 

Xilinx中国海量优质的信息资源、行业资讯、最新开发方案等资讯信息平台。

Xilinx芯片今日搜索排行榜(2024年5月7日)
XCS10XL-5TQ144C
嵌入式 - FPGA(现场可编程门阵列)
产品封装:144-LQFP
XCV50-6TQ144C
嵌入式 - FPGA(现场可编程门阵列)
产品封装:144-LQFP
XC6SLX9-L1FT256I
嵌入式 - FPGA(现场可编程门阵列)
产品封装:256-LBGA
XC4VFX20-10FF672I
嵌入式 - FPGA(现场可编程门阵列)
产品封装:672-BBGA,FCBGA
XCS30XL-5BG256C
嵌入式 - FPGA(现场可编程门阵列)
产品封装:256-BBGA
XC2S15-5TQG144I
嵌入式 - FPGA(现场可编程门阵列)
产品封装:144-LQFP
XCZU3CG-2SFVC784I
嵌入式 - 片上系统(SoC)
产品封装:784-BFBGA,FCBGA
XC3S1400AN-5FG484C
嵌入式 - FPGA(现场可编程门阵列)
产品封装:484-BBGA
Xilinx产品及其应用
Xilinx公司新闻
买芯片网轻松满足您的芯片采购需求
买芯片网,独家代理渠道,专注三大品牌:XILINX(赛灵思 AMD)ALTERA(英特尔 INTEL)LATTICE(莱迪思)