Chipscope使用
作者:桂。
时间:2017-08-07 06:47:31
链接:http://www.cnblogs.com/xingshansi/p/7297482.html
前言
Chipscope在FPGA调试中被用来观察内部信号,程序里加入Chipscope相当于有了数字示波器。
本文主要记录Chipscope的基本操作,以及如何借助MATLAB对Chipscope的数据进行分析。
一、Chipscope使用
A-Chipscope简介
参考:ug029_ChipScope Pro 11.4 Software and Cores。
Chipscope只要一个JTAG(Joint Test Action Group)口,就可以访问到FPGA内部的所有信号。

核心:两个关键Core+Analyzer
Core-ILA:集成逻辑分析仪。连接信号,触发条件和触发时钟;
Core-ICON:是Analyzer和ILA联络的桥梁。只有一个,ICON负责管理多个ILA,提供通过JTAG口访问多个ILA的途径;
Analyzer:Chipscope的信号GUI界面
附加:
IBA(Integrated Bus Analyzer):用来Debug IBM coreconnect总线;
ATC(Agilent Trace Core):Agilent为Xilinx FPGA开发的支持片外采样数据存储的设备。
B-Chipscope Pro Core Inserter流程
1)保留设计层次
XST 缺省设置是将设计打平以取得好的综合效果,因此需要设置:Synthesize XST → process properties:

2)选择对应芯片
Core Generator —— New project —— 选择存放目录,并设置Part,如果指定语言需要设置Generation,语言默认VHDL,以S6为例:

3)ICON设置
双击:

点击:Generate,完成最基本的ICON设置
4)ILA设置
双击:

参数可人为设定,

触发端口数量最大为256

点击:Generate.
这样一来,便完成了ICON与ILA核的设置,如果工程中需要用到Chipscope,不必每次都要生成,只需将其中四个文件拷贝到对应工程目录下即可。
综合后的网表文件:*.ngc以及对应的工程*.v,ICON与ILA各两个,共四个文件:

其中两个*.v文件:
ila:
`timescale 1ns/1ps module chipscope_ila(
CONTROL,
CLK,
TRIG0) /* synthesis syn_black_box syn_noprune=1 */; inout [35 : 0] CONTROL;
input CLK;
input [255 : 0] TRIG0; endmodule
icon:
`timescale 1ns/1ps module chipscope_icon(
CONTROL0) /* synthesis syn_black_box syn_noprune=1 */; inout [35 : 0] CONTROL0; endmodule
Chipscope相当于内部的示波器,有了工具如何调用呢?利用Analyze(本质是GUI界面)即可。
5)调用Analyze
打开Analyzer,通常可以自动识别芯片,点击OK。

工程中,Rddata描述:

在Analyzer中设置:选中0~7,move to bus,new bus:

点击三角运行
:
即可抓取EEPROM写入FPGA的输入Rddata:

这与写入IIC总线的数据是一致的:

二、借助MATLAB对Chipscope的数据进行分析
通常希望从多个角度分析数据,因此考虑将Chipscope的数据导入MATLAB。
File —— Export:

