tag 标签: delay

相关博文
  • 热度 23
    2014-4-13 20:26
    2246 次阅读|
    0 个评论
           有很多学习 FPGA 的童鞋对时序约束和分析都处于懵懂的状态,笔者也是经历了漫长的过程才对时序有了一定的认识,现在写 Timing Constraints in Vivado 系列博文也是抱着能系统学习的态度才开始的。        后续的博文,笔者准备理论讲解结合多个实例介绍的方式展开,这样有利于加深一下大家对理论的理解。可能实例中有理解及计算的纰漏,还望大家及时指正。        在《 6. Input Delay Constraints实例一 》中分享了一个实例,如图 1 所示,对 RX 接口进行了约束。另外 MII 管理接口,其中 MDIO 是双向数据接口,肯定需要 input delay 的约束,由于笔者开始不确定此接口属于系统同步输入还是源同步输入,没有做进一步介绍,那就在此篇博文深入分析一下。 图 1        最初以为 MII 接口属于源同步输入,但是仔细查看后发现不对劲儿,时钟 MDC 并不是由 PHY 提供的,而是 FPGA 输出给 PHY 的,这与源同步接口的定义矛盾,源同步需要时钟和数据来自同一个源。因此只能划分到系统同步输入范畴了,仔细一想还是能说得通的,系统同步中只要求 source clock 和 destination clock 来自同一个时钟网络即可,不管是在 FPGA 外部还是内部,如图 2 所示, 图 2        《 5. Constraining Input Delay 》系统同步输入的 input delay value 计算公式如下:        max input delay = T clkd_ext_max + T co_max + T bd_max – T clkd_int_min         min input delay = T clkd_ext_min + T co_min + T bd_min – T clkd_int_max        此例的情况,时钟源到 FPGA 输入端口的延时 T clkd_int 等于 0 ,时钟源到外部芯片的延时为 TCD ,因此得到变化后的公式如下:        max input delay = T CD_max + T CO_max + T BD_max          min input delay = T CD_min + T CO_min + T BD_min        各时间参数的计算如下:        T CD :时钟线 MDC 在板上的长度 L MDC =489mil , T CD_max = T CD_min =489mil*166ps/inch= 0.081174ns        T BD :数据线 MDIO 在板上的长度 LMDIO=634mil , T BD_max = T BD_min =634mil*166ps/inch= 0.105244ns        T CO :参考 PHY ( DP83849ID )的手册,如图 3 所示, T CO 等于时间参数 T2.3.1 ,得到 T CO_max =30ns , T CO_min =0ns 。   图 3        得到 input delay 值如下:        max input delay = T CD_max + T CO_max +T BD_max    =0.081174ns+30ns+0.105244ns = 30.186418ns               min input delay = T CD_min + T CO_min + T BD_min =0.081174ns+0ns+0.105244ns=0.186418ns        综上, MII 管理接口的约束如下: create_clock –name MDC –period 400 –waveform {0 200} set_input_delay -clock -max 30.186418 set_input_delay -clock -min 0.186418        在 Vivado 中的约束如图 4,5 所示: 图 4 图 5
  • 热度 21
    2014-4-13 12:53
    2934 次阅读|
    0 个评论
           在《 5. Constraining Input Delay 》博文中,深入讲解了如何分析输入端口到 FPGA 内部时序单元的路径,并且对 input delay 进行约束。这一节介绍 input delay 约束实例,加深一下对上节中理论的理解。        如图 1 所示系统,以太网 PHY 芯片与 FPGA 相连,分为三组接口:        RX 接口:时钟 RXCK 和数据 RXD ;        TX 接口:时钟 TXCK 和数据 TXD ;        MII 管理接口:时钟 MDC 和数据 MDIO 。 图 1        其中 RX 接口属于源同步输入接口,以下就以 RX 接口为例讲解一下约束 input delay : Clock Constraints :        首先约束时钟,如图 2 所示为 PHY ( DP83849ID )在 100Mb/s 模式下的时序图,时钟和数据为 Center Aligned 关系,因此时钟在 FPGA 中无需再移相,可直接使用 RXCK 采集数据,时钟约束如下: create_clock –name RXCK –period 40 –waveform {0 20} 图 2 Input Delay Value:        根据上节中源同步输入计算 Input Delay 的公式:        max_input_delay = T bd_max + T co_max - T cd_min        min_input_delay = T bd_min + T co_min - T cd_max          T bd 为数据线 RXD 在板上的延时,也就是信号在电路板上的传播时间。查找了网上的一些资料: “ 信号速度还与不同材料的介电常数相关,具体计算公式是    V=C/Er 0.5     ,其中 Er 是信号线周围材料的相对介电常数。我们常见的 PCB 材料 Fr4 的介电常数在 4.2-4.5 左右,为了计算方便我们取 4 。带入公式可以算出, Fr4 材料制作的 PCB 板上面信号的传输速度是光速的二分之一。光速大约等于 12inch/ns, 计算得出 Fr4 板上信号速度大约是 6inch/ns 。换算成延时,也就是 166ps/inch 。这就是我们经常说的 PCB 板上信号延时大约是 166ps/inch 。 ”        在此例中,通过 PCB 设计软件计算得到 RXD 的走线长度,分别是 L RXD =426mil , L RXD =451mil , L RXD =502mil , L RXD =406mil ,因此可以计算得到:        T bd_max = 502mil * 166ps/inch = 0.083332ns        T bd_min = 406mil * 166ps/inch = 0.067396ns          T cd 为时钟线 RXCK 在板上的延时,走线长度 L RXCK =399mil ,因此可以计算得到:        T cd_max =T cd_min =399mil * 166ps/inch = 0.066234ns               T co 为 RX 接口 clock_to_output 时间,如图 2 中,等于 T2.5.2 时间参数,因此可得到:        T co_max = 30ns        T co_min = 10ns          综上:        max_input_delay = T bd_max + T co_max - T cd_min = 0.083332ns + 30ns - 0.066234ns = 30.017098ns        min_input_delay = T bd_min + T co_min - T cd_max = 0.067396ns + 10ns - 0.066234ns = 10.001162ns   Constraints :        很显然, RX 接口为 SDR ,时钟约束和 input delay 值的计算后,可以对 input delay 进行约束,命令如下: set_input_delay -clock -max 30.017098 RXD RXD RXD }] set_input_delay -clock -min 10.001162 RXD RXD RXD }]          在 Vivado 的 GUI 界面中也可以进行约束,设计经过综合实现后,打开编辑约束文件,如图 3 所示 图 3        选择 Set Input Delay ,在右侧双击,可弹出 Input Delay 设置窗口,如图 4 所示 图 4        在弹出的 Input Delay 窗口中设置参数,如图 5 , 6 所示, Input Delay 约束完成。 图 5 图 6
  • 热度 26
    2012-12-21 10:05
    4597 次阅读|
    0 个评论
        用过 DSP_Builder 工具的朋友一定用过 Delay 模块,这个可是算法设计中必须用到的东西,它能让你的数据延时几个时钟再出现,那么在这个模块同一个 Library 中你是否注意到还有一个 Memory Delay 模块。咋一看,这两个模块貌似是一样的,因为都有 Delay ,不过再一想,既然分开存放,那肯定又有所不同。下面,跟随着笔者带你看看究竟这里面藏着什么秘密。 首先,我们来看一个实验,这个实验如下图所示。     我们对这个算法进行编译,目的是查看这两个不同的 Delay 模块综合成了什么样的电路以及消耗的资源情况怎样。 对上图资源使用情况,我们只关心两个地方就足够了,一个是 Logic Cells ,一个是 M4Ks 。 Logic Cells 是 FPGA 内部的逻辑单元,我们生成电路主要靠的就是它了; M4Ks 是 Altera 低端 FPGA 配备的内部 RAM 资源, 4K 的意思就是它的容量是 4K bits (注意这儿单位是位)。由这里可以看出 Delay1 模块消耗了 8 个 Logic Cells , Memory Delay 也消耗了 8 个 Logic Cells 。忙活了半天,原来这两个模块消耗的资源是一样的,我们再来看一下综合的电路吧。 看了上图发现,这两个模块综合成的电路都是一样的。笔者坚信,这两个模块肯定有所不同,那能不能通过综合优化选项改变综合后的电路呢,笔者更改了 Analysis Synthesis Settings 下的 Optimization Technique 。 不论采用 Speed 、 Balanced 还是 Area ,效果都是一样的。笔者又试验了两个时钟单位的延时,两个模块综合出来还是完全一样。 功夫不负有心人,当我把延时值增加到 3 时,就出现了不同效果了。 下图是延时 3 个时钟时的资源消耗情况。 看到这个图,我们终于可以高兴一下了,因为我们找出了它们的不同, Delay1 消耗了 24 个 Logic Cells ,没有用到 M4Ks ;而 Memory Delay 消耗了 5 个 Logic Cells ,同时消耗了 1 个 M4Ks 。这里就好理解为什么叫 Memory Delay 了吧,因为它需要占用 FPGA 的 RAM 资源;而 Delay 模块不占用 RAM 资源,而是消耗 Logic Cells 资源,那究竟是不是这样呢,让我接下来一探究竟吧。既然资源消耗不同,那综合出的电路也不同了,这里感兴趣的朋友可以自己试验一下。 笔者还没有放弃,继续试验,试图彻底了解它们俩兄弟。笔者又进行了 4 时钟延时的试验,结果这次更复杂了,先看看 4 时钟延时的资源消耗情况吧。 对比上面两幅图,笔者惊讶的发现,我进行 4 个 Memory Delay 的延时,结果比进行 3 个 Memory Delay 的延时,消耗的资源还要少,这里确实有些复杂。当我们看 RAM Summary 时发现, 3 个延时时生成的 RAM 是双时钟的简单双口 RAM ,而 4 个延时时声称的 RAM 是单时钟的简单双口 RAM ,这就是答案所在,究竟 Altera 为什么要那么做,笔者也不清楚。 当我把延时值进一步加到 5 时,更为奇特的事情发生了,且听笔者慢慢道来。下图是我在用 Speed 模式优化综合器时生成电路的资源消耗情况。 Delay1 模块消耗了 40 个 Logic Cells ,这里好理解, 8 位输入输出,每个延时消耗 8 个 Logic Cells ,一共 40 个。但是, Memory Bits 为什么只有 24 bits ,按道理应该是 40 bits 才对啊。当我们观察生成的电路结构时会发现, M4K 每个块输入输出口都配备有一个 D 触发器,这个触发器可以选择使用不使用,而每个 D 触发器都相当于一个延时,这样就好理解为什么是 24 bits 了吧。 而当我们用 Balance 或者 Area 选项去优化综合器时,又出现了不同的效果,且看下图。 看到了吧, Delay1 消耗了 8 个 Logic Cells 和 16 bits M4K ,而 Memory Delay 消耗了 24 bits M4K ,貌似越来越复杂了。其实当我们看了综合成的电路后就感觉不到复杂了, Delay 在利用 Memory 延时之前先进行了 1 个延时,即 8 个 Logic Cells 用作了 1 个时钟的延时,究竟为什么这样,也只有 Altera 的工程师能说清楚了。 接下来,相信大家都会像笔者一样,有接着往下做实验的冲动。有兴趣大家可以多试验几种情况,在这里给出大家一个结论,当所设定的延时值 * 数据位宽小于逻辑单元数量时,综合出来的结论都和 5 个延时值时相同;而当延时值 * 数据位宽大于逻辑单元数量时,用 Speed 优化选项编译会报错,而用 Balance 或 Area 优化选项编译时正常。 通过上面的实验,我对我们已经对 Delay 和 Memory Delay 有个清楚的认识了,但我们找出这些区别并是不完全出于兴趣,下一篇博文将会进一步说明我们怎么利用这些不同设计自己的算法,以节省 FPGA 资源。
