欢迎来到天天文库
浏览记录
ID:57222659
大小:2.28 MB
页数:61页
时间:2020-08-04
《Xilinx-FPGA高级开发工具精讲课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、FPGA应用XilinxFPGA高级开发工具高级工具约束与约束相关工具ConstraintEditor,PACE配置下载工具(iMPACT)第三方工具仿真器:ModelSim综合器:Simplify在线逻辑分析仪(ChipScope)时序分析器(TimingAnalyzer)约束目的:控制综合与实现,设计高性能电路;获得正确时序分析报告指定引脚位置和电气标准时序约束,分组约束管脚约束,区域约束约束文件UCF:文本文件,由用户输入;NCF:由综合工具自动生成;PCF:映射产生的物理约束用户输入的约束时序相关约束周期约束(PERIOD约束)偏移约束(OFFSET约束)静态路径约束
2、专门约束分组约束时序约束周期约束(PERIOD约束):FF到FF偏移约束(OFFSET约束):IPAD到FF,FF到OPAD静态路径约束:IPAD到OPAD周期约束Tcko:时钟输出Tlogic:组合逻辑延迟Tnet:网线延迟Tsetup:建立时间Tclk_skew:时钟偏移时钟最小周期:Tclk=Tcko+Tlogic+Tnet+Tsetup–Tclk_skewTclk_skew=Tcd2–Tcd1时钟约束语法(简单方法)[约束信号]PERIOD={周期长度}{HIGH
3、LOW}[脉冲持续时间]约束信号:NET“net_name”或TIMEGRP“group_name”HI
4、GH
5、LOW:第一个脉冲为高电平/低电平脉冲持续时间:该脉冲持续时间举例NETSYS_CLKPERIOD=10nsHIGH4ns时钟约束语法(推荐方法)TIMESPEC“TSidentifier”=PERIOD“TNM_reference”{周期长度}{HIGH
6、LOW}[脉冲持续时间];TIMESPEC:时序规范标识;TS+标识:TS属性定义,可用于派生时钟定义举例NET“clk_50M”TNM_NET=“sys_clk”TIMESPEC“TS_sys_clk”=PERIOD“sys_clk”20HIGH10时钟约束语法(派生方法)TIMESPEC“clk_syn”=PER
7、IOD“clk”5ns;反向时钟:TIMESPEC“clk_syn_180”=PERIOD“clk_180”clk_synPHASE+2.5ns;2分频时钟:TIMESPEC“clk_syn_180”=PERIOD“clk_syn_half”clk_syn/2偏移约束外部时钟与数据输入/输出管脚之间时序;只能用于端口信号,不能用于内部信号;输入偏移输出偏移OFFSET=[IN
8、OUT]”offset_time”[units]{BEFORE
9、AFTER}”clk_name”[TIMEGRP“group_name]输入约束OFFSET_IN_AFTER:时钟之后可以到达输入端,芯
10、片内部延迟上限OFFSET_IN_BEFORE:时钟之前必须到达输入端NET“DATA_IN”OFFSET=IN10.0BEFORE“CLK_50MHz”NET“DATA_IN”OFFSET=IN10.0AFTER“CLK_50MHz”输出约束OFFSET_OUT_BEFORE:下一个时钟到来之前必须完成输出OFFSET_OUT_AFTER:本时钟有效沿之后必须输出NET“DATA_OUT”OFFSET=OUT10.0BEFORE“CLK_50MHz”NET“DATA_OUT”OFFSET=OUT10.0AFTER“CLK_50MHz”分组约束将同步元件分为不同的组,每组附加
11、各自的约束TNM/TNM_NET:选出可构成一个分组的元件,然后整体添加到组中TIMEGRP:分组合并和拆分TPSYNC:将不是管脚和同步元件的组件定义为同步,以便作为时序规范起点和终点TPTHRU:定义一个或一组路径上的关键点,可使用户定义任意期望的路径TNM/TNM_NET分组约束选出可构成一个分组的元件,然后整体添加到组中TNM_NET只加在网线上{NET
12、INST
13、PIN}“ob_name”TNM=“New_name”NET“net_name”TNM_NET=“new_name”示例INST“ff1”TNM=“MY_FF1”;INST“ff2”TNM=“MY_FF1”
14、;NET“A0”TNM=“MY_FF1”;NET“PADCLK”TNM_NET=“PADGRP”TNM/TNM_NET分组约束TNM约束添加到线网时不穿越IBUFG/BUFG组件,TNM_NET可穿越IBUFG/BUFGTIMEGRP分组约束分组合并和拆分合并:TIMEGRP“New_group”=“old_group1”“old_group2”…;拆分:TIMEGRP“New_group”=“old_group1”EXCEPT“old_group2”…;示例TIMEGRP“big_group”=“sm
此文档下载收益归作者所有