comm tools
作者:互联网
RTL:寄存器传输级别 LRM:语言参考手册 FSM:有限状态机 EDIF:电子数据交换格式 LSO:库搜索目录 XCF:XST 约束条件
1. par -ol. high 命令总是 '-'开头,参数紧跟其后
2.如果 一个命令被使用两次,请出现两次
3.参数顺序严格按照说明,不能乱序出现
4. 命令认大小写
4.常见命令
-f :执行命令文件
-h help
-intstyle : 集成风格 ? 只输出警告和错误
-intstyle ise|xflow|silent --三个必备条件 ise指明环境 xflow 指明作为部分数据流执行 silent 静默执行 只输出警告和错误
该程式在工程中默认运行
-p part number 设备编号
平台+型号+封装+速度
你可以在平台设计各个地方指定这个参数,但是网表不需要,网表约束条件NCF(Netlist Constraints File )不需要,网表阅读器需要(EDIF2NGD),用户约束文件不需要(UCF),运行NGDBuild需要必须提前指定一个架构。map也需要架构,封装,设备型号(可以出现在map命令行或者设计流之前)如果没有速度,默认一个速度 part number要和ngcbuild一致。SmartXplorer需要(FPGA only)。注意map指定的部件将会覆盖网表。
MAP:输入NGD文件,输出NCD文件。作用是将逻辑映射到物理逻辑单元。map可以包含高级优化选项(影响时间优化),这些选项可以放在初级映射.
的时候,也可以放在放置后。--- -global_opt 放置之前进行全局化优化。放置之后,进行时序检查,如果不符合将进行重新读取网表,放置优化操作。map会首先进行DRC检查。输出一个ncd文件(本地电路描述文件),可以由PAR进行路由和放置导线。
进行时序优化,timing-driven and rounting(-timing) must be enabled,开启物理综合优化 通过 -logic_opt(logic Optimization) -register_duplication(duplication Registers)
Placing and Routing
PAR 执行一个NCD(map)文件,输出一个本机电路描述NCD文件。据说可以手动和自动路由(EDitor)
map
input :需要一个ngd文件,ngd由ngdbuild生成。 NMC file,guide ncd file guide ngm file activity files
output: NCD PCF(约束文件,规则检查) NGM,MRP(报告文件),map(log),PSR(物理合成报告,只有某些优化开启才会生成)
工作流程:
1.选择器件 -- 使用命令 如果没有指定,会搜索ngd文件,如果也没有将报错
2.读取输入文件信息
3.DRC
4.删除多余的网络(S约束出现过网络将被保留,-u 所有网络将被保留)
5.将pads和它的逻辑连接到IOBS上
6.将逻辑映射到物理单元(按照约束)
7.更新从输入NGD文件接收到的信息,并将更新后的信息写入NGM文件。这个NGM文件包含关于设计的逻辑信息和关于如何映射设计的物理信息。NGM文件只用于反向注释
8.创建物理约束(PCF)文件。这是一个文本文件,包含在设计条目期间指定的任何约束。如果在设计条目期间没有指定约束,那么将创建一个空文件,以便您可以使用文本编辑器直接或间接地通过FPGA编辑器将约束输入到文件中MAP要么创建一个PCF文件(如果不存在),要么通过覆盖文件的SCHEMATIC生成部分(在SCHEMATIC语句之间)来重写现有文件开始和示意结束)。对于现有的约束文件,MAP还检查用户生成的部分,并可能注释掉带有错误的约束或停止程序。如果在用户生成的部分中没有发现错误,则该部分保持不变。
9.spartan3 -timing 必须
10.DRC
11.创建NCD文件
12.map report
语法:
map [options] infile[.ngd] [pcf_file.pcf]
-activityfile (Activity File):电源优化 模拟一个输入输出
-activityfile activityfile .vcd|.saif
-bp (Map Slice Logic)
这个选项启用块RAM映射。当块RAM映射被启用时,MAP尝试将lut和FFs放置到单输出、单端口块RAM中。
一个 hdl工程应该包含的文件
-c (Pack Slices) 如果使用 -timing 该功能不可用
对于不指定-timing的Spartan®-3,Spartan- 3a, Spartan- 3e和Virtex®-4设备,packfactor可以是0到100(包括)之 间的任意整数。
•对于Spartan-3, Spartan-3A, Spartan-3E和Virtex-4设备,当-timing被指定时,packfactor只能是0,1或100。
•对于Virtex-5、Spartan-6、Virtex-6、7系列和Zynq设备,时间驱动包装和放置始终开启,包装系数只能为1或100。
填充因子(对于非零值)是目标层密度百分比。
•封装因子值为0表示只有相关的逻辑(具有公共信号的逻辑)应该被封装到单个Slice中,并产生最不密集的封装设计。
•当封隔器试图达到最大的封隔密度时,封隔系数为1片利用率1%。
•封装系数为100意味着只有足够的不相关封装能够满足设备100%的利用率。这导致了最小的填充密度。
对于从1到100的填充系数值,MAP只有在设计要求更密集的填充以满足目标层利用率时,才会将不相关的逻辑合并到同一层中。如果不需要与设备匹配的无关包装,则指定-c 100时所使用的切片数将等于指定-c 0时所使用的切片数。
尽管指定较低的封隔系数会导致设计密度增大,但设计的位置和路线可能会更加困难。不相关的包可以创建具有冲突放置需求的切片,而密集的包可以创建局部路由拥塞。
1. ascii 文件
2.列出 所有的hdl文件,以便上传至设计
3.每行一个源文件
4.通常具有 .prj 扩展名
hdl 语法
<hdl_language> <compilation_library> <source_file>
hdl_language:
1.指出是hdl还是verilog
2.是否可以混合编译 vhd verilog
compilation_library
1.指定hdl需要的逻辑库
2.默认逻辑库是 work
source_file:
1.指定hdl 源文件
2.使用绝对路径还是相对路径
3.
标签:map,文件,Spartan,指定,comm,100,hdl,tools 来源: https://www.cnblogs.com/polar-lights/p/14984711.html