IC设计中Makefile的应用

IC设计中Makefile的应用

      • 1. Makefile作用?
      • 2. Makefile应用

结合自己理解并参考: 芯片设计中的Makefile简明教程与 Makefile文件中包含哪些规则

1. Makefile作用?

  • 编写makefile文件本质上是帮组make如何一键编译,进行批处理,makefile文件包含的规则命令使我们不需要繁琐的操作,提高了开发效率。
  • Makefile可以根据指定的依赖规则和文件是否有修改来执行命令。常用来编译软件源代码,只需要重新编译修改过的文件,使得编译速度大大加快。

2. Makefile应用

  • 利用Makefile 实现简单的前端设计流程,包括VCS编译,Verdi仿真,DC综合,后续流程待补充。
  • 目录结构
Our_design
dc_script
top_syn.tcl
Makefile
script
set_env.tcl constraint_sdc.tcl ...
Makefile
RTL
design.v
flist.f
Makefile

在这里插入图片描述

  • 其中dc_script 为dc综合脚本, 参考以前博客DC脚本学习,需要修改set_env.tcl中RTL_FILE的路径为自己的设计文件(.v)保存路径。
  • RTL为自己的设计(.v)文件,flist.f包含所有文件的路径。
  • Makefile文件如下,参考以前博客VCS和Verdi学习。
#use "make" for help
help:
	@echo "make help"
	@echo "make com to compile" 
	@echo "make sim to run simulation"	
	@echo "make clean to delete temporary files" 

#need to midify design name
design_name = div_top
fsdb_name = $(design_name).fsdb

# use command "make com" to run vsc and product fsdb file
com: 
	cd RTL && vcs \
		-full64 \
		-f flist.f \
	  -debug_all \
		-l com.log \
		+v2k \	-P ${Verdi_HOME}/share/PLI/VCS/LINUXAMD64/novas.tab	${Verdi_HOME}/share/PLI/VCS/LINUXAMD64/pli.a
	#	cd RTL && ./simv -l sim.log +fsdbfile+$(fsdb_name)
#simulation:product fsdb file and sim log
sim: ./RTL/simv 	  
	cd RTL && ./simv -l sim.log +fsdbfile+$(fsdb_name)  

# use verdi to observe the waveform
verdi:
	cd RTL && verdi \
	+v2k \
	-f flist.f \
	-ssf  $(fsdb_name) & #use fsdb file

# run dc for synthesize
syn:	
	cd dc_script && dc_shell -64bit -topographical -f top_syn.tcl | tee -i syn.log

#delete all files except .v and makefile
clean: 
	#rm -rf `ls | grep -v "Makefile"|grep -v "flist.f" | grep -v "\.v" | grep -v "dc_script"`
	make -C RTL clean
	make -C dc_script clean

/RTL目录下MakeFile

#delete temporary files
clean: 
	rm -rf `ls | grep -v "Makefile"|grep -v "flist.f" | grep -v "\.v"`

dc_script目录下Makefile

#delete temporary files
clean: 
	rm -rf `ls | grep -v "Makefile"|grep -v "script" | grep -v ".*.tcl"`

以下为实际效果:

  • make在这里插入图片描述
  • make com :调用vcs编译
    在这里插入图片描述
  • make sim:调用vcs仿真IC设计中Makefile的应用_第1张图片
  • make verdi 波形,shifrt+l可刷新重新编译结果IC设计中Makefile的应用_第2张图片
  • make clean 删除所有子目录下的临时生成文件

你可能感兴趣的:(Script,makefile)