-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
executable file
·85 lines (66 loc) · 2.95 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
export SIMULATION_DIR=$(HOME_DIR)/simulations
export SCRIPTS_DIR ?= $(HOME_DIR)/python/monte_carlo
export CSV_DIR ?= $(SIMULATION_DIR)/csv
export FIG_DIR ?= $(SIMULATION_DIR)/fig
# Define the default target
.PHONY: all
all: figures
# ==============================================
# ____ _ ____ _____
# / ___| / \ / ___| ____|
# | | / _ \| | | _|
# | |___ / ___ \ |___| |___
# \____/_/ \_\____|_____|
#
# ==============================================
.PHONY: cace
cace:
cace-gui cace/LDO_AC3E.txt
# ==============================================
# _ _ ____ ____ ____ ___ ____ _____
# | \ | |/ ___/ ___|| _ \_ _/ ___| ____|
# | \| | | _\___ \| |_) | | | | _|
# | |\ | |_| |___) | __/| | |___| |___
# |_| \_|\____|____/|_| |___\____|_____|
#
# ==============================================
.PHONY: ngspice_run
ngspice_run: $(CSV_DIR)/mc_ldo_psrr.csv $(CSV_DIR)/mc_ldo_pm.csv
$(CSV_DIR)/mc_ldo_psrr.csv:
ngspice -b $(SIMULATION_DIR)/mc_ldo_ihp_v3_tb_closeloop.spice
$(CSV_DIR)/mc_ldo_pm.csv:
ngspice -b $(SIMULATION_DIR)/mc_ldo_ihp_v3_tb_openloop.spice
# ==============================================
# _____ ___ ____ _ _ ____ _____ ____
# | ___|_ _/ ___| | | | _ \| ____/ ___|
# | |_ | | | _| | | | |_) | _| \___ \
# | _| | | |_| | |_| | _ <| |___ ___) |
# |_| |___\____|\___/|_| \_\_____|____/
#
# ==============================================
.PHONY: figures
figures: $(FIG_DIR)/mc_ldo_psrr.png \
$(FIG_DIR)/mc_ldo_dropout.png \
$(FIG_DIR)/mc_ldo_line_reg.png \
$(FIG_DIR)/mc_ldo_load_reg.png \
$(FIG_DIR)/mc_ldo_pm.png \
$(FIG_DIR)/mc_ldo_olgain.png
$(FIG_DIR)/mc_ldo_psrr.png: $(CSV_DIR)/mc_ldo_psrr.csv $(SCRIPTS_DIR)/MC_ldo_psrr.py
python3 $(SCRIPTS_DIR)/MC_ldo_psrr.py $(CSV_DIR)/mc_ldo_psrr.csv $(FIG_DIR)/mc_ldo_psrr.png
$(FIG_DIR)/mc_ldo_dropout.png: $(CSV_DIR)/mc_ldo_dropout.csv $(SCRIPTS_DIR)/MC_ldo_dropout.py
python3 $(SCRIPTS_DIR)/MC_ldo_dropout.py $(CSV_DIR)/mc_ldo_dropout.csv $(FIG_DIR)/mc_ldo_dropout.png
$(FIG_DIR)/mc_ldo_line_reg.png: $(CSV_DIR)/mc_ldo_line_reg.csv $(SCRIPTS_DIR)/MC_ldo_line_reg.py
python3 $(SCRIPTS_DIR)/MC_ldo_line_reg.py $(CSV_DIR)/mc_ldo_line_reg.csv $(FIG_DIR)/mc_ldo_line_reg.png
$(FIG_DIR)/mc_ldo_load_reg.png: $(CSV_DIR)/mc_ldo_load_reg.csv $(SCRIPTS_DIR)/MC_ldo_load_reg.py
python3 $(SCRIPTS_DIR)/MC_ldo_load_reg.py $(CSV_DIR)/mc_ldo_load_reg.csv $(FIG_DIR)/mc_ldo_load_reg.png
$(FIG_DIR)/mc_ldo_pm.png: $(CSV_DIR)/mc_ldo_pm.csv $(SCRIPTS_DIR)/MC_ldo_pm.py
python3 $(SCRIPTS_DIR)/MC_ldo_pm.py $(CSV_DIR)/mc_ldo_pm.csv $(FIG_DIR)/mc_ldo_pm.png
$(FIG_DIR)/mc_ldo_olgain.png: $(CSV_DIR)/mc_ldo_olgain.csv $(SCRIPTS_DIR)/MC_ldo_olgain.py
python3 $(SCRIPTS_DIR)/MC_ldo_olgain.py $(CSV_DIR)/mc_ldo_olgain.csv $(FIG_DIR)/mc_ldo_olgain.png
.PHONY: clean
clean:
rm -d -r simulations/
rm -d -r ngspice/
rm -d -r netlist/
rm -d -r results/
rm -d -r gds/