Vivado约束指导手册
Vivado约束指导手册输入端口到输出端口路径在从输入端口直接到输出端口的路径上,数据:不需要在器件内部锁存(atch),直接从输入端口到输出端口。他们通常被称为ln-to-out数据路径端口时钟可以是虚拟时钟也可以是设计时钟路径举例图3-1描述了上面所有的路径,在此例图中,设计时钟CLKo可被用作端口时钟,这样既可以约束D|N延时也可以约束DOUT延时FPGA DEVICEBoardDeviceInternal Delay REGAData Path DelayREGB Internal DelayBoardDINi DOUT Device○A4InpOutputDelayBUFGPort ClockCLKOPort clockIn-2-out Data PathFigure 3-1: Path Example时钟路径部分每一个时钟路径由三个部分组成:源时钟路径数据路径目标时钟路径源时钟路径源时钟路径是由源时钟从它的源点(典型的是输入端口)到发送时序单元的时钟引脚之间的路径。对于从输入端口起始的时序路径来说,就不存在源时钟路径数据路径对内部电路,数据路径是发送时序单元和捕捉时序单元之间的路径发送时序单元的有效时钟管脚称为路径起始点捕捉时序单元的数据输入管脚称为路径结束点对于输入端口路径,数据路径起始于输入端口。输入端口是路径的起始点对于输出端口路径,数据路径结朿语输岀端口。输岀端口是路径的结束点。目标时钟路径目标时钟路径是由目标时钟从其源点(典型的是输入端口)到捕捉时序单元的时钟管脚之间的路径。对于结束于输出端口的时序路径,就没有目标时钟路径图3-2显示了3段典型的时序路径REGAData PathREGBEndpointSource Clock PathStartpointDestination Clock PathFigure 3-2: Typical Timing PathSetup和Hold分析vⅳ ado ide分析时序并且在时序路径终点时候报告时序裕量。时序裕量是指在时序路径终点数据要求时间和抵达时间的差异。如果裕量为正,从时序的角度考虑此路径是有效的。Setup检查为了计算数据所需的 setup时间,时序引擎:1.决定源时钟和目的时钟之间的普通周期。如果没有被发现,为分析考虑多达1000个时钟周期。2.检查覆盖普通周期上的起始点和终点所有上升和下降沿。3.在任何两个有效 active沿之间的最小正差值dela。这个deta被称为 setup分析的时序路径要求Setup路径要求示例假象2个寄存器之间的一条路径,这些寄存器由其相应时钟上升沿触发。这条路径有效的时钟沿只有上升沿。时钟定义如下:.clko周期6nsck1周期4nsCommon periodclko launch edgesSetup(1)Setup(2)clk1 capture edgesOns 2ns 4nss 8n5 10ns 12nsFigure 3-3: Setup Path Requirement Example图33显示有2个单独的源和目的时钟沿有资格受到 setup分析: setup(1和 setup(2):源时钟发送沿时间:0ns+1*T(ck0)=6ns目的时钟抓取沿时间:0ns+2*(ck1)=8nsSetup Path Requirement=抓取沿时间-发送沿时间=2ns在计算路径要求时候,需要考虑2个重要的点:1.时钟沿是理想的,那就是说,时钟树插入延迟不在考虑之内2.默认时钟在0时间点是 phase-aligned,除非他们的波形定义引进了 phase-shit。异步时钟相位关系未知。时序引擎在分析其间路径时候会考虑默认值。关于异步时钟的更多内容看下部分Setup分析数据要求时间Setup分析数据要求时间是指为了让目的单元能安全的采样数据,数据必须在这个时间点之前稳定。这个值基于:目的时钟采样沿时间.目地时钟延时源时钟和目的时钟的不确定性目的单元 setup时间Setup分析的数据抵达时间Setup分析的数据抵达时间,是指由源时钟发送的数据在路径终点的稳定时候所需要的时间。它的值基于:源时钟发送沿时间源时钟延时数据路径延时数据路径延时包括所有从起点到终点的单元(cel)和线(ne延时。在时序报告中, Vivado将 setup时序考虑为数据路径的一部分。相应的,数据到达和要求时间的公式为:Data Required Time (setup)= destination clock capture edge time+destination clock path delayclock uncertaintyData Arrival Time(setup)= source clock launch edge timesource clock path delay+ datapath delaysetup timeSetup裕量是指要求时间和实际抵达时间的差值:Slack (setup)= Data Required Time -Data Arrival Time在输入数据引脚寄存器上 Setup裕量为负值,说明寄存器有可能锁存到未知的值跳转到错误状态Hod检查Hod裕量的计算与 setup裕量计算直接相关。当 setup分析证明了在最悲观的情况下数据可以被安全捕捉,hold分析确保了:同样的数据不可能被前面目地时钟沿错误的抓取下一个源时钟沿发送的数据不能被用来分析 setup的目的数据沿抓取因此,为了找到hold分析的时序路径,时序引擎考虑了所有为 setup分析的源和目的时钟沿结合的可能。对每一种可能的组合,时序引擎:检查发送沿和减去一个目的时钟周期的抓取沿之间的差值.检查了加上一个源时钟周期的发送沿和抓取沿之间的差值.只保留时间差值最大的发送沿和抓取沿hold路径要求示例采用page33中 setup路径要求示例中的时钟。对于 setup分析那仅有2个可能的时钟沿组合:Setup Path Requirement (S1)=1*T(clk1)-0*T(clk0)= 4nsSetup Path Requirement (S2)=2*T(clk1)-1*T(clk0)=2ns那么相应的hod要求如下:For setup s1:Hold path Requirement (Hla)-(1*T(clk1)-1*T(clk1))-0*T(clko)=onsHold Path Requirement (Hlb)=1*T(clkl)-(0*T(clk0)+I*T(clko))=-2nsFor setup $2:Hold Path Requirement (H2a)=(2*T(clk1)-1*T(clk1))-1*T(clko)2nsHold path Requirement(H2b)=2*T(clk1)-(1*T(clk0)+1*T(clk0))=-4ns从上面可以看出最大的要求时间是Ons,这正好与源时钟和目的时钟第一次上升沿相吻合。Hold路径要求示例,page36显示了 setup检查沿和他们相关的hold检查。cIko launch edgesHla S1 H1b/H2a522bclk1 capture edgesOns 2ns 4ns 6ns 8ns 10ns 12nsFigure 3-4: Hold Path Requirement Example此例中,最终的hod要求时间不是来源于最紧的 setup要求。这是因为所有可能的 setup沿都会被考虑在内,是为了找到最又挑战性的hod要求。正如在 setup分析中,数据要求时间和数据抵达时间是基于以下条件计算的:源时钟发送沿时间.目的时钟抓取沿时间源和目的时钟延时时钟不确定性数据延时.目的寄存器hod时间Data Required Time (hold)= destination clock capture edge timedestination clock path delayclock uncertaintyData Arrival Time (hold)= source clock launch edge timesource clock path delaydatapath delayhold timeHod裕量是要求时间和抵达时间的差值Slack (hold)= Data Arrival Time Data Required Time正的时序裕量意味着即使在最悲观的情况下数据也不会被错误的时钟沿抓取。而负的hold裕量说明抓取的数据错误,而且寄存器可能进入不稳定状态。矫正( recovery和移除( removal分析矫正和移除时序检查与 setup和hold检查相似,区别就是它们应用于异步数据管脚例如set或者clear o对于异步复位的寄存器.矫正时间是异步 reset信号为了锁定新数据已经切换到它的无效状态之后,到下一个有效时钟沿之间的最小时间。移除时间是在异步复位信号安全切换到其无效状态之前,到第一个有效时钟沿之后的最小时间。下面的等式描述了这两种分析的sack是如何计算的Recovery check下面的等式描述了下面如何计算:Data Required Time (recovery ) =destination clock edge start time+ destination clock path delayclock uncertaintyData Arrival Time (recovery )= source clock edge start timesource clock path delaydatapath delayrecovery timeSlack (recovery)= Data Required Time Data Arrival TimeRemoval checkData Required Time (removal)= destination clock edge start timedestination clock path delayclock uncertaintyData Arrival Time (removal)= source clock edge start timesource clock path delay+ datapath delayremoval timeSlack (removal)= Data Arrival Time -Data Required Time正如 setup和hold检査,一个负的 recovery裕量和 remova裕量说明寄存器可能进入亚稳态,并且将未知的电子层带入设计中。定义时钟时钟数字设计中,时钟提供了从寄存器到寄存器之间可靠的传输数据的时间参考。 Vivado ide时序引擎用时钟特征来:计算时钟路径要求以裕量计算的方式报告设计时序裕量更多信息,参考时序分析这章为了得到最精确的最大的时序路径覆盖,时钟必须合理的定义。可以用下面的特征定义时钟:源时钟是指定义在时钟驱动引脚或者时钟树跟端口的时钟时钟沿可以由周期和波形特性的组合描述周期是ns级的,与描述的波形的时间周期相匹配.时钟波形是在时钟周期里,在数ns内时钟上升沿和下降沿绝对时间的列表列表必须包含偶数个值。第一个值一般与第一个上升沿吻合,除非另外指定,默认的时钟占空比是50%相位是ns。如图4-1所示,ck0周期10ns,占空比50%,相位0ns。Ck1周期8ns,占空比75%,相位2ns。CIkO: period 10, waveform =10 5]CIk1: period =8, waveform=2850%50%ClaOns5ns10ns15ns25%75%clkbOns 2ns8ns 10ns16nsFigure 4-1: Clock Waveforms Example传播【 propagated clock)时钟周期和波形特征体现了时钟的理想特征。当时钟进入FPGA器件并且经过时钟树传播时候,时钟沿会有延时而且会随着噪声和硬件特性而改变。这些特点被称为时钟网络延时( latency)和时钟不确定{ uncertainty)时钟不确定性包含下面内容:clock jitterphase error任何额外指定的不确定Vivado会默认的将时钟作为传播时钟,这意味着,这是非理想的时钟。这么做是为了提供包含时钟树插入延时和不确定性的裕量的值。特定硬件资源
- 2021-05-06下载
- 积分:1
SVPWM算法详解_已标注重点_
详细的讲解了SVPWM的过程,及其仿真,很适合初学者或(37)即磁链空间矢量可以等效为电压空间矢量的积分,如果能够控制电压空间矢量的轨迹为如式(3.4)所示的圆形矢量,那么磁链空间矢量的轨迹也为圆形。这样,电动机旋转磁场的轨迹问题就可以转化为电压空间矢量的运动轨迹问题。进一步分析,由式(3.3)(3.5)(3.7)可以得到公式(3.8)∫-+yy(38)对电压积分,利用等式两边相等的原则有(39)其中,v为电机磁链的幅值,即为理想磁链圆的半径。y当供电电源保持压频比不变时,磁链圆半径v是固定的。在 SVPWM控制技术中,是取以y为半径的磁链圆为基准圆的。32逆变器电压的输出模式图32给出了电压源型PWM逆变器—异步电动机示意图14。昇步电动机定子绕组YY图3.2PWM逆变器电路(1~6为GBT)对于180°导电型的逆变器来说,三个桥臂的六个开关器件共可以形成8种开关模式。用分别标记三个桥臂的状态,规定当上桥臂器件导通时桥臂状态为1,下桥臂导通时桥臂状态为0,这样逆变器的八种开关模式对应八个电压空间矢量,其中为直流侧电压在逆变器的八种开关模式中,有六种开关模式对应非零电压空间矢量,矢量的幅值为一;有两种开关模式对应的电压矢量幅值为零,称为零矢量。当零矢量作用于电机时不形成磁链矢量;而当非零矢量作用于电机时,会在电机中形成相应的磁链矢量。对于每一个电压空间矢量,可由图32求出各相的电压值,再将各相的电压值代入式(3.3),可以求得电压空间矢量的位置。下面以开关状态)=(、0、0)为例,即开关导通,其余关断。逆变电路的形式可以变为B相和C相并连后再和A相串连的形式,易得将其数值代入式(33),可得采用同样的方法可以得到如表31所示的逆变器空间电压矢量。表31逆变器的不同开关状态对应的空间矢量表相电压矢量表达式定子电压开关状态(Us大小为空间矢量A相B相C相0000000101001110010111100由于 SVPWM控制的是逆变器的开关状态,在实际分析逆变器一电动机系统时,可以通过分析逆变器输出的电压空间矢量来分析电机定子电压的空间矢量,下面给出证明。设逆变器输出的三相电压为、,由图3.2可求出加到电机定子上的相电压为(310)其中,为电机定子绕组星接时中点0相对于逆变器直流侧点的电位。电机定子电压空间矢量为(311)而由三角函数运算知++因此,逆变器输出的电压空间矢量为(312)由式(3.12)可知,在PWM逆变器一电动机系统中,对电机定子电压空间矢量的分析可以转化为对逆变器输出电压空间矢量的分析。这时,在求解表3.1时,可以直接利用逆变器输出的电压合成得到,即A,B,C三相输出电压值只有一和-—两个值。当逆变器输出某一电压空间矢量时,电机的磁链空间矢量可表示为y =y3.13)其中,W为初始磁链空间矢量;△为的作用时间。当为某一非零电压矢量时,磁链空间矢量y从初始位置出发,沿对应的电压空间矢量方向,以为半径进行旋转运动,当为一零电压矢量时,W=y,磁链空间矢量的运动受到抑制。因此合理地选择六个非零矢量的施加次序和作用时间,可使磁链空间矢量顺时针或逆时针旋转形成一定形状的磁链轨迹。在电机控制当中尽量使磁链轨迹逼近正多边形或圆形。同时,在两个非零矢量之间按照一定的原则,比如开关次数最少,插入一个或多个零矢量并合理选择零矢量的作用时间,就能调节ψ的运动速度。33SWPM的具体实现方法在实际应用中,应当利用 SVPWM自身的特点找到控制规律,避开复杂的数学在线运算,从而较为简单的实现开关控制,本节将给出实现 SVPWM的具体方法。根据3.2节中给出的不同开关状态组合可以得到如图33的电压空间矢量图C图3.3 SVPWM矢量、扇区图通常在矢量控制的系统当中,根据控制策略,进行适当的巫标变换,可以给出两相静止坐标系即(a,B)坐标系电压空间矢量的分量,g,这时就可以进行 SVPWM的控制,具体要做以下三部分的工作如何选择电压矢量。2.如何确定每个电压矢量作用的时间。3.确定每个电压矢量的作用顺序3.3.1电压空间矢量的空间位置这里需要引入扇区的概念,将整个平面分为六个扇区。如图3.3所示,每个扇区包含两个基本矢量,落在某个扇区的电压空间矢量将由扇区边界的两个基本电压空间矢量进行合成。在确定扇区时,引入三个决策变量A,B,C。根据给出的待合成的空间矢量的两个分量,p来决定A,B,C的取值,有以下关系式所在扇区的位置为当N取不同的值对应的扇区位置如图3.3所示,这样给定一个空间电压矢量就可以确定其所在的扇区。33.2电压空间矢量的合成扇区确定之后,就可以利用扇区边界上的两个基本矢量合成所需的矢量在合成过程中应当使得两个基本矢量的合成效果接近于期望矢量的效果。于是采用伏秒平衡的原则,以图3.3所示的第Ⅲ扇区为例,以a尸轴为基准,将两个基本矢量向aB轴上投影,应当有轴:=||+尸轴其中,为对应电压矢量作用的时间(=),为采样周期,通常为PW的调制周期。且|=||=-。求解上面两式可以得到这两个基本矢量的作用时间如式3.14(314)通过上面的方法即可以确定基本矢量的作用时间,当需要合成的矢量位于各个不同的扇区时都存在如上的运算。通过对每个扇区基本矢量动作时间的求解不难发现它们都是一些基本时间的组合。所以给出几个基本的时间变量x,Y,Z。定义√(315)通过计算可以得到在每个扇区内的基本矢量动作时间,(由于五段和七段式的实现方法不同,所以这里没有考虑矢量的动作顺序,仅按照逆时针方向)。设每个刷区的两个基本矢量动作的时间为于是可以得到矢量动作时间表3,2表3.2的对应关系表扇区ⅣV在实际的应用中当给定的电压值太大时会出现过调制的情况,即+>。此情况出现时,还要对上述计算出来的电压矢量的作用时间进行调整,具体方法如式3.16所示。(316)即为调整后的动作时间。在一个P啊M周期内除了非零电压矢量的作用,还要有零电压矢量的作用,零电压矢量包括对于这两个矢量的作用时间,以及开关的动作顺序,取决于采用的SPwM是五段式还是七段式,3.3节将对这两种PWM形式进行详细的介绍3.4 SVPWM的硬件实现和软件实现TI公司的TM320LF2407A系列的DSP内部有硬件来实现 SVPWM,由于每个PWM周期被分为五段,因此也被称为五段式的 SVPWM。在每个PWM调制周期内,开关状态有五种,且关于周期中心对称。而七段式的SvPM在每个PWM调制周期内有七种开关状态,需要运用软件进行实现,因此也被称为 SVPWM的软件实现。需要注意的是,无论哪种方法,所遵循的基本原则是开关动作次数最少,每个开关在一个周期内最多动作两次。3.4.1五段式 SVPWM对于五段式的 SVPWM,只在PMM周期的中间插入零矢量,具体采用哪一个由硬件根据旋转方向和开关动作次数最少的原则自行决定。例如在第Ⅲ扇区内,如果旋转方向为逆时针时针,则先动作,后动作以此类推,动作时间可以直接采用表3.2中的数据即可,然后选择零矢量(硬件决定)即可使开关次数最少。对于五段式PWM而言,零矢量作用的时间可以表示为:根据上述的配置原则,在每个扇区内开关动作的示意图如图34所示202ⅣV/1Ⅵ图34每个扇区内的开关动作示意图每个TMS320LF2407A的事件管理器EV模块都具有十分简化的电压空间矢量PWM波形产生的硬件电路。编程时只需进行如下的配置2●设置 ACTRX寄存器用来定义比较输出引脚的输出方式,决定高电平还是低电平有效,正反转,所在扇区等。●设置COMC0Nx寄存器来使能比较操作和空间矢量PWM方式,并且把 CMPRX的重装条件设置为下溢●将通用定时器1或2,4或5设置成连续增/诚计数模式,并启动定时器。然后给据在两相静止(a6)坐标系下输入到电机的电压空间矢量,分解为,确定如下的参数●所期望的矢量所在的扇区。根据 SVPWM的调制周期计算出两个基本的空间矢量和零矢量作用的时间
- 2020-12-06下载
- 积分:1