generate ycell macro placement
diff --git a/ol_templates/Makefile b/ol_templates/Makefile
index a4be0f0..af2079f 100644
--- a/ol_templates/Makefile
+++ b/ol_templates/Makefile
@@ -40,6 +40,7 @@
 	cp config_block2.tcl ../openlane/user_proj_example/config.tcl
 	cp pdn.tcl ../openlane/user_proj_example/pdn.tcl
 	cp pin_order.cfg ../openlane/user_proj_example/pin_order.cfg
+	cp macro_placement.cfg ../openlane/user_proj_example/macro_placement.cfg
 
 .PHONY: help
 help:
@@ -47,4 +48,15 @@
 	@echo
 	@awk '/^.PHONY/{print "    " $$2}' Makefile
 
+.PHONY: init_placement_cfg
+init_placement_cfg:
+	@echo
+	@echo "      creating new macro_placement.cfg file"
+	@echo
+	@echo -n >macro_placement.cfg
+	@for r in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do \
+		for c in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do \
+		echo "blk.column\["$$c"\].row\["$$r"\].yc "$$(printf %.3f $$((40480+80960*(15-$$c)))e-3)" "$$(printf %.3f $$((86400+86400*(15-$$r)))e-3)" N" >> macro_placement.cfg; \
+		done \
+	done
 
diff --git a/ol_templates/config_block2.tcl b/ol_templates/config_block2.tcl
index 060b83b..b26a5a4 100644
--- a/ol_templates/config_block2.tcl
+++ b/ol_templates/config_block2.tcl
@@ -41,6 +41,7 @@
 set ::env(CLOCK_PORT) "wb_clk_i"
 set ::env(CLOCK_PERIOD) "200"
 
+set ::env(MACRO_PLACEMENT_CFG) $script_dir/macro_placement.cfg
 set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg
 set ::env(CLOCK_TREE_SYNTH) 0
 set ::env(FP_CONTEXT_DEF) $script_dir/../user_project_wrapper/runs/user_project_wrapper/tmp/floorplan/ioPlacer.def.macro_placement.def