vivado中如何使用chipscope

如何使用chipscope

参考: https://www.cnblogs.com/liujinggang/p/9813863.html

    Xilinx FPGA开发实用教程---徐文波 田耘

1.ChipScope Pro工作原理

ChipScope Pro是一款在线调试软件,可以观察FPGA内部的任何信号,触发条件,数据宽度和深度等。不足在于速度和数据量。

ChipScope用于在测试过程中观察芯片内部信号。便于调试。

将逻辑分析仪、总线分析仪、虚拟IO小型软件核直接插入到用户的设计当中,信号在操作系统速度下被采集下来,从编程接口中引出,再将采集到的信号通过Chipscope Prol逻辑分析仪中进行分析。

怎么做到的?

在线调试:在用户设计中插入相应的核,当用户程序运行时,所测信号经过核送到JTAG链,传到PC机上ChipScope软件。便于观察。

信号---》ILA--》ICON--》JTAG--》Alalyzer

组件:

核生成器:

      集成控制核ICON:具备JTAG边界扫描端口通信功能,必不可缺,一个ICON可同时最多连接15个核。

      集成逻辑分析仪核ILA:提供触发和跟踪功能.

        1输入输出触发逻辑

        2数据捕获逻辑:储存在芯片的RAM中

        3控制核状态逻辑

      虚拟输入输出核VIO:实时监控和驱动FPGA内部的信号,可以观测FPGA任意信号的输出结果。

        异步输入信号

        同步输入信号

        异步输出次您好

        同步输出信号

      适用于处理器外设总线的集成总线分析核 OPB/IBA

      适用于处理器本地总线的集成总线分析核 PLB/IBA

      安捷伦跟踪核ATC2

      集成的误比特率测试核IBERT

核插入器:

      自动将上述核插入到用户经过综合的设计中

分析仪:

      完成核的芯片配置,触发设置,跟踪显示等功能。

TCL脚本接口:

      通过TCL脚本语言和JTAG链,完成与芯片的交互通信

2.开发流程

1.建立工程 
2.插入及配置核 
2.1运行Synthesize 
2.2新建cdc文件 
2.3 ILA核的配置 
3. Implement and generate programming file 
4.利用Analyzer观察信号波形 
4.1连接器件 
4.2下载配置fpga 
4.3载入信号端口名 
4.4设置触发信号 
4.5运行并观察信号波形

开发实例:ISE如何使用ChipScope

https://www.cnblogs.com/liujinggang/p/9813863.html

3.Vivado如何使用Chipscope

Vivado作为新的设计工具,并没有集成Chipscope,取而代之的是新的debug工具:hardware debug。后者的优势是可以与SDK联合调试,软硬件协同开发时非常有用,但其无法实时持续的观测信号的变化,且从目前2013.4的版本反应的无法抓取非顶层文件信号的问题(大量时序错误)对设计开发非常不便。

通过对Chipscope工作原理的分析,应该可以通过间接的方式在VIVADO工程中使用,经过上板测试,确实可以做到,下面是实现的步骤:

1、  Synthesis后点击Open Synthesized Design,完成后点击File原工程综合后导出netlist(.edn)和constraint(.xdc);

2、  打开Chipscope的Core Insert,将step1中的netlist作为输入,指定输出文件名及路径;

3、  Chipscope随后自动加载step2的netlist,按照需求添加信号,方法与ISE调用时相同;

4、  点击Chipscope界面里的insert按键,生成携带ILA核的netlist文件;

5、  建立新的VIVADO工程,选择post-syn方式,随后加入step4的netlist(.ngo)和step1的constraint;

6、  Implement  step5建立的VIVADO工程,获得BIT文件(此过程会报一个ucf与xdc的critical warning,不用关注它);

7、  原工程按照规范流程implement、bitgen,最后导出SDK;

8、  按照规范流程完成SDK应用程序开发;

9、  用Chipscope Analyzer配置step6生成的bit文件到芯片,配置界面选择导入step2保存的cdc文件,配置完成后,运行SDK中的run as,随后设置chipscope的触发条件;

10、此时可以观察信号的实时输出;

原文地址:https://www.cnblogs.com/hcr1995/p/9929359.html

时间: 2024-10-12 03:20:29

vivado中如何使用chipscope的相关文章

Vivado中debug用法

