synplify

synplify是synopsys的综合工具,但一般的硬件设计我们还不需要它,altera/xilinx都有各自的开发环境,但是当使用到soc设计时,一般使用的都是system verilog,而我们知道altera的开发环境实在太烂了,在system verilog上的支持远不如xilinx,这个时候只能想办法借助第三方工具了,当然我想synplify在FPGA上用的还是少,主要面向需要晶圆代工厂Foundry公司,做asic/soc设计上。由于synplify对文件添加的顺序性要求,顶层文件需要最后添加,综合顺序只能呆板的按照文件添加的顺序执行,一旦顺序不对就会报找不到包,对比下来还是xilinx更智能,不用综合选定top后就可以生成hierarchy结构,据说synplify的使用部分是因为synopsys的ip核被绑定只能使用synplify。
如何配合使用第三方综合工具和 Vivado IP (中文配音)

细数Quartus系列综合器对SystemVerilog支持上的5个槽点

参考

synplify.tcl

#-- Synplicity, Inc.
#-- Version Synplify Pro 8.8
 
#create a new project
project -new top.prj         #工程名命名为top
 
#add_file options
add_file -verilog "filelist.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 "hello"  #顶层模块
 
#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
set_option -use_vivado 1         #指定布局布线的工具,本设计中指定vivado
 
# 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 "./hdl/"    #设置源码路径
 
#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

Makefile


SYNPLIFY_DIR = synplify
SYNPLIFY_TCL_FILE = synplify.tcl
SYNPLIFY_FDC_FILE = top.fdc
SYNPLIFY_VERILOG_FILE = filelist.v
SYNPLIFY_EDF_FILE = top.edf      #综合后的网表文件edf格式
SYNPLIFY_LOG_FILE = top.log
SYNPLIFY_VM_FILE = hello.vm      #综合后的网表文件vm格式,可作后仿真的输入
 
 
 
.PHONY:  run_synplify clean
 
run_synplify:
	echo "synthesize begin ..."
	rm -rf ${SYNPLIFY_DIR}
	mkdir ${SYNPLIFY_DIR}
	cd ${SYNPLIFY_DIR} && synplify_pro -batch synplify.tcl
	cp ${SYNPLIFY_DIR}/rev_1/*.edf ./${SYNPLIFY_EDF_FILE}
	cp ${SYNPLIFY_DIR}/rev_1/*.vm ./${SYNPLIFY_VM_FILE}
	cp ${SYNPLIFY_DIR}/top.log ./${SYNPLIFY_LOG_FILE}
	echo "synthesize finished!"
 
 
clean:
	rm -rf ${SYNPLIFY_DIR}
	rm -rf ./${SYNPLIFY_EDF_FILE}
	rm -rf ./${SYNPLIFY_LOG_FILE}
	rm -rf ./${SYNPLIFY_VM_FILE}
  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值