diff --git a/fpga/generator/Makefile b/fpga/generator/Makefile
index c760f50f..2d6a3a14 100644
--- a/fpga/generator/Makefile
+++ b/fpga/generator/Makefile
@@ -1,9 +1,9 @@
 dst := IP
 sdc_src := ~/repos/sdc.tar.gz
 # vcu118
-export XILINX_PART := xcvu9p-flga2104-2L-e
-export XILINX_BOARD := xilinx.com:vcu118:part0:2.4
-export board := vcu118
+#export XILINX_PART := xcvu9p-flga2104-2L-e
+#export XILINX_BOARD := xilinx.com:vcu118:part0:2.4
+#export board := vcu118
 
 # vcu108
 #export XILINX_PART := xcvu095-ffva2104-2-e
@@ -11,22 +11,22 @@ export board := vcu118
 #export board := vcu108
 
 # Arty A7
-#export XILINX_PART := xc7a100tcsg324-1
-#export XILINX_BOARD := ArtyA7
-#export board := ArtyA7
+export XILINX_PART := xc7a100tcsg324-1
+export XILINX_BOARD := digilentinc.com:arty-a7-100:part0:1.1
+export board := ArtyA7
 
 all: FPGA
 
 FPGA: PreProcessFiles IP SDC
 	vivado -mode tcl -source wally.tcl 2>&1 | tee wally.log
 
-IP: $(dst)/xlnx_proc_sys_reset.log \
+#IP: $(dst)/xlnx_proc_sys_reset.log \
 	$(dst)/xlnx_ddr4-$(board).log \
 	$(dst)/xlnx_ddr3-ArtyA7.log \
 	$(dst)/xlnx_axi_clock_converter.log \
 	 $(dst)/xlnx_ahblite_axi_bridge.log
 
-#IP: $(dst)/xlnx_proc_sys_reset.log \
+IP: $(dst)/xlnx_proc_sys_reset.log \
 	$(dst)/xlnx_ddr3-ArtyA7.log \
 	$(dst)/xlnx_axi_clock_converter.log \
 	 $(dst)/xlnx_ahblite_axi_bridge.log
diff --git a/fpga/generator/xlnx_ddr3-ArtyA7.tcl b/fpga/generator/xlnx_ddr3-ArtyA7.tcl
new file mode 100644
index 00000000..50418900
--- /dev/null
+++ b/fpga/generator/xlnx_ddr3-ArtyA7.tcl
@@ -0,0 +1,23 @@
+
+set partNumber $::env(XILINX_PART)
+set boardName $::env(XILINX_BOARD)
+
+set ipName xlnx_ddr3
+
+create_project $ipName . -force -part $partNumber
+set_property board_part $boardName [current_project]
+
+# really just these two lines which change
+create_ip -name mig_7series -vendor xilinx.com -library ip -module_name $ipName
+
+exec ls ../xlnx_ddr3-artya7-mig.prj
+exec ls ./IP/$ipName.srcs/sources_1/ip/$ipName
+exec cp ../xlnx_ddr3-artya7-mig.prj ./IP/$ipName.srcs/sources_1/ip/$ipName/xlnx_ddr3-artya7-mig.prj
+
+set_property -dict [list CONFIG.XML_INPUT_FILE {xlnx_ddr3-artya7-mig.prj} CONFIG.RESET_BOARD_INTERFACE {Custom} CONFIG.MIG_DONT_TOUCH_PARAM {Custom} CONFIG.BOARD_MIG_PARAM {Custom}] [get_ips $ipName]
+
+generate_target {instantiation_template} [get_files ./$ipName.srcs/sources_1/ip/$ipName/$ipName.xci]
+generate_target all [get_files  ./$ipName.srcs/sources_1/ip/$ipName/$ipName.xci]
+create_ip_run [get_files -of_objects [get_fileset sources_1] ./$ipName.srcs/sources_1/ip/$ipName/$ipName.xci]
+launch_run -jobs 8 ${ipName}_synth_1
+wait_on_run ${ipName}_synth_1