嵌入式开发

介绍与赛灵思FPGA开发有关的嵌入式实时软件、操作系统、中间件、开发平台、工具以及开源资料等。

Vivado使用技巧(12)——设置DCI与内部参考电压

DCI与内部参考电压
Xilinx FPGA提供了DCI(Digitally Controlled Impedance)技术,包括两个功能:(1).控制驱动器的输出阻抗;(2).为驱动器或发送器添加一个并行端接,在传输线上得到精确的特征阻抗匹配,以提高信号完整性。DCI会主动调整I/O bank内的阻抗,以调整放在VRN和VRP管脚之间的外部精准参考电阻,这样可以补偿由于工艺变化、温度变化和电源电压抖动引起的I/O阻抗变化。每个I/O bank内都有两个复用引脚来控制该bank内所有I/O的阻抗或并行端接值。

带有差分输入缓冲区的单端I/O需要一个参考电压Vref,可以使用专用的Vref管脚为每个I/O bank提供参考电压。另外也可以使用INTERNAL_VREF约束来生成内部参考电压,这样PCB上就不需要为Vref提供电源线,也可以释放Vref管脚作为通用I/O使用。每个bank都可以设置一个可选的内部参考电压。

Ug471和ug571分别介绍了7系列和UltraScale系列中DCI和INTERNAL_VREF的详细信息。本文将介绍在Vivado中设置与之相关的DCI_CASCADE和INTERNAL_VREF属性。

创建DCI_CASCADE约束

作为集成电路设计领域现场可编程门阵列 (FPGA) 技术的创造者之一,赛灵思一直积极推广高层次综合 (HLS) 技术,通过这种能够解读所需行为的自动化设计流程打造出可实现此类行为的硬件。赛灵思刚刚推出了一本专著,清晰介绍了如何使用 HLS 技术来创建优化的硬件设计。

这本名为《FPGA 并行编程》的专著出自赛灵思首席工程师 Stephen Neuendorffer 以及来自 UCSD 的 Ryan Kastner 和来自 Cognex 的 Janarbek Matai。该书对于任何有兴趣构建 FPGA 系统的人来说都实属具有实用意义的指南。对于高年级本科生和研究生的课程而言,本书也具有特殊价值。此外,这本书对于在职系统设计人员及嵌入式编程人员同样非常实用。

该书读者只要求具备 C/C++ 编程工作知识,也就相当于汽车驾驶员掌握自动档驾驶水平,而且读者应当熟悉其他基本的计算机架构概念。此外,该书还包含了大量实例代码。我们强烈建议该书读者打开Vivado HLS 并亲自尝试这些实例代码。我们通过 Vivado WebPack Edition 提供免费的 License,或者 Vivado System Edition 的 30 天免费试用期。

Xilinx Vivado .coe文件生成

一、.COE格式文件生成

由于Quartus ii软件ROM用的是mif格式的文件,且可以用软件Guagle_wave生成正弦波、三角波、锯齿波。我们可以利用这个软件先生成数据,然后再将其转化为符合COE格式的文件。具体请参考以下步骤:

1. 先打开Guagle_wave软件;

2. 菜单栏-->查看-->全局参数设定(如下图所示):

3. 设定波形-->我们选择正弦波(如下图):

Zynq-7000 SoC — 勘误解决方法应对措施

Zynq-7000 生产勘误项目是(Xilinx 答复 47916)中所列项目的子集,通常包括由 Xilinx 和 Linux 社区实现的软件解决方法应对措施。

下表是每个生产勘误项目的状态。

注:第三方勘误项目(如 Arm)在(Xilinx 答复 55518)中列出。

Linux设备树语法详解

Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离。在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写。引入了设备树之后,驱动代码只负责处理驱动的逻辑,而关于设备的具体信息存放到设备树文件中,这样,如果只是硬件接口信息的变化而没有驱动逻辑的变化,驱动开发者只需要修改设备树文件信息,不需要改写驱动代码。比如在ARM Linux内,一个.dts(device tree source)文件对应一个ARM的machine,一般放置在内核的"arch/arm/boot/dts/"目录内,比如exynos4412参考板的板级设备树文件就是"arch/arm/boot/dts/exynos4412-origen.dts"。这个文件可以通过$make dtbs命令编译成二进制的.dtb文件供内核驱动使用。

Zynq-7000 SoC、DDR — LPDDR2 动态时钟停止重启太快

描述
在没有内存事务处理执行以及如果接收到内存请求重启时钟时,用户可通过编程 LPDDR2 控制器来停止 DRAM 时钟。

当事务处理队列为空时,该控制器会适当停止时钟,但在时钟重启时,控制器会迅速发布 DRAM 事务处理。它无法识别 tXP 时序参数值。

要么不使用 LPDDR2 时钟停止特性,要么提供软件确保只有在没有 DRAM 活动时才完成时钟停止的启用/禁用。


解决方案
影响: 其它信息,请查看解决办法的详细信息。
规避措施: 不使用时钟停止特性,也可以 
在 DRAM 处于非工作状态时,手动编程停止时钟特性
配置

【PPT下载】Vivado专家系列:高速时序收敛的技巧

赛灵思“Vivado专家系列”研讨会将由来自赛灵思Vivado开发者及资深技术支持团队成员为您带来包括技术分享、设计方法学、设计技巧等内容,以帮助用户快速提高其基于FPGA 的设计效率。此次研讨会为该系列的第一期,旨在深入剖析Vivado高速时序收敛技术。另外我们还将总结高速设计面临的挑战,介绍设计分析、设计向导以及设计复杂性和拥塞的分析方法。

本视频重点介绍了 Vivado 设计套件 2018.1 版本中的新增功能,包括对操作系统以及器件的支持情况,还有高层次增强功能,以及各种功能改进以加速设计集成、实现和验证的过程。

STA和SDF之间的时序不匹配

有时候静态时序分析(STA)的结果会与时序反标文件(SDF)出现不匹配的地方,而它们同样都是Vivado生成的。

以下内容列出了为什么会存在这种差异,以及如何解释STA运行结果和SDF之间的差异。

1. 首先要确认的是这些时序结果是在相同的状态下比较的。

例如,STA是在综合后运行的,那我们与之比较的SDF结果也应该是综合后的,而不是布线后的。

大部分的vivado用户也都很清楚这一点,在做比较的时候一定要保持设计所处的状态是一致的。

这里提到这一点是为了文章内容的完整性。

2. 确认使用了相同的timing corner

SDF文件一般是在slow corner下生成的,而STA可能是在不同的 corner下生成的,(比如:fast corner)。vivado可以做不同corner的时序分析,然后呈现出相应条件下最糟糕的结果。

查看附件文件STA.txt和dummy_synth_time.sdf

定位到IBUF的时序路径,STA文件显示这个路径延迟为293ps,而SDF文件显示这个路径延迟信息为600.5:725.7: 725.7

在STA文件的头部,你可以看到路径类型,在Fast Process Corner…..

Xilinx Vivado 设计套件支持符合 IEEE-1735-2014 版 2 标准的加密。IP 加密覆盖从 HDL(SystemVerilog、Verilog、VHDL)设计入口到媒体流生成的整个流程。IP 管理员可通过描述工具与 IP 的交互方式管理其 IP 的访问权限。

同步内容