TA147

Ejecicios y trabajos prácticos de la materia Taller de Sistemas Digitales (TA147)
Index Commits Files Refs
commit 14427b48a7f3122ef561f7e13c3164200b2093b4
parent d07f908273c104b59647b247304308fb229af295
Author: Martin Klöckner <mjkloeckner@gmail.com>
Date:   Sat, 18 Apr 2026 12:12:10 -0300

Update `tps/1/src/Makefile`

Diffstat:
Mtps/1/src/Makefile | 38++++++++++++++++++++++++++++----------
1 file changed, 28 insertions(+), 10 deletions(-)
diff --git a/tps/1/src/Makefile b/tps/1/src/Makefile
@@ -1,24 +1,42 @@
-GHDL          = ghdl
-DEV_NAME      = intersection_ctrl
-TOP           = $(DEV_NAME)_tb
-TOP_SRC       = $(TOP).vhd
-SRCS          = rtc.vhd rtc_tb.vhd intersection_ctrl.vhd intersection_ctrl_tb.vhd 
+GHDL     = ghdl
+
+GHDL_AFLAGS = --std=93
+GHDL_EFLAGS = --std=93
+GHDL_RFLAGS = --std=93
+
+DEV_NAME = intersection_ctrl
+TOP      = $(DEV_NAME)_tb
+RTL_DIR  = rtl
+TB_DIR   = tb
+
+PKG_SRCS = $(wildcard $(RTL_DIR)/*_pkg.vhd)
+RTL_SRCS = \
+       $(RTL_DIR)/rtc.vhd \
+       $(RTL_DIR)/cnt.vhd \
+       $(RTL_DIR)/semaphore.vhd \
+       $(RTL_DIR)/intersection_ctrl.vhd
+TB_SRCS  = $(wildcard $(TB_DIR)/*.vhd)
+
+SRCS          = $(PKG_SRCS) $(RTL_SRCS) $(TB_SRCS)
 WAVEFORM_FILE = $(TOP).vcd
+RUNOPTS       = --vcd=$(WAVEFORM_FILE) --stop-time=1ms
+
 
 all: run
 
 analyze:
-    $(GHDL) -a $(SRCS)
-    $(GHDL) -a $(TOP_SRC)
+    $(GHDL) -a $(GHDL_AFLAGS) $(PKG_SRCS)
+    $(GHDL) -a $(GHDL_AFLAGS) $(RTL_SRCS)
+    $(GHDL) -a $(GHDL_AFLAGS) $(TB_SRCS)
 
 elaborate: analyze
-    $(GHDL) -e $(TOP)
+    $(GHDL) -e $(GHDL_EFLAGS) $(TOP)
 
 run: elaborate
-    $(GHDL) -r $(TOP) --vcd=$(WAVEFORM_FILE) --stop-time=1ms --stop-delta=100000
+    $(GHDL) -r $(GHDL_RFLAGS) $(TOP) $(RUNOPTS)
 
 clean:
-    rm -f *.o *.cf $(TOP) $(TOP).vcd
+    rm -f *.o *.cf $(TOP) $(WAVEFORM_FILE)
 
 view: all
     nohup surfer $(WAVEFORM_FILE) >/dev/null 2>&1 &