文档库

最新最全的文档下载
当前位置:文档库 > Xilinx FPGA的Chipscope工具使用方法

Xilinx FPGA的Chipscope工具使用方法

Xilinx FPGA的Chipscope工具使用方法

1 ChipScope简介

ChipScope是Xilinx FPGA自带的实时调试和验证系统,它将逻辑分析器、总线分析器和虚拟I/O小型软件核直接插入到设计当中,使我们可以查看任何内部信号或节点,包括嵌入式硬或软处理器。以操作系统速度或接近操作系统的速度采集信号,并通过设计接口传输出来,避免了使用管脚。采集到的信号可以通过ChipScope逻辑分析器进行分析。

ChipScope主要有以下关键特性:

?分析任何内部FPGA信号,包括嵌入式处理器总线

?在设计采集时,或综合之后插入小型的、可配置的软件核

?将管脚影响降至最低

?在板上以达到或接近操作系统的速度验证DUT功能

?利用FPGA的可重编程性能,可以在几分钟或几小时内确定设计问题并进行修改,而无需传统ASIC设计中所需的几周或数月时间

?内置的软件逻辑分析器可以用来识别设计问题并进行调试,包括高级触发、滤波器和显示选项

?利用远程调试(从办公室到实验室,或在全球范围内)通过互联网联接进行调试?逻辑分析器使用的Agilent技术的最优链接,以实现最强大的验证,包括从FPGA 内部到板上任何地方的交叉互联信号。

本文档主要讲解如何使用ChipScope的Core Inserter和Analyzer工具替代逻辑分析仪对DUT逻辑功能进行分析。

2 ChipScope组成

ChipScope由三部分构成:The ChipScope Pro Core Generator、The ChipScope Pro Core Inserter和The ChipScope Pro Analyzer。

The ChipScope Pro Core Generator与Xilinx的Core Generator功能相似,用该工具可以产生ICON、ILA、ILA/ATC、IBA/OPB、IBA/PLB、VIO、ATC2等ChipScope Core,通过在DUT中例化这些软核,就把相应的逻辑分析仪功能加入了设计,从而可以观察和调试FPGA内部信号。其优点是生成的软核可以重复调用,但每次调用都需要编写相应的逻辑。

The ChipScope Pro Core Inserter是把ICON、ILA、ILA/ATC和ATC2等软核插入DUT 的另外一种方式:它的输入是综合后的网表文件,把相应软核加入网表中,作为DUT的一部分直接插入DUT中,重新综合和布局布线后就可以观察调试FPGA内部信号。用这种方式插入软核不需要做任何HDL的例化。

The ChipScope Pro Analyzer通过FPGA配置接口与FPGA连接,可以配置FPGA功能,可以抓取FPGA中软核设置信号的运行状态,也可以设置触发,满足某个条件或某些条件的逻辑组合后再抓取相应场景下的运行状态。

需要注意的是:软核要占用FPGA的资源(尤其占用memory资源较多),当DUT已经占用FPGA较多资源时,软核的插入可能会对FPGA性能有影响;此时应该更加注意FPGA 的约束设计。

3 The ChipScope Pro Core Inserter的设置

(1)前提:

在XILINX ISE工具下对project进行synthesize,生成网表文件*.ngc文件

Xilinx FPGA的Chipscope工具使用方法

(2)The ChipScope Pro Core Inserter的设置:

第一步:打开The ChipScope Pro Core Inserter,选择网表文件和器件

Xilinx FPGA的Chipscope工具使用方法

选input design netlist列的Browse,选择网表输入文件,即ISE产生的*.ngc文件。

Xilinx FPGA的Chipscope工具使用方法

chipscope将自动指定输出文件和输出目录,一般不用修改;

Xilinx FPGA的Chipscope工具使用方法

在Device Family中选择器件,如下图:

Xilinx FPGA的Chipscope工具使用方法

选择Next,进入第二步;

第二步:确定是否使能JTAG时钟使用BUFG进行综合,我们一般使能这个功能,即复选框不选中,如下图;

