刚入门接触vivado其实是陌生的,陌生之处在于不了解历史。即使是日益更新的技术也是从最初那个0和1一点点垒起来的,每当看到类似于这就是可以这么做,你不用去知道它底层怎么跑的,只要知道怎么使用就行这种话,就想到使用工具会越来越强大,虽然给我们省了很多事,但如果能知道现在的一键里包含以前那么多的过程,也是很有意思的事啊。

说起来也是昨儿调试的结果还可观,今早来了再跑一遍的时候萌生了个好奇,翻书查阅了一下chipscope(应该就是现在vivado里的hardware manager)。正题
-------------------------------------------------分割线-------------------------------------------
传说中,chipscope软件由chipscope核生成器、chipscope核插入器、chipscope分析仪以及chipscope Tcl脚本接口四个组件组成,支持普通FPGA设计以及基于FPGA的嵌入式、SOC系统,其具体功能如下:(懒得打字,上图)

chipscope开发流程,首先,要生成系统控制模块的ICON核;然后,生成各类逻辑分析核(ILA核、VIO核等),设定触发以及数据线宽度和采集长度,并将其和ICON核关联起来;接着,完成设计以及相关核的综合,将设计中期望观察的信号和分析核的触发以及数据信号连接起来;紧接着,完成整体系统的实现并下载到芯片中;最后打开chipscope Analyzer设定触发条件,观察波形。如图:

介绍一下,三个核:

ICON核
如前所述,所有的核都需要通过JTAG电缆完成计算机和芯片的通信。ICON核具备和JTAG边界扫描端口通信的能力。一个ICON核可以同时最多连接15个ILA或者VIO核(现在vivado里具体是有没有这个数目限制并不清楚,不知道去哪里查。。。但这样也够用)。所有的核都需要通过JTAG电缆完成计算机和芯片的通信,在ChipScope Pro中,只有ICON核具备和JTAG边界扫描端口通信的能力,因此ICON核是ChipScope应用必不可少的关键核。
通过对ICON的调用,可以很好的利用JTAG来连接ILA和VIO。但是,在Vivdao中,这个IP被去掉了,取而代之的是Vivado自动添加的dbg_hub。这样就不能很好地控制JTAG的BSCAN,这可以说是Vivado的一个很大的损失。不过,既然dbg_hub是自动添加的。那么理论上,对ILA和VIO端口的识别也是自动的。(这段来自于此博客)
ILA核
ILA核提供触发和跟踪功能,根据用户设置的触发条件捕获数据,然后在ICON的控制下,通过边界扫描口将数据上传到PC,最后在analyzer中显示出信号波形。由于ILA核和被监控设计是同步的,因此设计中的所有时钟约束会被添加到相应的ILA核中。ILA包括下面三个主要组件:

  • 输入、输出触发逻辑
    输入触发逻辑用于检测各种细微触发条件;输出触发逻辑用于触发外部测试设备以及其他逻辑

  • 数据捕获逻辑
    数据捕获逻辑用于捕获数据,并将所捕获的数据存储到芯片的块RAM中。

  • 控制和状态逻辑
    控制和状态逻辑用于管理ILA的各种操作。
    vivaodo的block design里面呈现的状态:(这里是由于要看的模块端口处有总线型也有普通端口,所以选择mix)


    VIO核
    虚拟输入、输出核用于实时监控和驱动FPGA内部的信号,可以观测FPGA设计中任意信号的输出结果,以及添加虚拟输入,如DIP开关、按钮等,且不占用BRAM。VIO核面向模块操作,支持下面四类信号:

  • 异步输入信号
    对于异步输入信号,通过JTAG电缆的时钟信号(TCK)采样,周期地读入PC,再将结果在chipscope pro分析仪界面上显示。

  • 同步输入信号
    对于同步输入信号则利用设计时钟采样,然后周期地读入PC,在分析仪界面上显示。

  • 异步输出信号
    异步输出信号由用户在chipscope pro分析仪中定义,再将其送到周围的逻辑中,且其每个输出信号逻辑“1”、“0”的门限可以由用户自己定义。

  • 同步输出信号
    同步输出信号由用户定义,同步于设计时钟,其“1”、“0”的逻辑门限亦可独立定义。

    这里由于我只需要接收top_monitor的输出,所以输入探针为0,输出探针为1;
    后面的probe width取决于top_monitor的位宽,初始值默认,不去改变。

