周丽娜(Ally Zhou)

赛灵思公司工具与方法学应用专家,拥有十多年FPGA设计、EDA工具和多年客户支持的经验。2011年加入公司以来,专注于Vivado设计套件以及UltraFast设计方法学的的推广和支持。

《XDC约束技巧》系列中讨论了XDC约束的设置方法、约束思路和一些容易混淆的地方。我们提到过 约束是为了设计服务,写入Vivado中的XDC实际上就是用户设定的目标 ,Vivado对FPGA设计的实现过程必须以满足XDC中的约束为目标来进行。那么:

  • 如何验证实现后的设计有没有满足时序要求?
  • 如何在开始布局布线前判断某些约束有没有成功设置?
  • 如何验证约束的优先级?
  • 这些都需要用到Vivado中的静态时序分析工具。所以让我们来从如何读懂和用好Timing Report开始吧。

    静态时序分析

    静态时序分析( Static Timing Analysis)简称STA,采用穷尽的分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误并报告。

    作者:周丽娜(Ally Zhou ),Xilinx工具与方法学应用专家

     《XDC约束技巧之时钟篇》中曾对I/O约束做过简要概括,相比较而言,XDC中的I/O约束虽然形式简单,但整体思路和约束方法却与UCF大相径庭。加之FPGA的应用特性决定了其在接口上有多种构建和实现方式,所以从UCF到XDC的转换过程中,最具挑战的可以说便是本文将要讨论的I/O约束了。

    作者:周丽娜(Ally Zhou ),Xilinx工具与方法学应用专家

    《XDC约束技巧之时钟篇》中曾对I/O约束做过简要概括,相比较而言,XDC中的I/O约束虽然形式简单,但整体思路和约束方法却与UCF大相径庭。加之FPGA的应用特性决定了其在接口上有多种构建和实现方式,所以从UCF到XDC的转换过程中,最具挑战的可以说便是本文将要讨论的I/O约束了。

    I/O 约束的语法

    作者:Ally Zhou,Xilinx工具与方法学应用专家

    关于Tcl在Vivado中的应用文章从Tcl的基本语法和在Vivado中的应用展开,继上篇《用Tcl定制Vivado设计实现流程》介绍了如何扩展甚至是定制FPGA设计实现流程后,引出了一个更细节的应用场景:如何利用Tcl在已完成布局布线的设计上对网表或是布局布线进行局部编辑,从而在最短时间内,以最小的代价完成个别的设计改动需求。

    什么是ECO

    ECO指的是Engineering Change Order,即工程变更指令。目的是为了在设计的后期,快速灵活地做小范围修改,从而尽可能的保持已经验证的功能和时序。ECO的叫法算是从IC设计领域继承而来,其应用在FPGA设计上尚属首次,但这种做法其实在以往的FPGA设计上已被广泛采用。简单来说,ECO便相当于ISE上的FPGA Editor。

    但与FPGA Editor不同,Vivado中的ECO并不是一个独立的界面或是一些特定的命令,要实现不同的ECO功能需要使用不同的方式。

     作者:周丽娜(Ally Zhou ),Xilinx工具与方法学应用专家
    上一篇《Tcl在Vivado中的应用》介绍了Tcl的基本语法以及如何利用Tcl在Vivado中定位目标。其实Tcl在Vivado中还有很多延展应用,接下来我们就来讨论如何利用Tcl语言的灵活性和可扩展性,在Vivado中实现定制化的FPGA设计流程。


    让更多的用户受益于强大的Vivado与UltraFAST ——周丽娜(Ally Zhou),Xilinx工具与方法学应用专家

    想到要写这一系列关于工具和方法学的小文章是在半年多前,那时候Vivado已经推出两年,陆陆续续也接触了不少客户和他们的设计。我所在的部门叫做“Tools & Methodology Applications”,其实也是专为Vivado而设的一个部门,从Vivado的早期计划开始,我和我的同事们就投入到了Xilinx和Vivado的客户们的推广和支持中,我们给客户做培训,在市场活动上做报告,培训和考核代理商,也去现场支持客户的设计。两年的时间,Vivado不断成熟,客户们也从最初的焦虑抗拒到全面接受,但随着与用户更深层次的技术交流,尤其是接触了一些代理商的FAE以及他们客户的设计后,我渐渐发现其实很多Vivado的用户并没有真正了解它的好处,或者说,要么不够深入,要么就是有很多认识的偏差。也许是语言的限制,也许是对各种各样动辄上百页的PDF文档的无所适从,我能感觉到他们需要一些更直接,更有针对性的指引。

    XDC约束技巧——CDC篇

    作者:周丽娜(Ally Zhou ),Xilinx工具与方法学应用专家
    上一篇《XDC约束技巧之时钟篇》介绍了XDC的优势以及基本语法,详细说明了如何根据时钟结构和设计要求来创建合适的时钟约束。我们知道XDC与UCF的根本区别之一就是对跨时钟域路径(CDC)的缺省认识不同,那么碰到FPGA设计中常见的CDC路径,到底应该怎么约束,在设计上又要注意些什么才能保证时序报告的准确性?

    XDC约束技巧之时钟篇

    作者:周丽娜(Ally Zhou ),Xilinx工具与方法学应用专家

    Xilinx©的新一代设计套件 Vivado 中引入了全新的约束文件 XDC,在很多规则和技巧上都跟上一代产品 ISE 中支持的 UCF 大不相同,给使用者带来许多额外挑战。Xilinx 工具专家告诉你,其实用好 XDC 很容易,只需掌握几点核心技巧,并且时刻牢记:XDC 的语法其实就是 Tcl 语言。


    作者:周丽娜(Ally Zhou ),Xilinx工具与方法学应用专家
    Xilinx的新一代设计套件Vivado相比上一代产品ISE,在运行速度、算法优化和功能整合等很多方面都有了显著地改进。但是对初学者来说,新的约束语言XDC以及脚本语言Tcl的引入则成为了快速掌握Vivado使用技巧的最大障碍,以至于两年多后的今天,仍有很多用户缺乏升级到Vivado的信心。

    本文介绍了Tcl在Vivado中的基础应用,希望起到抛砖引玉的作用,指引使用者在短时间内快速掌握相关技巧,更好地发挥Vivado在FPGA设计中的优势。

    同步内容