๐Ÿ“ฆ proppy / tinytapeout-xls-popcount-bithacks

๐Ÿ“„ Makefile ยท 31 lines
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
31WOKWI_PROJECT_ID=341497964482527828

HARDEN_ENV=docker

generate:
	ir_converter_main --top=user_module src/user_module.x > src/user_module.ir
	opt_main src/user_module.ir > src/user_module_opt.ir
	codegen_main --module_name user_module_USER_MODULE_ID --use_system_verilog=false --generator=combinational src/user_module_opt.ir > src/user_module.v

fetch:
	sed -e 's/USER_MODULE_ID/$(WOKWI_PROJECT_ID)/g' src/user_module.v > src/user_module_$(WOKWI_PROJECT_ID).v
	sed -e 's/USER_MODULE_ID/$(WOKWI_PROJECT_ID)/g' template/scan_wrapper.v > src/scan_wrapper_$(WOKWI_PROJECT_ID).v
	sed -e 's/USER_MODULE_ID/$(WOKWI_PROJECT_ID)/g' template/config.tcl > src/config.tcl
	echo $(WOKWI_PROJECT_ID) > src/ID

harden: harden_$(HARDEN_ENV)

# needs PDK_ROOT and OPENLANE_ROOT, OPENLANE_IMAGE_NAME set from your environment
harden_docker:
	docker run --rm \
	-v $(OPENLANE_ROOT):/openlane \
	-v $(PDK_ROOT):$(PDK_ROOT) \
	-v $(CURDIR):/work \
	-e PDK_ROOT=$(PDK_ROOT) \
	-u $(shell id -u $(USER)):$(shell id -g $(USER)) \
	$(OPENLANE_IMAGE_NAME) \
	/bin/bash -c "./flow.tcl -overwrite -design /work/src -run_path /work/runs -tag wokwi"

harden_native:
	$(OPENLANE_ROOT)/flow.tcl -override_env $(OPENLANE_OVERRIDE_ENV) -design src/ -run_path runs/