输入存储的文件名,如test.prn;
利用MATLAB指令读取:xlLoadChipScopeData(‘test.prn’);
Chipscope使用的更多相关文章
- 56.ISE综合,在chipscope信号列表看不到
代码写好后,进行逻辑综合,在chipscope上添加被触发的信号时,发现有些在信号列表里看不到,这是因为这些信号没有参与到逻辑电路设计中,产生不想关的电路,综合器会默认优化资源. 还有一种情况是,对于 ...
- 41.使用Chipscope时如何防止reg_wire型信号被优化掉
随着FPGA设计复杂程度越来越高,芯片内部逻辑分析功能显得越来越重要.硬件层次上的逻辑分析仪价格十分昂贵,而且操作比较复杂.目前,FPGA芯片的两大供应商都为自己的FPGA芯片提供了软件层面上的逻辑分 ...
- Chipscope 仿真VmodCAM IIC程序
Chipscope 仿真VmodCAM IIC程序: 目的:熟悉EDK中建立chipscope 注意:zedboard使用digilent USB下载时,chipscope不能和SDK同时使用,否则芯 ...
- vivado中如何使用chipscope
如何使用chipscope 参考: https://www.cnblogs.com/liujinggang/p/9813863.html Xilinx FPGA开发实用教程---徐文波 田耘 1.Ch ...
- 【设计经验】2、ISE中ChipScope使用教程
一.软件与硬件平台 软件平台: 操作系统:Windows 8.1 开发套件:ISE14.7 硬件平台: FPGA型号:XC6SLX45-CSG324 二.ChipScope介绍 ChipScope是X ...
- ISE中的Force Process Up-to-Date功能:ISE中如何在未综合实现的前提下打开ChipScope ?
ISE中如何在未综合实现的前提下双击Analyze Design Using ChipScope打开ChipScope ? 有时,你正在ISE中调试程序,在ChipScope中看到了现象,顺手修改了程 ...
- 使用ChipScope Pro调试硬件
chipscope_icon提供与其他ChipScope内核的通信 chipscope_opb_iba促进传统片上外设总线(OPB)事务的监控 chipscope_plb_iba便于监控处理器本地总线 ...
- 怎样才能使用ChipScope 加入被优化掉的信号
在调试过程中常常遇到的一个问题就是,xilinx工具在逻辑综合的过程中,将自己RTL代码中的很多变量都优化掉了,使得调试的抓信号的过程很纠结.以下是解决方法: 1.右键synthesis,在综合选项里 ...
- ChipScope Pro Inserter - "ERROR:NgdBuild:924 - bidirect pad net '<oDRAM0_A>' is driving non-buffer primitives
解决方案: Using a IOBUF signal as a trigger for the ILA Inserter flow will cause a NGDBuild error. These ...
随机推荐
- [CSS3]Clearfix
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="index ...
- 下载RAD
1.登录https://w3-103.ibm.com/software/xl/download/ticket.do 2.输入Intranet ID和pswd,然后选I Agree. 3.然后点Sear ...
- TCP/IP、SOCKET、HTTP之间的联系与区别
主要内容: 1.网络的七层协议 2.TCP/IP.SOCKET.HTTP简介 3.TCP连接.HTTP连接.Socket连接的区别 一.网络的七层协议 网络七层由下往上分别为物理层.数据链路层.网络层 ...
- C#.NET常见问题(FAQ)-控制台程序如何输出Messagebox
1 添加如下引用 2 添加引用和Messagebox的代码. 3 测试可行 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/aceta ...
- 读取Style符号库样式的方法
以前进行符化的时候一般都是自定义Symbol,或者使用SymbologyControl进行选择,由于实际需要,我们来读取一下样式管理器中的样式.在ArcMap中打开如下:style下有很多样式类,每个 ...
- uva 10721 - Bar Codes(dp)
题目链接:uva 10721 - Bar Codes 题目大意:给出n,k和m,用k个1~m的数组成n,问有几种组成方法. 解题思路:简单dp,cnt[i][j]表示用i个数组成j, cnt[i][j ...
- 飘逸的python - 使用reload进行热更新
一开始我们的游戏商城配置是从txt读取解析的. 后来为了方便运营修改配置,改成从数据库读取并提供后台可视化编辑配置. 如果为了使配置生效而重启游戏进程那太麻烦了. 这时候reload就派上用途了. 下 ...
- FPGA视频拼接器的DP 的4k 功能输入, 把lvds 转为 serdes
4k(3840 x 2160 @60hz)越来越成为一种视频趋势,怎样把4K 接入到拼接器中.是一个棘手的问题. 先看一下原理图的接口: 这是 anx1122的 lvds的接口. 以下看一下系统的框架 ...
- C#:确保绑定到同一数据源的多个控件保持同步
下面的代码示例演示如何使用 BindingSource 组件,将三个控件(两个文本框控件和一个 DataGridView 控件)绑定到 DataSet 中的同一列.该示例演示如何处理BindingCo ...
- Move semantics(C++11)
/* * Compile with: * g++ move_test.c -o move_test -std=c++11 -g -fno-elide-constructors * ...