Xilinx FPGA的Chipscope工具使用方法

第三步:设置触发信号和需要捕获的信号

?触发信号设置:

1)触发信号个数设置:如下图,一共可以设置16个触发信号;

2) 我们选择两个触发信号,则出现下图

Xilinx FPGA的Chipscope工具使用方法

3) 触发信号可以设置单信号触发,也可以设置总线触发,总线最多可以设置位宽为16bit ; 4) Match Type 有6种设置方式,如下图,包括Basic 、Basic w/edges 、Extended 、Extended

w/edges 、Range 和Range w/edges ;

Xilinx FPGA的Chipscope工具使用方法

各种设置方式的参数表如下表: Match Type Bit Values

Functions

Basic 0、1、X =

、<> Basic w/edges 0、1、X 、R 、B 、F =

、<>

Extended

0、1、X =

、<>、>、>=、<、<=

Extended w/edges 0、1、X

Xilinx FPGA的Chipscope工具使用方法

、R 、B 、F =

、<>、>、>=、<、<= Range 0、1、X =

、<>、>、>=、<、<=,in range ,

out of range Range w/edges 0、1、X 、R 、B 、F =

、<>、>、>=、<、<=,in range ,

out of range

5) 使能触发信号

? capture parameters 设置

Data Depth 设置要捕获的信号数量,Data Width 设置要捕获多少根信号线,这两个参数确定了需要占用FPGA 多少资源,在Resource Utilization 中对使用的资源进行统计。

? 设置网络连接

需要设置的信号共有三类:Clock Port 、Trigger Ports 和Data Port ,如下图:

Xilinx FPGA的Chipscope工具使用方法

点击modify connection,设置信号

Xilinx FPGA的Chipscope工具使用方法

选中要连接的信号,点击Make Connection,则CH0和clk_out_1连接在一起。

Xilinx FPGA的Chipscope工具使用方法

Xilinx FPGA的Chipscope工具使用方法

信号设置完成后,点击Insert,把软核插入设计网表中,

Xilinx FPGA的Chipscope工具使用方法

在messages窗口会出现结果

Xilinx FPGA的Chipscope工具使用方法

返回ISE,加入chipscope文件*.cdc到project中,重新生成bit文件,下载到FPGA中,准备测试。

4 The ChipScope Pro Analyzer的使用

打开ChipScope Pro Analyzer,出现如下界面:

Xilinx FPGA的Chipscope工具使用方法

选择图标(Open Cable/Search JTAG Chain),当FPGA下载电缆与JTAG接口正确连接时,出现如下提示(以JTAG链上有两个器件为例):

Xilinx FPGA的Chipscope工具使用方法

此时FPGA中还没有配置相应的逻辑,按如下步骤配置并捕获数据进行分析:

1)选择Device——>DEV:1…——>Configure…

Xilinx FPGA的Chipscope工具使用方法

2)选择要配置的bit文件

Xilinx FPGA的Chipscope工具使用方法

3)FPGA配置完成后,自动加载Core Inserter中设置的信号和触发条件信号和触发条件等信息

Xilinx FPGA的Chipscope工具使用方法

的信号;

Xilinx FPGA的Chipscope工具使用方法

5)触发条件的设置

Xilinx FPGA的Chipscope工具使用方法

Xilinx FPGA的Chipscope工具使用方法

Xilinx FPGA的Chipscope工具使用方法

6)开始捕获数据

Xilinx FPGA的Chipscope工具使用方法

7)ChipScope还支持多次触发,可以设置多个窗口

Xilinx FPGA的Chipscope工具使用方法

从上图中可以看出,我们设置了5个触发窗口,每个窗口64个时钟周期的数据,在触发时刻前会捕获10个时钟周期的数据。

8)设置完成后,捕获数据会出现如下界面:

Xilinx FPGA的Chipscope工具使用方法

其中红线表示触发时刻,图中显示了四个触发时刻的数据。

根据触发条件和捕获的数据,可以与仿真数据进行比较分析,从而判断结果是否正

确。