FPGA series # 关于ChipScope的ICON核、ILA核和VIO核相关推荐

  1. Xilinx ISE系列教程(4):ChipScope逻辑分析仪ICON、ILA、VIO使用

    文章目录 @[toc] 1. Xilinx ChipScope简介 2. 示例工程创建 3. 添加ChipScope ICON IP核 4. 添加ChipScope ILA IP核 5. 添加Chip ...

  2. 【FPGA教程案例63】硬件开发板调试3——vio虚拟IO核的应用

    FPGA教程目录 MATLAB教程目录 -------------------------------------------------------------------------------- ...

  3. Virtex中的ILA属性、VIO属性

    ILA属性 双击[Xilinx Core Generator],打开现有的IP核工程项目或者创建一个新的IP核工程.[View by function]→[Debug & Verificati ...

  4. Vivado Logic Analyzer中VIO核的使用

    ChipScope有两种使用的方式:cdc和IP Core.由于VIO的IP只能通过IP的方式来使用,所以IP的方式ChipScope中有重要的意义. 同样,Vivado中的VIO也只能通过IP的方式 ...

  5. 手撕IP核系列——Xilinx FIR IP核之一

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 手撕IP核系列--Xilinx FIR IP核之一 前言 FIR 滤波器模块的设置 实现分析 前言 在Xilinx和Intel平台的F ...

  6. 核密度估计python_非参数估计:核密度估计KDE

    核密度估计Kernel Density Estimation(KDE)概述 密度估计的问题 由给定样本集合求解随机变量的分布密度函数问题是概率统计学的基本问题之一.解决这一问题的方法包括参数估计和非参 ...

  7. 英语语音中的调核例子_英语调核研究.pdf

    英语调核研究 英 语 调 核 研 究 霍亚凤 (西安培华学院,陕西 西安 710025) 一 . 引言 不包含重读音节 .如果调核位于最后 一个音节 上 ,那么该语调 语调短语是 由调首 .调头 .调 ...

  8. r5处理器_入门级游戏党核显平台!R5-3400G核显游戏组装配置清单

    在五一假期中,组装电脑的用户也多了起来,前面推荐了比较多的高端游戏电脑,今天就换个口味,给大家推荐一套入门游戏配置. 入门级游戏党核显平台!R5-3400G核显游戏组装配置清单 该配置只要2600元出 ...

  9. 你说AMD“疯”不“疯”?两款Zen 4内核的EPYC处理器,96核的Genoa和128核的Bergamo

    网盟科技高祥转发分享 在2021-11月10日的数据中心会议上, AMD的CEO苏姿丰博士公布了他们未来的EYPC处理器产品线路图, 两款Zen 4架构处理器--96核的Genoa以及128核的Ber ...

最新文章

  1. html元素移动时颜色逐渐变深,css实现随鼠标移动div渐变色效果
  2. random(随机模块)
  3. Python学习笔记011_模块_标准库_第三方库的安装
  4. SpringCloud底层原理
  5. HTML的DOM和XML的DOM对象的区别
  6. 【iOS开发每日小笔记(二)】gitHub上的开源“瀑布流”使用心得
  7. 如何在Java中初始化List <String>对象?
  8. android r中的变量_R中的变量
  9. SVN server
  10. 犀牛7基本训练学习教程 Rhino 7 Essential Training
  11. python2代码转换为python3
  12. 通过淘宝司法拍卖购买房子,需要注意些什么?
  13. kuka机器人焊接飞溅大_关于KUKA 焊接机器人
  14. Android百度地图自定义添加Marker点
  15. PowerPoint储存此文件时发生错误 出现错误的问题解决方法
  16. win7添加ftp到计算机,技术编辑帮你win7系统FTP地址添加到资源管理器的收藏夹下的设置步骤...
  17. java微信小程序接口openid过期_Java微信小程序登录接口获取openid
  18. java豆瓣查书api_如何通过豆瓣API获取图书和电影列表
  19. Unity Json 编写及读取
  20. 使用Java实现平衡二叉树

热门文章

  1. flex布局与绝对定位
  2. java 类类型数组
  3. 王者荣耀游戏简介-3
  4. 新手站长网站优化的方法
  5. 20050630:不上网,毋宁死
  6. 阿里巴巴市值飙升中国最大
  7. Java类加载的过程
  8. C++jarvis平面凸包(贾维斯)算法(附完整源码)
  9. matlab幅度调制滚动条的程序_实训3 信号的幅度调制及MATLAB实现(续)
  10. 第七届全国城市运动会在南昌开幕