summaryrefslogtreecommitdiffstats
path: root/fpga
diff options
context:
space:
mode:
Diffstat (limited to 'fpga')
-rw-r--r--fpga/hp_lcd_driver/.gitignore1
-rw-r--r--fpga/hp_lcd_driver/Makefile2
-rw-r--r--fpga/hp_lcd_driver/ep4ce15f23c8.mk184
-rw-r--r--fpga/hp_lcd_driver/hp_lcd_driver.smh-ac415b_qsft87
-rwxr-xr-xfpga/hp_lcd_driver/scripts/run_in_x3
-rw-r--r--fpga/hp_lcd_driver/smh-ac415.mk185
-rw-r--r--fpga/hp_lcd_driver/smh-ac415b.mk3
7 files changed, 280 insertions, 185 deletions
diff --git a/fpga/hp_lcd_driver/.gitignore b/fpga/hp_lcd_driver/.gitignore
index 4ef6fc3..a7f48f7 100644
--- a/fpga/hp_lcd_driver/.gitignore
+++ b/fpga/hp_lcd_driver/.gitignore
@@ -1,2 +1,3 @@
build_spartan6/
build_smh-ac415/
+build_smh-ac415b/
diff --git a/fpga/hp_lcd_driver/Makefile b/fpga/hp_lcd_driver/Makefile
index ed126cd..48957a1 100644
--- a/fpga/hp_lcd_driver/Makefile
+++ b/fpga/hp_lcd_driver/Makefile
@@ -1,4 +1,4 @@
-TARGETS= smh-ac415 #spartan6 #ep4ce6
+TARGETS= smh-ac415 smh-ac415b #spartan6 #ep4ce6
#fish:smh-ac415
default: ${TARGETS:%=build_%/hp_lcd_driver.svf}
diff --git a/fpga/hp_lcd_driver/ep4ce15f23c8.mk b/fpga/hp_lcd_driver/ep4ce15f23c8.mk
new file mode 100644
index 0000000..713574d
--- /dev/null
+++ b/fpga/hp_lcd_driver/ep4ce15f23c8.mk
@@ -0,0 +1,184 @@
+FAMILY=Cyclone IV E
+PART=EP4CE15F23C8
+CPART_1=CFI_64Mb
+CPART_2=QSPI_64Mb
+#EPCS16
+TOP=hp_lcd_driver
+BUILD=build_${BOARD}
+OF=output_files
+
+PROJECT = hp_lcd_driver
+VSRCS =delay.vhdl synchronizer.vhdl debounce.vhdl edge_det.vhdl input_formatter.vhdl input_stage.vhdl output_formatter.vhdl output_analog.vhdl tmds_encoder.vhdl tmds_encode.vhdl tmds_phy_cyclone4.vhdl tmds_output_cyclone4.vhdl output_stage.vhdl clkgen_cyclone4.vhdl vram_cyclone4.vhdl hp_lcd_driver.vhdl
+IPS= vram_cyclone4_impl.vhdl clkgen_cyclone4_a_impl.vhdl clkgen_cyclone4_b_impl.vhdl
+
+DESIGN_NAME=${TOP}
+
+MAP_ARGS = --smart
+FIT_ARGS =
+ASM_ARGS =
+STA_ARGS =
+CPF_ARGS = -c -q 1MHZ -g 3.3 -n p
+
+GEN_VSRCS=${IPS:%.vhdl=${BUILD}/%.vhd}
+QIP=${GEN_VSRCS:%.vhd=%.qip}
+
+BASE=${BUILD}/${DESIGN_NAME}
+QSF=${BASE}.qsf
+QPF=${BASE}.qpf
+MAP=${BUILD}/${OF}/$(PROJECT).map.rpt
+FIT=${BUILD}/${OF}/$(PROJECT).fit.rpt
+ASM=${BUILD}/${OF}/$(PROJECT).asm.rpt
+ASM=${BUILD}/${OF}/$(PROJECT).sta.rpt
+SOF=${BUILD}/${OF}/${PROJECT}.sof
+COF=${BUILD}/${OF}/${PROJECT}.cof
+POF=${BUILD}/${OF}/${PROJECT}.pof
+#JIC=${BUILD}/${OF}/${PROJECT}.jic
+CDF=${BUILD}/${OF}/${PROJECT}.cdf
+SVF=${BUILD}/${PROJECT}.svf
+PSVF=${BUILD}/${PROJECT}-p.svf
+
+default:${SVF} ${PSVF}
+ echo ${PSVF}
+
+
+${BUILD}/%.vhd ${BUILD}/%.qip:%.vhdl
+ cat $< > ${BUILD}/${<:%.vhdl=%.vhd}
+ (cd ${BUILD} && ../scripts/run_in_x run_quartus qmegawiz -silent $(call relpath,${BUILD}/${<:%.vhdl=%.vhd},${BUILD}))
+
+
+${QSF}: ${PRJ} ${DESIGN_NAME}.${BOARD}_qsft
+ mkdir -p ${BUILD}
+ rm -f $@
+ echo 'set_global_assignment -name TOP_LEVEL_ENTITY ${TOP}' >> $@
+ echo 'set_global_assignment -name FAMILY "${FAMILY}"' >> $@
+ echo 'set_global_assignment -name PROJECT_OUTPUT_DIRECTORY ${OF}' >> $@
+ echo 'set_global_assignment -name DEVICE ${PART}' >> $@
+ cat ${DESIGN_NAME}.${BOARD}_qsft >> $@
+ for file in ${GEN_VSRCS} ${VSRCS}; do \
+ echo "set_global_assignment -name VHDL_FILE $$(realpath -m --relative-to=${BUILD} $${file})" >> $@; \
+ done
+
+
+
+${QPF}:
+ mkdir -p ${BUILD}
+ rm -f $@
+ echo 'PROJECT_REVISION = "${TOP}"' > $@
+
+
+map: ${MAP}
+${MAP}: ${VSRCS} ${QPF} ${QSF} ${GEN_VSRCS} ${QIP}
+ (cd ${BUILD} && run_quartus quartus_map $(MAP_ARGS) ${PROJECT})
+
+fit: ${FIT}
+${FIT}:${MAP}
+ (cd ${BUILD} && run_quartus quartus_fit $(FIT_ARGS) $(PROJECT))
+
+asm: ${ASM}
+sof: ${ASM}
+${SOF} ${ASM}:${FIT}
+ (cd ${BUILD} && run_quartus quartus_asm $(ASM_ARGS) $(PROJECT))
+
+sta: ${STA}
+${STA}:${FIT}
+ (cd ${BUILD} && run_quartus quartus_sta $(STA_ARGS) $(PROJECT))
+
+
+svf:${SVF}
+${SVF}:${SOF}
+ (cd ${BUILD} && run_quartus quartus_cpf ${CPF_ARGS} $(call relpath,$<,${BUILD}) $(call relpath,$@,${BUILD}) )
+#${JIC}:${SOF}
+# (cd ${BUILD} && run_quartus quartus_cpf -c -s ${PART} -d ${CPART} $(call relpath,$<,${BUILD}) $(call relpath,$@,${BUILD}) )
+#${SVFP}:${JIC}
+# (cd ${BUILD} && run_quartus quartus_cpf ${CPF_ARGS} $(call relpath,$<,${BUILD}) $(call relpath,$@,${BUILD}) )
+
+
+${COF}: ${SOF}
+ echo '<?xml version="1.0" encoding="US-ASCII" standalone="yes"?>' > $@
+ echo '<cof>' >> $@
+ echo ' <eprom_name>${CPART_1}</eprom_name>' >> $@
+ echo ' <output_filename>$(call relpath,${POF},${BUILD})</output_filename>' >> $@
+ echo ' <n_pages>1</n_pages>' >> $@
+ echo ' <width>1</width>' >> $@
+ echo ' <mode>0</mode>' >> $@
+ echo ' <sof_data>' >> $@
+ echo ' <user_name>Page_0</user_name>' >> $@
+ echo ' <page_flags>1</page_flags>' >> $@
+ echo ' <bit0>' >> $@
+ echo ' <sof_filename>$(call relpath,${SOF},${BUILD})</sof_filename>' >> $@
+ echo ' </bit0>' >> $@
+ echo ' </sof_data>' >> $@
+ echo ' <version>5</version>' >> $@
+ echo ' <create_cvp_file>0</create_cvp_file>' >> $@
+ echo ' <options>' >> $@
+ echo ' <map_file>1</map_file>' >> $@
+ echo ' <option_start_address>0</option_start_address>' >> $@
+ echo ' <dynamic_compression>0</dynamic_compression>' >> $@
+ echo ' </options>' >> $@
+ echo '</cof>' >> $@
+
+${POF}:${COF}
+ (cd ${BUILD} && run_quartus quartus_cpf -c $(call relpath,$<,${BUILD}))
+# (cd ${BUILD} && run_quartus quartus_cpf -c -d EPCQ64 $(call relpath,$<,${BUILD}) $(call relpath,$@,${BUILD}) )
+
+${CDF}:${POF}
+ echo 'JedecChain;' > $@
+ echo ' FileRevision(JESD32A);' >> $@
+ echo ' DefaultMfr(6E);' >> $@
+ echo '' >> $@
+ echo ' P ActionCode(Ign)' >> $@
+ echo ' Device PartName(${CPART_2}) MfrSpec(OpMask(0) SEC_Device(${CPART_2}) Child_OpMask(3 0 0 0) FullPath("$(call relpath,${SOF},${BUILD})") PFLPath("$(call relpath,${POF},${BUILD})"));' >> $@
+ echo '' >> $@
+ echo 'ChainEnd;' >> $@
+ echo '' >> $@
+ echo 'AlteraBegin;' >> $@
+ echo ' ChainType(JTAG);' >> $@
+ echo 'AlteraEnd;' >> $@
+
+${PSVF}:${CDF}
+ (cd ${BUILD} && run_quartus quartus_cpf ${CPF_ARGS} $(call relpath,$<,${BUILD}) $(call relpath,$@,${BUILD}) )
+
+
+
+tidy:
+ git diff --exit-code -s ${VSRCS}
+ for i in ${VSRCS}; do /bin/cp -f $$i $$i.orig && scripts/vhdl-pretty < $$i.orig > $$i; done
+
+
+
+#
+#
+##OPENOCD=openocd -f interface/altera-usb-blaster.cfg -f cpld/altera-epm240.cfg
+#
+#FIT_ARGS =
+#ASM_ARGS =
+#
+#SVF=${PROJECT}.svf
+#
+#
+#
+#default: ${SVF}
+#
+#${SVF}: ${BUILD}/${PROJECT}.svf
+# cat $< > $@ || /bin/rm -f $@
+#
+#program: ${SVF}
+# ${OPENOCD} -c "init; svf $<; exit"
+#
+#all: ${BUILD}/$(PROJECT).asm.rpt ${BUILD}/$(PROJECT).sta.rpt ${BUILD}/${PROJECT}.svf
+#
+clean:
+ rm -rf db ${BUILD} *.orig *.bak incremental_db db
+
+#
+#
+#
+#
+#
+#
+
+#tidy:
+# for i in ${SOURCE_FILES}; do /bin/cp -f $$i $$i.orig && scripts/vhdl-pretty < $$i.orig > $$i; done
+#
+#
+
diff --git a/fpga/hp_lcd_driver/hp_lcd_driver.smh-ac415b_qsft b/fpga/hp_lcd_driver/hp_lcd_driver.smh-ac415b_qsft
new file mode 100644
index 0000000..92aceda
--- /dev/null
+++ b/fpga/hp_lcd_driver/hp_lcd_driver.smh-ac415b_qsft
@@ -0,0 +1,87 @@
+#set_global_assignment -name ORIGINAL_QUARTUS_VERSION "13.0 SP1"
+#set_global_assignment -name PROJECT_CREATION_TIME_DATE "11:47:00 APRIL 20, 2025"
+#set_global_assignment -name LAST_QUARTUS_VERSION "13.0 SP1"
+
+set_parameter -name target "cyclone4"
+
+set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
+set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
+set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR 1
+set_global_assignment -name NOMINAL_CORE_SUPPLY_VOLTAGE 1.2V
+set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (VHDL)"
+set_global_assignment -name EDA_OUTPUT_DATA_FORMAT VHDL -section_id eda_simulation
+set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW"
+set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
+set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
+set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
+set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
+set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"
+
+set_global_assignment -name ON_CHIP_BITSTREAM_DECOMPRESSION OFF
+
+set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
+
+set_location_assignment PIN_T22 -to clk_50m
+set_location_assignment PIN_U20 -to sys_rst_n
+
+set_location_assignment PIN_AB17 -to vsync_out
+set_location_assignment PIN_AA18 -to hsync_out
+
+set_location_assignment PIN_J21 -to r_out
+set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to r_out
+#set_location_assignment PIN_K21 -to rgb[14]
+#set_location_assignment PIN_L22 -to rgb[13]
+#set_location_assignment PIN_L21 -to rgb[12]
+#set_location_assignment PIN_M22 -to rgb[11]
+set_location_assignment PIN_M21 -to g_out
+#set_location_assignment PIN_N21 -to rgb[9]
+#set_location_assignment PIN_N20 -to rgb[8]
+#set_location_assignment PIN_U22 -to rgb[7]
+#set_location_assignment PIN_U21 -to rgb[6]
+#set_location_assignment PIN_W20 -to rgb[5]
+set_location_assignment PIN_W19 -to b_out
+#set_location_assignment PIN_Y21 -to rgb[3]
+#set_location_assignment PIN_AB19 -to rgb[2]
+#set_location_assignment PIN_AA19 -to rgb[1]
+#set_location_assignment PIN_AB18 -to rgb[0]
+
+
+
+set_location_assignment PIN_H21 -to hdmi_c_p
+set_location_assignment PIN_H22 -to hdmi_c_n
+set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to hdmi_c_p
+set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to hdmi_c_n
+set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_c_p
+set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_c_n
+
+set_location_assignment PIN_F21 -to hdmi_b_p
+set_location_assignment PIN_F22 -to hdmi_b_n
+set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to hdmi_b_p
+set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to hdmi_b_n
+set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_b_p
+set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_b_n
+
+set_location_assignment PIN_E21 -to hdmi_g_p
+set_location_assignment PIN_E22 -to hdmi_g_n
+set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to hdmi_g_p
+set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to hdmi_g_n
+set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_g_p
+set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_g_n
+
+set_location_assignment PIN_D21 -to hdmi_r_p
+set_location_assignment PIN_D22 -to hdmi_r_n
+set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to hdmi_r_p
+set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to hdmi_r_n
+set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_r_p
+set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_r_n
+
+
+set_location_assignment PIN_AA14 -to hsync_in
+set_location_assignment PIN_W14 -to vsync_in
+set_location_assignment PIN_AA15 -to video[0]
+set_location_assignment PIN_V15 -to video[1]
+set_location_assignment PIN_W7 -to i_clk_out
+
+
+
+
diff --git a/fpga/hp_lcd_driver/scripts/run_in_x b/fpga/hp_lcd_driver/scripts/run_in_x
index 1031f9a..680f07c 100755
--- a/fpga/hp_lcd_driver/scripts/run_in_x
+++ b/fpga/hp_lcd_driver/scripts/run_in_x
@@ -6,7 +6,10 @@ trap "kill -INT ${XPID}" INT
D=0
XA=xauthority
+
while true; do
+touch ${XA}
+xauth -f ${XA} add :${D} . $(xxd -l 16 -p /dev/urandom)
Xvfb :${D} -auth ${XA} 2> /dev/null &
XPID=$!
sleep .1
diff --git a/fpga/hp_lcd_driver/smh-ac415.mk b/fpga/hp_lcd_driver/smh-ac415.mk
index e31a960..2009852 100644
--- a/fpga/hp_lcd_driver/smh-ac415.mk
+++ b/fpga/hp_lcd_driver/smh-ac415.mk
@@ -1,186 +1,3 @@
include relpath.mk
-
BOARD=smh-ac415
-FAMILY=Cyclone IV E
-PART=EP4CE15F23C8
-CPART_1=CFI_64Mb
-CPART_2=QSPI_64Mb
-#EPCS16
-TOP=hp_lcd_driver
-BUILD=build_${BOARD}
-OF=output_files
-
-PROJECT = hp_lcd_driver
-VSRCS =delay.vhdl synchronizer.vhdl debounce.vhdl edge_det.vhdl input_formatter.vhdl input_stage.vhdl output_formatter.vhdl output_analog.vhdl tmds_encoder.vhdl tmds_encode.vhdl tmds_phy_cyclone4.vhdl tmds_output_cyclone4.vhdl output_stage.vhdl clkgen_cyclone4.vhdl vram_cyclone4.vhdl hp_lcd_driver.vhdl
-IPS= vram_cyclone4_impl.vhdl clkgen_cyclone4_a_impl.vhdl clkgen_cyclone4_b_impl.vhdl
-
-DESIGN_NAME=${TOP}
-
-MAP_ARGS = --smart
-FIT_ARGS =
-ASM_ARGS =
-STA_ARGS =
-CPF_ARGS = -c -q 1MHZ -g 3.3 -n p
-
-GEN_VSRCS=${IPS:%.vhdl=${BUILD}/%.vhd}
-QIP=${GEN_VSRCS:%.vhd=%.qip}
-
-BASE=${BUILD}/${DESIGN_NAME}
-QSF=${BASE}.qsf
-QPF=${BASE}.qpf
-MAP=${BUILD}/${OF}/$(PROJECT).map.rpt
-FIT=${BUILD}/${OF}/$(PROJECT).fit.rpt
-ASM=${BUILD}/${OF}/$(PROJECT).asm.rpt
-ASM=${BUILD}/${OF}/$(PROJECT).sta.rpt
-SOF=${BUILD}/${OF}/${PROJECT}.sof
-COF=${BUILD}/${OF}/${PROJECT}.cof
-POF=${BUILD}/${OF}/${PROJECT}.pof
-#JIC=${BUILD}/${OF}/${PROJECT}.jic
-CDF=${BUILD}/${OF}/${PROJECT}.cdf
-SVF=${BUILD}/${PROJECT}.svf
-PSVF=${BUILD}/${PROJECT}-p.svf
-
-default:${SVF} ${PSVF}
- echo ${PSVF}
-
-
-${BUILD}/%.vhd ${BUILD}/%.qip:%.vhdl
- cat $< > ${BUILD}/${<:%.vhdl=%.vhd}
- (cd ${BUILD} && ../scripts/run_in_x run_quartus qmegawiz -silent $(call relpath,${BUILD}/${<:%.vhdl=%.vhd},${BUILD}))
-
-
-${QSF}: ${PRJ} ${DESIGN_NAME}.${BOARD}_qsft
- mkdir -p ${BUILD}
- rm -f $@
- echo 'set_global_assignment -name TOP_LEVEL_ENTITY ${TOP}' >> $@
- echo 'set_global_assignment -name FAMILY "${FAMILY}"' >> $@
- echo 'set_global_assignment -name PROJECT_OUTPUT_DIRECTORY ${OF}' >> $@
- echo 'set_global_assignment -name DEVICE ${PART}' >> $@
- cat ${DESIGN_NAME}.${BOARD}_qsft >> $@
- for file in ${GEN_VSRCS} ${VSRCS}; do \
- echo "set_global_assignment -name VHDL_FILE $$(realpath -m --relative-to=${BUILD} $${file})" >> $@; \
- done
-
-
-
-${QPF}:
- mkdir -p ${BUILD}
- rm -f $@
- echo 'PROJECT_REVISION = "${TOP}"' > $@
-
-
-map: ${MAP}
-${MAP}: ${VSRCS} ${QPF} ${QSF} ${GEN_VSRCS} ${QIP}
- (cd ${BUILD} && run_quartus quartus_map $(MAP_ARGS) ${PROJECT})
-
-fit: ${FIT}
-${FIT}:${MAP}
- (cd ${BUILD} && run_quartus quartus_fit $(FIT_ARGS) $(PROJECT))
-
-asm: ${ASM}
-sof: ${ASM}
-${SOF} ${ASM}:${FIT}
- (cd ${BUILD} && run_quartus quartus_asm $(ASM_ARGS) $(PROJECT))
-
-sta: ${STA}
-${STA}:${FIT}
- (cd ${BUILD} && run_quartus quartus_sta $(STA_ARGS) $(PROJECT))
-
-
-svf:${SVF}
-${SVF}:${SOF}
- (cd ${BUILD} && run_quartus quartus_cpf ${CPF_ARGS} $(call relpath,$<,${BUILD}) $(call relpath,$@,${BUILD}) )
-#${JIC}:${SOF}
-# (cd ${BUILD} && run_quartus quartus_cpf -c -s ${PART} -d ${CPART} $(call relpath,$<,${BUILD}) $(call relpath,$@,${BUILD}) )
-#${SVFP}:${JIC}
-# (cd ${BUILD} && run_quartus quartus_cpf ${CPF_ARGS} $(call relpath,$<,${BUILD}) $(call relpath,$@,${BUILD}) )
-
-
-${COF}: ${SOF}
- echo '<?xml version="1.0" encoding="US-ASCII" standalone="yes"?>' > $@
- echo '<cof>' >> $@
- echo ' <eprom_name>${CPART_1}</eprom_name>' >> $@
- echo ' <output_filename>$(call relpath,${POF},${BUILD})</output_filename>' >> $@
- echo ' <n_pages>1</n_pages>' >> $@
- echo ' <width>1</width>' >> $@
- echo ' <mode>0</mode>' >> $@
- echo ' <sof_data>' >> $@
- echo ' <user_name>Page_0</user_name>' >> $@
- echo ' <page_flags>1</page_flags>' >> $@
- echo ' <bit0>' >> $@
- echo ' <sof_filename>$(call relpath,${SOF},${BUILD})</sof_filename>' >> $@
- echo ' </bit0>' >> $@
- echo ' </sof_data>' >> $@
- echo ' <version>5</version>' >> $@
- echo ' <create_cvp_file>0</create_cvp_file>' >> $@
- echo ' <options>' >> $@
- echo ' <map_file>1</map_file>' >> $@
- echo ' <option_start_address>0</option_start_address>' >> $@
- echo ' <dynamic_compression>0</dynamic_compression>' >> $@
- echo ' </options>' >> $@
- echo '</cof>' >> $@
-
-${POF}:${COF}
- (cd ${BUILD} && run_quartus quartus_cpf -c $(call relpath,$<,${BUILD}))
-# (cd ${BUILD} && run_quartus quartus_cpf -c -d EPCQ64 $(call relpath,$<,${BUILD}) $(call relpath,$@,${BUILD}) )
-
-${CDF}:${POF}
- echo 'JedecChain;' > $@
- echo ' FileRevision(JESD32A);' >> $@
- echo ' DefaultMfr(6E);' >> $@
- echo '' >> $@
- echo ' P ActionCode(Ign)' >> $@
- echo ' Device PartName(${CPART_2}) MfrSpec(OpMask(0) SEC_Device(${CPART_2}) Child_OpMask(3 0 0 0) FullPath("$(call relpath,${SOF},${BUILD})") PFLPath("$(call relpath,${POF},${BUILD})"));' >> $@
- echo '' >> $@
- echo 'ChainEnd;' >> $@
- echo '' >> $@
- echo 'AlteraBegin;' >> $@
- echo ' ChainType(JTAG);' >> $@
- echo 'AlteraEnd;' >> $@
-
-${PSVF}:${CDF}
- (cd ${BUILD} && run_quartus quartus_cpf ${CPF_ARGS} $(call relpath,$<,${BUILD}) $(call relpath,$@,${BUILD}) )
-
-
-
-tidy:
- git diff --exit-code -s ${VSRCS}
- for i in ${VSRCS}; do /bin/cp -f $$i $$i.orig && scripts/vhdl-pretty < $$i.orig > $$i; done
-
-
-
-#
-#
-##OPENOCD=openocd -f interface/altera-usb-blaster.cfg -f cpld/altera-epm240.cfg
-#
-#FIT_ARGS =
-#ASM_ARGS =
-#
-#SVF=${PROJECT}.svf
-#
-#
-#
-#default: ${SVF}
-#
-#${SVF}: ${BUILD}/${PROJECT}.svf
-# cat $< > $@ || /bin/rm -f $@
-#
-#program: ${SVF}
-# ${OPENOCD} -c "init; svf $<; exit"
-#
-#all: ${BUILD}/$(PROJECT).asm.rpt ${BUILD}/$(PROJECT).sta.rpt ${BUILD}/${PROJECT}.svf
-#
-clean:
- rm -rf db ${BUILD} *.orig *.bak incremental_db db
-
-#
-#
-#
-#
-#
-#
-
-#tidy:
-# for i in ${SOURCE_FILES}; do /bin/cp -f $$i $$i.orig && scripts/vhdl-pretty < $$i.orig > $$i; done
-#
-#
+include ep4ce15f23c8.mk
diff --git a/fpga/hp_lcd_driver/smh-ac415b.mk b/fpga/hp_lcd_driver/smh-ac415b.mk
new file mode 100644
index 0000000..d2ae9fd
--- /dev/null
+++ b/fpga/hp_lcd_driver/smh-ac415b.mk
@@ -0,0 +1,3 @@
+include relpath.mk
+BOARD=smh-ac415b
+include ep4ce15f23c8.mk