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 ...
随机推荐
- 如何在Linux上安装服务器管理软件Cockpit
Cockpit 是一个自由开源的服务器管理软件,使得我们可以通过它好看的 Web 前端界面轻松地管理我们的 GNU/Linux 服务器,非常轻量级,Web 界面也非常简单易用. Cockpit 使得 ...
- [转]VirtualBox 修改UUID实现虚拟硬盘复制
-------------------------------------------------------------------- 原文:https://www.cnblogs.com/find ...
- Typescript declaration: Merge a class and an interface
参考: https://stackoverflow.com/questions/47670959/typescript-declaration-merge-a-class-and-an-interfa ...
- chrome的护眼插件
- WebClient.DownloadData突然失灵
有如下的代码: try { byte[] acsMetadata; using (WebClient webClient = new WebClient()) { acsMetadata = we ...
- LINUX下的Mail服务器的搭建
电子邮件是因特网上最为流行的应用之一.如同邮递员分发投递传统邮件一样,电子邮件也是异步的,也就是说人们是在方便的时候发送和阅读邮件的,无须预先与别人协同.与传统邮件不同的是,电子邮件既迅速,又易于分发 ...
- struts2訪问servlet的API
1.struts作为控制器,正常非常多时候要訪问到servlet的API.经常使用功能: (1).获取请求參数,控制界面跳转 (2).把共享数据存储于request,session,servl ...
- php json数据处理中文编码
<?php function Notice(){ include './include/conn.php'; //数据库链接文件 $sql_notice = mysql_query('SELEC ...
- Ubuntu Server+openerp
转自:http://www.2cto.com/os/201212/180118.html 今天主要完成OPENERP部署的第一步,安装Ubuntu Server操作系统: 1.将计算机的BIOS设定成 ...
- 编译时:virtual memory exhausted: Cannot allocate memory(转)
一.问题 当安装虚拟机时系统时没有设置swap大小或设置内存太小,编译程序会出现virtual memory exhausted: Cannot allocate memory的问题,可以用swap扩 ...