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’);

posted @ 2017-08-08 17:04  LeeLIn。  阅读(3686)  评论(0编辑  收藏  举报