预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

FPGA设计之——时序设计 FPGA设计一个很重要的设计是时序设计,而时序设计的实质就是满足每一个触 发器的建立(Setup)/保持(Hold)时间的要求。 建立时间(SetupTime):是指在触发器的时钟信号上升沿到来以前,数据 稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触 发器; 保持时间(HoldTime):是指在触发器的时钟信号上升沿到来以后,数据稳 定不变的时间,如果保持时间不够,数据同样不能被打入触发器。 FPGA设计分为异步电路设计和同步电路设计,然而很多异步电路设计 都可以转化为同步电路设计,在设计时尽量采用同步电路进行设计。对于同步 电路可以转化的逻辑必须转化,不能转化的逻辑,应将异步的部分减到最小, 而其前后级仍然应该采用同步设计。 为了让同步电路可靠地运行,就要对时钟偏差进行控制,以使时钟偏差减 小到可用的范围。影响时钟偏差的主要有以下几个因素: o用于连接时钟树的连线 o钟树的拓扑结构 o时钟的驱动 o时钟线的负载 o时钟的上升及下降时间 在通常的FPGA设计中对时钟偏差的控制主要有以下几种方法: o控制时钟信号尽量走可编程器件的的全局时钟网络。在可编程器 件中一般都有专门的时钟驱动器及全局时钟网络,不同种类、型 号的可编程器件,它们中的全局时钟网络数量不同,因此要根据 不同的设计需要选择含有合适数量全局时钟网络的可编程器件。 一般来说,走全局时钟网络的时钟信号到各使用端的延时小,时 钟偏差很小,基本可以忽略不计。 o若设计中时钟信号数量很多,无法让所有的信号都走全局时钟网 络,那么可以通过在设计中加约束的方法,控制不能走全局时钟 网络的时钟信号的时钟偏差。 o异步接口时序裕度要足够大。局部同步电路之间接口都可以看成 是异步接口,比较典型的是设计中的高低频电路接口、I/O接口, 那么接口电路中后一级触发器的建立-保持时间要满足要求,时序 裕度要足够大。 o在系统时钟大于30MHz时,设计难度有所加大,建议采用流水线 等设计方法。采用流水线处理方式可以达到提高时序电路的速度, 但使用的器件资源也成倍增加。 o要保证电路设计的理论最高工作频率大于电路的实际工作频率。 A时序约束的概念和基本策略 时序约束主要包括周期约束(FFS到FFS,即触发器到触发器)和偏移约束 (IPAD到FFS、FFS到OPAD)以及静态路径约束(IPAD到OPAD)等3种。通 过附加约束条件可以使综合布线工具调整映射和布局布线过程,使设计达到时 序要求。例如用OFFSET_IN_BEFORE约束可以告诉综合布线工具输入信号在时 钟之前什么时候准备好,综合布线工具就可以根据这个约束调整与IPAD相连的 LogicCircuitry的综合实现过程,使结果满足FFS的建立时间要求。 附加时序约束的一般策略是先附加全局约束,然后对快速和慢速例外路径附加 专门约束。附加全局约束时,首先定义设计的所有时钟,对各时钟域内的同步 元件进行分组,对分组附加周期约束,然后对FPGA/CPLD输入输出PAD附加偏 移约束、对全组合逻辑的PADTOPAD路径附加约束。附加专门约束时,首先约 束分组之间的路径,然后约束快、慢速例外路径和多周期路径,以及其他特殊 路径。 B附加约束的基本作用 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、GTLP、HSTL、LDT、LVCMOS、LVDCI、LVDS、LVP ECL、LVDSEXT、LVTTL、PCI、PCIX、SSTL、ULVDS等丰富的IO接口标 准。另外通过区域约束还能在FPGA上规划各个模块的实现区域,通过物 理