Xilin FPGA设计约束的分类_第1页
Xilin FPGA设计约束的分类_第2页
Xilin FPGA设计约束的分类_第3页
Xilin FPGA设计约束的分类_第4页
Xilin FPGA设计约束的分类_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Xilinx FPGA设计约束的分类摘要:本文主要通过一个实例具体介绍ISE中通过编辑UCF文件来对FPGA设计 进行约束,主要涉及到的约束包括时钟约束、群组约束、逻辑管脚约束以及物理 属性约束。Xilinx定义了如下几种约束类型:Attributes and Constraints”CPLD Fitter”Grouping Constraints”Logical Constraints”Physical Constraints”Mapping Directives”Placement Constraints”Routing Directives”Synthesis Constraints”T

2、iming Constraints”Configuration Constraints” 通过编译UCF(user cons train ts fil e)文件可以完成上述的功能。还是用实例来讲UCF的语法是如何的。图1 RTL Schematic图1是顶层文件RTL图,左侧一列输入,右侧为输出,这些端口需要分配相应 的FPGA管脚。(如表1)1: KBT *,pin_sysclk_iH LOC = A Ji 2 | XWM_tfET = pitLS j/sclkln2 ; TIMESPEC TS_pit_&/scl?t_i - PERIOD pin sy*c丄.E 15 兀占 EilGH 5

3、0 t;勺s勺sNET pm pZx Lrccct r.i LOC - 010;5 s1E:KET R,piz: plxlholti_iLOC CL7j7:KET a,pin plxLholda o-LOC - DL7 SLEW FAST;a: f1010: Nt? pir pLz Sds n L OffiE - INns 畳FIER 在i= gH 1“11: ITLQC - LQC - E9;13: KET piF. pix _lk_r_r; L OFFSET = IN 6.3 13: KET piF. pix _lk_r_r; L OFFSET = IN 6.3 :& aFTER IFpi

4、n sysclk Lir HIGE; 14; A1ie:KET ?,pin pix lad iof, LOCA12 | SLEW - FAST |TKM -LAD;19:KET r,pin plx ladLGC 匚AC 13 1 SLEW - FAST |TKH -LAD;當;KET Npln plx lad ioH LOC -AC15 | 3 - FAST |T&2M -LA3;21;WET Mpin_plx lad ioH LOC AC 16 E SLW - FiiST 1TMM -LAS;22:NETlad 1oOh LOC =Ml SLW - FftST 1TWM =LAD;23;KE

5、TladLOC AA12 | SLEvfl - FftST |LA;、F、-fcffF niC cbu 1 hj4 4S. T ftr1 ftTl A fe :T TW TIiQM ITKIJU tan.31 :NET Flpir plx_liiri Lcn LOC AC12 | SLEWFASTI TKH LAD;32;NET pin pix Lad ion LOCABl : SLEW FASTI TKM LAD;33:KET pir pLx Lad io L3CAM 4 I SLEW - FAST1 TNM - LAD24 :KET Flpin plx Lad ion L02-D12 |

6、SLEW FAST| TNM-LAD;35:RET ,1piajl_iad_io, LOC-E13 I SLEW - FAST| TKM-LAD;36:tfET b,pin plx LadL0C-C16 1 SLEW - FASTI TNM-LAD;3T :NET pin plx LadLOC-D16 | SLEW 一 FASTI T削- 1AD;3B:KET pin plx_ lad_ oh LOC=011 I SLEW FAST1 TNM LAD;39;hET plnp-x _lad_ih LOC-Cll 1 SLEW - FAST1 TKM-LAD;40;KET pi?! plx lad

7、 i&n L0 E14 | SLEW - FASTI TNM LAD;41:KET Bpin plx lad io23n LK 315 i SLEW - FASTI TNM-LAD;42 :NET pir. pix Lad ion LDC-D13 1 SLEW FAST1 TNM LAD;心NET pir plx Lad_ion LDCD14 | SLEW FASTI TKM LAD;4勺:NET Rlpi_p2x Lad icKfc11 LOCFl 5 1 SLEW FASTI TKM-LAD;45:KET Hpir p2x Lad ioH LOCF16 I SLEW - FAST1 TB3

8、M-LAD;加:KET Hpir: plx lad yqm L2Z一 F丄】SLEW ” FASTI TKM-LAD;盯:tJET 11 piBd_io 2 9=- LOC-Fl3 | SLEW - FAST| TKM-g;昭:昨丁 *,ptn_plx Lad ioM LOC-F13 I SLEW - FAST1 T粉-LA 3;49:NBT Mpin pix Lad _ioH LOC F14 ! SLEW - FASTI TKM口LAD;50;TIMEGRP Z.D1 OFfSETID; 6,4 ns A.FTER pinsysclkl HIGH;15It17TIME6H? 1hLAD OF