相关资源
  • 所需E币: 1
    时间: 2022-7-23 17:49
    大小: 30.95KB
    上传者: Argent
    MotorStartDelay
  • 所需E币: 0
    时间: 2022-6-2 10:28
    大小: 405.34KB
    IdentificationofWienerTimeDelaySystemsBasedonHierarchicalGradientApproach
  • 所需E币: 0
    时间: 2022-6-2 10:20
    大小: 778.33KB
    IAEOptimizationofPIDControlLoopwithDelayinPoleAssignmentSpace
  • 所需E币: 0
    时间: 2022-5-14 14:13
    大小: 406.96KB
    DelayMarginforPredictivePIControlSystem(邵惠鹤)
  • 所需E币: 0
    时间: 2022-5-11 10:26
    大小: 355.49KB
    Autotuningfordelaysystemsusingmeromorphicfunctions
  • 所需E币: 0
    时间: 2022-5-11 10:26
    大小: 1.33MB
    AutotuningforDelaySystems-AnAlgebraicApproach
  • 所需E币: 0
    时间: 2020-9-10 03:07
    大小: 80.45KB
    上传者: Goodluck2020
    M65831APDIGITALECHO(DIGITALDELAY)
  • 所需E币: 3
    时间: 2019-12-25 20:48
    大小: 73.76KB
    上传者: 16245458_qq.com
    应用笔记3634视频系统中视频参数的视觉影响:第2部分-色度至亮度延迟的影响……
  • 所需E币: 4
    时间: 2019-12-24 22:56
    大小: 89.68KB
    上传者: givh79_163.com
    Abstract:Formanyfirst-timeusers,settingupatemperatureloggerforamissioncanbeachallengingtask.ThisapplicationnoteexplainstechnicaltermscommonwithtemperatureloggeriButtons.Additionally,itpresentsanalgorithmthathelpsuserschoosethenecessaryinputparameters,includingtheappropriatesamplerate.Maxim>DesignSupport>TechnicalDocuments>ApplicationNotes>iButton>APP5335Keywords:templogger,ibutton,samplerate,rollover,startdelay,alarmMar29,2012APPLICATIONNOTE5335DeterminingtheMissionParametersforTemperatureLoggeriButtonDevicesBy:BernhardLinke,PrincipalMemberTechnicalStaffMar29,2012Abstract:Formanyfirst-timeusers,settingupatemperatureloggerforamissioncanbeachallengingtask.ThisapplicationnoteexplainstechnicaltermscommonwithtemperatureloggeriButtons.Additionally,itpresentsanalgorithmthathelpsuserschoosethenecessaryinputparameters,includingtheappropriatesamplerate.Intro……
  • 所需E币: 4
    时间: 2019-12-24 19:25
    大小: 364.64KB
    上传者: 978461154_qq
    【应用笔记】在QuartusII软件中实现StratixIII可编程I/O延时设置(ImplementingStratixIIIProgrammableI/ODelaySettingsintheQuartusIISoftware)Altera公司的StratixIII系列器件具有一种灵活多变的I/O结构。在StratixIII器件的I/O所包含的不同功能对你系统中的信号相位差管理是可选择的。StratixIII的I/O的结构中,具有不同的物理可编程延时单元。使用选项设置来对这些延时单元进行编程,提供了一种信号相位差管理的一种方法。Altera®Stratix®IIIseriesdeviceshaveaveryversatileI/Oarchitecture.IncludedinthevariousfeaturesoftheStratixIIII/Oareoptionsforskewmanagementinyoursystems.TheStratixIIII/Ohasvariousphysicalprogrammabledelayelementsinitsarchitecture.Usingtheoptiontoprogramthesedelayelementswithdifferentsettingsprovidesamethodforskewmanagement.ImplementingStratixIIIProgrammableI/ODelaySettingsintheQuartusIISoftwareMarch2008,ver.1.2ApplicationNote474IntroductionAlteraStratixIIIseriesdeviceshaveaveryversatileI/Oarchitecture.IncludedinthevariousfeaturesoftheStratixIIII/Oareoptionsforskewmanagementinyoursystems.TheStratixIIII/Ohasvariousphysicalprogrammabledelayelementsinitsarchitecture.Usingtheoptiontoprogramthesedelayelementswithdifferentsettingsprovidesa……
  • 所需E币: 3
    时间: 2019-12-24 18:53
    大小: 768.37KB
    上传者: wsu_w_hotmail.com
    【应用笔记】HardCopy器件最佳设计实践(BestDesignPracticesforHardCopyDevices)本应用笔记描述了几个好的设计实践例子,在FPGA设计阶段迁移到HardCopyASIC器件时,这些常常被忽略。ThisapplicationnotedescribesseveralgooddesignpracticesthatarecommonlymissedduringtheFPGAdesignphasewhenmigratingadesigntoaHardCopy®ASICdevice.TheinformationinthisapplicationnotewillhelpyouavoidthesecommondesignpitfallsandensurethatyoursystemcontinuestoperformwellwithaHardCopydevice.BestDesignPracticesforHardCopyDevicesAN-658-1.0ApplicationNoteThisapplicationnotedescribesseveralgooddesignpracticesthatarecommonlymissedduringtheFPGAdesignphasewhenmigratingadesigntoaHardCopyASICdevice.Theinformationinthisapplicationnotewillhelpyouavoidthesecommondesignpit……
  • 所需E币: 5
    时间: 2019-12-24 18:52
    大小: 2.69MB
    上传者: 2iot
    【用户指南】ALTDLL和ALTDQ_DQS宏功能模块用户指南(ALTDLLandALTDQ_DQSMegafunctionsUserGuide)ALTDLL和ALTDQ_DQS宏功能模块用户指南ALTDLLandALTDQ_DQSMegafunctionsUserGuide101InnovationDriveSoftwareVersion:9.1SanJose,CA95134DocumentVersion:5.0www.altera.comDocumentDate:February2012Copyright2010AlteraCorporation.Allrightsreserved.Altera,TheProgrammableSolutionsCompany,thestylizedAlteralogo,specificdevicedesignations,andallotherwordsandlogosthatareidentifiedastrademarksand/orservicemarksare,unlessnotedotherwise,thetrademarksandservicemarksofAlteraCorporationintheU.S.andothercountries.Allotherproductorservicenamesarethepropertyoftheirrespectiveholders.AlteraproductsareprotectedundernumerousU.S.andforeign……
  • 所需E币: 5
    时间: 2020-1-10 10:15
    大小: 1.62MB
    上传者: 微风DS
    Allegro15.0PCB设计视频教程之蛇形走线,r_delay……
  • 所需E币: 4
    时间: 2020-1-10 11:44
    大小: 3.46MB
    上传者: 978461154_qq
    Allegro視頻教程與實例,R_DELAY……
  • 所需E币: 4
    时间: 2020-1-13 14:32
    大小: 975.64KB
    上传者: wsu_w_hotmail.com
    A155-MHzclockrecoverydelayandphaselockedloopA155-MHzClockRecoveryDelay-andPhase-LockedLoopThomasH.Lee,Member,IEEE,andJohnF.Bulzacchelli,StudentMember,IEEEAbstract-Thispaperdescribesacompletelymonolithicdelay-lockedloop(DLL)thatmaybeusedeitherbyitselfasadeskewingelement,orinconjunctionwithanexternalvoltagecontrolledcrystaloscillator(VCXO)toformadelay-andphaselockedloop(DlPLL).Byphaseshiftingtheinputdataratherthantheclock,theDLLandDlPLLprovidejitter-peaking-freeclockrecovery.Additionally,thejittertransferfunctionoftheDlPLLhasalowbandwidthforgoodjitterfilteringwithoutcompromisingacquisitionspeed.TheDlPLLdescribedhereexhibitslessthan1"rmsjitterontherecoveredclock,independentoftheinputdatadensity.Nojitterpeakingisobse……
  • 所需E币: 3
    时间: 2020-1-13 18:18
    大小: 333.5KB
    上传者: rdg1993
    Groupdelayhttp://www.microwaves101.com/encyclopedia/whatGroupdelayUpdatedNovember30,2005Here'stheindextoourever-expandingcontentongroupdelay:Groupdelay-whatisit?GroupdelayruleofthumbGroupdelayflatnessandconsistencyGroupdelaydatasmoothing(separatepage)Dispersion(separatepage)Groupdelayinwaveguidestructures(separatepage)Groupdelayinfilters(separatepage)Measuringgroupdelay(separatepage)WantaspreadsheetforcalculatinggroupdelayfromS-parameters?Gotoourdownloadarea,andgetourS-ParameterUtilitiesspreadsheet!Itevensmoothsnoisyphasedata!Groupdelay-whatisit?Groupdelayisameasureofhowlongittakesasignal……
  • 所需E币: 4
    时间: 2020-1-13 18:53
    大小: 90.59KB
    上传者: rdg1993
    group_delayAppliedRadioLabswww.radiolab.com.auGroupDelayExplanationsandApplicationsDesignFile:DN00415November1999IntroductionGroupdelayisaconceptthatradioengineersareencounteringmorefrequentlyashigherperformancedigitalcommunicationsystemsaredeveloped.Itappearsthatfrequencyselectivecomponentshavegroupdelaywhich,inmostcases,seemstodegradesystemperformance.Thisarticleaddressesseveralaspectsofthistopic:1.Mustwehavegroupdelay?2.Therelationshipbetweengroupdelayandsignaldelay.3.Negativegroupdelay4.Therelationshipbetweengroupdelayandfilterlossinpassivefiltersthatthegroupdelayisinsomewayrelatedtosignaldelay.Thegroupdelaymayalsobereferredtoas“envelopedelay”.TheDelayofSignalsGivenafilter……
  • 所需E币: 3
    时间: 2020-1-15 10:37
    大小: 374.25KB
    上传者: 978461154_qq
    lowpassfiltersrealizableasallpasssums-designviaanewflatdelayfilter¤¨§!#"$&%'¤§()¤§102(3§54&¨§5687@9ACBED#!(FHGPIQR§S§UT5VR§WDXR§#Y`(!X"abcfehgpirq#sutwvxthygd1vxthRRwevX1gfxgtwtRxgWfvx!Rthgddgxc$twey(xfgtwRhihthjEkHtwghtwlmh$i!vx!g¤nodpAqfqwris!qthuvxuhtwxmyz${|}~|iv$}uh$ivrn¤qii$HV1(wWxwmH¤1(¨§(R§H¨(¤(¨(°x±Rjd#8¨WH(ddj(¤1(¨°§d(¤u1°°WR¨¨jR§jRdx(1§1§(xh1RVRw$@¤(x°Rd(¨hdi¨dx±h(¤dRw#¤h#whxj(°X¤¨h#wxxH¨(±Rh8W§R1hd¤(¤(¤x@dW(iH(°§1¤1¤dR§¤wRxR(@Wxxd1¤@Q1(xx(Qw1Rh1¨Wh°xh¨1¨w#°wR#§(R§H(!¤mw(#h¨1#h!(hh¨(!Q¤@WRX(x2°wRXH¤(j#(¤¤m$dj(°xR@¨°h¨QHw¤HW±RR°x8¨8°H×Q¨Q#¤h1àwá8!àwèéjêféêêféááìfêèíáXféjáXíhhà88f8éèèwè8¤8íhwè#òhéjíáRóí¨è¨iéá¨ihQ¤#êêhwh¤èiéèH÷ù¤êEQhêúhèò8áèífèhí(áH¤è@êEíhfàüháfiéRíéíméRéêéhê¤xíéêêféjáá#ìfêè(íáwó¤óéià÷ùCèhòéjímháxhê¨dfhwèáW¤ééíèò@jVéjhhêéèh§á¨iàwhà$ó¤hê¤èhHèíéàwèféjêéjhhêéè¤háHéêêféááHìiê¤èíáQéjhihéí8èihféjá……