跳转到主要内容
瑞苏盈科专栏
我与瑞苏盈科板卡的开发故事

Vivado

Vivado使用技巧(18)——仿真功能概述

judy /

<strong>仿真功能概述</strong>

仿真FPGA开发中常用的功能,通过给设计注入激励和观察输出结果,验证设计的功能性。Vivado设计套件支持如下仿真工具:Vivado Simulator、Questa、ModelSim、IES、VCS、Rivera-PRO和Active-HDl。

Vivado的仿真流程如下图所示:
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/blog/201809/13700-39681-…; alt="" width="670"></center>

Vivado下的仿真入门

judy /

本文通过一个简单的例子,介绍Vivado 下的仿真过程。主要参考了miz702的教程,同时也参考了Xilinx的ug937,  xapp199.。

我的软件平台是Vivado 2015.4, 硬件平台是黑金的AC7010, Zynq 7000, 其实与平台关系不大。

本文分为四部分:工程的建立,测试代码,仿真图形输出,更复杂点的例子。

工程和源码下载链接: 链接:http://pan.baidu.com/s/1gflHSdH 密码:fpi5

1:工程的建立:

Vivado使用技巧(17)——创建IBIS模型

judy /

<strong>IBIS模型概述</strong>
IBIS是一种器件模型标准,允许使用行为模型进行开发,这些行为模型描述了器件内部互联的信号。IBIS模型保留专用的电路信息,不像SPICE这种结构化模型,IBIS模型是基于测量或电路仿真得到的 V/I曲线数据。

每个IOB标准都有IBIS模型,器件的所有I/O标准的IBIS模型组合在一起便是IBIS文件。IBIS文件还包含器件中所使用的管脚列表,这些管脚连接到配置为支持特定I/O标准的IOB上,该标准会将管脚与特定的IBIS buffer模型关联在一起。

IBIS标准规定了输出文件的格式,包括一个文件头部分和一个组件描述部分。IBIS开源论坛小组(www.ibis.org)开发了Golden Parser这款工具,可以通过检查IBIS数据格式中的语法来验证IBIS模型文件。

当使用Vivado IDE导出IBIS模型时,软件会生成一个.ibs文件,其中包含了:设计使用管脚列表、FPGA内部与管脚连接的信号、与管脚连接的IOB的IBIS buffer模型。

Vivado使用技巧(16)——SSN转换噪声分析

judy /

<strong>SSN概述</strong>
SSN(Simultaneously Switching Noise)分析可以估计I/O Bank中管脚在同时转换输出状态时对其它输出端口造成的干扰。这是一个常见的问题,许多总线有大量的位宽,当总线数据有多位同时变化时,很容易在其它I/O上产生噪声。比如数字电路设计中倾向于使用格雷码编码,正是因为两个相邻的数字用格雷码表示时只有1bit的差异,使得同时转换噪声最小。

SSN分析会将I/O Bank的规格电气特性考虑在估算中,以获得更准确的模型封装对SSN的影响。我们知道FPGA中将I/O隔离地分布在多个I/O Bank中,每个I/O Bank都有独立的电源分布和独立的同时转换响应。并且,不同的电源分布网络对噪声有不同的响应,因此设计者需要理解不同I/O标准、设计中用到的I/O数量、FPGA电源系统对转换响应的影响。

Xilinx通过三维提取和仿真刻画了所有Bank的特征,这些信息会用于SSN分析中,预测转换对系统电源网络和I/O Bank中其它输出管脚的影响。SSN分析仅分析输出信号和双向端口的输出状态,计算中会忽略输入信号。SSN分析可以帮助设计者发现设计中潜在的噪声问题。

Vivado使用技巧(15)——DRC设计规则检查

judy /

在I/O和时钟规划之后,需要验证设计以确保其满足设计需求。Vivado提供了两种验证途径:DRCs用来检查设计违反规则情况;SSN分析用来估计转换噪声等级。本文将介绍DRCs,本系列第16篇介绍了SSN分析。

<strong>运行DRCs</strong>
DRCs可以说是管脚规划中最严苛的一个步骤,DRCs会使用一套设计检查项(通常称作rule deck),来检查当前设计是否违反这套规则。本文将以运行DRCs检查I/O端口和时钟逻辑为例。

打开某一阶段的设计,点击Tools->Report->Report DRC,或在Flow Navigator中直接点击Report DRC,弹出如下窗口:
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/blog/201809/13374-39336-…; alt=""></center>

【视频】面向 UltraScale 存储 IP 的 Vivado 硬件管理器

judy /

了解如何使用 Xilinx SDK 创建 Linux 应用 我们还将介绍和演示 SDK 特性 - 支持 Linux 应用程序开发和调试的不同方面。过程快速简便。
<iframe src='//players.brightcove.net/17209957001/SywTPUVC_default/index.html?videoId=4027777656001' allowfullscreen frameborder=0 width="600" height="338"></iframe>

Vivado使用技巧(14)——IO规划方法详解

judy /

本系列第13篇简单介绍了使用RTL工程IO布局工程两种方法定义IO Ports。在I/O Planning View Layout中(IO布局工程中是Default Layout),显示了FPGA器件资源、封装管脚、I/O Ports等详细信息。设计者借助这些信息来完成I/O规划。

创建单端/差分I/O Ports
RTL工程会直接从RTL设计中获取I/O端口信息;IO布局工程可以从CSV/XDC文件中导入I/O端口信息,或者人工创建I/O端口(RTL工程不允许人工创建)。在I/O Ports窗口中右键->Create I/O Ports,弹出窗口:
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/blog/201808/13328-39067-…; alt=""></center>