FPGA笔记之chipscope的两种使用方法

目录

Chipscope Pro综述

传统的FPGA调试往往需要借助逻辑分析仪,在板卡设计初就要留出检测管脚,并且在综合实现过程中,就需要考虑管脚的分配,在信号输出时,将探头与管脚连接,设置触发条件,观测结果。不仅过程繁琐耗时,而且成本较高。
因此Xilinx公司开发了一个片内信号分析工具-Chipscope Pro,不同公司所用的工具名称不一样,但是目的是一样的。可以通过JTAG口,在线实时读出FPGA内部信号,原理是将信号状态实时存储到FPGA内部的BRAM中,通过JTAG口传入计算机。
alt text
ChipscopePro的工作框图如上图所示,通过嵌入ICON、ILA、VIO和ATC2核,实现信号的触发设置、实时存储和在线读取。
ICON核负责实现JTAG扫描链与ILA、VIO、IBA和ATC2核之间的连接通信;
ILA核负责实现监测内部信号,可以设置触发条件,得到信号变换状态;
VIO核可以实时监控和驱动FPGA内部信号,不需要RAM资源,

Chipscope Pro的使用

Chipscope Pro工具箱中常用的工具有Xilinx CORE Generator Tool、Core Inserter和Analyzer,Analyzer是对信号进行观测的工具,Xilinx CORE Generator Tool和Core Inserter两者功能类似,皆是将IP核插入设计中的工具,不同的是Generator Tool是通过HDL代码例化IP核,Core Inserter是集成的操作界面,不需要代码例化,
同时Core Inserter不能生成IBA/OPB core和ATC core。

CORE Generator Tool的使用

CORE Generator Tool的使用方法为:插入对应的IP核,并使用模板将IP核快速例化至工程中,最后使用在线调试,实时观测信号状态。下边使用流水灯的程序做一个实例,首先加入ICON核,再加入ILA核设置所需观测的信号。

ICON核的使用

ICON核的属性

首先加入ICON核,具体操作界面如下所示:
icon insert
加入后的IP核界面如下所示:
alt text
下边对ICON的一些属性参数进行说明:
Number of control ports是连接其他IP核的端口,如VIO、ILA,最多可与15个IP核连接,单个端口不可复用。
禁用边界扫描组件实例边界扫描组件是连接目标FPGA的JTAG扫描组件的部件,分析仪可以通过扫描链与内核进行通信。默认不勾选,扫描组件在内核中自动例化,可以选择USER1-USER4,勾选后,需要手动实例化扫描链路。

例化ICON核

调用IP核的模板,直接对ICON核进行例化即可。
alt text

ILA核的使用

ILA核的属性

ILA的使用与ICON核一样,需要插入ILA核,设置所需的触发条件,并例化至工程中。
ILA insert
IP核的界面为:
ILA
ILA核的属性说明如下:
触发端口数量:每个ILA具有16个触发端口,在下拉端口进行选择,可以独立设置,不互相影响。
最大序列等级:在设置多个触发端口时需要进行设置,可以看作一个多状态的循环状态机,框图如下:
alt text
如上图所示,16个触发单元匹配16个触发序列,可以理解为优先级的设定,每个级别的触发条件是当前匹配单元的事件发生。
Use RPMs:使用RPM(relationally placed macros)提高系统性能,RPM技术就是利用RLOC约束对布局进行限制,官方推荐勾选此项。
enable trigger output port:使能触发输出端口后,ILA在满足条件后将具有一个触发输出,该输出可以作用于外部设备,也可用于内部模块的触发信号、中断信号、使能信号等。该触发输出信号相对于输入有10个周期的时钟潜伏时间。
触发边沿和采样深度:上升沿触发、下降沿触发,采样数据深度是采样数据的数量。
存储确认条件:存储确认条件是匹配函数事件的布尔组合。这些匹配功能事件由匹配单元比较器检测到,这些比较器随后连接到核心的触发端口。存储确认条件与触发条件的不同之处在于,它评估触发端口匹配单元事件,以决定是否捕获和存储每个单独的数据样本。触发器和存储确认条件可以一起用来定义何时开始捕获过程以及要捕获的数据。可以通过选中“启用存储确认”复选框来启用存储确认条件。
ILA conneion
简单理解为一个流水线工作流程,触发条件满足后,产生匹配函数事件,存储确定是需要对事件进行比较,确认是否需要捕获和存储数据。
选择数据类型:输出数据与触发端口是否一致。
alt text
触发端口宽度:触发端口的数据长度;
匹配单元:触发条件的设置,每个端口最多可以连接16个匹配单元,每个触发端口连接的匹配单元判断条件是一致的。
计数器宽度:是对匹配事件进行计数的计数器,位于触发端口的匹配事件处,在对事件触发次数比较敏感的测试时,可以使用。
匹配类型:触发端口与匹配事件是一个比较器,匹配函数具有六种,如下所示:
匹配函数类型

ILA核的例化

例化的操作和ICON的一致,如图所示:
ILA例化
例化完成后,生成bit文件,即可进行下一步操作,使用分析仪观测信号。

Core Inserter的使用

core Inserter的使用比较简单,直接使用操作界面操作即可,如下所示:
inserter的使用
用比较简单,直接使用操作界面操作即可,如下所示:
inserter的使用
属性在上边以及进行介绍,只需要将信号与对应端口进行连接即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值