9、FSET OUT 3.1 RS BEFOEtE npir1 EilSH;5S:NET Ipir2_plx rec.dy 0 LOG E1S5LEcJ - FAST;5$:NETpi rs_le!d_aLOC-D22;0:NETpin led oLOC-C22;1:NETpin led oLOCE21;2 :NETpin led &nLOC-21;63;WETPlpi.n_ ld_ oWLOC-C21;“;KETpir:_ 丄 ciOCE*1LOC-S24;65:NET-ptn_lcci_oLOC-表 1UCF example66:NETpin_lcd_o7LOC-B23;52 : *对上面的

10、UCF 文件进行一些注释: 该 UCF 文件主要是完成了管脚的约束、时钟的约束,以及组的约束。 第一、二行:主要定义了时钟以及对应的物理管脚。第一行,端口 pin_sysclk_i 分配到 FPGA 管脚 AD12,并放到了 pin_sysclk_i group 中。那如何得知是 AD12 的管脚呢,请看图 2, FPGA 管脚 AD12 是一个 66MHz 的外部时钟。FPGA的开发板肯定有电路原理图供你分配外部管脚。图 2 ,电路原理图第二行:时钟说明:周期15ns,占空比50%。关键词TIMESPEC(TimingSpecifications),即时钟说明。一般的语法是:TIMESPEC

11、 TSidentifier=PERIOD timegroup_name value units;其中TSidentifier用来指定TS (时钟说明)的唯一的名称。第七行:pin_plx_lholda_o连接至物理管脚D17,并配置该管脚电平变化的速 率。关键词:SLEW,用来定义电平变化的速率的,一般语法是:NET top_level_port_name SLEW=value;其中 value = FAST|SLOW|QUIETIO, QUIETIO 仅用在 Spartan-3A。第十行:定义 pin_plx_ads_n_i 输入跟时钟的关系。 OFFSET IN 和 OFFSET OUT

12、的约束。OFFSET IN定义了数据输入的时间和接收数据时钟沿(capture Edge) 的关系。一般的语法是: OFFSET = IN value VALID value BEFORE clockOFFSET = OUT value VALID value AFTER clockTran smitCaptureEdgeHgeMPERIOD = 5 nstSysCLkIIi-OfSET IN BEFORE 百 nsi1DataiD总怕2iData1VAI In A rveVrtLI LJ ZJ i ra图 3 时序图( OFFSET IN )例子:NET SysCLk TNM_NET = S

13、ysClk;TIMESPEC TS_SysClk = PERIOD SysClk 5 ns HIGH 50%;OFFSET = IN 5 ns VALID 5 ns BEFORE SysClk;上面的定义了基于SysClk的全局OFFSET IN的属性。时序可看图3.图4时序图(OFFSET OUT)例子:NET ClkIn TNM_NET = ClkIn;OFFSET = OUT 5 ns AFTER ClkIn;上面设置主要是定了了时钟跟数据的时间关系,时序图4。可以看到这时一种全 局定义,Da tai和Data2输出时间都受到OFFSET = OUT 5 ns AFTER ClkIn的

14、约束。如果需要单独定义输出端口的OFFSET OUT的,需要制定相应的NET,可 参考表1中的第57行。第 18 至 49 行:pin_plx_lad_io 被归到了名称为 LAD 的 TMN(Timing name), 这个可以说是GROUP的约束。这样往往给约束带来方便,不用一个一个的NET或 者INST进行约束。第50至51行:对TIMEGRP是LAD进行OFFSET IN和OUT的定义。在时序约束中,在这里还未提及FROM TO的约束。FROM TO的约束主要是用来两 个同步模块之间的时间关系的约束。在这里不做深入的讨论。至此,基本上把一般的UCF文件的作用进行了注释。注:一般的时间的

15、约束需要通过静态的时序分析,然后再设定相应PERIOD, OFFSET IN以及OFFEET OUT等的时间参数。当然在例子中还没有涉及到区域的约束。下面会试图说一下。ISE进行综合后会将设计代码生成相应的逻辑网表,然后经过translate过程, 转换到Xilinx特定的底层结构和硬件原语,MAP过程就是将映射到具体型号的 器件上,最后就是就是布线和布局的操作了。区域的约束相当于将布局过程中指定特定型号的器件的位置,这完全可以通过 FloorPlanner的GUI界面进行设置,用图形界面设置完后,配置信息会放到UCF 中,这里只介绍UCF的使用。例如:INST Done LOC = SLIC

16、E_X32Y163 ; #Done 映射为一个寄存器,映射到 SLICE_X32Y163的位置上。(32,163)相当于一个坐标,可以用FloorPlanner 进行查看。INSTBRAM4/BU2/U0/blk_mem_generator/valid.cstr/ramloop0.ram.r/v4_in it.ram/TRUE_DP.SINGLE_PRIM.TDPLOC = RAMB16_X2Y22 ; #RAM16 的一个映 射。又例如,X,Y,Z是对应的是寄存器。现在想把它们放在一个指定的区域中,我可 以这样写,INST “X” AREA_GROUP = reg;INST “X” AREA_GROUP = reg;INST “X” AREA_GROUP = reg;AREA_GROUP reg RANG

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论