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/1psmodule 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/1psmodule 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’);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242856.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计FIFO深度

设计FIFO深度 假设FIFO的写时钟为100MHZ,读时钟为80MHZ。在FIFO输入侧写数据侧,每100个时钟,写入80个数据,FIFO读出侧每个时钟读出一个数据。设计合理的FIFO深度,使FIFO不会溢出。 如果读出侧每3个时钟读出1个数据&am…

银行假流水怎么识破?

银行流水作为借款人最有效的还款证明,审核的时候一定要特重视,特别是要注意区分借款人的假流水。(1)真假流水有哪些特征真流水特征:银行流水能真实的反映借款人的工作或生意情况,能从借款人的生意来往合同中…

模拟电子技术基础笔记

模拟电子技术基础笔记 二极管的特性 1 单向导电性(小写是交流,大写是直流) 二极管的应用 1、整流二极管 利用二极管单向导电性,可以把方向交替变化的交流电变换成单一方向的脉动直流电。 2、开关元件 二极管在正向电压作用下电阻…

simulink简介

simulink简介 simulink是基于matlab的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的应用领域十分广泛,任何能用数学模型来描述的系统都可以在simulink中进行仿真分析,如:空气动力学、导航制导、通讯、电子、机械…

建模与仿真的流程

建模与仿真的流程 以例子为例 第一步:建立模型,列出输出表达式 第二步:解出输出方程 可以参考:解单位冲激 第三步:在simulink中建立仿真图 ctrlr:表示旋转90 按住ctrl可以引出多条线 点击保存&…

vcs 入门

synopsys vcs 软件是仿真和验证的软件,必须掌握。 vcs 即 verilog compile simulator 支持 verilog, systemVerilog, openvera, systemC等语言,同时也有代码覆盖率检测等功能。 可以合第三方软件集合使用,例如 Vera , Debussy ,S…

输入输出及子模块

输入输出及子模块 常用模块库 1 事先规划好功能子系统 2 建立好系统后对系统进行功能划分 在进行动态系统的建模过程中,可以根据需要将模型中比较复杂,或者共同完成某一功能的基本模块(低一层次的子系统)封装起来,并…

简单模块说明

接地模块(Ground)和终端模块(Terminator) 进入接地模块的帮助系统 右击选择帮助 接地模块表示:输入模块中没有值的部分 Ground 模块连接到其输入端口不连接到其他模块的模块。如果您使用具有未连接的输入端口的模块运…

贷款时,如何评估借款人的还款意愿

贷款有一个公式:正常还款还款能力还款意愿。也就是说借款人能不能正常还款,除了借款人的还款能力之外,借款人的还款意愿也有着至关重要的作用。因此贷款审核过程中,对借款人还款意愿的审核是很重要的一个环节,那信贷员…

FPGA时序分析和约束实例

FPGA时序分析和约束实例

数据库设计笔记——概述(一)

数据库数据库(DataBase,DB)是长期存储在计算机内,有组织的,可共享的数据集合。是存放数据的仓库,并且有组织,有管理。数据库管理系统数据库管理系统(Database Management System&…

你应该知道的浮点数基础知识

本文从一个有趣而又令人意外的实验展开,介绍一些关于浮点数你应该知道的基础知识 文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部 作者:卢钧轶(cenalulu) 本文原文地址:http://cenalulu.github.io/linux/about…

简单模块说明(二)

简单模块说明(二) 利用linmod函数提取状态矩阵 输入输出必须以 in模块和out模块代替 状态空间法的状态向量和状态变量不唯一的。 传递函数模块 得出其是个低通滤波器 零极点增益模块 使用零极点增益来表示传递函数 PID及二阶积分模块 几…

模块说明(三)

模块说明(三) 惯性环节、超前滞后环节 一般先使用连续列出传递函数,然后通过极性法或者双线线性不变法将连续转换为离散。 实例讲解 通常是通过电子电路对其进行补偿的。 记忆模块、零阶保持器、一阶保持器 离散PID 可参考连续PID…

数据库设计笔记——MySQL基础知识(四)

概述关系型数据库——由表来存储相关的数据,MySQL,SQL Server,Oracle等都是关系型数据库;元数据:用于集成并管理数据。MySQL数据库 用户数据库:用户根据需求创建数据库系统数据库information_schema&#x…

哪些钱借了可以不还?

借钱竟然可以不还?这个估计很多人都不知道,但是在实际民间借贷中,确实是有一些借贷关系是不受法律保护的,那哪些债务还是不受法律保护的呢?(一)借款用于非法用途案例:任某在生意场上…

模块说明(四)

模块说明(四) 比较模块 判断一个矩阵是否为一个奇异矩阵,看其行列式是否为0 位设置与清零模块 位运算模块 按位运算 位提取、位移运算模块 检测模块 表查询库 表查询模块

PID控制器_Matlab/Simulink仿真

PID控制器_Matlab/Simulink仿真 Kp:比例增益;Kpe:当前误差 KI:积分增益;KI∫edt:过去误差,累计 KD:微分增益;KD*de/dt:变换趋势 PD控制是增加了一个零点 例子: simulink操作

银行停贷、涨息、排队,8月不贷只能等明年

这几天做贷款的朋友圈被这种消息刷屏了没?据深圳商报报道,目前深圳一些大银行已经出现了贷款资金余额不足的情况,甚至有的银行已经停止信用贷款的发放;业内人士认为,信贷额度紧张局面估计持续到年底。除了深圳&#xf…

如何快速把借呗额度提高到10万?

借呗是一个很好的贷款工具,快,简,省等优点深得广大网友的喜爱。但是借呗虽然好用,却受限于额度,很多人的额度都是在3万以内,能超过10万的毕竟是少数人,看到别人几十万的额度,你是不是…