# $Id$: include sources.mk sources=$(src_top_spi) # device is either AGLN060V5Z or AGLN125V2 # precision doesn't have AGLN125V2 without Z, we need to check the exact name of out device! #device=AGLN125V2 device=AGLN060V5Z all: clean NETLIST REPORTS precision synth actel_par sparp: all actel_prog # synthesis with precision synth: $(sources) Makefile REPORTS NETLIST precision # remove all output files of precision for this device -rm NETLIST/top_$(device).edf REPORTS/precision_$(device).txt precision/* # create a .tcl script with a list of all synthesis files for precision echo "add_input_file {$(sources)}" > script/add_sources.tcl # start the precision synthesis precision -shell -rtlplus -file ./script/read_precv.tcl -fileargs $(device) -logfile ./REPORTS/precision_$(device).log # copy the edif netlist file @cp precision/top.edf NETLIST/top_$(device).edf # Short Area Report @grep -B 1 -A 8 "Device Utilization for" REPORTS/precision_report_area_$(device).txt # Short Timing Report @grep -A 100 "Clock Frequency Report" REPORTS/precision_report_timing_$(device).txt NETLIST/top_$(device).edf: synth NETLIST REPORTS precision: if [ ! -d $@ ]; then mkdir $@; fi # Place & Route with Actel Designer actel_par: ./script/actel_par.tcl #NETLIST/top_$(device).edf # create the directory if necessary if [ ! -d $@ ]; then mkdir $@; fi # remove all output files for this device -rm -rf $@/*$(device)* REPORTS/actel*$(device).txt REPORTS/actel*$(device).log NETLIST/top_$(device)_ba.sdf NETLIST/top_$(device)_ba.vhd ~/.windu.*/ # start the designer designer "SCRIPT:./script/actel_par.tcl $(device)" console_mode:brief "LOGFILE:./REPORTS/actel_compile_$(device).log" # display the error messages -grep -i "error" REPORTS/actel_compile_$(device).log # program on a Windows machine (cygwin) actel_prog: ./script/actel_prog.tcl ./actel_par/top_$(device).pdb -rm -rf actel_prog flashpro script:./script/actel_prog.tcl SCRIPT_ARGS:"$(device)" console_mode:brief # console_mode:show mv actel_prog/actel_prog.log REPORTS/actel_prog_$(device).log clean: -rm -rf actel_par.dtf *.tmp unsav* *.dtf script/add_sources.tcl clean_all: clean -rm -rf actel_par actel_prog REPORTS/* NETLIST/* precision .PHONY : actel_par synth all actel_prog sparp clean clean_all