diff --git a/Makefile b/Makefile deleted file mode 100644 index 0a1aca45b4a9c971c21f92631d6a2183bd992420..0000000000000000000000000000000000000000 --- a/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -############################################################################### -# Global receipes -none: - $(info You should specify what to make: ip, sim, clean, clean-all) - -sim: - -############################################################################### -# Configuration -hdlpkgsrc := - -############################################################################### -# Generate a source list, depending on the config -rdlsrc := $(shell ls rdl/*.rdl) -rdltarget := $(rdlsrc:rdl/%.rdl=hdl/%.vhd) -hdlsrc := $(shell ls hdl/*.vhd) $(rdltarget) $(hdlpkgsrc) -# TODO: depends on the configuration -tcl/sources.tcl: - echo read_vhdl {$(hdlsrc)} > $@ - -############################################################################### -# Compute interface from rdl files -hdl/%.vhd:rdl/%.rdl - hectare --axi-vhdl $@ $< - -############################################################################### -# Package IP -ip:component.xml - -component.xml:tcl/sources.tcl tcl/combpm.tcl tcl/generate_gtwizard.tcl $(hdlsrc) - vivado -mode batch -source tcl/combpm.tcl - -############################################################################### -# Synthessize IP for test -synth:component.xml - vivado -mode batch -source tcl/bloc_synthesis.tcl - - - - -############################################################################### -# Cleaner Rules -clean: - rm -f vivado*.log vivado*.jou - -clean-ip: - rm -rf ip_proj ip_user_files xgui - rm -f component.xml - -clean-sim: - rm -f *.wdb - -clean-all:clean-ip clean - rm -f tcl/sources.tcl - rm -f hdl/combpm_protocol_electron_ctrl.vhd - -.PHONY: clean clean-ip clean-sim clean-all none ip sim synth diff --git a/doc/main.adoc b/doc/main.adoc new file mode 100644 index 0000000000000000000000000000000000000000..56f27542b14553514dc5161051b9df99f2869fdb --- /dev/null +++ b/doc/main.adoc @@ -0,0 +1 @@ += Documentation diff --git a/tcl/generate_gtwizard.tcl b/tcl/combpm_gtwizard.tcl similarity index 81% rename from tcl/generate_gtwizard.tcl rename to tcl/combpm_gtwizard.tcl index 7ab3be708c003606f56caa0deb55fd9689c76321..d22a0c85029632232dfc8cc357566df682e394c3 100644 --- a/tcl/generate_gtwizard.tcl +++ b/tcl/combpm_gtwizard.tcl @@ -1,13 +1,15 @@ +# Create a GTWizard IP for one quad. set module_name "combpm_gtwizard" +set quad_name X0Y4 # Create IP create_ip -name gtwizard_ultrascale -vendor xilinx.com -library ip -version 1.7 -module_name ${module_name} # Configure the IP set_property -dict [list \ - CONFIG.CHANNEL_ENABLE {X0Y4} \ - CONFIG.TX_MASTER_CHANNEL {X0Y4} \ - CONFIG.RX_MASTER_CHANNEL {X0Y4} \ + CONFIG.CHANNEL_ENABLE {${quad_name}} \ + CONFIG.TX_MASTER_CHANNEL {${quad_name}} \ + CONFIG.RX_MASTER_CHANNEL {${quad_name}} \ CONFIG.TX_LINE_RATE {2.125} \ CONFIG.TX_PLL_TYPE {QPLL1} \ CONFIG.TX_REFCLK_FREQUENCY {156.2500001} \ @@ -40,8 +42,8 @@ set_property -dict [list \ CONFIG.RX_CC_K_0_1 {false} \ CONFIG.RX_CC_PERIODICITY {100} \ CONFIG.ENABLE_OPTIONAL_PORTS {rxcdrlock_out} \ - CONFIG.RX_REFCLK_SOURCE {X0Y4 clk1} \ - CONFIG.TX_REFCLK_SOURCE {X0Y4 clk1} \ + CONFIG.RX_REFCLK_SOURCE {${quad_name} clk1} \ + CONFIG.TX_REFCLK_SOURCE {${quad_name} clk1} \ CONFIG.LOCATE_TX_USER_CLOCKING {CORE} \ CONFIG.LOCATE_RX_USER_CLOCKING {CORE} \ CONFIG.LOCATE_COMMON {EXAMPLE_DESIGN} \ @@ -55,10 +57,6 @@ set_property -dict [list \ ] [get_ips ${module_name}] # If using 2 ports -# CONFIG.CHANNEL_ENABLE {X0Y4 X0Y5} -# CONFIG.RX_REFCLK_SOURCE {X0Y5 clk1 X0Y4 clk1} -# CONFIG.TX_REFCLK_SOURCE {X0Y5 clk1 X0Y4 clk1} - - -# Generate output products -generate_target all [get_ips ${module_name}] +# CONFIG.CHANNEL_ENABLE {${quad_name} X0Y5} +# CONFIG.RX_REFCLK_SOURCE {X0Y5 clk1 ${quad_name} clk1} +# CONFIG.TX_REFCLK_SOURCE {X0Y5 clk1 ${quad_name} clk1} diff --git a/tcl/main.tcl b/tcl/main.tcl new file mode 100644 index 0000000000000000000000000000000000000000..9e69f0761036edc13f29a69df4ee5e372dbea4a2 --- /dev/null +++ b/tcl/main.tcl @@ -0,0 +1,40 @@ +################################################################################ +# Main tcl for the module +################################################################################ + +# ============================================================================== +proc init {} { + + # Configuration + # TODO Follow FWK + # variable quad_name + # set quad_name X0Y4 +} + +# ============================================================================== +proc setSources {} { + variable Vhdl + lappend Vhdl ../hdl/combpm_protocol_electron.vhd + lappend Vhdl ../hdl/top_combpm_electron.vhd +} + +# ============================================================================== +proc setAddressSpace {} { +} + +# ============================================================================== +proc doOnCreate {} { + variable Vhdl + addSources Vhdl + + # Create GT wizard IP + source ../tcl/combpm_gtwizard.tcl +} + +# ============================================================================== +proc doOnBuild {} { +} + +# ============================================================================== +proc setSim {} { +}