找回密码
 注册
关于网站域名变更的通知
查看: 168|回复: 2
打印 上一主题 下一主题

Xilinx FPGA编程技巧:常用时序约束详解

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-9-14 10:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
1.   基本的约束方法
& @/ v- J% ^2 p6 M4 M为了保证成功的设计,所有路径的时序要求必须能够让执行工具获取。最普遍的三种路径为:
- f" {- d, ^5 U( Z* \3 i( N输入路径(Input Path),使用输入约束0 _+ z" k1 p6 z: e) z. x# l# \) Y, D
寄存器到寄存器路径(Register-to-Register Path),使用周期约束
- s4 K* w, R6 P% F: ~/ r! D2 i输出路径(Output Path),使用输出约束
) P1 u' M2 A' J" @1 J具体的异常路径(Path specific exceptions),使用虚假路径、多周期路径约束
; w% j" R5 q4 l% W9 z
( y4 c+ w9 {! M- d1.1.  输入约束Input Constraint1 T: _# x1 x/ u3 Z* q3 q
OFFSET IN约束限定了输入数据和输入时钟边沿的关系。
+ U$ Q1 G2 Q, T7 _% w- _- N5 u3 _0 z
1.1.1.   系统同步输入约束System Synchronous Input) w9 F7 _& L/ e( R/ l4 `
在系统同步接口中,同一个系统时钟既传输数据也获取数据。考虑到板子路径延时和时钟抖动,接口的操作频率不能太高。
4 I% L* Z3 c6 F' r# S 9 `  D3 A) q" V
上述时序的约束可写为:
5 n9 t. i- A0 j/ H( J2 y7 p, xNET "SysClk" TNM_NET = "SysClk";
0 S* v$ k5 d& S9 C( x* RTIMESPEC "TS_SysClk" = PERIOD "SysClk" 5 ns HIGH 50%;- o5 C9 t: K9 w' n
OFFSET = IN 5 ns VALID 5 ns BEFORE "SysClk";
! Y) E0 ^& n2 b, v8 D1 s/ e' D
% v/ A& P" a0 D- M% f1.1.2.   源同步输入约束Source Synchronous Input: V" u' Q) u% p: E5 m1 v/ f8 c
在源同步接口中,时钟是在源设备中和数据一起产生并传输。
/ o: w+ V. [9 t
4 V/ R8 k( ]6 W; [+ `! l' [上图的时序约束可写为:
6 j* s0 b7 P1 d& |  _1 d2 B0 L  NET "SysClk" TNM_NET = "SysClk";
" y) E' c" _: V  TIMESPEC "TS_SysClk" = PERIOD "SysClk" 5 ns HIGH 50%;7 m" _4 U! X7 n% @
  OFFSET = IN 1.25 ns VALID 2.5 ns BEFORE "SysClk" RISING;' f7 B6 l% b8 u6 Z5 G; [
  OFFSET = IN 1.25 ns VALID 2.5 ns BEFORE "SysClk" FALLING;
/ b- b' q& w& q; S$ K9 M" s; O- }: t' ]# N
1.2.  寄存器到寄存器约束Register-to-Register Constraint& n1 c6 V9 l, o5 Q
寄存器到寄存器约束往往指的是周期约束,周期约束的覆盖范围包括:
' N  m, H$ z9 G-覆盖了时钟域的时序要求
: e1 N& c7 j2 h0 v, W7 A) U, D-覆盖了同步数据在内部寄存器之间的传输
+ G" d% Y# q! B: _! d) F. Q-分析一个单独的时钟域内的路径& S+ m) P- n8 ?% n) i  H
-分析相关时钟域间的所有路径
! s( t$ P3 Z( X4 a-考虑不同时钟域间的所有频率、相位、不确定性差异
# {- G& G8 P0 P4 T3 p. \2 n7 u- A* O; c9 \
1.2.1.   使用DLL, DCM, PLL, and MMCM等时钟器件自动确定同步关系
5 X1 C# N% I& C7 J使用这一类时钟IP Core,只需指定它们的输入时钟约束,器件将自动的根据用户生成IP Core时指定的参数约束相关输出,不需用户手动干预。9 {* O% {/ x# B. p1 g) Q
2 A4 U; m( }" [
1.2.2.   手动约束相关联的时钟域
+ d5 \/ |! p5 Q$ z8 j' S' U在某些情况下,工具并不能自动确定同步的时钟域之间的时钟时序关系,这个时候需要手动约束。例如:有两个有相位关系的时钟从不同的引脚进入FPGA器件,这个时候需要手动约束这两个时钟。
- c2 B9 v! z' \2 b7 I" c% k0 y0 u0 I3 A8 {% M

4 M' W( {5 s# Q3 u( R" H

Xilinx FPGA编程技巧:常用时序约束详解.pdf

237.28 KB, 下载次数: 1, 下载积分: 威望 -5

该用户从未签到

2#
发表于 2022-9-14 10:56 | 只看该作者

/ Q' B) p; i& f9 T' C正需要这个资料呢,这种资料多分享,收获很大。

该用户从未签到

3#
发表于 2022-9-14 14:01 | 只看该作者
文章资料很丰富,特别的专业
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-31 23:38 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表