| | |
| | |
| |
|
| | DESIGN ?= simple_counter |
| | OPENLANE_ROOT ?= $(HOME)/OpenLane |
| | DESIGN_SRC = designs/$(DESIGN)/src |
| | RTL = $(DESIGN_SRC)/$(DESIGN).v |
| | TB = $(DESIGN_SRC)/$(DESIGN)_tb.v |
| | PDK_ROOT ?= $(HOME)/.ciel |
| | OPENLANE_IMAGE ?= ghcr.io/the-openroad-project/openlane:ff5509f65b17bfa4068d5336495ab1718987ff69-amd64 |
| |
|
| | .PHONY: all lint sim verify harden clean help |
| |
|
| | |
| | all: lint sim harden verify |
| | @echo "==========================================" |
| | @echo " COMPLETE WORKFLOW FINISHED FOR $(DESIGN)" |
| | @echo "==========================================" |
| |
|
| | |
| | lint: |
| | @echo "βββ [1/4] LINTING $(DESIGN) βββ" |
| | iverilog -t null $(RTL) |
| | @echo "β Syntax OK" |
| |
|
| | |
| | sim: lint |
| | @echo "βββ [2/4] SIMULATING $(DESIGN) βββ" |
| | iverilog -o $(DESIGN_SRC)/sim $(RTL) $(TB) |
| | cd $(DESIGN_SRC) && vvp sim | tee sim.log |
| | @grep -q "TEST PASSED" $(DESIGN_SRC)/sim.log && echo "β Simulation PASSED" || (echo "β Simulation FAILED" && exit 1) |
| |
|
| | |
| | harden: |
| | @echo "βββ [3/4] HARDENING $(DESIGN) β GDSII βββ" |
| | @echo "Copying design to OpenLane..." |
| | cp -r designs/$(DESIGN) $(OPENLANE_ROOT)/designs/ |
| | @echo "Running OpenLane flow (may take 5-15 min)..." |
| | docker run --rm \ |
| | -v $(OPENLANE_ROOT):/openlane \ |
| | -v $(PDK_ROOT):$(PDK_ROOT) \ |
| | -e PDK_ROOT=$(PDK_ROOT) \ |
| | -e PDK=sky130A \ |
| | -e PWD=/openlane \ |
| | $(OPENLANE_IMAGE) \ |
| | ./flow.tcl -design $(DESIGN) -tag agent_run_$(shell date +%Y%m%d_%H%M%S) -ignore_mismatches |
| | @echo "β Hardening complete. Check $(OPENLANE_ROOT)/designs/$(DESIGN)/runs/" |
| |
|
| | |
| | verify: |
| | @echo "βββ [4/4] VERIFYING $(DESIGN) (DRC/LVS) βββ" |
| | bash scripts/verify_design.sh $(DESIGN) |
| |
|
| | |
| | clean: |
| | rm -f $(DESIGN_SRC)/sim $(DESIGN_SRC)/sim.log $(DESIGN_SRC)/*.vcd |
| | @echo "Cleaned simulation artifacts." |
| |
|
| | help: |
| | @echo "AgentIC Makefile Targets:" |
| | @echo " make lint - Check Verilog syntax" |
| | @echo " make sim - Run RTL simulation" |
| | @echo " make harden - Run OpenLane (RTLβGDSII)" |
| | @echo " make verify - Run DRC/LVS checks" |
| | @echo " make all - Run complete flow" |
| | @echo " make clean - Remove temp files" |
| | @echo "" |
| | @echo "Override design: make DESIGN=my_counter sim" |
| |
|