Skip to content
Snippets Groups Projects
Commit 8e0057b5 authored by BRONES Romain's avatar BRONES Romain
Browse files

Switch to GTWizard created by TCl script

* Remove package and XCI
* The parametrization will be made somehow differently
parent a63e2aab
No related branches found
No related tags found
No related merge requests found
......@@ -9,8 +9,8 @@ sim:
###############################################################################
# Configuration
# TODO: better way to configure ?
hdlpkgsrc := hdl_pkg/combpm_gtwrapper_CAENELS4SFP_1L_pkg.vhd
xcisrc := xci/CAENELS4SFP_1L.xci
hdlpkgsrc :=
#hdl_pkg/combpm_gtwrapper_CAENELS4SFP_1L_pkg.vhd
###############################################################################
# Generate a source list, depending on the config
......@@ -20,7 +20,6 @@ hdlsrc := $(shell ls hdl/*.vhd) $(rdltarget) $(hdlpkgsrc)
# TODO: depends on the configuration
tcl/sources.tcl:
echo read_vhdl {$(hdlsrc)} > $@
echo import_ip -name combpm_gtwrapper $(xcisrc) >> $@
###############################################################################
# Compute interface from rdl files
......@@ -48,3 +47,4 @@ clean-sim:
clean-all:clean-ip clean
rm -f tcl/sources.tcl
.PHONY: clean clean-ip clean-sim clean-all none ip sim
......@@ -2,7 +2,7 @@
source ./tcl/metadata.tcl
# Create project
set ip_project [ create_project -name ${design} -force -dir ${proj_dir} -ip -part ${part} ]
set ip_project [create_project -name ${design} -part ${part} -in_memory ]
set_property top ${top} [current_fileset]
# Compilation order in auto
......@@ -10,6 +10,11 @@ set_property source_mgmt_mode All ${ip_project}
# Read sources
source tcl/sources.tcl
# Generate Xilinx IP
source tcl/generate_gtwizard.tcl
# Compile order to auto
update_compile_order -fileset sources_1
# Package project
......@@ -21,6 +26,9 @@ set_property SUPPORTED_FAMILIES ${family_lifecycle} ${ip_core}
# Associate AX/AXIS interfaces and reset with clock
# Done in VHDL file
# Remove default address map
ipx::remove_memory_map [lindex [split [ipx::get_memory_maps]] 2] [ipx::current_core]
# Create Address map
set s_axi_mm [ipx::add_memory_map s_axi_ctrl [ipx::current_core]]
set_property slave_memory_map_ref s_axi_ctrl [ipx::get_bus_interfaces s_axi -of_objects [ipx::current_core]]
......@@ -41,4 +49,3 @@ set_property -dict { \
ipx::check_integrity ${ip_core}
ipx::save_core ${ip_core}
close_project
file delete -force ${proj_dir}
set module_name "combpm_gtwizard"
# 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.TX_LINE_RATE {2.12} \
CONFIG.TX_PLL_TYPE {QPLL1} \
CONFIG.TX_REFCLK_FREQUENCY {156.2500001} \
CONFIG.TX_DATA_ENCODING {8B10B} \
CONFIG.TX_USER_DATA_WIDTH {16} \
CONFIG.TX_INT_DATA_WIDTH {20} \
CONFIG.TX_QPLL_FRACN_NUMERATOR {4563402} \
CONFIG.RX_LINE_RATE {2.12} \
CONFIG.RX_PLL_TYPE {QPLL1} \
CONFIG.RX_REFCLK_FREQUENCY {156.2500001} \
CONFIG.RX_DATA_DECODING {8B10B} \
CONFIG.RX_USER_DATA_WIDTH {16} \
CONFIG.RX_INT_DATA_WIDTH {20} \
CONFIG.RX_QPLL_FRACN_NUMERATOR {4563402} \
CONFIG.RX_JTOL_FC {1.2717457} \
CONFIG.RX_COMMA_P_ENABLE {true} \
CONFIG.RX_COMMA_M_ENABLE {true} \
CONFIG.RX_COMMA_MASK {1111111111} \
CONFIG.RX_COMMA_ALIGN_WORD {2} \
CONFIG.RX_COMMA_SHOW_REALIGN_ENABLE {false} \
CONFIG.RX_CC_NUM_SEQ {1} \
CONFIG.RX_CC_LEN_SEQ {2} \
CONFIG.RX_CC_VAL {00000000000000000000000000000000000000000000000000000000000000100101010010111100} \
CONFIG.RX_CC_VAL_0_0 {10111100} \
CONFIG.RX_CC_K_0_0 {true} \
CONFIG.RX_CC_VAL_0_1 {10010101} \
CONFIG.RX_CC_K_0_1 {true} \
CONFIG.ENABLE_OPTIONAL_PORTS {qpll1lock_out rxcdrlock_out} \
CONFIG.RX_REFCLK_SOURCE {X0Y4 clk1} \
CONFIG.TX_REFCLK_SOURCE {X0Y4 clk1} \
CONFIG.LOCATE_TX_USER_CLOCKING {CORE} \
CONFIG.LOCATE_RX_USER_CLOCKING {CORE} \
CONFIG.TXPROGDIV_FREQ_SOURCE {QPLL1} \
CONFIG.TXPROGDIV_FREQ_VAL {106} \
CONFIG.FREERUN_FREQUENCY {100} \
] [get_ips ${module_name}]
# Generate output products
generate_target all [get_ips ${module_name}]
set design "combpm"
set top top_combpm_electron
set proj_dir "./ip_proj"
set part "xczu11eg-ffvc1760-2L-e"
set ip_properties [ list \
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment