summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroot <root@new-fish.medaka.james.internal>2025-06-24 16:39:23 +0100
committerroot <root@new-fish.medaka.james.internal>2025-06-24 16:39:23 +0100
commit9d95af5d469e50f0aa24b6df624f8d1fd4668f9a (patch)
tree15e645a419b85e273cd972aa369e77415c0cb6c8
parent3b4e12b44453d882b6ec445de9eb3faf2af504b6 (diff)
downloadhp_instrument_lcds-9d95af5d469e50f0aa24b6df624f8d1fd4668f9a.tar.gz
hp_instrument_lcds-9d95af5d469e50f0aa24b6df624f8d1fd4668f9a.tar.bz2
hp_instrument_lcds-9d95af5d469e50f0aa24b6df624f8d1fd4668f9a.zip
working on little board
-rw-r--r--fpga/hp_lcd_driver/Makefile2
-rw-r--r--fpga/hp_lcd_driver/ep4ce15f23c8.mk53
-rw-r--r--fpga/hp_lcd_driver/hp_lcd_driver.smh-ac415b_qsft26
-rwxr-xr-xfpga/hp_lcd_driver/prog5
4 files changed, 29 insertions, 57 deletions
diff --git a/fpga/hp_lcd_driver/Makefile b/fpga/hp_lcd_driver/Makefile
index 48957a1..f9ce72b 100644
--- a/fpga/hp_lcd_driver/Makefile
+++ b/fpga/hp_lcd_driver/Makefile
@@ -1,4 +1,4 @@
-TARGETS= smh-ac415 smh-ac415b #spartan6 #ep4ce6
+TARGETS= smh-ac415b #spartan6 #ep4ce6 smh-ac415
#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
index 713574d..390dc5b 100644
--- a/fpga/hp_lcd_driver/ep4ce15f23c8.mk
+++ b/fpga/hp_lcd_driver/ep4ce15f23c8.mk
@@ -1,15 +1,13 @@
FAMILY=Cyclone IV E
PART=EP4CE15F23C8
-CPART_1=CFI_64Mb
-CPART_2=QSPI_64Mb
-#EPCS16
+CPART=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
+IPS= vram_cyclone4_impl.vhdl clkgen_cyclone4_a_impl.vhdl clkgen_cyclone4_b_impl.vhdl
DESIGN_NAME=${TOP}
@@ -31,8 +29,7 @@ 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
+JIC=${BUILD}/${OF}/${PROJECT}.jic
CDF=${BUILD}/${OF}/${PROJECT}.cdf
SVF=${BUILD}/${PROJECT}.svf
PSVF=${BUILD}/${PROJECT}-p.svf
@@ -87,47 +84,17 @@ ${STA}:${FIT}
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}
+${JIC}:${SOF}
+ (cd ${BUILD} && run_quartus quartus_cpf -c -s ${PART} -d ${CPART} $(call relpath,$<,${BUILD}) $(call relpath,$@,${BUILD}) )
+
+
+${CDF}:${JIC}
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 ' Device PartName(EP4CE15F23) Path("/root/projects/hp_instrument_lcds/fpga/hp_lcd_driver/fl2/output_files/") File("flash_loader.sof") MfrSpec(OpMask(1) SEC_Device(EPCS16) Child_OpMask(1 1) SFLPath("$(call abspath,${JIC})"));' >> $@
echo '' >> $@
echo 'ChainEnd;' >> $@
echo '' >> $@
@@ -182,3 +149,5 @@ clean:
#
#
+.PRECIOUS:
+
diff --git a/fpga/hp_lcd_driver/hp_lcd_driver.smh-ac415b_qsft b/fpga/hp_lcd_driver/hp_lcd_driver.smh-ac415b_qsft
index 7e23a0a..9935c06 100644
--- a/fpga/hp_lcd_driver/hp_lcd_driver.smh-ac415b_qsft
+++ b/fpga/hp_lcd_driver/hp_lcd_driver.smh-ac415b_qsft
@@ -4,6 +4,8 @@
set_parameter -name target "cyclone4"
+set_global_assignment -name CDF_FILE chain_setup.cdf
+
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
@@ -21,25 +23,25 @@ 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_T2 -to clk_50m
+set_location_assignment PIN_D2 -to sys_rst_n
-set_location_assignment PIN_AB17 -to vsync_out
-set_location_assignment PIN_AA18 -to hsync_out
+set_location_assignment PIN_Y8 -to vsync_out
+set_location_assignment PIN_Y7 -to hsync_out
-set_location_assignment PIN_J21 -to r_out
+set_location_assignment PIN_AA10 -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_Y13 -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_AA15 -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]
@@ -76,11 +78,11 @@ 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
+set_location_assignment PIN_W22 -to hsync_in
+set_location_assignment PIN_Y22 -to vsync_in
+set_location_assignment PIN_AA20 -to video[0]
+set_location_assignment PIN_AB20 -to video[1]
+set_location_assignment PIN_R16 -to i_clk_out
diff --git a/fpga/hp_lcd_driver/prog b/fpga/hp_lcd_driver/prog
index cf26f2f..59615ac 100755
--- a/fpga/hp_lcd_driver/prog
+++ b/fpga/hp_lcd_driver/prog
@@ -2,7 +2,8 @@
#OPENOCD="/root/projects/hp_instrument_lcds/fpga/prefix/bin/openocd -f interface/altera-usb-blaster.cfg -f ep4ce15.cfg"
-OPENOCD="openocd -f interface/altera-usb-blaster.cfg -f ep4ce15.cfg"
-${OPENOCD} -c 'svf -tap $CHIPNAME.tap ./build_smh-ac415/hp_lcd_driver-p.svf; shutdown ; quit'
+OPENOCD=../../openocd/prefix/bin/openocd
+OPENOCD="${OPENOCD} -f interface/altera-usb-blaster.cfg -f ep4ce15.cfg"
+${OPENOCD} -c 'svf -tap $CHIPNAME.tap ./build_smh-ac415b/hp_lcd_driver.svf; shutdown ; quit'