Synplify 和 Synplify Pro 是 synopsys提供的专门针对FPGA和CPLD实现的逻辑综合工具;
.prj
以tcl 的格式保存 设计文件、约束文件、综合选项的设置情况等;.tcl
保存;.fdc
保存 用来提供设计者定义的时间约束,综合属性,供应商定义的属性等;synplify &
添加源代码文件 约束文件等,Synplify把最后编译的module作为顶层设计,故把你所要的顶层设 计文件拉到源文件末尾处:
点击Impl option, 出现属性页对话框 打开 Device 属性页,分别设置器件厂家、器件型号、 速度级别和封装信息;
点击 Implementation Results 属性页,设置综合结果放置的目录,综合结果的文件名称, 同时一定要将 Write Vendor Constraint File选项选中
做完所有设置之后 回到主窗口 点击 RUN 按钮 开始综合即可;
以Synplify Pro为例,与Synplify操作一样;
命令行运行
synplify_pro -batch top.prj
或者打开GUI
synplify_pro top.prj
如下tcl脚本:
#-- Synplicity, Inc.
#-- Version Synplify Pro
#create a new project
##工程名命名为top
project -new top.prj
#add_file options
add_file -verilog "../rtl/simple_fsm.v"
add_file -fpga_constraint "top.fdc"
#implementation: "rev_1"
impl -add rev_1 -type fpga
#device options,设计中使用的xilinx的K7系列
set_option -technology Kintex7
set_option -part XC7K410T
set_option -package FFG900
set_option -speed_grade -2L
set_option -part_companion ""
#compilation/mapping options
set_option -use_fsm_explorer 1
#顶层模块
set_option -top_module "simple_fsm"
#map options
#
#外部晶振
set_option -frequency 50.000000
set_option -auto_constrain_io 1
set_option -resolve_multiple_driver 1
set_option -srs_instrumentation 1
set_option -RWCheckOnRam 0
set_option -run_prop_extract 0
set_option -maxfan 10000
set_option -disable_io_insertion 0
set_option -pipe 1
set_option -update_models_cp 0
set_option -verification_mode 0
set_option -retiming 1
set_option -no_sequential_opt 0
set_option -fix_gated_and_generated_clocks 1
set_option -enable_prepacking 1
#指定布局布线的工具,本设计中指定vivado
set_option -use_vivado 1
# sequential_optimization_options
set_option -symbolic_fsm_compiler 1
# Compiler Options
set_option -compiler_compatible 0
set_option -resource_sharing 1
set_option -multi_file_compilation_unit 1
#automatic place and route (vendor) options
set_option -write_apr_constraint 1
#implementation attributes
set_option -vlog_std v2001
set_option -num_critical_paths 10
set_option -num_startend_points 10
set_option -project_relative_includes 1
set_option -hdl_define -set FPGA
#设置源码路径
set_option -include_path "./rtl/"
#simulation options
set_option -write_verilog 1
set_option -write_vhdl 0
#VIF options
set_option -write_vif 0
#set result format/file last
project -result_file "top.edf"
project -log_file "top.log"
#save run and close project
project -save top.prj
project -run
project -close top.prj
运行脚本:
synplify_pro -batch synplify.tcl
Synplify将所有综合时产生的报告和信息写入Log文件,文件名project_name.srr ;
Log文件包括
包含在Log文件的性能总结Perference Summary部分,帮助分析关键路径,调整设计,增加约束以达到面积或速度目标;
时间报告包括
HDL Analyst是synplify提供给设计者查看结果, 提高设计速度特性和优化面积的强有力的层 次结构可视化图形工具;
HDL Analyst包含两个原理图视窗,RTL视窗RTL View和目标技术视窗Technology View;
可以显示该路径的延迟信息,关键路径等