Vivado和ISE相比ChipScope已经大幅改变,很多人都不习惯.在ISE中称为ChipScope而Vivado中就称为in system debug.下面就介绍Vivado中如何使用debug工具. Debug分为3个阶段:1. 探测信号:在设计中标志想要查看的信号2. 布局布线:给包含了debug IP的设计布局布线3. 分析:上板看信号 一 探测信号探测信号有2种方法一种是直接在HDL源代码中用(*mark_debug = "true"*)标识出要探测的信号 另一种是 在综

在Vivado中调用ModelSim生成FSM的状态转移图

如果我们已经书写了一段FSM代码,现在想倒过来把它转换成为状态转移图,方便我们直观地检查我们书写的状态对不对(在写论文什么的画图太麻烦的时候,有个自动生成的是多方便啊!),应该怎么弄呢?通过在Vivado中调用ModelSim,可以直接完成这个操作,下面我们就来看看这个神奇的转换是如何完成的. 首先介绍一下软件环境: ü  操作系统win7 sp1 64位 ü  Vivado2014.1 64位 ü  Modelsim SE-64 10.2c 然后就是打开Vivado,新建一个RTL工程,配置好

Tcl在Vivado中的使用

http://blog.chinaaet.com/detail/36014 Vivado是Xilinx最新的FPGA设计工具,支持7系列以后的FPGA及Zynq 7000的开发.与之前的ISE设计套件相比,Vivado可以说是全新设计的.无论从界面.设置.算法,还是从对使用者思路的要求,都是全新的.看了大家很多的博文,基本上都是用GUI创建工程,那我就简单介绍一下Vivado的脚本使用. 在ISE设计套件中,支持多种脚本: 可以用xperl来运行perl脚本,可以用xtclsh来运行Tcl脚本,

在vivado中使用attribute

之前最常用的一个attribute就是mark_debug了,语法如下:(*mark_debug="ture"*). 今天又学到几个新的,原文在这里:http://china.xilinx.com/support/answers/54357.html 一.PARALLEL_CASE (Verilog Only) Parallel case is valid only for Verilog designs. This attribute forces a case statement

vivado中TCL的使用

Tcl介绍 Vivado是Xilinx最新的FPGA设计工具,支持7系列以后的FPGA及Zynq 7000的开发.与之前的ISE设计套件相比,Vivado可以说是全新设计的.无论从界面.设置.算法,还是从对使用者思路的要求,都是全新的.看在Vivado上,Tcl已经成为唯一支持的脚本 Tcl(读作tickle)诞生于80年代的加州大学伯克利分校,作为一种简单高效可移植性好的脚本语言,目前已经广泛应用在几乎所有的EDA工具中.Tcl 的最大特点就是其语法格式极其简单甚至可以说僵化,采用纯粹的 [命

vivado中建立工程,创建zynq嵌入式系统

打开vivado,点击create New Project, 下边的建立子目录工程一定要勾选.点击下一步: 选择第一个,下方可选项不要勾选.点击下一步: 选择verilog语言,不添加文件,然后一直点击下一步:到了选板子的步骤,直接点击boards, 选择如图: 完成. 创建zynq嵌入式系统: 创建一个block Design ,在Flow Navigator区域展开IP Integrator,选择create Block Design 然后工作域将会打开ip Integrator 的图表画布

vivado中调用ultraedit 编辑器

ISE下点击菜单Edit -> Preferences -> Editor. 在Editor选项框里选择Custom,在Command line syntax文本框里输入: {C:/Program Files/Notepad++/notepad++.exe} $1 大括号{}里是你的notepad++.exe的路径,路径中存在空格的话加上大括号:$1相当于文件名. 然后点OK.以后在ISE工程下点击某个.v或.vhd文件,或者文件编译报错点击错误文件,都会自动调用Notepad++来打开文件.

如何在vivado中调用ultraedit 编辑器

. 要改为:[file name] -l[line number]

Vivado中的那些Bug

将a Latch一级 wire a; reg en; always @ (posedge clk) en = a; reg [3:0] cnt; always @ (posedge clk or posedge rst) if (rst) cnt <= 4'd0; else if (en) cnt <= cnt + 4'd1;   wire a; reg en; always @ (posedge clk) en <= a; reg [3:0] cnt; always @ (posedg