Xilinx-FPGA高级开发工具精讲.ppt
《Xilinx-FPGA高级开发工具精讲.ppt》由会员分享,可在线阅读,更多相关《Xilinx-FPGA高级开发工具精讲.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、FPGAFPGA应用应用Xilinx FPGA高级开发工具高级开发工具高级工具高级工具约束与约束相关工具约束与约束相关工具Constraint Constraint Editor,PACEEditor,PACE配置下载工具配置下载工具(iMPACTiMPACT)第三方工具第三方工具仿真器:仿真器:ModelSimModelSim综合器:综合器:SimplifySimplify在线逻辑分析仪在线逻辑分析仪(ChipScopeChipScope)时序分析器时序分析器(Timing Analyzer)(Timing Analyzer)约束约束目的:目的:控制综合与实现,设计高性能电路;控制综合与实现
2、,设计高性能电路;获得正确时序分析报告获得正确时序分析报告指定引脚位置和电气标准指定引脚位置和电气标准时序约束,分组约束时序约束,分组约束管脚约束,区域约束管脚约束,区域约束约束文件约束文件UCFUCF:文本文件,由用户输入;:文本文件,由用户输入;NCFNCF:由综合工具自动生成;:由综合工具自动生成;PCFPCF:映射产生的物理约束映射产生的物理约束用户输入的约束用户输入的约束时序相关约束时序相关约束周期约束周期约束(PERIOD(PERIOD约束约束)偏移约束偏移约束(OFFSET(OFFSET约束约束)静态路径约束静态路径约束专门约束专门约束分组约束分组约束时序约束时序约束周期约束周期
3、约束(PERIOD(PERIOD约束约束):FFFF到到FFFF偏移约束偏移约束(OFFSET(OFFSET约束约束):IPADIPAD到到FF,FFFF,FF到到OPADOPAD静态路径约束:静态路径约束:IPADIPAD到到OPADOPAD周期约束周期约束TckoTcko:时钟输出时钟输出TlogicTlogic:组合逻辑延迟组合逻辑延迟TnetTnet:网线延迟网线延迟TsetupTsetup:建立时间建立时间Tclk_skewTclk_skew:时钟偏移时钟偏移时钟最小周期时钟最小周期:TclkTclk=TckoTcko+TlogicTlogic+TnetTnet+TsetupTset
4、up Tclk_skewTclk_skewTclk_skewTclk_skew=Tcd2 =Tcd2 Tcd1 Tcd1时钟约束语法时钟约束语法(简单方法简单方法)约束信号约束信号 PERIOD=PERIOD=周期长度周期长度HIGH|LOW HIGH|LOW 脉脉冲持续时间冲持续时间 约束信号约束信号:NET:NET“net_namenet_name”或或TIMEGRP TIMEGRP“group_namegroup_name”HIGH|LOW:HIGH|LOW:第一个脉冲为高电平第一个脉冲为高电平/低电平低电平脉冲持续时间:该脉冲持续时间脉冲持续时间:该脉冲持续时间举例举例NET SYS_
5、CLK PERIOD=10ns HIGH 4nsNET SYS_CLK PERIOD=10ns HIGH 4ns时钟约束语法时钟约束语法(推荐方法推荐方法)TIMESPEC TIMESPEC“TSidentifierTSidentifier”=PERIOD=PERIOD“TNM_referenceTNM_reference”周期长度周期长度 HIGH|LOW HIGH|LOW 脉脉冲持续时间冲持续时间;TIMESPEC:TIMESPEC:时序规范标识时序规范标识;TS+TS+标识:标识:TSTS属性定义,可用于派生时钟定义属性定义,可用于派生时钟定义举例举例NET NET“clk_50Mclk
6、_50M”TNM_NET=TNM_NET=“sys_clksys_clk”TIMESPEC TIMESPEC“TS_sys_clkTS_sys_clk”=PERIOD =PERIOD“sys_clksys_clk”20 HIGH 10 20 HIGH 10时钟约束语法时钟约束语法(派生方法派生方法)TIMESPEC TIMESPEC“clk_synclk_syn”=PERIOD =PERIOD“clkclk”5ns;5ns;反向时钟:反向时钟:TIMESPEC TIMESPEC“clk_syn_180clk_syn_180”=PERIOD=PERIOD“clk_180clk_180”clk_s
7、ynclk_syn PHASE+2.5ns;PHASE+2.5ns;2 2分频时钟:分频时钟:TIMESPEC TIMESPEC“clk_syn_180clk_syn_180”=PERIOD=PERIOD“clk_syn_halfclk_syn_half”clk_syn/2 clk_syn/2偏移约束偏移约束外部时钟与数据输入外部时钟与数据输入/输出管脚之间时序;输出管脚之间时序;只能用于端口信号,不能用于内部信号;只能用于端口信号,不能用于内部信号;输入偏移输入偏移输出偏移输出偏移OFFSET=OFFSET=IN|OUTIN|OUT”offset_timeoffset_time”unitsB
8、EFORE|AFTERunitsBEFORE|AFTER”clk_nameclk_name”TIMEGRP TIMEGRP“group_namegroup_name 输入约束输入约束OFFSET_IN_AFTEROFFSET_IN_AFTER:时钟之后可以到达输入端,芯片内部延迟上限:时钟之后可以到达输入端,芯片内部延迟上限OFFSET_IN_BEFOREOFFSET_IN_BEFORE:时钟之前必须到达输入端:时钟之前必须到达输入端NET NET“DATA_INDATA_IN”OFFSET=IN 10.0 BEFORE OFFSET=IN 10.0 BEFORE“CLK_50MHzCLK_5
9、0MHz”NET NET“DATA_INDATA_IN”OFFSET=IN 10.0 AFTER OFFSET=IN 10.0 AFTER“CLK_50MHzCLK_50MHz”输出约束输出约束OFFSET_OUT_BEFOREOFFSET_OUT_BEFORE:下一个时钟到来之前必须完成输出:下一个时钟到来之前必须完成输出OFFSET_OUT_AFTEROFFSET_OUT_AFTER:本时钟有效沿之后必须输出:本时钟有效沿之后必须输出NET NET“DATA_OUTDATA_OUT”OFFSET=OUT 10.0 BEFORE OFFSET=OUT 10.0 BEFORE“CLK_50MH
10、zCLK_50MHz”NET NET“DATA_OUTDATA_OUT”OFFSET=OUT 10.0 AFTER OFFSET=OUT 10.0 AFTER“CLK_50MHzCLK_50MHz”分组约束分组约束将同步元件分为不同的组,每组附加各自的约束将同步元件分为不同的组,每组附加各自的约束TNM/TNM_NETTNM/TNM_NET:选出可构成一个分组的元件,然后:选出可构成一个分组的元件,然后整体添加到组中整体添加到组中TIMEGRPTIMEGRP:分组合并和拆分:分组合并和拆分TPSYNCTPSYNC:将不是管脚和同步元件的组件定义为同:将不是管脚和同步元件的组件定义为同步,以便作
11、为时序规范起点和终点步,以便作为时序规范起点和终点TPTHRUTPTHRU:定义一个或一组路径上的关键点,可使:定义一个或一组路径上的关键点,可使用户定义任意期望的路径用户定义任意期望的路径TNM/TNM_NET分组约束分组约束选出可构成一个分组的元件,然后整体添加到组中选出可构成一个分组的元件,然后整体添加到组中TNM_NETTNM_NET只加在网线上只加在网线上NET|INST|PIN NET|INST|PIN“ob_nameob_name”TNM=TNM=“New_nameNew_name”NET NET“net_namenet_name”TNM_NET=TNM_NET=“new_nam
12、enew_name”示例示例INST INST“ff1ff1”TNM=TNM=“MY_FF1MY_FF1”;INST INST“ff2ff2”TNM=TNM=“MY_FF1MY_FF1”;NET NET“A0A0”TNM=TNM=“MY_FF1MY_FF1”;NET NET“PADCLKPADCLK”TNM_NET=TNM_NET=“PADGRPPADGRP”TNM/TNM_NET分组约束分组约束TNMTNM约束添加到线网时不穿越约束添加到线网时不穿越IBUFG/BUFGIBUFG/BUFG组件组件,TNM_NET,TNM_NET可可穿越穿越IBUFG/BUFGIBUFG/BUFGTIMEGR
13、P分组约束分组约束分组合并和拆分分组合并和拆分合并合并:TIMEGRP:TIMEGRP“New_groupNew_group”=“old_group1old_group1”“old_group2old_group2”;拆分拆分:TIMEGRP:TIMEGRP“New_groupNew_group”=“old_group1old_group1”EXCEPT EXCEPT“old_group2old_group2”;示例示例TIMEGRP TIMEGRP“big_groupbig_group”=“small_groupsmall_group”“medium_groupmedium_group”TP
14、SYNC分组约束分组约束同步点分组。如约束附加在同步点分组。如约束附加在NETNET,NETNET驱动源为同步点;如驱动源为同步点;如果是果是INSTINST,它的输出为同步点;如果是输入输出引脚,该,它的输出为同步点;如果是输入输出引脚,该引脚为同步点;引脚为同步点;NET|INST|PIN NET|INST|PIN“ob_nameob_name”TPSYNC=TPSYNC=“New_partNew_part”TPTHRU分组约束分组约束定义一个或一组路径上的关键点,可使用户定义任意期望定义一个或一组路径上的关键点,可使用户定义任意期望的路径的路径NET|INST|PIN NET|INST|
15、PIN“ob_nameob_name”TPTHRU=TPTHRU=“New_nameNew_name”;示例示例INST INST“A1A1”TNM=TNM=“S S”INST INST“A2A2”TNM=TNM=“E E”NETNET”A1toA2_1A1toA2_1”TPTHRU=TPTHRU=“M M”TIMESPEC TIMESPEC“TSpath1TSpath1”=FROM=FROM“A A”THRU THRU“ABCABC”TO TO“B B”30;30;专用约束专用约束FROM_TOFROM_TO约束约束:定义两个组之间的时序约束,可以是用户组,定义两个组之间的时序约束,可以是用
16、户组,或与定义组或与定义组(FFS,LATCHES,PADS,RAMS(FFS,LATCHES,PADS,RAMS等等)TIMESPEC TIMESPEC“TS_P2STS_P2S”=FROM PADS TO FFS 25ns;=FROM PADS TO FFS 25ns;TIMESPEC TIMESPEC“TS_C2STS_C2S”=FROM FFS TO FFS 30ns;=FROM FFS TO FFS 30ns;MAXDELAYMAXDELAY约束:定义特定线网最大延迟约束:定义特定线网最大延迟NET NET“ENEN”MAXDELAY=5ns;MAXDELAY=5ns;MAXSKEW
17、MAXSKEW约束:控制线网偏移不大于某值约束:控制线网偏移不大于某值NET NET“SIG_3SIG_3”MAXSKEW=3ns;MAXSKEW=3ns;TIGTIG约束:定义时序无关路径约束:定义时序无关路径NET NET“Sig_5Sig_5”TIG TIGUCF语法项目语法项目通配符通配符“*”:代表任何字符串及空格串代表任何字符串及空格串“?”:代表一个字符代表一个字符设计层次设计层次“*”:所有层次所有层次“Level1/*Level1/*”:level1:level1及以下层次及以下层次“Level1/*/Level1/*/”:level1:level1中模块,但不遍历更低层次中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Xilinx FPGA 高级 开发 工具
限制150内