当前位置:文档之家› Vivado工程经验与各种时序约束技巧分享

Vivado工程经验与各种时序约束技巧分享

Vivado工程经验与各种时序约束技巧分享

Vivado工程经验与各种时序约束技巧分享

FPGA毕竟不是ASIC,对时序收敛的要求更加严格,本文主要介绍本人在工程中学习到的各种时序约束技巧。

首先强烈推荐阅读官方文档UG903和UG949,这是最重要的参考资料,没有之一。它提倡要在设计的早期阶段就要排除问题,越到后期时序的改善就越困难。其中HLS层次对性能的影响是最大的。

本文将从代码风格,时序修正,工程设置等几个方面介绍本人的实践经验,希望让各位初学者快速提高,也希望FPGAer能给出宝贵建议。

1. 代码风格推荐使用Xilinx language templates的代码块,这里的代码能够综合出正确且结构简洁的电路,包括移位寄存器,乘法,复数乘法,FIR滤波器等,凡是涉及到的模块尽量使用官方写法。

合理的设计代码框架。IO相关的代码、时钟管理单元尽量放在顶层,后者有助于以共享资源从而提高性能降低功耗。模块的输出最好是使用寄存器输出,有助于降低路径延时帮助时序收敛。

复位也是非常重要的问题。和ASIC不同,Xilinx FPGA的寄存器是高电平复位,支持异步复位和同步复位,但是DSP和BRAM内部的寄存器不支持异步复位。因此,官方更推荐设计采用高电平同步复位,可以降低资源的使用和功耗,有助于时序收敛。由于FPGA 的初始状态是确定的(可以在定义说明中指定),为了更快地时序收敛,官方文档认为,能不用复位是最好的,尤其数据路径和移位寄存器的设计中。不过使用同步复位仍需要注意控制集不能太多的问题。关于这方面的内容,UG949第三章Control Signals and Control Sets给了详细的说明。

数学运算使用DSP单元速度会更快一些,根据DSP的结构重组数学运算,充分利用FPGA 的DSP、BRAM资源。并且能做到对代码映射的硬件资源心里有数。

如果并不需要优先级,尽量将If语句转化为case语句。

尽量不要使用Dont Touch这类语句。如今Vivado综合工具已经很完善了,除非代码有问

时序分析基础与时钟约束实例1

时序分析基础与时钟约束实例(1) 文中实例配套SF-CY3开发套件。更多内容请参考《SF-CY3 FPGA套件开发指南》。 何谓静态时序分析(STA,Static Timing Analysis)? 首先,设计者应该对FPGA内部的工作方式有一些认识。FPGA的内部结构其实就好比一块PCB板,FPGA的逻辑阵列就好比PCB板上的一些分立元器件。PCB通过导线将具有相关电气特性的信号相连接,FPGA也需要通过内部连线将相关的逻辑节点导通。PCB板上的信号通过任何一个元器件都会产生一定的延时,FPGA的信号通过逻辑门传输也会产生延时。PCB的信号走线有延时,FPGA的信号走线也有延时。这就带来了一系列问题,一个信号从FPGA的一端输入,经过一定的逻辑处理后从FPGA的另一端输出,这期间会产生多大的延时呢?有多个总线信号从FPGA的一端输入,这条总线的各个信号经过逻辑处理后从FPGA 的另一端输出,这条总线的各个信号的延时一致吗?之所以关心这些问题,是因为过长的延时或者一条总线多个信号传输时间的不一致,不仅会影响FPGA本身的性能,而且也会给FPGA之外的电路或者系统带来诸多问题。 言归正传吧,之所以引进静态时序分析的理论也正是基于上述的一些思考。它可以简单的定义为:设计者提出一些特定的时序要求(或者说是添加特定的时序约束),套用特定的时序模型,针对特定的电路进行分析。分析的最终结果当然是要求系统时序满足设计者提出的要求。 下面举一个最简单的例子来说明时序分析的基本概念。假设信号需要从输入到输出在FPGA内部经过一些逻辑延时和路径延时。系统要求这个信号在FPGA内部的延时不能超过15ns,而开发工具在执行过程中找到了如图所示的一些可能的布局布线方式。那么,怎样的布局布线能够达到系统的要求呢?仔细分析一番,发现所有路径的延时可能为14ns、15ns、16ns、17ns、18ns,有两条路径能够满足要求,那么最后的布局布线就会选择满足要求的两条路径之一。 静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,即有约束才会有分析。若设计者不添加时序约束,那么时序分析就无从谈起。特权同学常常碰见一些初学者在遇到问题时不问青红皂白就认为是时序问题,实际上只有在添加了时序约束后,系统的时序问题才有可能暴露出来。 下面我们再来看一个例子,我们假设有4个输入信号,经过FPGA内部一些逻辑处理后输出。FPGA内部的布线资源有快有慢之分,好比国道和高速公路。通过高速通道所需要的路径延时假设为3ns-7ns,但只有两条可用;而通过慢速通道的路径延时则>10ns。

项目管理经验交流(个人总结版)

. . 目录 1.项目管理..............................2 1.1 项目管理的容........................2 1.2 项目管理的目标和控制方法..................5 1.2.1 目标...........................5 1.2.2 控制方法...........................52.项目经理............................7 2.1 项目经理的工作容.........................7 2.2 对项目经理的要求.........................8 2.3 对设计类项目经理的要求..................9 3.管理方法.............................10 3.1 项目管理的基本过程........................10 3.2 影响项目成功的因素.........................11 3.3 项目失败的原因.........................11 3.4 项目运行各阶段重要关键点 TOP 3.................11 3.5 集思广益法(头脑风暴法)......................12 4.项目管理建议..............................12 4.1 管理必须强势,原则问题不容讨论.................12 4.2 质量管理问题..........................12 4.3 项目计划很重要.........................13 4.4 学海无涯...........................13

