################################################################
# $Id: Makefile 123 2010-08-15 10:08:52Z matutani $
################################################################

all:
	make setup
	make gds
	make cdl
	make ed
	@echo "To start DRC, type ./cal_drccs2001 and answer the questions."
	@echo "Then type ./cube_drc_run.csh"
	@echo "To start LVS and ERC, type ./cal_lvscs2001 and answer the questions."
	@echo "Then type ./cube_lvs_run.csh"
	@echo "To start ANT, type ./cal_antcs2001 and answer the questions."
	@echo "Then type ./cube_ant_run.csh"

################################################################
# Setup
################################################################
setup:
	ln -s /home/vdec/lib/fujitsu65/cs202_sc_io_lib/gds/CS202SZ/cs202sz_uc.gds .
	ln -s /home/vdec/lib/fujitsu65/CS200L_Technology100106/3.Physical_Verification/cal_drccs200l .
	ln -s /home/vdec/lib/fujitsu65/CS200L_Technology100106/3.Physical_Verification/cal_lvscs200l .
	ln -s /home/vdec/lib/fujitsu65/CS200L_Technology100106/3.Physical_Verification/cal_antcs200l .
	ln -s /home/vdec/lib/fujitsu65/CS200L_Technology100106/3.Physical_Verification/scripts .
	ln -s /home/vdec/lib/fujitsu65/CS200L_Technology100106/5.OPUSE_Enviroment/cs200l_techfile_r2.90.il .
	ln -s /home/vdec/lib/fujitsu65/CS200L_Technology100106/5.OPUSE_Enviroment/cs200l_layermaptable_r2.90 .
	cp scripts_misc/dot.rsf.setup_drc .rsf.setup_drc
	cp scripts_misc/dot.rsf.setup_lvs .rsf.setup_lvs
	cp scripts_misc/dot.rsf.setup_ant .rsf.setup_ant

################################################################
# Spice netlist for LVS (make cdl)
################################################################
cdl:	../pr/cube_lvs.v
	v2lvs -64 -s0 VSS -s1 VDD \
	-addpin VNW -addpin VPW \
	-s ./VPW_VSS.cdl \
	-s /home/vdec/lib/fujitsu65/cs202_sc_io_lib/cdl/CS202SZ/cs202sz_uc.cdl \
	-s /home/vdec/lib/fujitsu65/cs202_sc_io_lib/cdl/common/cs202_io.cdl \
	-o cube.cdl \
	-v ../pr/cube_lvs.v

################################################################
# ED text (pin location) for LVS (make ed)
################################################################
ed:	../pr/port.loc
	./scripts_misc/edgen.sh ../pr/port.loc > cube.ed

################################################################
# Streamin and out for LVS, DRC, ANT, ERC (make gds)
################################################################
GDS_XXX	= PIPO.LOG pipo_xout_info cds.lib
gds:	../pr/cube.gds
	pipo strmin  ./scripts_misc/strmin_stdcell.scr
	pipo strmin  ./scripts_misc/strmin_cube.scr
	pipo strmout ./scripts_misc/strmout_cube.scr

################################################################
# Formal verificaiton (make verify)
################################################################
FM	= fm_shell
FM_SCR	= scripts_misc/verify_fm.tcl
FM_XXX	= fm.log formality.log fm_shell_command.log
verify:
	fm_shell -f ${FM_SCR} | tee fm.log

################################################################
# Clean (make clean; make allclean)
################################################################
DRC_XXX	= cube_drc.* drc_result.ascii cube_drc_run.csh
LVS_XXX	= cube_lvs.* cube.layout_net.gz cube_lvs_run.csh
ERC_XXX	= cube_erc.*
ANT_XXX	= cube_ant.* ant_result.ascii result_ANT_*.ascii cube_ant_run.csh
clean:
	rm -rf ${GDS_XXX}
	rm -rf ${FM_XXX}
allclean:
	make clean
	rm -f cal_drccs200l cal_lvscs200l cal_antcs200l scripts
	rm -f .rsf.setup_ant .rsf.setup_drc .rsf.setup_lvs
	rm -f cs202sz_uc.gds cs200l_layermaptable_r2.90 cs200l_techfile_r2.90.il
	rm -rf CS202 cube.cdl cube.ed cube_out.gds
	rm -rf ${DRC_XXX}
	rm -rf ${LVS_XXX}
	rm -rf ${ERC_XXX}
	rm -rf ${ANT_XXX}

################################################################
