96 lines
3.4 KiB
Tcl
96 lines
3.4 KiB
Tcl
|
|
package require qsys 14.0
|
|
source ../../scripts/adi_env.tcl
|
|
source ../scripts/adi_ip_intel.tcl
|
|
|
|
set_module_property NAME axi_tdd
|
|
set_module_property DESCRIPTION "AXI TDD Interface"
|
|
set_module_property VERSION 1.0
|
|
set_module_property GROUP "Analog Devices"
|
|
set_module_property DISPLAY_NAME axi_tdd
|
|
|
|
ad_ip_files axi_tdd [list\
|
|
$ad_hdl_dir/library/common/up_axi.v \
|
|
$ad_hdl_dir/library/util_cdc/sync_bits.v \
|
|
$ad_hdl_dir/library/util_cdc/sync_data.v \
|
|
$ad_hdl_dir/library/util_cdc/sync_event.v \
|
|
axi_tdd_pkg.sv \
|
|
axi_tdd_channel.sv \
|
|
axi_tdd_counter.sv \
|
|
axi_tdd_regmap.sv \
|
|
axi_tdd_sync_gen.sv \
|
|
axi_tdd.sv \
|
|
axi_tdd_constr.sdc]
|
|
|
|
# parameters
|
|
|
|
set group "General Configuration"
|
|
|
|
add_parameter ID INTEGER 0
|
|
set_parameter_property ID DISPLAY_NAME "Core ID"
|
|
set_parameter_property ID HDL_PARAMETER true
|
|
set_parameter_property ID GROUP $group
|
|
|
|
add_parameter CHANNEL_COUNT INTEGER 8
|
|
set_parameter_property CHANNEL_COUNT DISPLAY_NAME "Number of TDD Channels"
|
|
set_parameter_property CHANNEL_COUNT HDL_PARAMETER true
|
|
set_parameter_property CHANNEL_COUNT ALLOWED_RANGES {1:32}
|
|
set_parameter_property CHANNEL_COUNT GROUP $group
|
|
|
|
add_parameter DEFAULT_POLARITY INTEGER 0
|
|
set_parameter_property DEFAULT_POLARITY DISPLAY_NAME "Default Channel output Polarity"
|
|
set_parameter_property DEFAULT_POLARITY HDL_PARAMETER true
|
|
set_parameter_property DEFAULT_POLARITY GROUP $group
|
|
|
|
add_parameter REGISTER_WIDTH INTEGER 32
|
|
set_parameter_property REGISTER_WIDTH DISPLAY_NAME "TDD Register Width"
|
|
set_parameter_property REGISTER_WIDTH HDL_PARAMETER true
|
|
set_parameter_property REGISTER_WIDTH ALLOWED_RANGES {8:32}
|
|
set_parameter_property REGISTER_WIDTH GROUP $group
|
|
|
|
add_parameter BURST_COUNT_WIDTH INTEGER 32
|
|
set_parameter_property BURST_COUNT_WIDTH DISPLAY_NAME "TDD Burst Counter Width"
|
|
set_parameter_property BURST_COUNT_WIDTH HDL_PARAMETER true
|
|
set_parameter_property BURST_COUNT_WIDTH ALLOWED_RANGES {8:32}
|
|
set_parameter_property BURST_COUNT_WIDTH GROUP $group
|
|
|
|
add_parameter SYNC_INTERNAL INTEGER 1
|
|
set_parameter_property SYNC_INTERNAL DISPLAY_NAME "Sync Internal enable"
|
|
set_parameter_property SYNC_INTERNAL HDL_PARAMETER true
|
|
set_parameter_property SYNC_INTERNAL ALLOWED_RANGES {0:1}
|
|
set_parameter_property SYNC_INTERNAL GROUP $group
|
|
|
|
add_parameter SYNC_EXTERNAL INTEGER 0
|
|
set_parameter_property SYNC_EXTERNAL DISPLAY_NAME "Sync External enable"
|
|
set_parameter_property SYNC_EXTERNAL HDL_PARAMETER true
|
|
set_parameter_property SYNC_EXTERNAL ALLOWED_RANGES {0:1}
|
|
set_parameter_property SYNC_EXTERNAL GROUP $group
|
|
|
|
add_parameter SYNC_EXTERNAL_CDC INTEGER 0
|
|
set_parameter_property SYNC_EXTERNAL_CDC DISPLAY_NAME "Sync External CDC enable"
|
|
set_parameter_property SYNC_EXTERNAL_CDC HDL_PARAMETER true
|
|
set_parameter_property SYNC_EXTERNAL_CDC ALLOWED_RANGES {0:1}
|
|
set_parameter_property SYNC_EXTERNAL_CDC GROUP $group
|
|
|
|
add_parameter SYNC_COUNT_WIDTH INTEGER 64
|
|
set_parameter_property SYNC_COUNT_WIDTH DISPLAY_NAME "TDD Sync Counter Width"
|
|
set_parameter_property SYNC_COUNT_WIDTH HDL_PARAMETER true
|
|
set_parameter_property SYNC_COUNT_WIDTH ALLOWED_RANGES {0:64}
|
|
set_parameter_property SYNC_COUNT_WIDTH GROUP $group
|
|
|
|
# interfaces
|
|
|
|
ad_ip_intf_s_axi s_axi_aclk s_axi_aresetn
|
|
|
|
add_interface tdd_clock clock end
|
|
add_interface_port tdd_clock clk clk Input 1
|
|
|
|
add_interface tdd_reset reset end
|
|
set_interface_property tdd_reset associatedClock tdd_clock
|
|
add_interface_port tdd_reset resetn reset_n Input 1
|
|
|
|
ad_interface signal sync_in input 1
|
|
ad_interface signal sync_out output 1
|
|
ad_interface signal tdd_channel output 32
|
|
|