Quartus II 中TsuTco 的约束方法

Quartus II 中Tsu/Tco 的约束方法 Tsu/Tco 在Quartus II 的报告中有两种不同含义. 1. 片内的Tsu/Tco 是指前级触发器的Tco 和后级触发器的Tsu, 一般来说都是几百ps 级别的. 可以通过“List Paths”命令查看。这里的Tsu/Tco 主要由器件工艺决定, 工作时在受到温度,电压的影响略有变化.(如下图所示) 2. 管脚上的Tsu/Tco 它是保证系统Famx 重要的Timing 元素(如下图示). 比如: 两个芯片之间工作在100MHZ, 因为100M 的周期为10ns, (现忽略PCB 走线的延迟), 如果某信号对FPGA 来说是输入,那么前级芯片的Tco 加上FPGA 的Tsu 就不能够超过10ns. 如果某信号对于FPGA 来说是输出,那么FPGA 的Tco 加上后级芯片的Tsu 也不能够超过10ns. 只有这样,才能够保证片间通信正常。因此对FPGA 的管脚进行适当的Tco/Tsu 的时序约束,是至关

重要的Timing 设计技巧. 管脚上的Tsu/Tco 分为以下三个部分. 1. IOE 走线的延迟. 这个延迟在管脚的Tsu/Tco 延迟中占有相当的比 例,Altera 的器件为了降低Tsu/Tco 在IOE 上的延迟, 专门在IOE 中设置了两种类型的触发器, 即: Fast Input Register(FPGA 的管脚为输入时,优化Tsu), Fast Output Register(FPGA 的管脚为输出时,用于优化Tco) 2. 内部逻辑走线的延迟。在Altera 的FPGA 中, 由若干个基本资源LE 构成一个LAB,比如:StratixGx 是10 个LE 组成一个LAB. LAB 横向和纵向排列形成阵列. 在FPGA 中,以LAB 为基本单元,根据走线长度的不同,分为C4(表示横跨4 个LAB 的走线资源),C8,C16,R4,R8,16,R24 等不同的走线资源,不同的器件支持不同的走线资源。 3. 触发器的Tsu/Tco 的需求,这里的Tsu/Tco, 这是由器件工艺决定的,最小的Tsu/Tco 的要求. 在实际的工作环境中,受温度,电压的变化有微小的变化. 前面提到:对FPGA 的管脚进行适当的Tco/Tsu 的时序约束,是至关重要的Timing 设计技巧.关键是在出了问题的时候,怎么去解决? Quartus II 有四处可以对Tsu/Tco 进行约束. 1. 全局时序约束. 在Quartus II 中执行Assignments→Timing Setting 弹出如下界面.设计者可以根据系统Fmax 的要求去约束Tsu/Tco.

ASIC时序约束、时序分析

ASIC时序约束、时序分析 2009-11-13 22:13 A 时序约束的概念和基本策略 时序约束主要包括周期约束(FFS到FFS,即触发器到触发器)和偏移约束(IPAD到FFS、FFS到OPAD)以及静态路径约束(IPA 综合布线工具调整映射和布局布线过程,使设计达到时序要求。例如用OFFSET_IN_BEFORE约束可以告诉综合布线工具输入信号在以根据这个约束调整与IPAD相连的Logic Circuitry的综合实现过程,使结果满足FFS的建立时间要求。 附加时序约束的一般策略是先附加全局约束,然后对快速和慢速例外路径附加专门约束。附加全局约束时,首先定义设计的所有分组附加周期约束,然后对FPGA/CPLD输入输出PAD附加偏移约束、对全组合逻辑的PAD TO PAD路径附加约束。附加专门约束时速例外路径和多周期路径,以及其他特殊路径。 B 附加约束的基本作用 1. 提高设计的工作频率 对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。通过附加约束可以控制逻辑的综时,从而提高工作频率。 2. 获得正确的时序分析报告 几乎所有的FPGA设计平台都包含静态时序分析工具,利用这类工具可以获得映射或布局布线后的时序分析报告,从而对束作为判断时序是否满足设计要求的标准,因此要求设计者正确输入约束,以便静态时序分析工具输出正确的时序分析 3. 指定FPGA/CPLD引脚位置与电气标准 FPGA/CPLD的可编程特性使电路板设计加工和FPGA/CPLD设计可以同时进行,而不必等FPGA/CPLD引脚位置完全确定,从成后,设计者要根据电路板的走线对FPGA/CPLD加上引脚位置约束,使FPGA/CPLD与电路板正确连接。另外通过约束还特性。为了满足日新月异的通信发展,Xilinx新型FPGA/CPLD可以通过IO引脚约束设置支持诸如 AGP、BLVDS、CTT、G LVPECL、LVDSEXT、LVTTL、 PCI、PCIX、SSTL、ULVDS等丰富的IO接口标准。另外通过区域约束还能在FPGA上规划各个成模块化设计等。 C 周期(PERIOD)的含义 周期的含义是时序中最简单也是最重要的含义,其它很多时序概念会因为软件商不同略有差异,而周期的概念确是最通用的,周期面要讲到的其它时序约束都是建立在周期约束的基础上的,很多其它时序公式,可以用周期公式推导。周期约束是一个基本时序和具根据PERIOD约束检查时钟域内所有同步元件的时序是否满足要求。PERIOD约束会自动处理寄存器时钟端的反相问题,如果相迟将被默认限制为PERIOD约束值的一半。如下图所示, 图1 周期的定义 时钟的最小周期为: TCLK = TCKO +TLOGIC +TNET +TSETUP -TCLK_SKEW TCLK_SKEW =TCD2 -TCD1

工程施工管理经验交流发言稿

工程施工管理经验交流发言稿 施工单位:武汉市盘龙明达建筑有限公司 各位领导、各位同仁: 你们好! 能参加此次工地安全生产交流大会,我感到非常荣幸!自开工以来,我们发扬盘龙铁军精神,克服种种困难,创造条件,大干快上,工程进展比较顺利。我公司始终坚持“以质信求生存、以稳健求发展”的管理理念,打造了一个又一个的精品工程,树立了良好的企业形象和信誉。 安全管理是我们项目的核心,是生产和管理的基点,提高项目的运作安全质量,是施工项目生存和发展永恒的主题。硚房·翰林珑城项目工程,以“保安全、文明,创建精品工程”为口号,以工程项目管理为中心,在创建过程中,我们做了大量工作,得到武汉市硚房集团有限公司的充分肯定,下面,就工作情况简要汇报如下: 一、切实的做好事前控制 在开工前,项目部按公司规定了安全生产、文明施工、工程质量、工期进度、工程资料和成本控制的目标,明确了在事前应预控的内容、事中动态跟踪的事项、事后总结提高的要求;建立健全安全、质量保证体系,成立了项目部组织管理机构,分别由项目经理、项目技术负责人、安全员、施工员、材料员、质检员和各专业班组班组长为安全、质量管

理保证体系成员,项目经理为施工项目第一责任人;依据工程建设规模,配备二名的专职安全员;同时,在施工各班组均设有安全管理责任人;负责从开工到竣工全过程的安全生产工作。从而形成了纵向到底、横向到边的安全生产、文明施工管理格局,使项目工程的整体管理处于受控状态。并针对该工程本身和地域环境的特点,专门制定了“施工管理计划”,该计划从管理策划开始,讲述了管理的程序、内容以及定期检查评比绩效考核的方法,向项目管理团队进行管理交底,并针对承诺的目标要求,提出了安全生产、文明施工、工程质量、工程资料等目标创优的各项措施及工程质量通病防治措施,以辅助项目管理团队实现承诺的目标。在组织各项目管理团队学习计划内容后,要求项目管理团队订立管理责任合同,以便全面按施工管理计划落实执行。 依据公司的管理制度及CI统一标准,合理地划分了施工区、材料堆放区、办公区、生活区及运输道路和给、排水系统的位置。并按要求搭建农民工学校,对所有参建的工人进行了安全教育技术交底规范作业行为的活动,让工人熟悉施工现场的安全纪律、管理制度、安全操作规程、注意事项,并记录签名存档。尤其是对特种作业操作人员,如电工、架子工、电焊工、塔吊司机等进行了专门的安全技术交底与培训,并对各工种进行了专项安全技术交底。项目部每月进行“安全生产”检查考评活动,以“安全责任、重在落实”为

在FPGA设计环境下添加时序约束的方法

如何在FPGA设计环境中加时序约束SDC 在给FPGA做逻辑综合和布局布线时,需要在工具中设定时序的约束。通常,在FPGA设计工具中都FPGA中包含有4种路径:从输入端口到寄存器,从寄存器到寄存器,从寄存器到输出,从输入到输出的纯组合逻辑。通常,需要对这几种路径分别进行约束,以便使设计工具能够得到最优化的结果。下面对这几种路径分别进行讨论: 从输入端口到寄存器: 这种路径的约束是为了让FPGA设计工具能够尽可能的优化从输入端口到第一级寄存器之间的路径延迟,使其能够保证系统时钟可靠的采到从外部芯片到FPGA的信号。约束名称:input delay。约束条件的影响主要有4个因素:外部芯片的Tco,电路板上信号延迟Tpd,FPGA的Tsu/Th,时钟延迟Tclk。Tco的参数通常需要查外部芯片的数据手册。计算公式:input delay = Tco+Tpd+Tsu-Tclk。FPGA的Tsu也需要查FPGA芯片的手册,FPGA速度等级不同,这个参数也不同。Tpd和Tclk需要根据电路板实际的参数来计算。通常,每10 cm的线长可以按照1ns来计算. 例如:系统时钟100MHz,电路板上最大延迟2 ns,时钟最大延迟为1.7 ns,Tco为3 ns,FPGA的Tsu为0.2 ns。那么输入延迟的值:max input delay = 2+3+0.2-1.7=3.5 ns。这个参数的含义是指让FPGA 的设计工具把FPGA的输入端口到第一级寄存器之间的路径延迟(包括门延迟和线延迟)控制在10 ns - 3.5 ns = 6.5 ns 以内。对于min input delay,则类似考虑FPGA寄存器的Th参数等。 寄存器到寄存器: 这种路径的约束是为了让FPGA设计工具能够优化FPGA内寄存器到寄存器之间的路径(register-to-register),使其延迟时间必须小于时钟周期,这样才能确保信号被可靠的传递。由于这种路径只存在于FPGA内部,通常通过设定时钟频率的方式就可以对其进行约束。对于更深入的优化方法,还可以采用对寄存器的输入和寄存器的输出加入适当的约束,来使逻辑综合器和布线器能够对某条路径进行特别的优化。还可以通过设定最大扇出数来迫使工具对其进行逻辑复制,减少扇出数量,提高性能。

时序约束

在进行FPGA的设计时,经常会需要在综合、实现的阶段添加约束,以便能够控制综合、实现过程,使设计满足我们需要的运行速度、引脚位置等要求。通常的做法是设计编写约束文件并导入到综合实现工具,在进行FPGA/CPLD的综合、实现过程中指导逻辑的映射和布局布线。下面主要总结一下Xilinx FPGA时序约束设计和分析。 一、周期约束 周期约束是Xilinx FPGA 时序约束中最常见的约束方式。它附加在时钟网线上,时序分析工具会根据周期约束来检查时钟域内所有同步元件的时序是否满足需求。周期约束会自动的寄存器时钟端的反相。如果相邻的两个元件的时钟相位是相反的,那么它们之间的延迟将被默认的限制成周期约束的一半。 在进行周期约束之前,必须对电路的时钟周期明了,这样才不会出现约束过松或者过紧的现象。一般情况下,设计电路所能达到的最高运行频率取决于同步元件本身的Setup Time 和Hold Time,以及同步元件之间的逻辑和布线延迟。周期约束一般是使用下面的约束方法: 1、period_item PERIOD=period {HIGH|LOW} [high_or low_item] 其中,period_item可以是NET或TIMEGRP,分别代表时钟线名称net name或元件分组名称group-name。用NET表示PERIOD约束作用到名为“net name”的时钟网线所驱动的同步元件上,用TIMEGRP表示PERIOD约束作用到TIMEGRP所定义的分组(包括FFS、LATCH和RAM等同步元件)上。period是目标时钟周期,单位可以是ps、ns、μS和ms 等。HIGH|LOW指出时钟周期中的第1个脉冲是高电平还是低电平,high or low time为HIGH LOW指定的脉冲的持续时间,默认单位是ns。如果没有该参数,时钟占空比是50%。例如,NET SYS_CLK PERIOD=10 ns HIGH 4ns 2、NET“clock net name”TNM_NET=“timing group name”; TIMESPEC“TSidentifier”=PERIOD “TNM reference”period {HIGH | LOW} [high or low item]INPUT_JITTER value; 很多时候为了能够定义比较复杂的派生关系的时钟周期,就要使用该方法。其中TIMESPEC在时序约束中作为一个标识符表示本约束为时序规范;TSidentifier包括字母TS和一个标识符identifier共同作为一个TS属性;TNM reference指定了时序约束是附加在哪一个组上,一般情况下加在TNM_NET定义的分组上。HIGH | LOW 指的是时钟的初始相位表明第一个时钟是上升沿还是下降沿;high or low item 表示的是时钟占空比,即就是high或者low的时间,默认为1:1, INPUT_JITTER 表示的是时钟的抖动时间,时钟会在这个时间范围内抖动,默认单元为ps。比如周期约束: NET "ex_clk200m_p" TNM_NET = TNM_clk200_p; TIMESPEC "TS_clk200_p" = PERIOD "TNM_clk200_p" 5.000 ns HIGH 50 %; 建立一个TNM_clk200_p的时序分组,包括时钟网络ex_clk200m_p驱动的所有同步

建设工程项目管理经验交流会会议纪要

建设工程项目管理经验交流会会议纪要 2015年7月15日,由中国建设监理协会主办,吉林省建设监理协会协办的建设工程项目管理经验交流会在长春市召开。全国各地建设监理协会、各分会(专业委员会)、企业代表共400多人参加本次大会。吉林省住房和城乡建设厅副厅长范强到会并致辞,中国建设监理协会会长郭允冲作重要讲话,中国建设监理协会副会长兼秘书长修璐作“新常态下建设监理企业面临的机遇与挑战”主题报告,龚花强等11名专家、教授及企业负责人在会上作专题演讲。会议由中国建设监理协会副会长王学军和中国建设监理协会副秘书长温健分别主持。 本次会议旨在贯彻住房城乡建设部关于推进建筑业发展和改革的若干意见和工程质量治理两年行动方案,应对工程监理服务价格市场化新形势,增强监理企业适应建筑市场发展和改革的能力,促进监理行业可持续发展。在会议各方的共同努力下,圆满完成了会议预定的各项议程。 一、郭允冲会长到会并作重要讲话。郭会长简要介绍了2014年监理行业发展情况,分析了监理行业发展存在的老问题及新情况,对监理企业的发展提出了三点要求:一是要加强企业质量安全管理体系的建设,落实项目总监理工程师质量安全六项规定,加强对项目的监理机构和监理人员的考核

检查等。二是要加大科技投入,全面提升监理行业的技术水平。把现代的科学技术、信息技术与传统技术结合起来,提高企业的核心竞争力。三是要坚持原则,依法、依照强制性标准规范履行职责,提高企业的诚信度,提高企业的知名度。 郭会长指出,面对政府行政体制改革及监理价格放开等新情况,监理企业必须从自身下功夫,依靠科技进步,加强管理创新,提高综合素质,要做优做强,做精做专。郭会长还举例论证了当前市场经济条件下,监理企业还是有很大的发展空间,要学习国外先进的管理理念,发展综合性的监理咨询企业。 二、会议分析了当前监理企业面临的机遇与挑战。副会长兼秘书长修璐同志关于“新常态下建设监理企业面临的机遇与挑战”主题报告,在与会代表中产生了共鸣。修璐同志结合当前改革发展形势,介绍了什么是新常态。提出了新常态下建设监理行业发展面临的主要问题:一是价格问题;二是五方主体责任问题;三是强制性监理政策调整问题;四是市场准入政策调整问题;五是行业协会组织建设问题。结合以上问题,修璐同志分析了建设监理行业与企业发展机遇与挑战,提出原有适应政府行政管理制度的行业和企业发展思路与做法受到挑战,必须做出相应的调整;同时对监理行业定位,企业转型升级提供了难得的历史机遇,将促进部分定位从事施工阶段监理工作的企业全面升级,部分有条件企业

时序约束总结

很多人发贴,来信询问关于约束、时序分析的问题,比如: 如何设置setup,hold时间?如何使用全局时钟和第二全局时钟(长线资源)?如何进行分组约束?如何约束某部分组合逻辑?如何通过约束保证异步时钟域之间的数据交换可靠?如何使用I/O逻辑单元内部的寄存器资源?如何进行物理区域约束,完成物理综合和物理实现?等等。。。 为了解决大家的疑难,我们将逐一讨论这些问题。 今天先讨论一下约束的作用? 有些人不知道何时该添加约束,何时不需要添加?有些人认为低速设计不需要时序约束?关于这些问题,希望下面关于约束作用的论述能够有所帮助!附加约束的基本作用有3: (1)提高设计的工作频率 对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。 (2)获得正确的时序分析报告 几乎所有的FPGA设计平台都包含静态时序分析工具,利用这类工具可以获得映射或布局布线后的时序分析报告,从而对设计的性能做出评估。静态时序分析工具以约束作为判断时序是否满足设计要求的标准,因此要求设计者正确输入约束,以便静态时序分析工具输出正确的时序分析报告。 (3)指定FPGA/CPLD引脚位置与电气标准 FPGA/CPLD的可编程特性使电路板设计加工和FPGA/CPLD设计可以同时进行,而不必等FPGA/CPLD引脚位置完全确定,从而节省了系统开发时间。这样,电路板加工完成后,设计者要根据电路板的走线对FPGA/CPLD加上引脚位置约束,使FPGA/CPLD与电路板正确连接。另外通过约束还可以指定IO引脚所支持的接口标准和其他电气特性。为了满足日新月异的通信发展,Xilinx新型FPGA/CPLD可以通过IO引脚约束设置支持诸如AGP、BLVDS、CTT、GTL、

ISE时序约束笔记

ISE时序约束笔记 ISE时序约束笔记1——Global Timing Constraints 时序约束和你的工程 执行工具不会试图寻找达到最快速的布局&布线路径。——取而代之的是,执行工具会努力达到你所期望的性能要求。 性能要求和时序约束相关——时许约束通过将逻辑元件放置的更近一些以缩短布线资源从而改善设计性能。 没有时序约束的例子 该工程没有时序约束和管脚分配 ——注意它的管脚和放置 ——该设计的系统时钟频率能够跑到50M 时序约束的例子

和上面是相同的一个设计,但是加入了3个全局时序约束。 ——它最高能跑到60M的系统时钟频率 ——注意它大部分的逻辑的布局更靠近器件边沿其相应管脚的位置 更多关于时序约束 时序约束应该用于界定设计的性能目标 1.太紧的约束将会延长编译时间 2.不现实的约束可能导致执行工具罢工 3.查看综合报告或者映射后静态时序报告以决定你的约束是否现实 执行后,查看布局布线后静态时序报告以决定是否你的性能要求达到了——如果约束要求没有达到,查看时序报告寻找原因。 路径终点 有两种类型的路径终点: 1.I/O pads 2.同步单元(触发器,锁存器,RAMs) 时序约束的两个步骤: 1.路径终点生产groups(顾名思义就是进行分组) 2.指点不同groups之间的时序要求 全局约束使用默认的路径终点groups——即所有的触发器、I/O pads等 ISE时序约束笔记2——Global Timing Constraints 问题思考 单一的全局约束可以覆盖多延时路径 如果箭头是待约束路径,那么什么是路径终点呢? 所有的寄存器是否有一些共同点呢?

XILINX-时序约束使用指南中文

XILINX时序约束使用指南笔记 第一章 时序约束介绍 第二章 时序约束方法 第三章 时序约束原则 第四章 在XST中指定时序约束 第五章 在Synplify中指定时序约束方法 第六章 时序约束分析

第一章 时序约束介绍 基本的时序约束包括: “PERIOD Constraints” “OFFSET Constraints” “FROM:TO(Multi‐Cycle)约束”

第二章 时序约束方法 1,简介: 2,基本的约束方法 根据覆盖的路径不同,时序要求变成一些不同的全局约束。 最普通的路径类型包括: 1,输入路径 2,同步元件到同步元件路径 3,指定路径 4,输出路径 XILINX的时序约束与每一种全局约束类型都有关。最有效的方法就是一开始就指定全局约束然后再加上指定路径的约束。在很多案例中,只要全局约束就可满足需求。 FPGA器件执行工具都是由指定的时序要求驱动的。如果时序约束过头的话,就会导致内存使用增加,工具运行时间增加。更重要的是,过约束还会导致性能下降。因此,推荐使用实际设计要求的约束值。 3,输入时序约束 输入时序约束包括2种 “系统同步输入” “源同步输入” 输入时钟约束覆盖了输入数据的FPGA外部引脚到获取此数据的寄存器之间的路径。输入时钟约束经常用”OFFSET IN”约束。指定输入时钟要求的最好方法,取决于接口的类型(源/系统同步)和接口是SDR还是DDR。 OFFSET IN定义了数据和在FPGA引脚抓取此数据的时钟沿之间的关系。在分析OFFSET IN 约束时,时序分析工具自动将影响时钟和数据延迟的因素考虑进去。这些因素包括: 时钟的频率和相位转换 时钟的不确定 数据延迟调整 除了自动调整,还可以在与接口时钟相关的”PERIOD”约束中另外增加时钟不确定。 关于增加”INPUT_JITTER”的更多信息,参见第三章的”PERIOD Constraints”。 “OFFSET IN”与单输入时钟有关,默认情况下,OFFSET IN约束覆盖了从输入pad到内部同步元件之间的所有路径。用于抓取那些从pad输入的数据的同步元件由指定的OFFSET IN 时钟触发。应用OFFSET IN约束被称为”global”方法。这是指定输入时序的最有效的方法。 系统同步输入 在体统同步接口中,发送和抓取数据共用一个系统时钟。板上的布线延迟和时钟倾斜限制了接口的工作频率。更低的频率也会导致系统同步输入接口典型的采用SDR应用。 系统同步SDR应用例子,见图2‐1。系统同步SDR应用中,在时钟上升沿从源器件发送

XDC约束技巧之时钟篇

XDC约束技巧之时钟篇 Xilinx?的新一代设计套件Vivado中引入了全新的约束文件XDC,在很多规则和技 巧上都跟上一代产品ISE中支持的UCF大不相同,给使用者带来许多额外挑战。Xilinx工 具专家告诉你,其实用好XDC很容易,只需掌握几点核心技巧,并且时刻牢记:XDC的 语法其实就是Tcl语言。 XDC的优势 XDC是Xilinx Design Constraints的简写,但其基础语法来源于业界统一的约束规范SDC(最早由Synopsys公司提出,故名Synopsys Design Constraints)。所以SDC、XDC 跟Vivado Tcl的关系如下图所示。 XDC的主要优势包括: 1.统一了前后端约束格式,便于管理; 2.可以像命令一样实时录入并执行; 3.允许增量设置约束,加速调试效率; 4.覆盖率高,可扩展性好,效率高; 5.业界统一,兼容性好,可移植性强; XDC在本质上就是Tcl语言,但其仅支持基本的Tcl语法如变量、列表和运算符等等,对其它复杂的循环以及文件I/O等语法可以通过在Vivado中source一个Tcl文件的方式来 补充。(对Tcl话题感兴趣的读者可以参考作者的另一篇文章《Tcl在Vivado中的应用》)XDC与UCF的最主要区别有两点: 1.XDC可以像UCF一样作为一个整体文件被工具读入,也可以在实现过程中被当作一个个单独的命令直接执行。这就决定了XDC也具有Tcl命令的特点,即后面输入的约束在有冲突的情况下会覆盖之前输入的约束(时序例外的优先级会在下节详述)。另外,不同于UCF是全部读入再处理的方式,在XDC中,约束是读一条执行一条,所以先后顺序很重要,例如要设置IO约束之前,相对应的clock一定要先创建好。

Quartus_II_时钟约束概念

Support of SDC Timing Constraints 1. Clock(时钟): create_clock命令为任何register, port或pin进行时钟特性描述,使其具有独一的时钟特性。 create_clock-period [-name ] [-waveform ] [-add] create_clock Command Options Example 1-1约束时钟频率100MHz,占空比50%,0ns上升沿,5ns下降沿。 create_clock –period 10 –waveform { 0 5 } clk Example 1-2 和上例相差90度的相位。 create_clock –period 10 –waveform { 2.5 7.5 } clk_sys 使用create_clock命令约束时钟缺省的source Latency值为0。Quartus II TimeQuest Timing Analyzer自动为非虚拟时钟(non-virtual clocks)计算时钟网络延时(clock’s network latency)。 Quartus II Handbook, Volume 3 6-29 生成时钟(Generated Clocks) Quartus II TimeQuest Timing Analyzer可以把修改或改变主时钟(或者引入时钟)特性的分频时钟、波纹时钟和电路作为生成时钟。 你可以定义这些电路的输出作为生成时钟。这些定义可以让Quartus II TimeQuest Timing Analyzer分析这些时钟以及关联的时钟网络延时(network

时序约束实例

用Quartus II Timequest Timing Analyzer进行时序分析:实例讲解 (一) (2012-06-21 10:25:54) 转载▼ 标签: 杂谈 一,概述 用Altera的话来讲,timequest timing analyzer是一个功能强大的,ASIC-style的时序分析工具。采用工业标准--SDC(synopsys design contraints)--的约束、分析和报告方法来验证你的设计是否满足时序设计的要求。在用户的角度,从我使用TimeQuest的经验看,它与IC设计中经常用到的比如prime time,time craft等STA软件是比较类似的。用过prime time或time craft的朋友是非常容易上手的。 在这一系列的文章里,我将会拿一个DAC7512控制器的verilog设计作为例子,详细讲解如何使用TimeQuest进行时序设计和分析。 二,TimeQuest的基本操作流程 做为altera FPGA开发流程中的一个组成部分,TimeQuest执行从验证约束到时序仿真的所有工作。Altera推荐使用下面的流程来完成TimeQuest 的操作。

1. 建立项目并加入相关设计文件 不管做什么事情,都需要有一个目标或者说对象。我们用TimeQuest 做时序分析,当然也需要一个对象,这个对象实际上就是我们的设计。所以首先是要建立一个Quartus II的项目,并把所有需要的设计文件都加入到项目中去。需要注意的一点是,这里的设计文件,不仅仅包含逻辑设计相关的文件,也包含已经存在的时序约束文件,当然,需要以synopsys Design Constraints(.sdc)的格式存在的。 2. 对项目进行预编译(initial compilation) 项目建立以后,如果从来没有对项目进行过编译的话,就需要对项目进行预编译。这里的预编译是对应于全编译(full compilation)来讲的,我们可以理解为预编译是对项目进行部分的编译,而全编译是对项目进行完整的编译。做预编译的目的是为了生成一个initial design database,

Quartus II 时钟约束概念

Quartus II Handbook, Volume 3 6-28 时钟约束(Clock Specification): 约束所有时钟(包括你的设计中特有的时钟)对准确的时序分析结果而言是必不可少的。Quartus II TimeQuest Timing Analyzer为各种各样的时钟配置和典型时钟提供许多SDC命令。 这个章节将介绍SDC可用的应用编程接口,以及描述指定的时钟特性。 时钟(Clocks) 使用create_clock命令为任何register, port或pin进行时钟特性描述,使其具有独一的时钟特性。例6–2展示了create_clock命令: Example 6–2. create_clock Command create_clock -period [-name ] [-waveform ] [-add] Table 6–6. create_clock Command Options Example 6–3 约束时钟频率100MHz,占空比50%,0ns上升沿,5ns下降沿。

Example 6–3. 100MHz Clock Creation create_clock –period 10 –waveform { 0 5 } clk Example 6–4和上例相差90度的相位。 Example 6–4. 100MHz Shifted by 90 Degrees Clock Creation create_clock –period 10 –waveform { 2.5 7.5 } clk_sys 使用create_clock命令约束时钟缺省的source Latency值为0。Quartus II TimeQuest Timing Analyzer自动为非虚拟时钟(non-virtual clocks)计算时钟网络延时(clock’s network latency)。 Quartus II Handbook, Volume 3 6-29 生成时钟(Generated Clocks) Quartus II TimeQuest Timing Analyzer可以把修改或改变主时钟(或者引入时钟)特性的分频时钟、波纹时钟和电路作为生成时钟。 你可以定义这些电路的输出作为生成时钟。这些定义可以让Quartus II TimeQuest Timing Analyzer分析这些时钟以及关联的时钟网络延时(network latency)。 使用create_generated_clock命令定义生成时钟。 Example 6–5. create_generated_clock Command create_generated_clock [-name ] -source [-edges ] [-edge_shift ] [-divide_by ] [-multiply_by ] [-duty_cycle ] [-add] [-invert]

FPGA中IO时序约束分析

第1章FPGA中IO口时序分析 作者:屋檐下的龙卷风 博客地址:https://www.doczj.com/doc/af9665238.html,/linjie-swust/ 日期:2012.3.1 1.1 概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛。因此,FPGA时序约束中IO口时序约束也是一个重点。只有约束正确才能在高速情况下保证FPGA和外部器件通信正确。 1.2 FPGA整体概念 由于IO口时序约束分析是针对于电路板整个系统进行时序分析,所以FPGA需要作为一个整体分析,其中包括FPGA的建立时间、保持时间以及传输延时。传统的建立时间、保持时间以及传输延时都是针对寄存器形式的分析。但是针对整个系统FPGA的建立时间保持时间可以简化。 图1.1 FPGA整体时序图 如图1.1所示,为分解的FPGA内部寄存器的性能参数: (1) Tdin为从FPGA的IO口到FPGA内部寄存器输入端的延时; (2) Tclk为从FPGA的IO口到FPGA内部寄存器时钟端的延时; (3) Tus/Th为FPGA内部寄存器的建立时间和保持时间; (4) Tco为FPGA内部寄存器传输时间; (5) Tout为从FPGA寄存器输出到IO口输出的延时; 对于整个FPGA系统分析,可以重新定义这些参数:FPGA建立时间可以定义为:(1) FPGA建立时间:FTsu = Tdin + Tsu – Tclk; (2) FPGA保持时间:FTh = Th + Tclk; (3) FPGA数据传输时间:FTco = Tclk + Tco + Tout; 由上分析当FPGA成为一个系统后即可进行IO时序分析了。FPGA模型变为如图1.2所示。

工程项目建设管理经验交流材料

工程项目建设管理经验交流材料 文章标题:工程项目建设管理经验交流材料 **公路**至**段工程项目建设,在省交通厅、省高速公路建设局及**市交通局的关怀领导下,在各有关部门的支持配合下,经所有参建单位的共同努力,目前,已完成工程总工作量的66。 一、工程项目概况 **公路**至**段工程项目,全长53.15公里。其中:主线全长50.24公里,采用一级半幅公路标准建设;路基宽度12米;支线全长2.91公里(镜泊乡支线2.56公里,水产养殖场支线0.35公里),采用一般三级公路标准建设,路基宽度8.5米。 全线路基土石方271万立方米,防护工程圬工体积10.6万立方米,原设计路面采用沥青混凝土,因沥青涨价及货源紧张,经省高速公路建设局组织专家论证,省交通厅于20xx年6月22日以黑交发〔20xx〕226号文件批复,将原沥青混凝土路面改为水泥混凝土路面。 全线新建大桥1,413.84米/3座,中桥323.04米/5座,小桥229.2米/8座,涵洞85道;全线设交叉道64处,其中与三级公路交叉12处,与大车道交叉52处。设收费站一处。

工程建设用地132.3公顷。其中:耕地19.2公顷,林地108.9公顷,其他用地4.2公顷。 建设资金及构成:本项目概算总金额为48,723万元,其构成为:1、交通部8,800万元,2、开行贷款6,270万元,3、地方筹资33,653万元(其中:波兰贷款2,850万美元,约23,000万元人民币,其余10,635万元为国内商业银行贷款)。 标段划分情况:本工程共分为14个标段。其中:路基标段6个,桥梁标段3个,路面标段2个,房建标段1个,机电标段1个,监理标段1个。 建设总工期为36个月,20xx年10月18日开工,计划20xx年9月30日完工交付使用。 基本建设程序,按公路工程建设项目规定,严格履行了逐级申报审批手续,批文按要求进行了立卷归档。 二、工程进展情况及目前存在的问题 (一)工程进展情况

入门资料:FPGA时序分析报告基础与时钟约束实例

入门:FPGA时序分析基础与时钟约束实例 2013-07-16 何谓静态时序分析(STA,Static Timing Analysis)? 首先,设计者应该对FPGA内部的工作方式有一些认识。FPGA的内部结构其实就好比一块PCB 板,FPGA的逻辑阵列就好比PCB板上的一些分立元器件。PCB通过导线将具有相关电气特性的信号相连接,FPGA也需要通过内部连线将相关的逻辑节点导通。PCB板上的信号通过任何一个元器件都会产生一定的延时,FPGA的信号通过逻辑门传输也会产生延时。PCB的信号走线有延时,FPGA的信号走线也有延时。这就带来了一系列问题,一个信号从FPGA的一端输入,经过一定的逻辑处理后从FPGA的另一端输出,这期间会产生多大的延时呢?有多个总线信号从FPGA的一端输入,这条总线的各个信号经过逻辑处理后从FPGA的另一端输出,这条总线的各个信号的延时一致吗?之所以关心这些问题,是因为过长的延时或者一条总线多个信号传输时间的不一致,不仅会影响FPGA本身的性能,而且也会给FPGA之外的电路或者系统带来诸多问题。 言归正传吧,之所以引进静态时序分析的理论也正是基于上述的一些思考。它可以简单的定义为:设计者提出一些特定的时序要求(或者说是添加特定的时序约束),套用特定的时序模型,针对特定的电路进行分析。分析的最终结果当然是要求系统时序满足设计者提出的要求。 下面举一个最简单的例子来说明时序分析的基本概念。假设信号需要从输入到输出在FPGA内部经过一些逻辑延时和路径延时。系统要求这个信号在FPGA内部的延时不能超过15ns,而开发工具在执行过程中找到了如图所示的一些可能的布局布线方式。那么,怎样的布局布线能够达到系统的要求呢?仔细分析一番,发现所有路径的延时可能为14ns、15ns、16ns、17ns、18ns,有两条路径能够满足要求,那么最后的布局布线就会选择满足要求的两条路径之一。 静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,即有约束才会有分析。若设计者不添加时序约束,那么时序分析就无从谈起。特权同学常常碰见一些初学者在遇到问题时不问青红皂白就认为是时序问题,实际上只有在添加了时序约束后,系统的时序问题才有可能暴露出来。 下面我们再来看一个例子,我们假设有4个输入信号,经过FPGA内部一些逻辑处理后输出。FPGA内部的布线资源有快有慢之分,好比国道和高速公路。通过高速通道所需要的路径延时假设为3ns-7ns,但只有两条可用;而通过慢速通道的路径延时则>10ns。

工程管理心得体会

工程管理心得体会 ----------------------------------最新精选范文公文分享-----欢迎观看----------------------------------------------- 工程管理心得体会 项目管理学习心得体会 篇一: 首先我认为无论是企业还是个人,一个好的完善的计划必定能够帮助我们更快更有效的确定行动方向,从而能达到事半功倍的效果。无论办什么事情都应明确目的和意义,有个打算和安排。有了计划,就有了明确的奋斗目标,具体的工作程序,就可以更好地统一大家的思想,协调行动,增强工作的自觉性,减少盲目性,调动员工的积极性和创造精神,合理地安排和使用人力、物力,少走弯路,少受挫折,保障工作顺利进行,避免失误。计划一旦形成,就在客观上变成了对工作的要求,对计划实施者的约束和督促,对工作进度和质量的考核标准。这样,计划又反过来成了指导和推动工作前进的动力。总之,搞好工作计划,是建立部门正常工作秩序,提高工作效率必不可少的程序和手段。编制好工作计划,对于我们的工作,都有十分重要的意义。为提高工作效率,我们还编制了相关工作计划进度表,部门每一个人在工作例会上必须对自己一周的工作完成情况进行汇报,然后由经--------------------------------------------最新精选范文分享--------------谢谢观看-------------------------------------- ----------------------------------最新精选范文公文分享-----欢迎观看----------------------------------------------- 理再对部门的工作做出总结,通过表格计划管理有效的加快了工作进度。

相关主题
文本预览
相关文档 最新文档