Merge FPGA repository back into UHD repository
The FPGA codebase was removed from the UHD repository in 2014 to reduce the size of the repository. However, over the last half-decade, the split between the repositories has proven more burdensome than it has been helpful. By merging the FPGA code back, it will be possible to create atomic commits that touch both FPGA and UHD codebases. Continuous integration testing is also simplified by merging the repositories, because it was previously difficult to automatically derive the correct UHD branch when testing a feature branch on the FPGA repository. This commit also updates the license files and paths therein. We are therefore merging the repositories again. Future development for FPGA code will happen in the same repository as the UHD host code and MPM code. == Original Codebase and Rebasing == The original FPGA repository will be hosted for the foreseeable future at its original local location: https://github.com/EttusResearch/fpga/ It can be used for bisecting, reference, and a more detailed history. The final commit from said repository to be merged here is 05003794e2da61cabf64dd278c45685a7abad7ec. This commit is tagged as v4.0.0.0-pre-uhd-merge. If you have changes in the FPGA repository that you want to rebase onto the UHD repository, simply run the following commands: - Create a directory to store patches (this should be an empty directory): mkdir ~/patches - Now make sure that your FPGA codebase is based on the same state as the code that was merged: cd src/fpga # Or wherever your FPGA code is stored git rebase v4.0.0.0-pre-uhd-merge Note: The rebase command may look slightly different depending on what exactly you're trying to rebase. - Create a patch set for your changes versus v4.0.0.0-pre-uhd-merge: git format-patch v4.0.0.0-pre-uhd-merge -o ~/patches Note: Make sure that only patches are stored in your output directory. It should otherwise be empty. Make sure that you picked the correct range of commits, and only commits you wanted to rebase were exported as patch files. - Go to the UHD repository and apply the patches: cd src/uhd # Or wherever your UHD repository is stored git am --directory fpga ~/patches/* rm -rf ~/patches # This is for cleanup == Contributors == The following people have contributed mainly to these files (this list is not complete): Co-authored-by: Alex Williams <alex.williams@ni.com> Co-authored-by: Andrej Rode <andrej.rode@ettus.com> Co-authored-by: Ashish Chaudhari <ashish@ettus.com> Co-authored-by: Ben Hilburn <ben.hilburn@ettus.com> Co-authored-by: Ciro Nishiguchi <ciro.nishiguchi@ni.com> Co-authored-by: Daniel Jepson <daniel.jepson@ni.com> Co-authored-by: Derek Kozel <derek.kozel@ettus.com> Co-authored-by: EJ Kreinar <ej@he360.com> Co-authored-by: Humberto Jimenez <humberto.jimenez@ni.com> Co-authored-by: Ian Buckley <ian.buckley@gmail.com> Co-authored-by: Jörg Hofrichter <joerg.hofrichter@ni.com> Co-authored-by: Jon Kiser <jon.kiser@ni.com> Co-authored-by: Josh Blum <josh@joshknows.com> Co-authored-by: Jonathon Pendlum <jonathan.pendlum@ettus.com> Co-authored-by: Martin Braun <martin.braun@ettus.com> Co-authored-by: Matt Ettus <matt@ettus.com> Co-authored-by: Michael West <michael.west@ettus.com> Co-authored-by: Moritz Fischer <moritz.fischer@ettus.com> Co-authored-by: Nick Foster <nick@ettus.com> Co-authored-by: Nicolas Cuervo <nicolas.cuervo@ettus.com> Co-authored-by: Paul Butler <paul.butler@ni.com> Co-authored-by: Paul David <paul.david@ettus.com> Co-authored-by: Ryan Marlow <ryan.marlow@ettus.com> Co-authored-by: Sugandha Gupta <sugandha.gupta@ettus.com> Co-authored-by: Sylvain Munaut <tnt@246tNt.com> Co-authored-by: Trung Tran <trung.tran@ettus.com> Co-authored-by: Vidush Vishwanath <vidush.vishwanath@ettus.com> Co-authored-by: Wade Fife <wade.fife@ettus.com> Original-commit: bafa9d95453387814ef25e6b6256ba8db2df612f
This commit is contained in:
co-authored by
Alex Williams
Andrej Rode
Ashish Chaudhari
Ben Hilburn
Ciro Nishiguchi
Daniel Jepson
Derek Kozel
EJ Kreinar
Humberto Jimenez
Ian Buckley
Jörg Hofrichter
Jon Kiser
Josh Blum
Jonathon Pendlum
Matt Ettus
Michael West
Moritz Fischer
Nick Foster
Nicolas Cuervo
Paul Butler
Paul David
Ryan Marlow
Sugandha Gupta
Sylvain Munaut
Trung Tran
Vidush Vishwanath
Wade Fife
parent
74893643ca
commit
6b67702ad7
@@ -0,0 +1,8 @@
|
||||
build
|
||||
build-*
|
||||
isim*
|
||||
fuse*
|
||||
tmp*
|
||||
*.log
|
||||
*.jou
|
||||
*impact*
|
||||
@@ -0,0 +1,100 @@
|
||||
#
|
||||
# Copyright 2018-2019 Ettus Research, a National Instruments Brand
|
||||
#
|
||||
|
||||
# NOTE: All comments prefixed with a "##" will be displayed as a part of the "make help" target
|
||||
##-------------------
|
||||
##USRP E3XX FPGA Help
|
||||
##-------------------
|
||||
##Usage:
|
||||
## make <Targets> <Options>
|
||||
##
|
||||
##Output:
|
||||
## build/usrp_<product>_fpga_<image_type>.bit: Configuration bitstream with header
|
||||
## build/usrp_<product>_fpga_<image_type>.dts: Device tree source file
|
||||
## build/usrp_<product>_fpga_<image_type>.rpt: Build report (includes utilization and timing summary)
|
||||
|
||||
1G_DEFS=SFP_1GBE=1 BUILD_1G=1 $(OPTIONS)
|
||||
XG_DEFS=SFP_10GBE=1 BUILD_10G=1 $(OPTIONS)
|
||||
AA_DEFS=SFP_AURORA=1 BUILD_AURORA=1 $(OPTIONS)
|
||||
|
||||
# Set build option (check RTL, run synthesis, or do a full build)
|
||||
ifndef TARGET
|
||||
ifdef CHECK
|
||||
TARGET = rtl
|
||||
else ifdef SYNTH
|
||||
TARGET = synth
|
||||
else
|
||||
TARGET = bin
|
||||
endif
|
||||
endif
|
||||
TOP ?= e320
|
||||
|
||||
DEFAULT_IMAGE_CORE_FILE_E320=e320_rfnoc_image_core.v
|
||||
DEFAULT_EDGE_FILE_E320=$(abspath e320_static_router.hex)
|
||||
|
||||
# vivado_build($1=Device, $2=Definitions)
|
||||
vivado_build = make -f Makefile.e320.inc $(TARGET) NAME=$@ ARCH=$(XIL_ARCH_$1) PART_ID=$(XIL_PART_ID_$1) $2 TOP_MODULE=$(TOP) EXTRA_DEFS="$2" DEFAULT_RFNOC_IMAGE_CORE_FILE=$(DEFAULT_IMAGE_CORE_FILE_$1) DEFAULT_EDGE_FILE=$(DEFAULT_EDGE_FILE_$1)
|
||||
|
||||
# post_build($1=Device, $2=Option)
|
||||
ifeq ($(TARGET),bin)
|
||||
post_build = @\
|
||||
mkdir -p build; \
|
||||
echo "Exporting bitstream file..."; \
|
||||
cp build-$(1)_$(2)/e320.bit build/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).bit; \
|
||||
echo "Exporting build report..."; \
|
||||
cp build-$(1)_$(2)/build.rpt build/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).rpt; \
|
||||
echo "Build DONE ... $(1)_$(2)";
|
||||
else
|
||||
post_build = @echo "Skipping bitfile export."
|
||||
endif
|
||||
|
||||
##
|
||||
##Supported Targets
|
||||
##-----------------
|
||||
|
||||
all: E320_1G E320_XG ##(Default target)
|
||||
|
||||
##E320_1G: 1GigE on SFP+ Port.
|
||||
E320_1G: build/usrp_e320_fpga_1G.dts
|
||||
$(call vivado_build,E320,$(1G_DEFS) E320=1)
|
||||
$(call post_build,E320,1G)
|
||||
|
||||
##E320_XG: 10GigE on SFP+ Port.
|
||||
E320_XG: build/usrp_e320_fpga_XG.dts
|
||||
$(call vivado_build,E320,$(XG_DEFS) E320=1)
|
||||
$(call post_build,E320,XG)
|
||||
|
||||
##E320_AA: Aurora on SFP+ Port.
|
||||
E320_AA: build/usrp_e320_fpga_AA.dts
|
||||
$(call vivado_build,E320,$(AA_DEFS) E320=1)
|
||||
$(call post_build,E320,AA)
|
||||
|
||||
|
||||
build/%.dts: dts/%.dts dts/*.dtsi
|
||||
-mkdir -p build
|
||||
${CC} -o $@ -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $<
|
||||
|
||||
clean: ##Clean up all target build outputs.
|
||||
@echo "Cleaning targets..."
|
||||
@rm -rf build-E3*_*
|
||||
@rm -rf build
|
||||
|
||||
cleanall: ##Clean up all target and ip build outputs.
|
||||
@echo "Cleaning targets and IP..."
|
||||
@rm -rf build-ip
|
||||
@rm -rf build-E3*_*
|
||||
@rm -rf build
|
||||
|
||||
help: ##Show this help message.
|
||||
@grep -h "##" Makefile | grep -v "\"##\"" | sed -e 's/\\$$//' | sed -e 's/##//'
|
||||
|
||||
##
|
||||
##Supported Options
|
||||
##-----------------
|
||||
##GUI=1 Launch the build in the Vivado GUI.
|
||||
##CHECK=1 Launch the syntax checker instead of building a bitfile.
|
||||
##SYNTH=1 Launch the build but stop after synthesis.
|
||||
##TOP=<module> Specify a top module for syntax checking. (Optional. Default is the bitfile top)
|
||||
|
||||
.PHONY: all clean cleanall help
|
||||
@@ -0,0 +1,141 @@
|
||||
#
|
||||
# Copyright 2018-2019 Ettus Research, a National Instruments Brand
|
||||
#
|
||||
|
||||
##################################################
|
||||
# Project Setup
|
||||
##################################################
|
||||
TOP_MODULE = <Input arg>
|
||||
# NAME = <Input arg>
|
||||
# PART_ID = <Input arg>
|
||||
# ARCH = <Input arg>
|
||||
|
||||
##################################################
|
||||
# Include other makefiles
|
||||
##################################################
|
||||
|
||||
BASE_DIR = $(abspath ..)
|
||||
IP_DIR = $(abspath ./ip)
|
||||
include $(BASE_DIR)/../tools/make/viv_design_builder.mak
|
||||
|
||||
include $(IP_DIR)/Makefile.inc
|
||||
include ../n3xx/coregen_dsp/Makefile.srcs
|
||||
include $(LIB_DIR)/ip/Makefile.inc
|
||||
include $(LIB_DIR)/hls/Makefile.inc
|
||||
include $(LIB_DIR)/control/Makefile.srcs
|
||||
include $(LIB_DIR)/fifo/Makefile.srcs
|
||||
include $(LIB_DIR)/simple_gemac/Makefile.srcs
|
||||
include $(LIB_DIR)/axi/Makefile.srcs
|
||||
include $(LIB_DIR)/timing/Makefile.srcs
|
||||
include $(LIB_DIR)/packet_proc/Makefile.srcs
|
||||
include $(LIB_DIR)/xge/Makefile.srcs
|
||||
include $(LIB_DIR)/xge_interface/Makefile.srcs
|
||||
include $(LIB_DIR)/dsp/Makefile.srcs
|
||||
include $(LIB_DIR)/io_cap_gen/Makefile.srcs
|
||||
include $(LIB_DIR)/rfnoc/Makefile.srcs
|
||||
# For sake of convenience, we include the Makefile.srcs for DRAM FIFO, DDC, and
|
||||
# DUC, and of course the radio. Any other block needs to use the
|
||||
# RFNOC_OOT_MAKEFILE_SRCS variable (see below).
|
||||
include $(LIB_DIR)/rfnoc/blocks/rfnoc_block_axi_ram_fifo/Makefile.srcs
|
||||
include $(LIB_DIR)/rfnoc/blocks/rfnoc_block_radio/Makefile.srcs
|
||||
include $(LIB_DIR)/rfnoc/blocks/rfnoc_block_ddc/Makefile.srcs
|
||||
include $(LIB_DIR)/rfnoc/blocks/rfnoc_block_duc/Makefile.srcs
|
||||
# If out-of-tree modules want to be compiled into this image, then they need to
|
||||
# pass in the RFNOC_OOT_MAKEFILE_SRCS as a list of Makefile.srcs files.
|
||||
# Those files need to amend the RFNOC_OOT_SRCS variable with a list of actual
|
||||
# source files.
|
||||
include $(RFNOC_OOT_MAKEFILE_SRCS)
|
||||
|
||||
IMAGE_CORE ?= $(DEFAULT_RFNOC_IMAGE_CORE_FILE)
|
||||
EDGE_FILE ?= $(DEFAULT_EDGE_FILE)
|
||||
|
||||
##################################################
|
||||
# Sources
|
||||
##################################################
|
||||
TOP_SRCS = \
|
||||
e320.v \
|
||||
e320_core.v \
|
||||
e320_clocking.v \
|
||||
n3xx_sfp_wrapper.v \
|
||||
n3xx_mgt_io_core.v \
|
||||
$(IMAGE_CORE)
|
||||
|
||||
MB_XDC = \
|
||||
mb_pins.xdc \
|
||||
mb_timing.xdc
|
||||
|
||||
ifdef BUILD_10G
|
||||
MB_XDC += $(abspath e320_10ge.xdc)
|
||||
endif
|
||||
|
||||
ifdef BUILD_1G
|
||||
MB_XDC += $(abspath e320_1ge.xdc)
|
||||
endif
|
||||
|
||||
ifdef BUILD_AURORA
|
||||
MB_XDC += $(abspath e320_aurora.xdc)
|
||||
endif
|
||||
|
||||
ifdef SFP_10GBE
|
||||
MB_XDC += $(abspath e320_10ge_port0.xdc)
|
||||
endif
|
||||
|
||||
ifndef NO_DRAM_FIFOS
|
||||
DRAM_SRCS = $(IP_DRAM_XCI_SRCS) $(abspath e320_dram.xdc)
|
||||
else
|
||||
DRAM_SRCS =
|
||||
endif
|
||||
|
||||
# The XDC files must be read in a specific order, motherboard first and then daughterboard.
|
||||
# Outside of that, all the other sources can be read in any order desired.
|
||||
DESIGN_SRCS = \
|
||||
$(abspath $(TOP_SRCS)) \
|
||||
$(CONTROL_LIB_SRCS) \
|
||||
$(IP_XCI_SRCS) \
|
||||
$(TEN_GIGE_PHY_SRCS) \
|
||||
$(XGE_SRCS) \
|
||||
$(XGE_INTERFACE_SRCS) \
|
||||
$(PACKET_PROC_SRCS) \
|
||||
$(AXI_SRCS) \
|
||||
$(FIFO_SRCS) \
|
||||
$(ONE_GIGE_PHY_SRCS) \
|
||||
$(SIMPLE_GEMAC_SRCS) \
|
||||
$(AURORA_PHY_SRCS) \
|
||||
$(BD_SRCS) \
|
||||
$(TIMING_SRCS) \
|
||||
$(CAT_CAP_GEN_SRCS) \
|
||||
$(DRAM_SRCS) \
|
||||
$(COREGEN_DSP_SRCS) \
|
||||
$(DSP_SRCS) \
|
||||
$(LIB_IP_XCI_SRCS) \
|
||||
$(LIB_HLS_IP_SRCS) \
|
||||
$(EXTRAM_SRCS) \
|
||||
$(CAP_GEN_GENERIC_SRCS) \
|
||||
$(RFNOC_SRCS) \
|
||||
$(RFNOC_OOT_SRCS) \
|
||||
$(RFNOC_FRAMEWORK_SRCS) \
|
||||
$(RFNOC_BLOCK_AXI_RAM_FIFO_SRCS) \
|
||||
$(RFNOC_BLOCK_DUC_SRCS) $(RFNOC_BLOCK_DDC_SRCS) \
|
||||
$(RFNOC_BLOCK_RADIO_SRCS) \
|
||||
$(abspath $(MB_XDC))
|
||||
|
||||
EDGE_TBL_DEF="RFNOC_EDGE_TBL_FILE=$(EDGE_FILE)"
|
||||
|
||||
##################################################
|
||||
# Dependency Targets
|
||||
##################################################
|
||||
.SECONDEXPANSION:
|
||||
|
||||
VERILOG_DEFS=$(EXTRA_DEFS) $(CUSTOM_DEFS) $(GIT_HASH_VERILOG_DEF) $(EDGE_TBL_DEF)
|
||||
|
||||
# DESIGN_SRCS and VERILOG_DEFS must be defined
|
||||
bin: .prereqs $$(DESIGN_SRCS) ip
|
||||
$(call BUILD_VIVADO_DESIGN,$(abspath ./build_e320.tcl),$(TOP_MODULE),$(ARCH),$(PART_ID))
|
||||
|
||||
synth: .prereqs $$(DESIGN_SRCS) ip
|
||||
$(call BUILD_VIVADO_DESIGN,$(TOOLS_DIR)/scripts/viv_synth.tcl,$(TOP_MODULE),$(ARCH),$(PART_ID))
|
||||
|
||||
rtl: .prereqs $$(DESIGN_SRCS) ip
|
||||
$(call CHECK_VIVADO_DESIGN,$(TOOLS_DIR)/scripts/viv_check_syntax.tcl,$(TOP_MODULE),$(ARCH),$(PART_ID))
|
||||
|
||||
.PHONY: bin rtl
|
||||
@@ -0,0 +1,39 @@
|
||||
#
|
||||
# Copyright 2016 Ettus Research
|
||||
#
|
||||
|
||||
source $::env(VIV_TOOLS_DIR)/scripts/viv_utils.tcl
|
||||
source $::env(VIV_TOOLS_DIR)/scripts/viv_strategies.tcl
|
||||
|
||||
# STEP#1: Create project, add sources, refresh IP
|
||||
vivado_utils::initialize_project
|
||||
|
||||
# STEP#2: Run synthesis
|
||||
vivado_utils::synthesize_design
|
||||
vivado_utils::generate_post_synth_reports
|
||||
|
||||
# STEP#3: Run implementation strategy
|
||||
set e3xx_strategy [dict create]
|
||||
dict set e3xx_strategy "opt_design.is_enabled" 1
|
||||
dict set e3xx_strategy "opt_design.directive" "Default"
|
||||
dict set e3xx_strategy "post_opt_power_opt_design.is_enabled" 0
|
||||
dict set e3xx_strategy "place_design.directive" "Default"
|
||||
dict set e3xx_strategy "post_place_power_opt_design.is_enabled" 0
|
||||
dict set e3xx_strategy "post_place_phys_opt_design.is_enabled" 1
|
||||
dict set e3xx_strategy "post_place_phys_opt_design.directive" "Default"
|
||||
dict set e3xx_strategy "route_design.directive" "Default"
|
||||
dict set e3xx_strategy "route_design.more_options" "-tns_cleanup"
|
||||
dict set e3xx_strategy "post_route_phys_opt_design.is_enabled" 1
|
||||
dict set e3xx_strategy "post_route_phys_opt_design.directive" "Default"
|
||||
vivado_strategies::implement_design $e3xx_strategy
|
||||
|
||||
# STEP#4: Generate reports
|
||||
vivado_utils::generate_post_route_reports
|
||||
|
||||
# STEP#5: Generate a bitstream, netlist and debug probes
|
||||
set_property BITSTREAM.CONFIG.USR_ACCESS TIMESTAMP [get_designs *]
|
||||
set byte_swap_bin 1
|
||||
vivado_utils::write_implementation_outputs $byte_swap_bin
|
||||
|
||||
# Cleanup
|
||||
vivado_utils::close_batch_project
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"warning": { "ignore": ["."]}
|
||||
}
|
||||
@@ -0,0 +1,358 @@
|
||||
// SPDX-License-Identifier: GPL-2.0 OR X11
|
||||
/*
|
||||
* Copyright (c) 2018 National Instruments Corp
|
||||
*/
|
||||
|
||||
&fpga_full {
|
||||
tx_dma0: dma@43CA0000 {
|
||||
compatible = "adi,axi-dmac-1.00.a";
|
||||
reg = <0x43CA0000 0x10000>;
|
||||
interrupts = <0 53 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
clocks = <&clkc 15>;
|
||||
#dma-cells = <1>;
|
||||
adi,channels {
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
dma-channel@0 {
|
||||
reg = <0>;
|
||||
adi,source-bus-type = <0>;
|
||||
adi,source-bus-width = <0x20>;
|
||||
adi,destination-bus-type = <1>;
|
||||
adi,destination-bus-width = <0x20>;
|
||||
adi,length-width = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
tx_dma1: dma@43CB0000 {
|
||||
compatible = "adi,axi-dmac-1.00.a";
|
||||
reg = <0x43CB0000 0x10000>;
|
||||
interrupts = <0 53 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
clocks = <&clkc 15>;
|
||||
#dma-cells = <1>;
|
||||
adi,channels {
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
dma-channel@0 {
|
||||
reg = <0>;
|
||||
adi,source-bus-type = <0>;
|
||||
adi,source-bus-width = <0x20>;
|
||||
adi,destination-bus-type = <1>;
|
||||
adi,destination-bus-width = <0x20>;
|
||||
adi,length-width = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
tx_dma2: dma@43CC0000 {
|
||||
compatible = "adi,axi-dmac-1.00.a";
|
||||
reg = <0x43CC0000 0x10000>;
|
||||
interrupts = <0 53 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
clocks = <&clkc 15>;
|
||||
#dma-cells = <1>;
|
||||
adi,channels {
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
dma-channel@0 {
|
||||
reg = <0>;
|
||||
adi,source-bus-type = <0>;
|
||||
adi,source-bus-width = <0x20>;
|
||||
adi,destination-bus-type = <1>;
|
||||
adi,destination-bus-width = <0x20>;
|
||||
adi,length-width = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
tx_dma3: dma@43CD0000 {
|
||||
compatible = "adi,axi-dmac-1.00.a";
|
||||
reg = <0x43CD0000 0x10000>;
|
||||
interrupts = <0 53 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
clocks = <&clkc 15>;
|
||||
#dma-cells = <1>;
|
||||
adi,channels {
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
dma-channel@0 {
|
||||
reg = <0>;
|
||||
adi,source-bus-type = <0>;
|
||||
adi,source-bus-width = <0x20>;
|
||||
adi,destination-bus-type = <1>;
|
||||
adi,destination-bus-width = <0x20>;
|
||||
adi,length-width = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
tx_dma4: dma@43CE0000 {
|
||||
compatible = "adi,axi-dmac-1.00.a";
|
||||
reg = <0x43CE0000 0x10000>;
|
||||
interrupts = <0 53 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
clocks = <&clkc 15>;
|
||||
#dma-cells = <1>;
|
||||
adi,channels {
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
dma-channel@0 {
|
||||
reg = <0>;
|
||||
adi,source-bus-type = <0>;
|
||||
adi,source-bus-width = <0x20>;
|
||||
adi,destination-bus-type = <1>;
|
||||
adi,destination-bus-width = <0x20>;
|
||||
adi,length-width = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
tx_dma5: dma@43CF0000 {
|
||||
compatible = "adi,axi-dmac-1.00.a";
|
||||
reg = <0x43CF0000 0x10000>;
|
||||
interrupts = <0 53 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
clocks = <&clkc 15>;
|
||||
#dma-cells = <1>;
|
||||
adi,channels {
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
dma-channel@0 {
|
||||
reg = <0>;
|
||||
adi,source-bus-type = <0>;
|
||||
adi,source-bus-width = <0x20>;
|
||||
adi,destination-bus-type = <1>;
|
||||
adi,destination-bus-width = <0x20>;
|
||||
adi,length-width = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
rx_dma0: dma@43C00000 {
|
||||
compatible = "adi,axi-dmac-1.00.a";
|
||||
reg = <0x43C00000 0x10000>;
|
||||
interrupts = <0 52 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
clocks = <&clkc 15>;
|
||||
#dma-cells = <1>;
|
||||
adi,channels {
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
dma-channel@0 {
|
||||
reg = <0>;
|
||||
adi,source-bus-type = <1>;
|
||||
adi,source-bus-width = <0x20>;
|
||||
adi,destination-bus-type = <0>;
|
||||
adi,destination-bus-width = <0x20>;
|
||||
adi,length-width = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
rx_dma1: dma@43C10000 {
|
||||
compatible = "adi,axi-dmac-1.00.a";
|
||||
reg = <0x43C10000 0x10000>;
|
||||
interrupts = <0 52 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
clocks = <&clkc 15>;
|
||||
#dma-cells = <1>;
|
||||
adi,channels {
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
dma-channel@0 {
|
||||
reg = <0>;
|
||||
adi,source-bus-type = <1>;
|
||||
adi,source-bus-width = <0x20>;
|
||||
adi,destination-bus-type = <0>;
|
||||
adi,destination-bus-width = <0x20>;
|
||||
adi,length-width = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
rx_dma2: dma@43C20000 {
|
||||
compatible = "adi,axi-dmac-1.00.a";
|
||||
reg = <0x43C20000 0x10000>;
|
||||
interrupts = <0 52 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
clocks = <&clkc 15>;
|
||||
#dma-cells = <1>;
|
||||
adi,channels {
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
dma-channel@0 {
|
||||
reg = <0>;
|
||||
adi,source-bus-type = <1>;
|
||||
adi,source-bus-width = <0x20>;
|
||||
adi,destination-bus-type = <0>;
|
||||
adi,destination-bus-width = <0x20>;
|
||||
adi,length-width = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
rx_dma3: dma@43C30000 {
|
||||
compatible = "adi,axi-dmac-1.00.a";
|
||||
reg = <0x43C30000 0x10000>;
|
||||
interrupts = <0 52 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
clocks = <&clkc 15>;
|
||||
#dma-cells = <1>;
|
||||
adi,channels {
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
dma-channel@0 {
|
||||
reg = <0>;
|
||||
adi,source-bus-type = <1>;
|
||||
adi,source-bus-width = <0x20>;
|
||||
adi,destination-bus-type = <0>;
|
||||
adi,destination-bus-width = <0x20>;
|
||||
adi,length-width = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
rx_dma4: dma@43C40000 {
|
||||
compatible = "adi,axi-dmac-1.00.a";
|
||||
reg = <0x43C40000 0x10000>;
|
||||
interrupts = <0 52 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
clocks = <&clkc 15>;
|
||||
#dma-cells = <1>;
|
||||
adi,channels {
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
dma-channel@0 {
|
||||
reg = <0>;
|
||||
adi,source-bus-type = <1>;
|
||||
adi,source-bus-width = <0x20>;
|
||||
adi,destination-bus-type = <0>;
|
||||
adi,destination-bus-width = <0x20>;
|
||||
adi,length-width = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
rx_dma5: dma@43C50000 {
|
||||
compatible = "adi,axi-dmac-1.00.a";
|
||||
reg = <0x43C50000 0x10000>;
|
||||
interrupts = <0 52 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
clocks = <&clkc 15>;
|
||||
#dma-cells = <1>;
|
||||
adi,channels {
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
dma-channel@0 {
|
||||
reg = <0>;
|
||||
adi,source-bus-type = <1>;
|
||||
adi,source-bus-width = <0x20>;
|
||||
adi,destination-bus-type = <0>;
|
||||
adi,destination-bus-width = <0x20>;
|
||||
adi,length-width = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usrp_rx_dma0: usrp-rx-dma@43c00000 {
|
||||
compatible = "ettus,usrp-rx-dma";
|
||||
dmas = <&rx_dma0 0>;
|
||||
dma-names = "dma";
|
||||
port-id = <0>;
|
||||
status = "okay";
|
||||
|
||||
regmap = <&dma_conf0>;
|
||||
offset = <0x0>;
|
||||
};
|
||||
|
||||
usrp_rx_dma1: usrp-rx-dma@43c10000 {
|
||||
compatible = "ettus,usrp-rx-dma";
|
||||
dmas = <&rx_dma1 0>;
|
||||
dma-names = "dma";
|
||||
port-id = <1>;
|
||||
|
||||
regmap = <&dma_conf0>;
|
||||
offset = <0x4>;
|
||||
};
|
||||
|
||||
usrp_rx_dma2: usrp-rx-dma@43c20000 {
|
||||
compatible = "ettus,usrp-rx-dma";
|
||||
dmas = <&rx_dma2 0>;
|
||||
dma-names = "dma";
|
||||
port-id = <2>;
|
||||
|
||||
regmap = <&dma_conf0>;
|
||||
offset = <0x8>;
|
||||
};
|
||||
|
||||
usrp_rx_dma3: usrp-rx-dma@43c30000 {
|
||||
compatible = "ettus,usrp-rx-dma";
|
||||
dmas = <&rx_dma3 0>;
|
||||
dma-names = "dma";
|
||||
port-id = <3>;
|
||||
|
||||
regmap = <&dma_conf0>;
|
||||
offset = <0xc>;
|
||||
};
|
||||
|
||||
usrp_rx_dma4: usrp-rx-dma@43c40000 {
|
||||
compatible = "ettus,usrp-rx-dma";
|
||||
dmas = <&rx_dma4 0>;
|
||||
dma-names = "dma";
|
||||
port-id = <4>;
|
||||
|
||||
regmap = <&dma_conf0>;
|
||||
offset = <0x10>;
|
||||
};
|
||||
|
||||
usrp_rx_dma5: usrp-rx-dma@43c50000 {
|
||||
compatible = "ettus,usrp-rx-dma";
|
||||
dmas = <&rx_dma5 0>;
|
||||
dma-names = "dma";
|
||||
port-id = <5>;
|
||||
|
||||
regmap = <&dma_conf0>;
|
||||
offset = <0x14>;
|
||||
};
|
||||
|
||||
usrp_tx_dma0: usrp-tx-dma@43ca0000 {
|
||||
compatible = "ettus,usrp-tx-dma";
|
||||
dmas = <&tx_dma0 0>;
|
||||
dma-names = "dma";
|
||||
port-id = <0>;
|
||||
};
|
||||
|
||||
usrp_tx_dma1: usrp-tx-dma@43cb0000 {
|
||||
compatible = "ettus,usrp-tx-dma";
|
||||
dmas = <&tx_dma1 0>;
|
||||
dma-names = "dma";
|
||||
port-id = <1>;
|
||||
};
|
||||
|
||||
usrp_tx_dma2: usrp-tx-dma@43cc0000 {
|
||||
compatible = "ettus,usrp-tx-dma";
|
||||
dmas = <&tx_dma2 0>;
|
||||
dma-names = "dma";
|
||||
port-id = <2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usrp_tx_dma3: usrp-tx-dma@43cd0000 {
|
||||
compatible = "ettus,usrp-tx-dma";
|
||||
dmas = <&tx_dma3 0>;
|
||||
dma-names = "dma";
|
||||
port-id = <3>;
|
||||
};
|
||||
|
||||
usrp_tx_dma4: usrp-tx-dma@43ce0000 {
|
||||
compatible = "ettus,usrp-tx-dma";
|
||||
dmas = <&tx_dma4 0>;
|
||||
dma-names = "dma";
|
||||
port-id = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usrp_tx_dma5: usrp-tx-dma@43cf0000 {
|
||||
compatible = "ettus,usrp-tx-dma";
|
||||
dmas = <&tx_dma5 0>;
|
||||
dma-names = "dma";
|
||||
port-id = <5>;
|
||||
};
|
||||
|
||||
dma_conf0: dma_conf0@42080000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x42080000 0x1000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,46 @@
|
||||
// SPDX-License-Identifier: GPL-2.0 OR X11
|
||||
/*
|
||||
* Copyright (c) 2018 National Instruments Corp
|
||||
*/
|
||||
|
||||
&fpga_full {
|
||||
uio@40010000 {
|
||||
compatible = "usrp-uio";
|
||||
reg = <0x40010000 0x2000>;
|
||||
reg-names = "mboard-regs";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
uio@40014000 {
|
||||
compatible = "usrp-uio";
|
||||
reg = <0x40014000 0x4000>;
|
||||
reg-names = "dboard-regs";
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
|
||||
cs-gpios = <0>, <0>, <0>, <&gpio0 62 0>;
|
||||
|
||||
spidev0: spidev@0 {
|
||||
compatible = "rohm,dh2228fv";
|
||||
reg = <0>;
|
||||
status = "okay";
|
||||
spi-max-frequency = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&spi1 {
|
||||
status = "okay";
|
||||
|
||||
cs-gpios = <0>, <0>, <0>, <&gpio0 63 0>;
|
||||
|
||||
spidev1: spidev@0 {
|
||||
compatible = "rohm,dh2228fv";
|
||||
reg = <0>;
|
||||
status = "okay";
|
||||
spi-max-frequency = <1000000>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,8 @@
|
||||
// SPDX-License-Identifier: GPL-2.0 OR X11
|
||||
/*
|
||||
* Copyright (c) 2018 National Instruments Corp
|
||||
*/
|
||||
|
||||
&fpga_full {
|
||||
firmware-name = "e320.bin";
|
||||
};
|
||||
@@ -0,0 +1,47 @@
|
||||
// SPDX-License-Identifier: GPL-2.0 OR X11
|
||||
/*
|
||||
* Copyright (c) 2018 National Instruments Corp
|
||||
*
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#include "e320-fpga.dtsi"
|
||||
|
||||
&fpga_full {
|
||||
nixge0: ethernet@40000000 {
|
||||
compatible = "ni,xge-enet-2.00";
|
||||
reg = <0x40000000 0x6000>;
|
||||
|
||||
clocks = <&clkc 15>;
|
||||
clock-names = "bus_clk";
|
||||
|
||||
nvmem-cells = <ð1_addr>;
|
||||
nvmem-cell-names = "address";
|
||||
|
||||
interrupts = <0 29 4>, <0 30 4>;
|
||||
interrupt-names = "rx", "tx";
|
||||
interrupt-parent = <&intc>;
|
||||
status = "okay";
|
||||
|
||||
phy-mode = "xgmii";
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
/* 114 = 54 (MIOs) + 60 (EMIO 60) */
|
||||
link-gpios = <&gpio0 114 0>;
|
||||
};
|
||||
};
|
||||
|
||||
uio@40006000 {
|
||||
compatible = "usrp-uio";
|
||||
reg = <0x40006000 0x2000>; // FIXME: Addresses
|
||||
reg-names = "misc-enet-regs";
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
#include "e320-common.dtsi"
|
||||
#include "dma-common.dtsi"
|
||||
@@ -0,0 +1,22 @@
|
||||
// SPDX-License-Identifier: GPL-2.0 OR X11
|
||||
/*
|
||||
* Copyright (c) 2018 National Instruments Corp
|
||||
*
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#include "e320-fpga.dtsi"
|
||||
|
||||
&fpga_full {
|
||||
uio@40004000 {
|
||||
compatible = "usrp-uio";
|
||||
reg = <0x40004000 0x1000>; //FIXME
|
||||
reg-names = "misc-auro-regs";
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
#include "e320-common.dtsi"
|
||||
#include "dma-common.dtsi"
|
||||
@@ -0,0 +1,47 @@
|
||||
// SPDX-License-Identifier: GPL-2.0 OR X11
|
||||
/*
|
||||
* Copyright (c) 2018 National Instruments Corp
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#include "e320-fpga.dtsi"
|
||||
|
||||
&fpga_full {
|
||||
nixge0: ethernet@40000000 {
|
||||
compatible = "ni,xge-enet-2.00";
|
||||
reg = <0x40000000 0x6000>; //FIXME
|
||||
|
||||
clocks = <&clkc 15>;
|
||||
clock-names = "bus_clk";
|
||||
|
||||
nvmem-cells = <ð1_addr>;
|
||||
nvmem-cell-names = "address";
|
||||
|
||||
interrupts = <0 29 4>, <0 30 4>;
|
||||
interrupt-names = "rx", "tx";
|
||||
interrupt-parent = <&intc>;
|
||||
status = "okay";
|
||||
|
||||
phy-mode = "xgmii";
|
||||
phy-handle = <ðernet_phy1>;
|
||||
|
||||
mdio {
|
||||
ethernet_phy1: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
uio@40006000 {
|
||||
compatible = "usrp-uio";
|
||||
reg = <0x40006000 0x2000>; //FIXME
|
||||
reg-names = "misc-enet-regs";
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
#include "e320-common.dtsi"
|
||||
#include "dma-common.dtsi"
|
||||
+1739
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,16 @@
|
||||
#
|
||||
# Copyright 2017 Ettus Research, A National Instruments Company
|
||||
# SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
#
|
||||
|
||||
|
||||
# No need for any asynchronous clock groups between bus_clk and the recovered clocks,
|
||||
# because bus_clk already has a blanket asynchronous constraint from the top level XDC.
|
||||
|
||||
# Remove analysis between the xge_clk and the recovered clocks from the MGT PHYs,
|
||||
# since they cannot be related to one another with any known phase or period.
|
||||
set_clock_groups -asynchronous -group [get_clocks -filter {NAME =~ sfp_wrapper_*/mgt_io_i/ten_gige_phy_i/ten_gig_eth_pcs_pma_i/*/gtxe2_i/RXOUTCLK}] -group [get_clocks xge_clk]
|
||||
set_clock_groups -asynchronous -group [get_clocks -filter {NAME =~ sfp_wrapper_*/mgt_io_i/ten_gige_phy_i/ten_gig_eth_pcs_pma_i/*/gtxe2_i/TXOUTCLK}] -group [get_clocks xge_clk]
|
||||
|
||||
set_false_path -to [get_pins -of_objects [get_cells -hier -filter {NAME =~ sfp_wrapper_*/mgt_io_i/ten_gige_phy_i/*sync1_r_reg*}] -filter {NAME =~ *PRE}]
|
||||
set_false_path -to [get_pins -of_objects [get_cells -hier -filter {NAME =~ sfp_wrapper_*/mgt_io_i/ten_gige_phy_i/*sync1_r_reg*}] -filter {NAME =~ *CLR}]
|
||||
@@ -0,0 +1,7 @@
|
||||
#
|
||||
# Copyright 2017 Ettus Research, A National Instruments Company
|
||||
# SPDX-License-Identifier: LGPL-3.0
|
||||
#
|
||||
|
||||
set_property LOC GTXE2_CHANNEL_X0Y12 [get_cells -hierarchical -filter {NAME =~ "*sfp_wrapper_0/mgt_io_i/ten_gige_phy_i/*gtxe2_i*" && PRIMITIVE_TYPE == IO.gt.GTXE2_CHANNEL}]
|
||||
set_property LOC GTXE2_COMMON_X0Y12 [get_cells -hierarchical -filter {NAME =~ "*gtxe2_common_0_i*" && PRIMITIVE_TYPE == IO.gt.GTXE2_COMMON}]
|
||||
@@ -0,0 +1,15 @@
|
||||
#
|
||||
# Copyright 2017 Ettus Research, A National Instruments Company
|
||||
# SPDX-License-Identifier: LGPL-3.0
|
||||
#
|
||||
|
||||
|
||||
# No need for any asynchronous clock groups between clk100 and the recovered clocks,
|
||||
# because clk100 already has a blanket asynchronous constraint from the top level XDC.
|
||||
set_clock_groups -asynchronous -group [get_clocks clk100] -group [get_clocks ge_clk]
|
||||
set_clock_groups -asynchronous -group [get_clocks clk100] -group [get_clocks -of_objects [get_pins sfp_wrapper_*/mgt_io_i/one_gige_phy_i/*/core_clocking_i/mmcm_*/CLKOUT0]]
|
||||
set_clock_groups -asynchronous -group [get_clocks clk100] -group [get_clocks -of_objects [get_pins sfp_wrapper_*/mgt_io_i/one_gige_phy_i/*/core_clocking_i/mmcm_*/CLKOUT1]]
|
||||
|
||||
set_false_path -to [get_pins -hier -filter {NAME =~ sfp_wrapper_*/mgt_io_i/one_gige_phy_i/*reset_sync*/PRE}]
|
||||
set_false_path -to [get_pins -hier -filter {NAME =~ sfp_wrapper_*/mgt_io_i/one_gige_phy_i/*/pma_reset_pipe_reg*/PRE}]
|
||||
set_false_path -to [get_pins -hier -filter {NAME =~ sfp_wrapper_*/mgt_io_i/one_gige_phy_i/*/pma_reset_pipe*[0]/D}]
|
||||
@@ -0,0 +1,13 @@
|
||||
#
|
||||
# Copyright 2017 Ettus Research, A National Instruments Company
|
||||
# SPDX-License-Identifier: LGPL-3.0
|
||||
#
|
||||
|
||||
|
||||
create_generated_clock -name aurora_init_clk [get_pins -hierarchical -filter {NAME =~ "*aurora_clk_gen_i/dclk_divide_by_2_buf/O"}]
|
||||
|
||||
set_clock_groups -asynchronous -group [get_clocks bus_clk] -group [get_clocks aurora_init_clk]
|
||||
|
||||
set_false_path -to [get_pins -hierarchical -filter {NAME =~ "sfp_wrapper_*/mgt_io_i/aurora_phy*/aurora_64b66b_pcs_pma*/*/gt_reset_sync/stg1_*_cdc_to_reg/D"}]
|
||||
|
||||
set_false_path -to [get_pins -hierarchical -filter {NAME =~ "*npio*/aurora_phy*/aurora_64b66b_pcs_pma*/*/gt_reset_sync/stg1_*_cdc_to_reg/D"}]
|
||||
@@ -0,0 +1,220 @@
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2018 Ettus Research, A National Instruments Company
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
//
|
||||
// Module: e320_clocking.v
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// TODO: First, instantiate clock input buffers on all clocks to provide termination
|
||||
// for the PCB traces.
|
||||
//
|
||||
// Second, PPS inputs from the back panel (called external) and the GPSDO are captured by
|
||||
// the Reference Clock. Selection is performed amongst these and the internally-generated
|
||||
// options.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
module e320_clocking (
|
||||
input global_rst,
|
||||
|
||||
// Reference Clk
|
||||
input ref_clk_from_pin,
|
||||
output ref_clk,
|
||||
|
||||
// Input clocks
|
||||
input clk156, // 156.25 MHz
|
||||
|
||||
// Output clocks
|
||||
output ddr3_dma_clk,
|
||||
output reg clocks_locked = 1'b0,
|
||||
|
||||
// PPS Capture & Selection
|
||||
input ext_pps_from_pin,
|
||||
input gps_pps_from_pin,
|
||||
input [1:0] pps_select,
|
||||
output reg pps_refclk
|
||||
);
|
||||
|
||||
//TODO: Code is same as n3xx, try reusing it.
|
||||
|
||||
// Clock Buffering and Generation : ///////////////////////////////////////////////////
|
||||
//
|
||||
// Manually instantiate input buffers on all clocks, and a global buffer on the
|
||||
// Reference Clock for use in the rest of the design. All other clocks must have
|
||||
// global buffers other places, since the declarations here are for SI purposes.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
wire ref_clk_buf;
|
||||
|
||||
// FPGA Reference Clock Buffering
|
||||
//
|
||||
// Only require an IBUF and BUFG here, since an MMCM is (thankfully) not needed
|
||||
// to meet timing with the PPS signal.
|
||||
IBUFG ref_clk_ibuf (
|
||||
.O(ref_clk_buf),
|
||||
.I(ref_clk_from_pin)
|
||||
);
|
||||
|
||||
BUFG ref_clk_bufg (
|
||||
.I(ref_clk_buf),
|
||||
.O(ref_clk)
|
||||
);
|
||||
|
||||
wire pps_ext_refclk;
|
||||
wire pps_gps_refclk;
|
||||
wire [1:0] pps_select_refclk;
|
||||
|
||||
// Capture the external PPSs with a FF before sending them to the mux. To be safe,
|
||||
// we double-synchronize the external signals. If we meet timing (which we should)
|
||||
// then this is a two-cycle delay. If we don't meet timing, then it's 1-2 cycles
|
||||
// and our system timing is thrown off--but at least our downstream logic doesn't
|
||||
// go metastable!
|
||||
synchronizer #(
|
||||
.FALSE_PATH_TO_IN(0)
|
||||
) ext_pps_dsync (
|
||||
.clk(ref_clk), .rst(1'b0), .in(ext_pps_from_pin), .out(pps_ext_refclk)
|
||||
);
|
||||
// Same deal with the GPSDO PPS input. Double-sync, then use it.
|
||||
synchronizer #(
|
||||
.FALSE_PATH_TO_IN(0)
|
||||
) gps_pps_dsync (
|
||||
.clk(ref_clk), .rst(1'b0), .in(gps_pps_from_pin), .out(pps_gps_refclk)
|
||||
);
|
||||
|
||||
// Synchronize the select bits over to the reference clock as well. Note that this is
|
||||
// a vector, so we could have some non-one-hot values creep through when changing.
|
||||
// See the note below as to why this is safe.
|
||||
synchronizer #(
|
||||
.FALSE_PATH_TO_IN(1),
|
||||
.WIDTH(2)
|
||||
) pps_select_dsync (
|
||||
.clk(ref_clk), .rst(1'b0), .in(pps_select), .out(pps_select_refclk)
|
||||
);
|
||||
|
||||
// Bit locations for the pps_select vector.
|
||||
localparam BIT_PPS_SEL_INT = 0;
|
||||
localparam BIT_PPS_SEL_EXT = 1;
|
||||
|
||||
// PPS MUX - selects internal/gpsdo or external PPS.
|
||||
always @(posedge ref_clk) begin
|
||||
|
||||
// Encoding is one-hot on these bits. It is possible when the vector is being double-
|
||||
// synchronized to the reference clock domain that there could be multiple bits
|
||||
// asserted simultaneously. This is not problematic because the order of operations
|
||||
// in the following selection mux should take over and only one PPS should win.
|
||||
// This could result in glitches, but that is expected during ANY PPS switchover
|
||||
// since the switch is performed asynchronously to the PPS signal.
|
||||
if (pps_select_refclk[BIT_PPS_SEL_INT]) begin
|
||||
pps_refclk <= pps_gps_refclk;
|
||||
end else if (pps_select_refclk[BIT_PPS_SEL_EXT]) begin
|
||||
pps_refclk <= pps_ext_refclk;
|
||||
end else begin
|
||||
pps_refclk <= pps_gps_refclk;
|
||||
end
|
||||
end
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Clock Generation
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
MMCME2_ADV #(
|
||||
.BANDWIDTH ("OPTIMIZED"),
|
||||
.CLKOUT4_CASCADE ("FALSE"),
|
||||
.COMPENSATION ("ZHOLD"),
|
||||
.STARTUP_WAIT ("FALSE"),
|
||||
.DIVCLK_DIVIDE (1),
|
||||
.CLKFBOUT_MULT_F (6.000),
|
||||
.CLKFBOUT_PHASE (0.000),
|
||||
.CLKFBOUT_USE_FINE_PS ("FALSE"),
|
||||
.CLKOUT0_DIVIDE_F (3.125),
|
||||
.CLKOUT0_PHASE (0.000),
|
||||
.CLKOUT0_DUTY_CYCLE (0.500),
|
||||
.CLKOUT0_USE_FINE_PS ("FALSE"),
|
||||
.CLKIN1_PERIOD (6.400))
|
||||
mmcm_adv_inst (
|
||||
.CLKFBOUT (clkfbout),
|
||||
.CLKFBOUTB (),
|
||||
.CLKOUT0 (ddr3_dma_clk_raw),
|
||||
.CLKOUT0B (),
|
||||
.CLKOUT1 (),
|
||||
.CLKOUT1B (),
|
||||
.CLKOUT2 (),
|
||||
.CLKOUT2B (),
|
||||
.CLKOUT3 (),
|
||||
.CLKOUT3B (),
|
||||
.CLKOUT4 (),
|
||||
.CLKOUT5 (),
|
||||
.CLKOUT6 (),
|
||||
// Input clock control
|
||||
.CLKFBIN (clkfbout),
|
||||
.CLKIN1 (clk156),
|
||||
.CLKIN2 (1'b0),
|
||||
// Tied to always select the primary input clock
|
||||
.CLKINSEL (1'b1),
|
||||
// Ports for dynamic reconfiguration
|
||||
.DADDR (7'h0),
|
||||
.DCLK (1'b0),
|
||||
.DEN (1'b0),
|
||||
.DI (16'h0),
|
||||
.DO (),
|
||||
.DRDY (),
|
||||
.DWE (1'b0),
|
||||
// Ports for dynamic phase shift
|
||||
.PSCLK (1'b0),
|
||||
.PSEN (1'b0),
|
||||
.PSINCDEC (1'b0),
|
||||
.PSDONE (),
|
||||
// Other control and status signals
|
||||
.LOCKED (locked_raw),
|
||||
.CLKINSTOPPED (),
|
||||
.CLKFBSTOPPED (),
|
||||
.PWRDWN (1'b0),
|
||||
.RST (global_rst));
|
||||
|
||||
BUFG clk300_bufg
|
||||
(.O (ddr3_dma_clk),
|
||||
.I (ddr3_dma_clk_raw));
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Lock Signal
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// We assume that the LOCKED signal from the MMCM is not necessarily a clean
|
||||
// asynchronous signal, so we want to make sure that the MMCM is really
|
||||
// locked before we assert our clocks_locked output.
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
reg [9:0] locked_count = ~0;
|
||||
|
||||
synchronizer lock_sync_i (
|
||||
.clk(clk156), .rst(1'b0), .in(locked_raw), .out(locked_sync)
|
||||
);
|
||||
|
||||
// Filter the locked signal
|
||||
always @(posedge clk156 or posedge global_rst)
|
||||
begin
|
||||
if (global_rst) begin
|
||||
locked_count <= ~0;
|
||||
clocks_locked <= 0;
|
||||
end else begin
|
||||
if (~locked_sync) begin
|
||||
locked_count <= ~0;
|
||||
clocks_locked <= 1'b0;
|
||||
end else begin
|
||||
if (locked_count == 0) begin
|
||||
clocks_locked <= 1'b1;
|
||||
end else begin
|
||||
clocks_locked <= 1'b0;
|
||||
locked_count <= locked_count - 1;
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,27 @@
|
||||
#
|
||||
# Copyright 2017 Ettus Research, A National Instruments Company
|
||||
# SPDX-License-Identifier: LGPL-3.0
|
||||
#
|
||||
|
||||
# Declare the 133 MHz DRAM subsystem clock.
|
||||
create_generated_clock -name ddr3_ext_refclk -period 7.5 [get_ports sys_clk_p]
|
||||
|
||||
# Rename IODELAY reference clock outputs from the MMCM inside MIG.
|
||||
# These are based off the 200 MHz bus_clk.
|
||||
create_generated_clock -name ddr3_iodelay_refclk \
|
||||
[get_pins {u_ddr3_32bit/u_ddr3_32bit_mig/u_iodelay_ctrl/clk_ref_mmcm_gen.mmcm_i/CLKOUT1}]
|
||||
create_generated_clock -name ddr3_iodelay_refclk_fb \
|
||||
[get_pins {u_ddr3_32bit/u_ddr3_32bit_mig/u_iodelay_ctrl/clk_ref_mmcm_gen.mmcm_i/CLKFBOUT}]
|
||||
|
||||
# Rename the UI clock appropriately. This clocks the slave AXI4 ports of the MIG as well
|
||||
# as the AXI logic/interconnects in the remainder of the FPGA design. Should be 200 MHz.
|
||||
create_generated_clock -name ddr3_ui_clk \
|
||||
[get_pins {u_ddr3_32bit/u_ddr3_32bit_mig/u_ddr3_infrastructure/gen_mmcm.mmcm_i/CLKFBOUT}]
|
||||
|
||||
# Another UI clock at 300 MHz... not quite at 2x due to timing.
|
||||
create_generated_clock -name ddr3_ui_clk_2x \
|
||||
[get_pins {u_ddr3_32bit/u_ddr3_32bit_mig/u_ddr3_infrastructure/gen_mmcm.mmcm_i/CLKOUT0}]
|
||||
|
||||
# Phase shifting clock for the MIG. Drives a few resets.
|
||||
create_generated_clock -name ddr3_ps_clk \
|
||||
[get_pins {u_ddr3_32bit/u_ddr3_32bit_mig/u_ddr3_infrastructure/gen_mmcm.mmcm_i/CLKOUT5}]
|
||||
@@ -0,0 +1,994 @@
|
||||
//
|
||||
// Copyright 2019 Ettus Research, A National Instruments Brand
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
//
|
||||
|
||||
// Module: rfnoc_image_core (for e320)
|
||||
// This file was autogenerated by UHD's image builder tool (rfnoc_image_builder)
|
||||
// Re-running that tool will overwrite this file!
|
||||
// File generated on: 2019-11-08T15:58:14.818480
|
||||
// Source: ./e320/e320_rfnoc_image_core.yml
|
||||
// Source SHA256: a2a7b213b5764ef6cb83fed9d744a415bf8a7f18a955fbe1f867590f5d8c5142
|
||||
|
||||
module rfnoc_image_core #(
|
||||
parameter [15:0] PROTOVER = {8'd1, 8'd0}
|
||||
)(
|
||||
// Clocks
|
||||
input wire chdr_aclk,
|
||||
input wire ctrl_aclk,
|
||||
input wire core_arst,
|
||||
input wire radio_clk,
|
||||
input wire dram_clk,
|
||||
// Basic
|
||||
input wire [15:0] device_id,
|
||||
//// IO ports //////////////////////////////////
|
||||
// ctrl_port
|
||||
output wire [ 1-1:0] m_ctrlport_req_wr,
|
||||
output wire [ 1-1:0] m_ctrlport_req_rd,
|
||||
output wire [ 20-1:0] m_ctrlport_req_addr,
|
||||
output wire [ 32-1:0] m_ctrlport_req_data,
|
||||
output wire [ 4-1:0] m_ctrlport_req_byte_en,
|
||||
output wire [ 1-1:0] m_ctrlport_req_has_time,
|
||||
output wire [ 64-1:0] m_ctrlport_req_time,
|
||||
input wire [ 1-1:0] m_ctrlport_resp_ack,
|
||||
input wire [ 2-1:0] m_ctrlport_resp_status,
|
||||
input wire [ 32-1:0] m_ctrlport_resp_data,
|
||||
// time_keeper
|
||||
input wire [ 64-1:0] radio_time,
|
||||
// x300_radio
|
||||
input wire [ 64-1:0] radio_rx_data,
|
||||
input wire [ 2-1:0] radio_rx_stb,
|
||||
output wire [ 2-1:0] radio_rx_running,
|
||||
output wire [ 64-1:0] radio_tx_data,
|
||||
input wire [ 2-1:0] radio_tx_stb,
|
||||
output wire [ 2-1:0] radio_tx_running,
|
||||
// dram
|
||||
input wire [ 1-1:0] axi_rst,
|
||||
output wire [ 2-1:0] m_axi_awid,
|
||||
output wire [ 64-1:0] m_axi_awaddr,
|
||||
output wire [ 16-1:0] m_axi_awlen,
|
||||
output wire [ 6-1:0] m_axi_awsize,
|
||||
output wire [ 4-1:0] m_axi_awburst,
|
||||
output wire [ 2-1:0] m_axi_awlock,
|
||||
output wire [ 8-1:0] m_axi_awcache,
|
||||
output wire [ 6-1:0] m_axi_awprot,
|
||||
output wire [ 8-1:0] m_axi_awqos,
|
||||
output wire [ 8-1:0] m_axi_awregion,
|
||||
output wire [ 2-1:0] m_axi_awuser,
|
||||
output wire [ 2-1:0] m_axi_awvalid,
|
||||
input wire [ 2-1:0] m_axi_awready,
|
||||
output wire [128-1:0] m_axi_wdata,
|
||||
output wire [ 16-1:0] m_axi_wstrb,
|
||||
output wire [ 2-1:0] m_axi_wlast,
|
||||
output wire [ 2-1:0] m_axi_wuser,
|
||||
output wire [ 2-1:0] m_axi_wvalid,
|
||||
input wire [ 2-1:0] m_axi_wready,
|
||||
input wire [ 2-1:0] m_axi_bid,
|
||||
input wire [ 4-1:0] m_axi_bresp,
|
||||
input wire [ 2-1:0] m_axi_buser,
|
||||
input wire [ 2-1:0] m_axi_bvalid,
|
||||
output wire [ 2-1:0] m_axi_bready,
|
||||
output wire [ 2-1:0] m_axi_arid,
|
||||
output wire [ 64-1:0] m_axi_araddr,
|
||||
output wire [ 16-1:0] m_axi_arlen,
|
||||
output wire [ 6-1:0] m_axi_arsize,
|
||||
output wire [ 4-1:0] m_axi_arburst,
|
||||
output wire [ 2-1:0] m_axi_arlock,
|
||||
output wire [ 8-1:0] m_axi_arcache,
|
||||
output wire [ 6-1:0] m_axi_arprot,
|
||||
output wire [ 8-1:0] m_axi_arqos,
|
||||
output wire [ 8-1:0] m_axi_arregion,
|
||||
output wire [ 2-1:0] m_axi_aruser,
|
||||
output wire [ 2-1:0] m_axi_arvalid,
|
||||
input wire [ 2-1:0] m_axi_arready,
|
||||
input wire [ 2-1:0] m_axi_rid,
|
||||
input wire [128-1:0] m_axi_rdata,
|
||||
input wire [ 4-1:0] m_axi_rresp,
|
||||
input wire [ 2-1:0] m_axi_rlast,
|
||||
input wire [ 2-1:0] m_axi_ruser,
|
||||
input wire [ 2-1:0] m_axi_rvalid,
|
||||
output wire [ 2-1:0] m_axi_rready,
|
||||
// Transport 0 (eth 10G)
|
||||
input wire [64-1:0] s_eth_tdata,
|
||||
input wire s_eth_tlast,
|
||||
input wire s_eth_tvalid,
|
||||
output wire s_eth_tready,
|
||||
output wire [64-1:0] m_eth_tdata,
|
||||
output wire m_eth_tlast,
|
||||
output wire m_eth_tvalid,
|
||||
input wire m_eth_tready,
|
||||
// Transport 1 (dma dma)
|
||||
input wire [64-1:0] s_dma_tdata,
|
||||
input wire s_dma_tlast,
|
||||
input wire s_dma_tvalid,
|
||||
output wire s_dma_tready,
|
||||
output wire [64-1:0] m_dma_tdata,
|
||||
output wire m_dma_tlast,
|
||||
output wire m_dma_tvalid,
|
||||
input wire m_dma_tready
|
||||
);
|
||||
|
||||
localparam CHDR_W = 64;
|
||||
localparam MTU = 10;
|
||||
localparam EDGE_TBL_FILE = `"`RFNOC_EDGE_TBL_FILE`";
|
||||
|
||||
wire rfnoc_chdr_clk, rfnoc_chdr_rst;
|
||||
wire rfnoc_ctrl_clk, rfnoc_ctrl_rst;
|
||||
|
||||
// ----------------------------------------------------
|
||||
// CHDR Crossbar
|
||||
// ----------------------------------------------------
|
||||
wire [CHDR_W-1:0] xb_to_ep0_tdata ;
|
||||
wire xb_to_ep0_tlast ;
|
||||
wire xb_to_ep0_tvalid;
|
||||
wire xb_to_ep0_tready;
|
||||
wire [CHDR_W-1:0] ep0_to_xb_tdata ;
|
||||
wire ep0_to_xb_tlast ;
|
||||
wire ep0_to_xb_tvalid;
|
||||
wire ep0_to_xb_tready;
|
||||
wire [CHDR_W-1:0] xb_to_ep1_tdata ;
|
||||
wire xb_to_ep1_tlast ;
|
||||
wire xb_to_ep1_tvalid;
|
||||
wire xb_to_ep1_tready;
|
||||
wire [CHDR_W-1:0] ep1_to_xb_tdata ;
|
||||
wire ep1_to_xb_tlast ;
|
||||
wire ep1_to_xb_tvalid;
|
||||
wire ep1_to_xb_tready;
|
||||
wire [CHDR_W-1:0] xb_to_ep2_tdata ;
|
||||
wire xb_to_ep2_tlast ;
|
||||
wire xb_to_ep2_tvalid;
|
||||
wire xb_to_ep2_tready;
|
||||
wire [CHDR_W-1:0] ep2_to_xb_tdata ;
|
||||
wire ep2_to_xb_tlast ;
|
||||
wire ep2_to_xb_tvalid;
|
||||
wire ep2_to_xb_tready;
|
||||
wire [CHDR_W-1:0] xb_to_ep3_tdata ;
|
||||
wire xb_to_ep3_tlast ;
|
||||
wire xb_to_ep3_tvalid;
|
||||
wire xb_to_ep3_tready;
|
||||
wire [CHDR_W-1:0] ep3_to_xb_tdata ;
|
||||
wire ep3_to_xb_tlast ;
|
||||
wire ep3_to_xb_tvalid;
|
||||
wire ep3_to_xb_tready;
|
||||
|
||||
chdr_crossbar_nxn #(
|
||||
.CHDR_W (CHDR_W),
|
||||
.NPORTS (6),
|
||||
.DEFAULT_PORT (0),
|
||||
.MTU (MTU),
|
||||
.ROUTE_TBL_SIZE (6),
|
||||
.MUX_ALLOC ("ROUND-ROBIN"),
|
||||
.OPTIMIZE ("AREA"),
|
||||
.NPORTS_MGMT (2),
|
||||
.EXT_RTCFG_PORT (0),
|
||||
.PROTOVER (PROTOVER)
|
||||
) chdr_xb_i (
|
||||
.clk (rfnoc_chdr_clk),
|
||||
.reset (rfnoc_chdr_rst),
|
||||
.device_id (device_id),
|
||||
.s_axis_tdata ({ep3_to_xb_tdata, ep2_to_xb_tdata, ep1_to_xb_tdata, ep0_to_xb_tdata, s_dma_tdata, s_eth_tdata}),
|
||||
.s_axis_tlast ({ep3_to_xb_tlast, ep2_to_xb_tlast, ep1_to_xb_tlast, ep0_to_xb_tlast, s_dma_tlast, s_eth_tlast}),
|
||||
.s_axis_tvalid ({ep3_to_xb_tvalid, ep2_to_xb_tvalid, ep1_to_xb_tvalid, ep0_to_xb_tvalid, s_dma_tvalid, s_eth_tvalid}),
|
||||
.s_axis_tready ({ep3_to_xb_tready, ep2_to_xb_tready, ep1_to_xb_tready, ep0_to_xb_tready, s_dma_tready, s_eth_tready}),
|
||||
.m_axis_tdata ({xb_to_ep3_tdata, xb_to_ep2_tdata, xb_to_ep1_tdata, xb_to_ep0_tdata, m_dma_tdata, m_eth_tdata}),
|
||||
.m_axis_tlast ({xb_to_ep3_tlast, xb_to_ep2_tlast, xb_to_ep1_tlast, xb_to_ep0_tlast, m_dma_tlast, m_eth_tlast}),
|
||||
.m_axis_tvalid ({xb_to_ep3_tvalid, xb_to_ep2_tvalid, xb_to_ep1_tvalid, xb_to_ep0_tvalid, m_dma_tvalid, m_eth_tvalid}),
|
||||
.m_axis_tready ({xb_to_ep3_tready, xb_to_ep2_tready, xb_to_ep1_tready, xb_to_ep0_tready, m_dma_tready, m_eth_tready}),
|
||||
.ext_rtcfg_stb (1'h0),
|
||||
.ext_rtcfg_addr (16'h0),
|
||||
.ext_rtcfg_data (32'h0),
|
||||
.ext_rtcfg_ack ()
|
||||
);
|
||||
|
||||
// ----------------------------------------------------
|
||||
// Stream Endpoints
|
||||
// ----------------------------------------------------
|
||||
|
||||
wire [CHDR_W-1:0] m_ep0_out0_tdata;
|
||||
wire m_ep0_out0_tlast;
|
||||
wire m_ep0_out0_tvalid;
|
||||
wire m_ep0_out0_tready;
|
||||
wire [CHDR_W-1:0] s_ep0_in0_tdata;
|
||||
wire s_ep0_in0_tlast;
|
||||
wire s_ep0_in0_tvalid;
|
||||
wire s_ep0_in0_tready;
|
||||
wire [31:0] m_ep0_ctrl_tdata , s_ep0_ctrl_tdata ;
|
||||
wire m_ep0_ctrl_tlast , s_ep0_ctrl_tlast ;
|
||||
wire m_ep0_ctrl_tvalid, s_ep0_ctrl_tvalid;
|
||||
wire m_ep0_ctrl_tready, s_ep0_ctrl_tready;
|
||||
|
||||
chdr_stream_endpoint #(
|
||||
.PROTOVER (PROTOVER),
|
||||
.CHDR_W (CHDR_W),
|
||||
.AXIS_CTRL_EN (1),
|
||||
.AXIS_DATA_EN (1),
|
||||
.NUM_DATA_I (1),
|
||||
.NUM_DATA_O (1),
|
||||
.INST_NUM (0),
|
||||
.CTRL_XBAR_PORT (1),
|
||||
.INGRESS_BUFF_SIZE (15),
|
||||
.MTU (MTU),
|
||||
.REPORT_STRM_ERRS (1)
|
||||
) ep0_i (
|
||||
.rfnoc_chdr_clk (rfnoc_chdr_clk ),
|
||||
.rfnoc_chdr_rst (rfnoc_chdr_rst ),
|
||||
.rfnoc_ctrl_clk (rfnoc_ctrl_clk ),
|
||||
.rfnoc_ctrl_rst (rfnoc_ctrl_rst ),
|
||||
.device_id (device_id ),
|
||||
.s_axis_chdr_tdata (xb_to_ep0_tdata ),
|
||||
.s_axis_chdr_tlast (xb_to_ep0_tlast ),
|
||||
.s_axis_chdr_tvalid (xb_to_ep0_tvalid ),
|
||||
.s_axis_chdr_tready (xb_to_ep0_tready ),
|
||||
.m_axis_chdr_tdata (ep0_to_xb_tdata ),
|
||||
.m_axis_chdr_tlast (ep0_to_xb_tlast ),
|
||||
.m_axis_chdr_tvalid (ep0_to_xb_tvalid ),
|
||||
.m_axis_chdr_tready (ep0_to_xb_tready ),
|
||||
.s_axis_data_tdata ({s_ep0_in0_tdata}),
|
||||
.s_axis_data_tlast ({s_ep0_in0_tlast}),
|
||||
.s_axis_data_tvalid ({s_ep0_in0_tvalid}),
|
||||
.s_axis_data_tready ({s_ep0_in0_tready}),
|
||||
.m_axis_data_tdata ({m_ep0_out0_tdata}),
|
||||
.m_axis_data_tlast ({m_ep0_out0_tlast}),
|
||||
.m_axis_data_tvalid ({m_ep0_out0_tvalid}),
|
||||
.m_axis_data_tready ({m_ep0_out0_tready}),
|
||||
.s_axis_ctrl_tdata (s_ep0_ctrl_tdata ),
|
||||
.s_axis_ctrl_tlast (s_ep0_ctrl_tlast ),
|
||||
.s_axis_ctrl_tvalid (s_ep0_ctrl_tvalid),
|
||||
.s_axis_ctrl_tready (s_ep0_ctrl_tready),
|
||||
.m_axis_ctrl_tdata (m_ep0_ctrl_tdata ),
|
||||
.m_axis_ctrl_tlast (m_ep0_ctrl_tlast ),
|
||||
.m_axis_ctrl_tvalid (m_ep0_ctrl_tvalid),
|
||||
.m_axis_ctrl_tready (m_ep0_ctrl_tready),
|
||||
.strm_seq_err_stb ( ),
|
||||
.strm_data_err_stb ( ),
|
||||
.strm_route_err_stb ( ),
|
||||
.signal_data_err (1'b0 )
|
||||
);
|
||||
|
||||
wire [CHDR_W-1:0] m_ep1_out0_tdata;
|
||||
wire m_ep1_out0_tlast;
|
||||
wire m_ep1_out0_tvalid;
|
||||
wire m_ep1_out0_tready;
|
||||
wire [CHDR_W-1:0] s_ep1_in0_tdata;
|
||||
wire s_ep1_in0_tlast;
|
||||
wire s_ep1_in0_tvalid;
|
||||
wire s_ep1_in0_tready;
|
||||
wire [31:0] m_ep1_ctrl_tdata , s_ep1_ctrl_tdata ;
|
||||
wire m_ep1_ctrl_tlast , s_ep1_ctrl_tlast ;
|
||||
wire m_ep1_ctrl_tvalid, s_ep1_ctrl_tvalid;
|
||||
wire m_ep1_ctrl_tready, s_ep1_ctrl_tready;
|
||||
|
||||
chdr_stream_endpoint #(
|
||||
.PROTOVER (PROTOVER),
|
||||
.CHDR_W (CHDR_W),
|
||||
.AXIS_CTRL_EN (0),
|
||||
.AXIS_DATA_EN (1),
|
||||
.NUM_DATA_I (1),
|
||||
.NUM_DATA_O (1),
|
||||
.INST_NUM (1),
|
||||
.CTRL_XBAR_PORT (2),
|
||||
.INGRESS_BUFF_SIZE (15),
|
||||
.MTU (MTU),
|
||||
.REPORT_STRM_ERRS (1)
|
||||
) ep1_i (
|
||||
.rfnoc_chdr_clk (rfnoc_chdr_clk ),
|
||||
.rfnoc_chdr_rst (rfnoc_chdr_rst ),
|
||||
.rfnoc_ctrl_clk (rfnoc_ctrl_clk ),
|
||||
.rfnoc_ctrl_rst (rfnoc_ctrl_rst ),
|
||||
.device_id (device_id ),
|
||||
.s_axis_chdr_tdata (xb_to_ep1_tdata ),
|
||||
.s_axis_chdr_tlast (xb_to_ep1_tlast ),
|
||||
.s_axis_chdr_tvalid (xb_to_ep1_tvalid ),
|
||||
.s_axis_chdr_tready (xb_to_ep1_tready ),
|
||||
.m_axis_chdr_tdata (ep1_to_xb_tdata ),
|
||||
.m_axis_chdr_tlast (ep1_to_xb_tlast ),
|
||||
.m_axis_chdr_tvalid (ep1_to_xb_tvalid ),
|
||||
.m_axis_chdr_tready (ep1_to_xb_tready ),
|
||||
.s_axis_data_tdata ({s_ep1_in0_tdata}),
|
||||
.s_axis_data_tlast ({s_ep1_in0_tlast}),
|
||||
.s_axis_data_tvalid ({s_ep1_in0_tvalid}),
|
||||
.s_axis_data_tready ({s_ep1_in0_tready}),
|
||||
.m_axis_data_tdata ({m_ep1_out0_tdata}),
|
||||
.m_axis_data_tlast ({m_ep1_out0_tlast}),
|
||||
.m_axis_data_tvalid ({m_ep1_out0_tvalid}),
|
||||
.m_axis_data_tready ({m_ep1_out0_tready}),
|
||||
.s_axis_ctrl_tdata (s_ep1_ctrl_tdata ),
|
||||
.s_axis_ctrl_tlast (s_ep1_ctrl_tlast ),
|
||||
.s_axis_ctrl_tvalid (s_ep1_ctrl_tvalid),
|
||||
.s_axis_ctrl_tready (s_ep1_ctrl_tready),
|
||||
.m_axis_ctrl_tdata (m_ep1_ctrl_tdata ),
|
||||
.m_axis_ctrl_tlast (m_ep1_ctrl_tlast ),
|
||||
.m_axis_ctrl_tvalid (m_ep1_ctrl_tvalid),
|
||||
.m_axis_ctrl_tready (m_ep1_ctrl_tready),
|
||||
.strm_seq_err_stb ( ),
|
||||
.strm_data_err_stb ( ),
|
||||
.strm_route_err_stb ( ),
|
||||
.signal_data_err (1'b0 )
|
||||
);
|
||||
|
||||
wire [CHDR_W-1:0] m_ep2_out0_tdata;
|
||||
wire m_ep2_out0_tlast;
|
||||
wire m_ep2_out0_tvalid;
|
||||
wire m_ep2_out0_tready;
|
||||
wire [CHDR_W-1:0] s_ep2_in0_tdata;
|
||||
wire s_ep2_in0_tlast;
|
||||
wire s_ep2_in0_tvalid;
|
||||
wire s_ep2_in0_tready;
|
||||
wire [31:0] m_ep2_ctrl_tdata , s_ep2_ctrl_tdata ;
|
||||
wire m_ep2_ctrl_tlast , s_ep2_ctrl_tlast ;
|
||||
wire m_ep2_ctrl_tvalid, s_ep2_ctrl_tvalid;
|
||||
wire m_ep2_ctrl_tready, s_ep2_ctrl_tready;
|
||||
|
||||
chdr_stream_endpoint #(
|
||||
.PROTOVER (PROTOVER),
|
||||
.CHDR_W (CHDR_W),
|
||||
.AXIS_CTRL_EN (0),
|
||||
.AXIS_DATA_EN (1),
|
||||
.NUM_DATA_I (1),
|
||||
.NUM_DATA_O (1),
|
||||
.INST_NUM (2),
|
||||
.CTRL_XBAR_PORT (3),
|
||||
.INGRESS_BUFF_SIZE (13),
|
||||
.MTU (MTU),
|
||||
.REPORT_STRM_ERRS (1)
|
||||
) ep2_i (
|
||||
.rfnoc_chdr_clk (rfnoc_chdr_clk ),
|
||||
.rfnoc_chdr_rst (rfnoc_chdr_rst ),
|
||||
.rfnoc_ctrl_clk (rfnoc_ctrl_clk ),
|
||||
.rfnoc_ctrl_rst (rfnoc_ctrl_rst ),
|
||||
.device_id (device_id ),
|
||||
.s_axis_chdr_tdata (xb_to_ep2_tdata ),
|
||||
.s_axis_chdr_tlast (xb_to_ep2_tlast ),
|
||||
.s_axis_chdr_tvalid (xb_to_ep2_tvalid ),
|
||||
.s_axis_chdr_tready (xb_to_ep2_tready ),
|
||||
.m_axis_chdr_tdata (ep2_to_xb_tdata ),
|
||||
.m_axis_chdr_tlast (ep2_to_xb_tlast ),
|
||||
.m_axis_chdr_tvalid (ep2_to_xb_tvalid ),
|
||||
.m_axis_chdr_tready (ep2_to_xb_tready ),
|
||||
.s_axis_data_tdata ({s_ep2_in0_tdata}),
|
||||
.s_axis_data_tlast ({s_ep2_in0_tlast}),
|
||||
.s_axis_data_tvalid ({s_ep2_in0_tvalid}),
|
||||
.s_axis_data_tready ({s_ep2_in0_tready}),
|
||||
.m_axis_data_tdata ({m_ep2_out0_tdata}),
|
||||
.m_axis_data_tlast ({m_ep2_out0_tlast}),
|
||||
.m_axis_data_tvalid ({m_ep2_out0_tvalid}),
|
||||
.m_axis_data_tready ({m_ep2_out0_tready}),
|
||||
.s_axis_ctrl_tdata (s_ep2_ctrl_tdata ),
|
||||
.s_axis_ctrl_tlast (s_ep2_ctrl_tlast ),
|
||||
.s_axis_ctrl_tvalid (s_ep2_ctrl_tvalid),
|
||||
.s_axis_ctrl_tready (s_ep2_ctrl_tready),
|
||||
.m_axis_ctrl_tdata (m_ep2_ctrl_tdata ),
|
||||
.m_axis_ctrl_tlast (m_ep2_ctrl_tlast ),
|
||||
.m_axis_ctrl_tvalid (m_ep2_ctrl_tvalid),
|
||||
.m_axis_ctrl_tready (m_ep2_ctrl_tready),
|
||||
.strm_seq_err_stb ( ),
|
||||
.strm_data_err_stb ( ),
|
||||
.strm_route_err_stb ( ),
|
||||
.signal_data_err (1'b0 )
|
||||
);
|
||||
|
||||
wire [CHDR_W-1:0] m_ep3_out0_tdata;
|
||||
wire m_ep3_out0_tlast;
|
||||
wire m_ep3_out0_tvalid;
|
||||
wire m_ep3_out0_tready;
|
||||
wire [CHDR_W-1:0] s_ep3_in0_tdata;
|
||||
wire s_ep3_in0_tlast;
|
||||
wire s_ep3_in0_tvalid;
|
||||
wire s_ep3_in0_tready;
|
||||
wire [31:0] m_ep3_ctrl_tdata , s_ep3_ctrl_tdata ;
|
||||
wire m_ep3_ctrl_tlast , s_ep3_ctrl_tlast ;
|
||||
wire m_ep3_ctrl_tvalid, s_ep3_ctrl_tvalid;
|
||||
wire m_ep3_ctrl_tready, s_ep3_ctrl_tready;
|
||||
|
||||
chdr_stream_endpoint #(
|
||||
.PROTOVER (PROTOVER),
|
||||
.CHDR_W (CHDR_W),
|
||||
.AXIS_CTRL_EN (0),
|
||||
.AXIS_DATA_EN (1),
|
||||
.NUM_DATA_I (1),
|
||||
.NUM_DATA_O (1),
|
||||
.INST_NUM (3),
|
||||
.CTRL_XBAR_PORT (4),
|
||||
.INGRESS_BUFF_SIZE (13),
|
||||
.MTU (MTU),
|
||||
.REPORT_STRM_ERRS (1)
|
||||
) ep3_i (
|
||||
.rfnoc_chdr_clk (rfnoc_chdr_clk ),
|
||||
.rfnoc_chdr_rst (rfnoc_chdr_rst ),
|
||||
.rfnoc_ctrl_clk (rfnoc_ctrl_clk ),
|
||||
.rfnoc_ctrl_rst (rfnoc_ctrl_rst ),
|
||||
.device_id (device_id ),
|
||||
.s_axis_chdr_tdata (xb_to_ep3_tdata ),
|
||||
.s_axis_chdr_tlast (xb_to_ep3_tlast ),
|
||||
.s_axis_chdr_tvalid (xb_to_ep3_tvalid ),
|
||||
.s_axis_chdr_tready (xb_to_ep3_tready ),
|
||||
.m_axis_chdr_tdata (ep3_to_xb_tdata ),
|
||||
.m_axis_chdr_tlast (ep3_to_xb_tlast ),
|
||||
.m_axis_chdr_tvalid (ep3_to_xb_tvalid ),
|
||||
.m_axis_chdr_tready (ep3_to_xb_tready ),
|
||||
.s_axis_data_tdata ({s_ep3_in0_tdata}),
|
||||
.s_axis_data_tlast ({s_ep3_in0_tlast}),
|
||||
.s_axis_data_tvalid ({s_ep3_in0_tvalid}),
|
||||
.s_axis_data_tready ({s_ep3_in0_tready}),
|
||||
.m_axis_data_tdata ({m_ep3_out0_tdata}),
|
||||
.m_axis_data_tlast ({m_ep3_out0_tlast}),
|
||||
.m_axis_data_tvalid ({m_ep3_out0_tvalid}),
|
||||
.m_axis_data_tready ({m_ep3_out0_tready}),
|
||||
.s_axis_ctrl_tdata (s_ep3_ctrl_tdata ),
|
||||
.s_axis_ctrl_tlast (s_ep3_ctrl_tlast ),
|
||||
.s_axis_ctrl_tvalid (s_ep3_ctrl_tvalid),
|
||||
.s_axis_ctrl_tready (s_ep3_ctrl_tready),
|
||||
.m_axis_ctrl_tdata (m_ep3_ctrl_tdata ),
|
||||
.m_axis_ctrl_tlast (m_ep3_ctrl_tlast ),
|
||||
.m_axis_ctrl_tvalid (m_ep3_ctrl_tvalid),
|
||||
.m_axis_ctrl_tready (m_ep3_ctrl_tready),
|
||||
.strm_seq_err_stb ( ),
|
||||
.strm_data_err_stb ( ),
|
||||
.strm_route_err_stb ( ),
|
||||
.signal_data_err (1'b0 )
|
||||
);
|
||||
|
||||
|
||||
|
||||
// ----------------------------------------------------
|
||||
// Control Crossbar
|
||||
// ----------------------------------------------------
|
||||
|
||||
wire [31:0] m_core_ctrl_tdata , s_core_ctrl_tdata ;
|
||||
wire m_core_ctrl_tlast , s_core_ctrl_tlast ;
|
||||
wire m_core_ctrl_tvalid, s_core_ctrl_tvalid;
|
||||
wire m_core_ctrl_tready, s_core_ctrl_tready;
|
||||
wire [31:0] m_duc0_ctrl_tdata , s_duc0_ctrl_tdata ;
|
||||
wire m_duc0_ctrl_tlast , s_duc0_ctrl_tlast ;
|
||||
wire m_duc0_ctrl_tvalid, s_duc0_ctrl_tvalid;
|
||||
wire m_duc0_ctrl_tready, s_duc0_ctrl_tready;
|
||||
wire [31:0] m_ddc0_ctrl_tdata , s_ddc0_ctrl_tdata ;
|
||||
wire m_ddc0_ctrl_tlast , s_ddc0_ctrl_tlast ;
|
||||
wire m_ddc0_ctrl_tvalid, s_ddc0_ctrl_tvalid;
|
||||
wire m_ddc0_ctrl_tready, s_ddc0_ctrl_tready;
|
||||
wire [31:0] m_radio0_ctrl_tdata , s_radio0_ctrl_tdata ;
|
||||
wire m_radio0_ctrl_tlast , s_radio0_ctrl_tlast ;
|
||||
wire m_radio0_ctrl_tvalid, s_radio0_ctrl_tvalid;
|
||||
wire m_radio0_ctrl_tready, s_radio0_ctrl_tready;
|
||||
wire [31:0] m_fifo0_ctrl_tdata , s_fifo0_ctrl_tdata ;
|
||||
wire m_fifo0_ctrl_tlast , s_fifo0_ctrl_tlast ;
|
||||
wire m_fifo0_ctrl_tvalid, s_fifo0_ctrl_tvalid;
|
||||
wire m_fifo0_ctrl_tready, s_fifo0_ctrl_tready;
|
||||
|
||||
axis_ctrl_crossbar_nxn #(
|
||||
.WIDTH (32),
|
||||
.NPORTS (6),
|
||||
.TOPOLOGY ("TORUS"),
|
||||
.INGRESS_BUFF_SIZE(5),
|
||||
.ROUTER_BUFF_SIZE (5),
|
||||
.ROUTING_ALLOC ("WORMHOLE"),
|
||||
.SWITCH_ALLOC ("PRIO")
|
||||
) ctrl_xb_i (
|
||||
.clk (rfnoc_ctrl_clk),
|
||||
.reset (rfnoc_ctrl_rst),
|
||||
.s_axis_tdata ({m_fifo0_ctrl_tdata , m_radio0_ctrl_tdata , m_ddc0_ctrl_tdata , m_duc0_ctrl_tdata , m_ep0_ctrl_tdata , m_core_ctrl_tdata }),
|
||||
.s_axis_tvalid ({m_fifo0_ctrl_tvalid, m_radio0_ctrl_tvalid, m_ddc0_ctrl_tvalid, m_duc0_ctrl_tvalid, m_ep0_ctrl_tvalid, m_core_ctrl_tvalid}),
|
||||
.s_axis_tlast ({m_fifo0_ctrl_tlast , m_radio0_ctrl_tlast , m_ddc0_ctrl_tlast , m_duc0_ctrl_tlast , m_ep0_ctrl_tlast , m_core_ctrl_tlast }),
|
||||
.s_axis_tready ({m_fifo0_ctrl_tready, m_radio0_ctrl_tready, m_ddc0_ctrl_tready, m_duc0_ctrl_tready, m_ep0_ctrl_tready, m_core_ctrl_tready}),
|
||||
.m_axis_tdata ({s_fifo0_ctrl_tdata , s_radio0_ctrl_tdata , s_ddc0_ctrl_tdata , s_duc0_ctrl_tdata , s_ep0_ctrl_tdata , s_core_ctrl_tdata }),
|
||||
.m_axis_tvalid ({s_fifo0_ctrl_tvalid, s_radio0_ctrl_tvalid, s_ddc0_ctrl_tvalid, s_duc0_ctrl_tvalid, s_ep0_ctrl_tvalid, s_core_ctrl_tvalid}),
|
||||
.m_axis_tlast ({s_fifo0_ctrl_tlast , s_radio0_ctrl_tlast , s_ddc0_ctrl_tlast , s_duc0_ctrl_tlast , s_ep0_ctrl_tlast , s_core_ctrl_tlast }),
|
||||
.m_axis_tready ({s_fifo0_ctrl_tready, s_radio0_ctrl_tready, s_ddc0_ctrl_tready, s_duc0_ctrl_tready, s_ep0_ctrl_tready, s_core_ctrl_tready}),
|
||||
.deadlock_detected()
|
||||
);
|
||||
|
||||
// ----------------------------------------------------
|
||||
// RFNoC Core Kernel
|
||||
// ----------------------------------------------------
|
||||
wire [(512*4)-1:0] rfnoc_core_config, rfnoc_core_status;
|
||||
|
||||
rfnoc_core_kernel #(
|
||||
.PROTOVER (PROTOVER),
|
||||
.DEVICE_TYPE (16'hE320),
|
||||
.DEVICE_FAMILY ("7SERIES"),
|
||||
.SAFE_START_CLKS (0),
|
||||
.NUM_BLOCKS (4),
|
||||
.NUM_STREAM_ENDPOINTS(4),
|
||||
.NUM_ENDPOINTS_CTRL (1),
|
||||
.NUM_TRANSPORTS (2),
|
||||
.NUM_EDGES (12),
|
||||
.CHDR_XBAR_PRESENT (1),
|
||||
.EDGE_TBL_FILE (EDGE_TBL_FILE)
|
||||
) core_kernel_i (
|
||||
.chdr_aclk (chdr_aclk),
|
||||
.chdr_aclk_locked (1'b1),
|
||||
.ctrl_aclk (ctrl_aclk),
|
||||
.ctrl_aclk_locked (1'b1),
|
||||
.core_arst (core_arst),
|
||||
.core_chdr_clk (rfnoc_chdr_clk),
|
||||
.core_chdr_rst (rfnoc_chdr_rst),
|
||||
.core_ctrl_clk (rfnoc_ctrl_clk),
|
||||
.core_ctrl_rst (rfnoc_ctrl_rst),
|
||||
.s_axis_ctrl_tdata (s_core_ctrl_tdata ),
|
||||
.s_axis_ctrl_tlast (s_core_ctrl_tlast ),
|
||||
.s_axis_ctrl_tvalid (s_core_ctrl_tvalid),
|
||||
.s_axis_ctrl_tready (s_core_ctrl_tready),
|
||||
.m_axis_ctrl_tdata (m_core_ctrl_tdata ),
|
||||
.m_axis_ctrl_tlast (m_core_ctrl_tlast ),
|
||||
.m_axis_ctrl_tvalid (m_core_ctrl_tvalid),
|
||||
.m_axis_ctrl_tready (m_core_ctrl_tready),
|
||||
.device_id (device_id),
|
||||
.rfnoc_core_config (rfnoc_core_config),
|
||||
.rfnoc_core_status (rfnoc_core_status)
|
||||
);
|
||||
|
||||
// ----------------------------------------------------
|
||||
// Blocks
|
||||
// ----------------------------------------------------
|
||||
|
||||
// ----------------------------------------------------
|
||||
// duc0
|
||||
// ----------------------------------------------------
|
||||
wire duc0_ce_clk;
|
||||
wire [CHDR_W-1:0] s_duc0_in_1_tdata , s_duc0_in_0_tdata ;
|
||||
wire s_duc0_in_1_tlast , s_duc0_in_0_tlast ;
|
||||
wire s_duc0_in_1_tvalid, s_duc0_in_0_tvalid;
|
||||
wire s_duc0_in_1_tready, s_duc0_in_0_tready;
|
||||
wire [CHDR_W-1:0] m_duc0_out_1_tdata , m_duc0_out_0_tdata ;
|
||||
wire m_duc0_out_1_tlast , m_duc0_out_0_tlast ;
|
||||
wire m_duc0_out_1_tvalid, m_duc0_out_0_tvalid;
|
||||
wire m_duc0_out_1_tready, m_duc0_out_0_tready;
|
||||
|
||||
|
||||
rfnoc_block_duc #(
|
||||
.THIS_PORTID(2),
|
||||
.CHDR_W(CHDR_W),
|
||||
.NUM_PORTS(2),
|
||||
.NUM_HB(3),
|
||||
.CIC_MAX_INTERP(255),
|
||||
.MTU(MTU)
|
||||
) b_duc0_0 (
|
||||
.rfnoc_chdr_clk (rfnoc_chdr_clk),
|
||||
.rfnoc_ctrl_clk (rfnoc_ctrl_clk),
|
||||
.ce_clk(duc0_ce_clk),
|
||||
.rfnoc_core_config (rfnoc_core_config[512*1-1:512*0]),
|
||||
.rfnoc_core_status (rfnoc_core_status[512*1-1:512*0]),
|
||||
|
||||
|
||||
.s_rfnoc_chdr_tdata ({s_duc0_in_1_tdata , s_duc0_in_0_tdata }),
|
||||
.s_rfnoc_chdr_tlast ({s_duc0_in_1_tlast , s_duc0_in_0_tlast }),
|
||||
.s_rfnoc_chdr_tvalid({s_duc0_in_1_tvalid, s_duc0_in_0_tvalid}),
|
||||
.s_rfnoc_chdr_tready({s_duc0_in_1_tready, s_duc0_in_0_tready}),
|
||||
.m_rfnoc_chdr_tdata ({m_duc0_out_1_tdata , m_duc0_out_0_tdata }),
|
||||
.m_rfnoc_chdr_tlast ({m_duc0_out_1_tlast , m_duc0_out_0_tlast }),
|
||||
.m_rfnoc_chdr_tvalid({m_duc0_out_1_tvalid, m_duc0_out_0_tvalid}),
|
||||
.m_rfnoc_chdr_tready({m_duc0_out_1_tready, m_duc0_out_0_tready}),
|
||||
.s_rfnoc_ctrl_tdata (s_duc0_ctrl_tdata ),
|
||||
.s_rfnoc_ctrl_tlast (s_duc0_ctrl_tlast ),
|
||||
.s_rfnoc_ctrl_tvalid(s_duc0_ctrl_tvalid),
|
||||
.s_rfnoc_ctrl_tready(s_duc0_ctrl_tready),
|
||||
.m_rfnoc_ctrl_tdata (m_duc0_ctrl_tdata ),
|
||||
.m_rfnoc_ctrl_tlast (m_duc0_ctrl_tlast ),
|
||||
.m_rfnoc_ctrl_tvalid(m_duc0_ctrl_tvalid),
|
||||
.m_rfnoc_ctrl_tready(m_duc0_ctrl_tready)
|
||||
);
|
||||
|
||||
|
||||
// ----------------------------------------------------
|
||||
// ddc0
|
||||
// ----------------------------------------------------
|
||||
wire ddc0_ce_clk;
|
||||
wire [CHDR_W-1:0] s_ddc0_in_1_tdata , s_ddc0_in_0_tdata ;
|
||||
wire s_ddc0_in_1_tlast , s_ddc0_in_0_tlast ;
|
||||
wire s_ddc0_in_1_tvalid, s_ddc0_in_0_tvalid;
|
||||
wire s_ddc0_in_1_tready, s_ddc0_in_0_tready;
|
||||
wire [CHDR_W-1:0] m_ddc0_out_1_tdata , m_ddc0_out_0_tdata ;
|
||||
wire m_ddc0_out_1_tlast , m_ddc0_out_0_tlast ;
|
||||
wire m_ddc0_out_1_tvalid, m_ddc0_out_0_tvalid;
|
||||
wire m_ddc0_out_1_tready, m_ddc0_out_0_tready;
|
||||
|
||||
|
||||
rfnoc_block_ddc #(
|
||||
.THIS_PORTID(3),
|
||||
.CHDR_W(CHDR_W),
|
||||
.NUM_PORTS(2),
|
||||
.NUM_HB(3),
|
||||
.CIC_MAX_DECIM(255),
|
||||
.MTU(MTU)
|
||||
) b_ddc0_1 (
|
||||
.rfnoc_chdr_clk (rfnoc_chdr_clk),
|
||||
.rfnoc_ctrl_clk (rfnoc_ctrl_clk),
|
||||
.ce_clk(ddc0_ce_clk),
|
||||
.rfnoc_core_config (rfnoc_core_config[512*2-1:512*1]),
|
||||
.rfnoc_core_status (rfnoc_core_status[512*2-1:512*1]),
|
||||
|
||||
|
||||
.s_rfnoc_chdr_tdata ({s_ddc0_in_1_tdata , s_ddc0_in_0_tdata }),
|
||||
.s_rfnoc_chdr_tlast ({s_ddc0_in_1_tlast , s_ddc0_in_0_tlast }),
|
||||
.s_rfnoc_chdr_tvalid({s_ddc0_in_1_tvalid, s_ddc0_in_0_tvalid}),
|
||||
.s_rfnoc_chdr_tready({s_ddc0_in_1_tready, s_ddc0_in_0_tready}),
|
||||
.m_rfnoc_chdr_tdata ({m_ddc0_out_1_tdata , m_ddc0_out_0_tdata }),
|
||||
.m_rfnoc_chdr_tlast ({m_ddc0_out_1_tlast , m_ddc0_out_0_tlast }),
|
||||
.m_rfnoc_chdr_tvalid({m_ddc0_out_1_tvalid, m_ddc0_out_0_tvalid}),
|
||||
.m_rfnoc_chdr_tready({m_ddc0_out_1_tready, m_ddc0_out_0_tready}),
|
||||
.s_rfnoc_ctrl_tdata (s_ddc0_ctrl_tdata ),
|
||||
.s_rfnoc_ctrl_tlast (s_ddc0_ctrl_tlast ),
|
||||
.s_rfnoc_ctrl_tvalid(s_ddc0_ctrl_tvalid),
|
||||
.s_rfnoc_ctrl_tready(s_ddc0_ctrl_tready),
|
||||
.m_rfnoc_ctrl_tdata (m_ddc0_ctrl_tdata ),
|
||||
.m_rfnoc_ctrl_tlast (m_ddc0_ctrl_tlast ),
|
||||
.m_rfnoc_ctrl_tvalid(m_ddc0_ctrl_tvalid),
|
||||
.m_rfnoc_ctrl_tready(m_ddc0_ctrl_tready)
|
||||
);
|
||||
|
||||
|
||||
// ----------------------------------------------------
|
||||
// radio0
|
||||
// ----------------------------------------------------
|
||||
wire radio0_radio_clk;
|
||||
wire [CHDR_W-1:0] s_radio0_in_1_tdata , s_radio0_in_0_tdata ;
|
||||
wire s_radio0_in_1_tlast , s_radio0_in_0_tlast ;
|
||||
wire s_radio0_in_1_tvalid, s_radio0_in_0_tvalid;
|
||||
wire s_radio0_in_1_tready, s_radio0_in_0_tready;
|
||||
wire [CHDR_W-1:0] m_radio0_out_1_tdata , m_radio0_out_0_tdata ;
|
||||
wire m_radio0_out_1_tlast , m_radio0_out_0_tlast ;
|
||||
wire m_radio0_out_1_tvalid, m_radio0_out_0_tvalid;
|
||||
wire m_radio0_out_1_tready, m_radio0_out_0_tready;
|
||||
|
||||
// ctrl_port
|
||||
wire [ 1-1:0] radio0_m_ctrlport_req_wr;
|
||||
wire [ 1-1:0] radio0_m_ctrlport_req_rd;
|
||||
wire [ 20-1:0] radio0_m_ctrlport_req_addr;
|
||||
wire [ 32-1:0] radio0_m_ctrlport_req_data;
|
||||
wire [ 4-1:0] radio0_m_ctrlport_req_byte_en;
|
||||
wire [ 1-1:0] radio0_m_ctrlport_req_has_time;
|
||||
wire [ 64-1:0] radio0_m_ctrlport_req_time;
|
||||
wire [ 1-1:0] radio0_m_ctrlport_resp_ack;
|
||||
wire [ 2-1:0] radio0_m_ctrlport_resp_status;
|
||||
wire [ 32-1:0] radio0_m_ctrlport_resp_data;
|
||||
// time_keeper
|
||||
wire [ 64-1:0] radio0_radio_time;
|
||||
// x300_radio
|
||||
wire [ 64-1:0] radio0_radio_rx_data;
|
||||
wire [ 2-1:0] radio0_radio_rx_stb;
|
||||
wire [ 2-1:0] radio0_radio_rx_running;
|
||||
wire [ 64-1:0] radio0_radio_tx_data;
|
||||
wire [ 2-1:0] radio0_radio_tx_stb;
|
||||
wire [ 2-1:0] radio0_radio_tx_running;
|
||||
|
||||
rfnoc_block_radio #(
|
||||
.THIS_PORTID(4),
|
||||
.CHDR_W(CHDR_W),
|
||||
.NUM_PORTS(2),
|
||||
.MTU(MTU)
|
||||
) b_radio0_2 (
|
||||
.rfnoc_chdr_clk (rfnoc_chdr_clk),
|
||||
.rfnoc_ctrl_clk (rfnoc_ctrl_clk),
|
||||
.radio_clk(radio0_radio_clk),
|
||||
.rfnoc_core_config (rfnoc_core_config[512*3-1:512*2]),
|
||||
.rfnoc_core_status (rfnoc_core_status[512*3-1:512*2]),
|
||||
|
||||
.m_ctrlport_req_wr(radio0_m_ctrlport_req_wr),
|
||||
.m_ctrlport_req_rd(radio0_m_ctrlport_req_rd),
|
||||
.m_ctrlport_req_addr(radio0_m_ctrlport_req_addr),
|
||||
.m_ctrlport_req_data(radio0_m_ctrlport_req_data),
|
||||
.m_ctrlport_req_byte_en(radio0_m_ctrlport_req_byte_en),
|
||||
.m_ctrlport_req_has_time(radio0_m_ctrlport_req_has_time),
|
||||
.m_ctrlport_req_time(radio0_m_ctrlport_req_time),
|
||||
.m_ctrlport_resp_ack(radio0_m_ctrlport_resp_ack),
|
||||
.m_ctrlport_resp_status(radio0_m_ctrlport_resp_status),
|
||||
.m_ctrlport_resp_data(radio0_m_ctrlport_resp_data),
|
||||
.radio_time(radio0_radio_time),
|
||||
.radio_rx_data(radio0_radio_rx_data),
|
||||
.radio_rx_stb(radio0_radio_rx_stb),
|
||||
.radio_rx_running(radio0_radio_rx_running),
|
||||
.radio_tx_data(radio0_radio_tx_data),
|
||||
.radio_tx_stb(radio0_radio_tx_stb),
|
||||
.radio_tx_running(radio0_radio_tx_running),
|
||||
|
||||
.s_rfnoc_chdr_tdata ({s_radio0_in_1_tdata , s_radio0_in_0_tdata }),
|
||||
.s_rfnoc_chdr_tlast ({s_radio0_in_1_tlast , s_radio0_in_0_tlast }),
|
||||
.s_rfnoc_chdr_tvalid({s_radio0_in_1_tvalid, s_radio0_in_0_tvalid}),
|
||||
.s_rfnoc_chdr_tready({s_radio0_in_1_tready, s_radio0_in_0_tready}),
|
||||
.m_rfnoc_chdr_tdata ({m_radio0_out_1_tdata , m_radio0_out_0_tdata }),
|
||||
.m_rfnoc_chdr_tlast ({m_radio0_out_1_tlast , m_radio0_out_0_tlast }),
|
||||
.m_rfnoc_chdr_tvalid({m_radio0_out_1_tvalid, m_radio0_out_0_tvalid}),
|
||||
.m_rfnoc_chdr_tready({m_radio0_out_1_tready, m_radio0_out_0_tready}),
|
||||
.s_rfnoc_ctrl_tdata (s_radio0_ctrl_tdata ),
|
||||
.s_rfnoc_ctrl_tlast (s_radio0_ctrl_tlast ),
|
||||
.s_rfnoc_ctrl_tvalid(s_radio0_ctrl_tvalid),
|
||||
.s_rfnoc_ctrl_tready(s_radio0_ctrl_tready),
|
||||
.m_rfnoc_ctrl_tdata (m_radio0_ctrl_tdata ),
|
||||
.m_rfnoc_ctrl_tlast (m_radio0_ctrl_tlast ),
|
||||
.m_rfnoc_ctrl_tvalid(m_radio0_ctrl_tvalid),
|
||||
.m_rfnoc_ctrl_tready(m_radio0_ctrl_tready)
|
||||
);
|
||||
|
||||
|
||||
// ----------------------------------------------------
|
||||
// fifo0
|
||||
// ----------------------------------------------------
|
||||
wire fifo0_mem_clk;
|
||||
wire [CHDR_W-1:0] s_fifo0_in_1_tdata , s_fifo0_in_0_tdata ;
|
||||
wire s_fifo0_in_1_tlast , s_fifo0_in_0_tlast ;
|
||||
wire s_fifo0_in_1_tvalid, s_fifo0_in_0_tvalid;
|
||||
wire s_fifo0_in_1_tready, s_fifo0_in_0_tready;
|
||||
wire [CHDR_W-1:0] m_fifo0_out_1_tdata , m_fifo0_out_0_tdata ;
|
||||
wire m_fifo0_out_1_tlast , m_fifo0_out_0_tlast ;
|
||||
wire m_fifo0_out_1_tvalid, m_fifo0_out_0_tvalid;
|
||||
wire m_fifo0_out_1_tready, m_fifo0_out_0_tready;
|
||||
|
||||
// axi_ram
|
||||
wire [ 1-1:0] fifo0_axi_rst;
|
||||
wire [ 2-1:0] fifo0_m_axi_awid;
|
||||
wire [ 64-1:0] fifo0_m_axi_awaddr;
|
||||
wire [ 16-1:0] fifo0_m_axi_awlen;
|
||||
wire [ 6-1:0] fifo0_m_axi_awsize;
|
||||
wire [ 4-1:0] fifo0_m_axi_awburst;
|
||||
wire [ 2-1:0] fifo0_m_axi_awlock;
|
||||
wire [ 8-1:0] fifo0_m_axi_awcache;
|
||||
wire [ 6-1:0] fifo0_m_axi_awprot;
|
||||
wire [ 8-1:0] fifo0_m_axi_awqos;
|
||||
wire [ 8-1:0] fifo0_m_axi_awregion;
|
||||
wire [ 2-1:0] fifo0_m_axi_awuser;
|
||||
wire [ 2-1:0] fifo0_m_axi_awvalid;
|
||||
wire [ 2-1:0] fifo0_m_axi_awready;
|
||||
wire [128-1:0] fifo0_m_axi_wdata;
|
||||
wire [ 16-1:0] fifo0_m_axi_wstrb;
|
||||
wire [ 2-1:0] fifo0_m_axi_wlast;
|
||||
wire [ 2-1:0] fifo0_m_axi_wuser;
|
||||
wire [ 2-1:0] fifo0_m_axi_wvalid;
|
||||
wire [ 2-1:0] fifo0_m_axi_wready;
|
||||
wire [ 2-1:0] fifo0_m_axi_bid;
|
||||
wire [ 4-1:0] fifo0_m_axi_bresp;
|
||||
wire [ 2-1:0] fifo0_m_axi_buser;
|
||||
wire [ 2-1:0] fifo0_m_axi_bvalid;
|
||||
wire [ 2-1:0] fifo0_m_axi_bready;
|
||||
wire [ 2-1:0] fifo0_m_axi_arid;
|
||||
wire [ 64-1:0] fifo0_m_axi_araddr;
|
||||
wire [ 16-1:0] fifo0_m_axi_arlen;
|
||||
wire [ 6-1:0] fifo0_m_axi_arsize;
|
||||
wire [ 4-1:0] fifo0_m_axi_arburst;
|
||||
wire [ 2-1:0] fifo0_m_axi_arlock;
|
||||
wire [ 8-1:0] fifo0_m_axi_arcache;
|
||||
wire [ 6-1:0] fifo0_m_axi_arprot;
|
||||
wire [ 8-1:0] fifo0_m_axi_arqos;
|
||||
wire [ 8-1:0] fifo0_m_axi_arregion;
|
||||
wire [ 2-1:0] fifo0_m_axi_aruser;
|
||||
wire [ 2-1:0] fifo0_m_axi_arvalid;
|
||||
wire [ 2-1:0] fifo0_m_axi_arready;
|
||||
wire [ 2-1:0] fifo0_m_axi_rid;
|
||||
wire [128-1:0] fifo0_m_axi_rdata;
|
||||
wire [ 4-1:0] fifo0_m_axi_rresp;
|
||||
wire [ 2-1:0] fifo0_m_axi_rlast;
|
||||
wire [ 2-1:0] fifo0_m_axi_ruser;
|
||||
wire [ 2-1:0] fifo0_m_axi_rvalid;
|
||||
wire [ 2-1:0] fifo0_m_axi_rready;
|
||||
|
||||
rfnoc_block_axi_ram_fifo #(
|
||||
.THIS_PORTID(5),
|
||||
.CHDR_W(CHDR_W),
|
||||
.MEM_ADDR_W(31),
|
||||
.MEM_DATA_W(64),
|
||||
.MEM_CLK_RATE(300e6),
|
||||
.FIFO_ADDR_BASE({31'h02000000, 31'h00000000}),
|
||||
.FIFO_ADDR_MASK({31'h01FFFFFF, 31'h01FFFFFF}),
|
||||
.NUM_PORTS(2),
|
||||
.MTU(MTU)
|
||||
) b_fifo0_3 (
|
||||
.rfnoc_chdr_clk (rfnoc_chdr_clk),
|
||||
.rfnoc_ctrl_clk (rfnoc_ctrl_clk),
|
||||
.mem_clk(fifo0_mem_clk),
|
||||
.rfnoc_core_config (rfnoc_core_config[512*4-1:512*3]),
|
||||
.rfnoc_core_status (rfnoc_core_status[512*4-1:512*3]),
|
||||
|
||||
.axi_rst(fifo0_axi_rst),
|
||||
.m_axi_awid(fifo0_m_axi_awid),
|
||||
.m_axi_awaddr(fifo0_m_axi_awaddr),
|
||||
.m_axi_awlen(fifo0_m_axi_awlen),
|
||||
.m_axi_awsize(fifo0_m_axi_awsize),
|
||||
.m_axi_awburst(fifo0_m_axi_awburst),
|
||||
.m_axi_awlock(fifo0_m_axi_awlock),
|
||||
.m_axi_awcache(fifo0_m_axi_awcache),
|
||||
.m_axi_awprot(fifo0_m_axi_awprot),
|
||||
.m_axi_awqos(fifo0_m_axi_awqos),
|
||||
.m_axi_awregion(fifo0_m_axi_awregion),
|
||||
.m_axi_awuser(fifo0_m_axi_awuser),
|
||||
.m_axi_awvalid(fifo0_m_axi_awvalid),
|
||||
.m_axi_awready(fifo0_m_axi_awready),
|
||||
.m_axi_wdata(fifo0_m_axi_wdata),
|
||||
.m_axi_wstrb(fifo0_m_axi_wstrb),
|
||||
.m_axi_wlast(fifo0_m_axi_wlast),
|
||||
.m_axi_wuser(fifo0_m_axi_wuser),
|
||||
.m_axi_wvalid(fifo0_m_axi_wvalid),
|
||||
.m_axi_wready(fifo0_m_axi_wready),
|
||||
.m_axi_bid(fifo0_m_axi_bid),
|
||||
.m_axi_bresp(fifo0_m_axi_bresp),
|
||||
.m_axi_buser(fifo0_m_axi_buser),
|
||||
.m_axi_bvalid(fifo0_m_axi_bvalid),
|
||||
.m_axi_bready(fifo0_m_axi_bready),
|
||||
.m_axi_arid(fifo0_m_axi_arid),
|
||||
.m_axi_araddr(fifo0_m_axi_araddr),
|
||||
.m_axi_arlen(fifo0_m_axi_arlen),
|
||||
.m_axi_arsize(fifo0_m_axi_arsize),
|
||||
.m_axi_arburst(fifo0_m_axi_arburst),
|
||||
.m_axi_arlock(fifo0_m_axi_arlock),
|
||||
.m_axi_arcache(fifo0_m_axi_arcache),
|
||||
.m_axi_arprot(fifo0_m_axi_arprot),
|
||||
.m_axi_arqos(fifo0_m_axi_arqos),
|
||||
.m_axi_arregion(fifo0_m_axi_arregion),
|
||||
.m_axi_aruser(fifo0_m_axi_aruser),
|
||||
.m_axi_arvalid(fifo0_m_axi_arvalid),
|
||||
.m_axi_arready(fifo0_m_axi_arready),
|
||||
.m_axi_rid(fifo0_m_axi_rid),
|
||||
.m_axi_rdata(fifo0_m_axi_rdata),
|
||||
.m_axi_rresp(fifo0_m_axi_rresp),
|
||||
.m_axi_rlast(fifo0_m_axi_rlast),
|
||||
.m_axi_ruser(fifo0_m_axi_ruser),
|
||||
.m_axi_rvalid(fifo0_m_axi_rvalid),
|
||||
.m_axi_rready(fifo0_m_axi_rready),
|
||||
|
||||
.s_rfnoc_chdr_tdata ({s_fifo0_in_1_tdata , s_fifo0_in_0_tdata }),
|
||||
.s_rfnoc_chdr_tlast ({s_fifo0_in_1_tlast , s_fifo0_in_0_tlast }),
|
||||
.s_rfnoc_chdr_tvalid({s_fifo0_in_1_tvalid, s_fifo0_in_0_tvalid}),
|
||||
.s_rfnoc_chdr_tready({s_fifo0_in_1_tready, s_fifo0_in_0_tready}),
|
||||
.m_rfnoc_chdr_tdata ({m_fifo0_out_1_tdata , m_fifo0_out_0_tdata }),
|
||||
.m_rfnoc_chdr_tlast ({m_fifo0_out_1_tlast , m_fifo0_out_0_tlast }),
|
||||
.m_rfnoc_chdr_tvalid({m_fifo0_out_1_tvalid, m_fifo0_out_0_tvalid}),
|
||||
.m_rfnoc_chdr_tready({m_fifo0_out_1_tready, m_fifo0_out_0_tready}),
|
||||
.s_rfnoc_ctrl_tdata (s_fifo0_ctrl_tdata ),
|
||||
.s_rfnoc_ctrl_tlast (s_fifo0_ctrl_tlast ),
|
||||
.s_rfnoc_ctrl_tvalid(s_fifo0_ctrl_tvalid),
|
||||
.s_rfnoc_ctrl_tready(s_fifo0_ctrl_tready),
|
||||
.m_rfnoc_ctrl_tdata (m_fifo0_ctrl_tdata ),
|
||||
.m_rfnoc_ctrl_tlast (m_fifo0_ctrl_tlast ),
|
||||
.m_rfnoc_ctrl_tvalid(m_fifo0_ctrl_tvalid),
|
||||
.m_rfnoc_ctrl_tready(m_fifo0_ctrl_tready)
|
||||
);
|
||||
|
||||
|
||||
// ----------------------------------------------------
|
||||
// Static Router
|
||||
// ----------------------------------------------------
|
||||
assign s_duc0_in_0_tdata = m_ep0_out0_tdata ;
|
||||
assign s_duc0_in_0_tlast = m_ep0_out0_tlast ;
|
||||
assign s_duc0_in_0_tvalid = m_ep0_out0_tvalid;
|
||||
assign m_ep0_out0_tready = s_duc0_in_0_tready;
|
||||
|
||||
assign s_radio0_in_0_tdata = m_duc0_out_0_tdata ;
|
||||
assign s_radio0_in_0_tlast = m_duc0_out_0_tlast ;
|
||||
assign s_radio0_in_0_tvalid = m_duc0_out_0_tvalid;
|
||||
assign m_duc0_out_0_tready = s_radio0_in_0_tready;
|
||||
|
||||
assign s_ddc0_in_0_tdata = m_radio0_out_0_tdata ;
|
||||
assign s_ddc0_in_0_tlast = m_radio0_out_0_tlast ;
|
||||
assign s_ddc0_in_0_tvalid = m_radio0_out_0_tvalid;
|
||||
assign m_radio0_out_0_tready = s_ddc0_in_0_tready;
|
||||
|
||||
assign s_ep0_in0_tdata = m_ddc0_out_0_tdata ;
|
||||
assign s_ep0_in0_tlast = m_ddc0_out_0_tlast ;
|
||||
assign s_ep0_in0_tvalid = m_ddc0_out_0_tvalid;
|
||||
assign m_ddc0_out_0_tready = s_ep0_in0_tready;
|
||||
|
||||
assign s_duc0_in_1_tdata = m_ep1_out0_tdata ;
|
||||
assign s_duc0_in_1_tlast = m_ep1_out0_tlast ;
|
||||
assign s_duc0_in_1_tvalid = m_ep1_out0_tvalid;
|
||||
assign m_ep1_out0_tready = s_duc0_in_1_tready;
|
||||
|
||||
assign s_radio0_in_1_tdata = m_duc0_out_1_tdata ;
|
||||
assign s_radio0_in_1_tlast = m_duc0_out_1_tlast ;
|
||||
assign s_radio0_in_1_tvalid = m_duc0_out_1_tvalid;
|
||||
assign m_duc0_out_1_tready = s_radio0_in_1_tready;
|
||||
|
||||
assign s_ddc0_in_1_tdata = m_radio0_out_1_tdata ;
|
||||
assign s_ddc0_in_1_tlast = m_radio0_out_1_tlast ;
|
||||
assign s_ddc0_in_1_tvalid = m_radio0_out_1_tvalid;
|
||||
assign m_radio0_out_1_tready = s_ddc0_in_1_tready;
|
||||
|
||||
assign s_ep1_in0_tdata = m_ddc0_out_1_tdata ;
|
||||
assign s_ep1_in0_tlast = m_ddc0_out_1_tlast ;
|
||||
assign s_ep1_in0_tvalid = m_ddc0_out_1_tvalid;
|
||||
assign m_ddc0_out_1_tready = s_ep1_in0_tready;
|
||||
|
||||
assign s_fifo0_in_0_tdata = m_ep2_out0_tdata ;
|
||||
assign s_fifo0_in_0_tlast = m_ep2_out0_tlast ;
|
||||
assign s_fifo0_in_0_tvalid = m_ep2_out0_tvalid;
|
||||
assign m_ep2_out0_tready = s_fifo0_in_0_tready;
|
||||
|
||||
assign s_ep2_in0_tdata = m_fifo0_out_0_tdata ;
|
||||
assign s_ep2_in0_tlast = m_fifo0_out_0_tlast ;
|
||||
assign s_ep2_in0_tvalid = m_fifo0_out_0_tvalid;
|
||||
assign m_fifo0_out_0_tready = s_ep2_in0_tready;
|
||||
|
||||
assign s_fifo0_in_1_tdata = m_ep3_out0_tdata ;
|
||||
assign s_fifo0_in_1_tlast = m_ep3_out0_tlast ;
|
||||
assign s_fifo0_in_1_tvalid = m_ep3_out0_tvalid;
|
||||
assign m_ep3_out0_tready = s_fifo0_in_1_tready;
|
||||
|
||||
assign s_ep3_in0_tdata = m_fifo0_out_1_tdata ;
|
||||
assign s_ep3_in0_tlast = m_fifo0_out_1_tlast ;
|
||||
assign s_ep3_in0_tvalid = m_fifo0_out_1_tvalid;
|
||||
assign m_fifo0_out_1_tready = s_ep3_in0_tready;
|
||||
|
||||
|
||||
// ----------------------------------------------------
|
||||
// Unused Ports
|
||||
// ----------------------------------------------------
|
||||
|
||||
// ----------------------------------------------------
|
||||
// Clock Domains
|
||||
// ----------------------------------------------------
|
||||
assign radio0_radio_clk = radio_clk;
|
||||
assign duc0_ce_clk = rfnoc_chdr_clk;
|
||||
assign ddc0_ce_clk = rfnoc_chdr_clk;
|
||||
assign fifo0_mem_clk = dram_clk;
|
||||
|
||||
|
||||
// ----------------------------------------------------
|
||||
// IO Port Connection
|
||||
// ----------------------------------------------------
|
||||
// Master/Slave Connections:
|
||||
assign m_ctrlport_req_wr = radio0_m_ctrlport_req_wr;
|
||||
assign m_ctrlport_req_rd = radio0_m_ctrlport_req_rd;
|
||||
assign m_ctrlport_req_addr = radio0_m_ctrlport_req_addr;
|
||||
assign m_ctrlport_req_data = radio0_m_ctrlport_req_data;
|
||||
assign m_ctrlport_req_byte_en = radio0_m_ctrlport_req_byte_en;
|
||||
assign m_ctrlport_req_has_time = radio0_m_ctrlport_req_has_time;
|
||||
assign m_ctrlport_req_time = radio0_m_ctrlport_req_time;
|
||||
assign radio0_m_ctrlport_resp_ack = m_ctrlport_resp_ack;
|
||||
assign radio0_m_ctrlport_resp_status = m_ctrlport_resp_status;
|
||||
assign radio0_m_ctrlport_resp_data = m_ctrlport_resp_data;
|
||||
|
||||
assign radio0_radio_rx_data = radio_rx_data;
|
||||
assign radio0_radio_rx_stb = radio_rx_stb;
|
||||
assign radio_rx_running = radio0_radio_rx_running;
|
||||
assign radio_tx_data = radio0_radio_tx_data;
|
||||
assign radio0_radio_tx_stb = radio_tx_stb;
|
||||
assign radio_tx_running = radio0_radio_tx_running;
|
||||
|
||||
assign fifo0_axi_rst = axi_rst;
|
||||
assign m_axi_awid = fifo0_m_axi_awid;
|
||||
assign m_axi_awaddr = fifo0_m_axi_awaddr;
|
||||
assign m_axi_awlen = fifo0_m_axi_awlen;
|
||||
assign m_axi_awsize = fifo0_m_axi_awsize;
|
||||
assign m_axi_awburst = fifo0_m_axi_awburst;
|
||||
assign m_axi_awlock = fifo0_m_axi_awlock;
|
||||
assign m_axi_awcache = fifo0_m_axi_awcache;
|
||||
assign m_axi_awprot = fifo0_m_axi_awprot;
|
||||
assign m_axi_awqos = fifo0_m_axi_awqos;
|
||||
assign m_axi_awregion = fifo0_m_axi_awregion;
|
||||
assign m_axi_awuser = fifo0_m_axi_awuser;
|
||||
assign m_axi_awvalid = fifo0_m_axi_awvalid;
|
||||
assign fifo0_m_axi_awready = m_axi_awready;
|
||||
assign m_axi_wdata = fifo0_m_axi_wdata;
|
||||
assign m_axi_wstrb = fifo0_m_axi_wstrb;
|
||||
assign m_axi_wlast = fifo0_m_axi_wlast;
|
||||
assign m_axi_wuser = fifo0_m_axi_wuser;
|
||||
assign m_axi_wvalid = fifo0_m_axi_wvalid;
|
||||
assign fifo0_m_axi_wready = m_axi_wready;
|
||||
assign fifo0_m_axi_bid = m_axi_bid;
|
||||
assign fifo0_m_axi_bresp = m_axi_bresp;
|
||||
assign fifo0_m_axi_buser = m_axi_buser;
|
||||
assign fifo0_m_axi_bvalid = m_axi_bvalid;
|
||||
assign m_axi_bready = fifo0_m_axi_bready;
|
||||
assign m_axi_arid = fifo0_m_axi_arid;
|
||||
assign m_axi_araddr = fifo0_m_axi_araddr;
|
||||
assign m_axi_arlen = fifo0_m_axi_arlen;
|
||||
assign m_axi_arsize = fifo0_m_axi_arsize;
|
||||
assign m_axi_arburst = fifo0_m_axi_arburst;
|
||||
assign m_axi_arlock = fifo0_m_axi_arlock;
|
||||
assign m_axi_arcache = fifo0_m_axi_arcache;
|
||||
assign m_axi_arprot = fifo0_m_axi_arprot;
|
||||
assign m_axi_arqos = fifo0_m_axi_arqos;
|
||||
assign m_axi_arregion = fifo0_m_axi_arregion;
|
||||
assign m_axi_aruser = fifo0_m_axi_aruser;
|
||||
assign m_axi_arvalid = fifo0_m_axi_arvalid;
|
||||
assign fifo0_m_axi_arready = m_axi_arready;
|
||||
assign fifo0_m_axi_rid = m_axi_rid;
|
||||
assign fifo0_m_axi_rdata = m_axi_rdata;
|
||||
assign fifo0_m_axi_rresp = m_axi_rresp;
|
||||
assign fifo0_m_axi_rlast = m_axi_rlast;
|
||||
assign fifo0_m_axi_ruser = m_axi_ruser;
|
||||
assign fifo0_m_axi_rvalid = m_axi_rvalid;
|
||||
assign m_axi_rready = fifo0_m_axi_rready;
|
||||
|
||||
// Broadcaster/Listener Connections:
|
||||
assign radio0_radio_time = radio_time;
|
||||
|
||||
endmodule
|
||||
@@ -0,0 +1,101 @@
|
||||
# General parameters
|
||||
# -----------------------------------------
|
||||
schema: rfnoc_imagebuilder_args # Identifier for the schema used to validate this file
|
||||
copyright: 'Ettus Research, A National Instruments Brand' # Copyright information used in file headers
|
||||
license: 'SPDX-License-Identifier: LGPL-3.0-or-later' # License information used in file headers
|
||||
version: 1.0 # File version
|
||||
rfnoc_version: 1.0 # RFNoC protocol version
|
||||
chdr_width: 64 # Bit width of the CHDR bus for this image
|
||||
device: 'e320'
|
||||
default_target: 'E320_HG'
|
||||
|
||||
|
||||
|
||||
# A list of all stream endpoints in design
|
||||
# ----------------------------------------
|
||||
stream_endpoints:
|
||||
ep0: # Stream endpoint name
|
||||
ctrl: True # Endpoint passes control traffic
|
||||
data: True # Endpoint passes data traffic
|
||||
buff_size: 32768 # Ingress buffer size for data
|
||||
ep1: # Stream endpoint name
|
||||
ctrl: False # Endpoint passes control traffic
|
||||
data: True # Endpoint passes data traffic
|
||||
buff_size: 32768 # Ingress buffer size for data
|
||||
ep2: # Stream endpoint name
|
||||
ctrl: False # Endpoint passes control traffic
|
||||
data: True # Endpoint passes data traffic
|
||||
buff_size: 8192 # Ingress buffer size for data
|
||||
ep3: # Stream endpoint name
|
||||
ctrl: False # Endpoint passes control traffic
|
||||
data: True # Endpoint passes data traffic
|
||||
buff_size: 8192 # Ingress buffer size for data
|
||||
|
||||
# A list of all NoC blocks in design
|
||||
# ----------------------------------
|
||||
noc_blocks:
|
||||
duc0: # NoC block name
|
||||
block_desc: 'duc.yml' # Block device descriptor file
|
||||
parameters:
|
||||
NUM_PORTS: 2
|
||||
ddc0:
|
||||
block_desc: 'ddc.yml'
|
||||
parameters:
|
||||
NUM_PORTS: 2
|
||||
radio0:
|
||||
block_desc: 'radio_2x64.yml'
|
||||
fifo0:
|
||||
block_desc: 'axi_ram_fifo_2x64.yml'
|
||||
parameters:
|
||||
# These parameters correspond to the memory interface on the E320
|
||||
MEM_ADDR_W: 31
|
||||
MEM_DATA_W: 64
|
||||
MEM_CLK_RATE: "300e6"
|
||||
# Create two non-overlapping 32 MB buffers by default
|
||||
FIFO_ADDR_BASE: "{31'h02000000, 31'h00000000}"
|
||||
FIFO_ADDR_MASK: "{31'h01FFFFFF, 31'h01FFFFFF}"
|
||||
|
||||
# A list of all static connections in design
|
||||
# ------------------------------------------
|
||||
# Format: A list of connection maps (list of key-value pairs) with the following keys
|
||||
# - srcblk = Source block to connect
|
||||
# - srcport = Port on the source block to connect
|
||||
# - dstblk = Destination block to connect
|
||||
# - dstport = Port on the destination block to connect
|
||||
connections:
|
||||
# ep0 to radio0(0) - RF0 TX
|
||||
- { srcblk: ep0, srcport: out0, dstblk: duc0, dstport: in_0 }
|
||||
- { srcblk: duc0, srcport: out_0, dstblk: radio0, dstport: in_0 }
|
||||
# radio0(0) to ep0 - RF0 RX
|
||||
- { srcblk: radio0, srcport: out_0, dstblk: ddc0, dstport: in_0 }
|
||||
- { srcblk: ddc0, srcport: out_0, dstblk: ep0, dstport: in0 }
|
||||
# ep1 to radio0(1) - RF1 TX
|
||||
- { srcblk: ep1, srcport: out0, dstblk: duc0, dstport: in_1 }
|
||||
- { srcblk: duc0, srcport: out_1, dstblk: radio0, dstport: in_1 }
|
||||
# radio0(1) to ep1 - RF1 RX
|
||||
- { srcblk: radio0, srcport: out_1, dstblk: ddc0, dstport: in_1 }
|
||||
- { srcblk: ddc0, srcport: out_1, dstblk: ep1, dstport: in0 }
|
||||
# ep2 to fifo0(0)
|
||||
- { srcblk: ep2, srcport: out0, dstblk: fifo0, dstport: in_0 }
|
||||
- { srcblk: fifo0, srcport: out_0, dstblk: ep2, dstport: in0 }
|
||||
# ep3 to fifo0(1)
|
||||
- { srcblk: ep3, srcport: out0, dstblk: fifo0, dstport: in_1 }
|
||||
- { srcblk: fifo0, srcport: out_1, dstblk: ep3, dstport: in0 }
|
||||
# BSP Connections
|
||||
- { srcblk: radio0, srcport: ctrl_port, dstblk: _device_, dstport: ctrl_port }
|
||||
- { srcblk: _device_, srcport: x300_radio, dstblk: radio0, dstport: x300_radio }
|
||||
- { srcblk: _device_, srcport: time_keeper, dstblk: radio0, dstport: time_keeper }
|
||||
- { srcblk: fifo0, srcport: axi_ram, dstblk: _device_, dstport: dram }
|
||||
|
||||
# A list of all clock domain connections in design
|
||||
# ------------------------------------------------
|
||||
# Format: A list of connection maps (list of key-value pairs) with the following keys
|
||||
# - srcblk = Source block to connect (Always "_device"_)
|
||||
# - srcport = Clock domain on the source block to connect
|
||||
# - dstblk = Destination block to connect
|
||||
# - dstport = Clock domain on the destination block to connect
|
||||
clk_domains:
|
||||
- { srcblk: _device_, srcport: radio, dstblk: radio0, dstport: radio }
|
||||
- { srcblk: _device_, srcport: rfnoc_chdr, dstblk: duc0, dstport: ce }
|
||||
- { srcblk: _device_, srcport: rfnoc_chdr, dstblk: ddc0, dstport: ce }
|
||||
- { srcblk: _device_, srcport: dram, dstblk: fifo0, dstport: mem }
|
||||
@@ -0,0 +1,13 @@
|
||||
0000000C
|
||||
00400140
|
||||
014001c0
|
||||
01c00180
|
||||
01800040
|
||||
00800141
|
||||
014101c1
|
||||
01c10181
|
||||
01810080
|
||||
00c00200
|
||||
020000c0
|
||||
01000201
|
||||
02010100
|
||||
@@ -0,0 +1,81 @@
|
||||
#
|
||||
# Copyright 2014 Ettus Research
|
||||
#
|
||||
|
||||
#include $(IP_DIR)/axi4_dualport_sram/Makefile.inc
|
||||
include $(IP_DIR)/axi64_4k_2clk_fifo/Makefile.inc
|
||||
include $(IP_DIR)/axi64_8k_2clk_fifo/Makefile.inc
|
||||
include $(IP_DIR)/axi_intercon_4x64_256_bd/Makefile.inc
|
||||
include $(IP_DIR)/ddr3_32bit/Makefile.inc
|
||||
include $(IP_DIR)/fifo_4k_2clk/Makefile.inc
|
||||
include $(IP_DIR)/fifo_short_2clk/Makefile.inc
|
||||
#include $(IP_DIR)/input_sample_fifo/Makefile.inc
|
||||
include $(IP_DIR)/one_gig_eth_pcs_pma/Makefile.inc
|
||||
#include $(IP_DIR)/misc_clock_gen/Makefile.inc
|
||||
include $(IP_DIR)/ten_gig_eth_pcs_pma/Makefile.inc
|
||||
include $(IP_DIR)/aurora_64b66b_pcs_pma/Makefile.inc
|
||||
#include $(IP_DIR)/axi3_to_axi4lite_protocol_converter/Makefile.inc
|
||||
#include $(IP_DIR)/axis_fifo_to_axi4lite/Makefile.inc
|
||||
include $(IP_DIR)/axi_eth_dma/Makefile.inc
|
||||
#include $(IP_DIR)/axi4_to_axi3_protocol_converter_32/Makefile.inc
|
||||
#include $(IP_DIR)/axi4_to_axi3_protocol_converter_64/Makefile.inc
|
||||
include $(IP_DIR)/e320_ps_bd/Makefile.inc
|
||||
|
||||
BD_SRCS = \
|
||||
$(IP_AXI_INTERCON_4X64_256_BD_SRCS) \
|
||||
$(IP_E320_PS_BD_SRCS)
|
||||
|
||||
IP_XCI_SRCS = \
|
||||
$(IP_TEN_GIG_ETH_PCS_PMA_SRCS) \
|
||||
$(IP_FIFO_SHORT_2CLK_SRCS) \
|
||||
$(IP_AXI64_4K_2CLK_FIFO_SRCS) \
|
||||
$(IP_ONE_GIG_ETH_PCS_PMA_SRCS) \
|
||||
$(IP_AURORA_64B66B_PCS_PMA_SRCS) \
|
||||
$(IP_AXI64_8K_2CLK_FIFO_SRCS) \
|
||||
$(IP_AXI_ETH_DMA_SRCS) \
|
||||
$(IP_FIFO_4K_2CLK_SRCS) \
|
||||
#$(IP_AXI4_BRAM_SRCS) \
|
||||
#$(IP_AXI3_TO_AXI4LITE_PROTOCOL_CONVERTER_SRCS) \
|
||||
#$(IP_AXI4_TO_AXI3_PROTOCOL_CONVERTER_32_SRCS) \
|
||||
#$(IP_AXI4_TO_AXI3_PROTOCOL_CONVERTER_64_SRCS) \
|
||||
#$(IP_AXIS_FIFO_TO_AXI4LITE_SRCS) \
|
||||
#$(IP_MISC_CLOCK_GEN_SRCS) \
|
||||
|
||||
IP_DRAM_XCI_SRCS = \
|
||||
$(IP_DDR3_32BIT_SRCS)
|
||||
|
||||
## Currently unused
|
||||
## $(IP_INPUT_SAMPLE_FIFO_SRCS) \
|
||||
|
||||
IP_CODEGEN_SRCS = \
|
||||
$(TEN_GIGE_PHY_SRCS) \
|
||||
$(ONE_GIGE_PHY_SRCS)
|
||||
|
||||
IP_SYNTH_OUTPUTS = \
|
||||
$(IP_TEN_GIG_ETH_PCS_PMA_OUTS) \
|
||||
$(IP_FIFO_SHORT_2CLK_OUTS) \
|
||||
$(IP_AXI64_4K_2CLK_FIFO_OUTS) \
|
||||
$(IP_ONE_GIG_ETH_PCS_PMA_OUTS) \
|
||||
$(IP_AXI64_8K_2CLK_FIFO_OUTS) \
|
||||
$(IP_AURORA_64B66B_PCS_PMA_OUTS) \
|
||||
$(IP_AXI_ETH_DMA_OUTS) \
|
||||
$(IP_FIFO_4K_2CLK_OUTS) \
|
||||
#$(IP_AXI4_BRAM_OUTS) \
|
||||
#$(IP_AXI3_TO_AXI4LITE_PROTOCOL_CONVERTER_OUTS) \
|
||||
#$(IP_AXI_INTERCONNECT_OUTS) \
|
||||
#$(IP_AXI4_TO_AXI3_PROTOCOL_CONVERTER_32_OUTS) \
|
||||
#$(IP_AXI4_TO_AXI3_PROTOCOL_CONVERTER_64_OUTS) \
|
||||
#$(IP_AXIS_FIFO_TO_AXI4LITE_OUTS) \
|
||||
|
||||
BD_OUTPUTS = \
|
||||
$(IP_AXI_INTERCON_4X64_256_BD_OUTS) \
|
||||
$(IP_E320_PS_BD_OUTS)
|
||||
|
||||
# Currently unused
|
||||
# $(IP_INPUT_SAMPLE_FIFO_OUTS) \
|
||||
# $(IP_AXI_INTERCON_4X64_128_OUTS) \
|
||||
|
||||
ip: $(IP_SYNTH_OUTPUTS) $(IP_CODEGEN_SRCS) $(BD_OUTPUTS)
|
||||
|
||||
.PHONY: ip
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
#
|
||||
# Copyright 2018 Ettus Research
|
||||
#
|
||||
|
||||
include $(TOOLS_DIR)/make/viv_ip_builder.mak
|
||||
|
||||
AURORA_PHY_SRCS = \
|
||||
$(IP_DIR)/aurora_64b66b_pcs_pma/aurora_phy_x1.v \
|
||||
$(IP_DIR)/aurora_64b66b_pcs_pma/aurora_axis_mac.v \
|
||||
$(IP_AURORA_64B66B_PCS_PMA_EXAMPLE_SRCS)
|
||||
|
||||
IP_AURORA_64B66B_PCS_PMA_EXAMPLE_SRCS = $(addprefix $(IP_BUILD_DIR)/aurora_64b66b_pcs_pma_ex/, \
|
||||
aurora_64b66b_pcs_pma_ex.srcs/shared_logic/aurora_64b66b_pcs_pma_clock_module.v \
|
||||
aurora_64b66b_pcs_pma_ex.srcs/shared_logic/aurora_64b66b_pcs_pma_gt_common_wrapper.v \
|
||||
aurora_64b66b_pcs_pma_ex.srcs/shared_logic/aurora_64b66b_pcs_pma_support_reset_logic.v \
|
||||
aurora_64b66b_pcs_pma_ex.srcs/shared_logic/aurora_64b66b_pcs_pma_support.v \
|
||||
imports/aurora_64b66b_pcs_pma_cdc_sync_exdes.v \
|
||||
imports/aurora_64b66b_pcs_pma_example_axi_to_ll.v \
|
||||
imports/aurora_64b66b_pcs_pma_example_ll_to_axi.v \
|
||||
)
|
||||
|
||||
IP_AURORA_64B66B_PCS_PMA_SRCS = $(IP_BUILD_DIR)/aurora_64b66b_pcs_pma/aurora_64b66b_pcs_pma.xci
|
||||
|
||||
IP_AURORA_64B66B_PCS_PMA_OUTS = $(addprefix $(IP_BUILD_DIR)/aurora_64b66b_pcs_pma/, \
|
||||
aurora_64b66b_pcs_pma.xci.out \
|
||||
)
|
||||
|
||||
$(IP_AURORA_64B66B_PCS_PMA_SRCS) $(IP_AURORA_64B66B_PCS_PMA_OUTS) $(IP_AURORA_64B66B_PCS_PMA_EXAMPLE_SRCS): $(IP_DIR)/aurora_64b66b_pcs_pma/aurora_64b66b_pcs_pma.xci
|
||||
$(call BUILD_VIVADO_IP,aurora_64b66b_pcs_pma,$(ARCH),$(PART_ID),$(IP_DIR),$(IP_BUILD_DIR),1)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,329 @@
|
||||
//
|
||||
// Copyright 2016 Ettus Research LLC
|
||||
//
|
||||
|
||||
module aurora_axis_mac #(
|
||||
parameter PHY_ENDIANNESS = "LITTLE", //{"LITTLE, "BIG"}
|
||||
parameter PACKET_MODE = 0,
|
||||
parameter MAX_PACKET_SIZE = 512,
|
||||
parameter BIST_ENABLED = 1
|
||||
) (
|
||||
// Clocks and resets
|
||||
input phy_clk,
|
||||
input phy_rst,
|
||||
input sys_clk,
|
||||
input sys_rst,
|
||||
input clear,
|
||||
// PHY TX Interface (Synchronous to phy_clk)
|
||||
output [63:0] phy_m_axis_tdata,
|
||||
output phy_m_axis_tvalid,
|
||||
input phy_m_axis_tready,
|
||||
// PHY RX Interface (Synchronous to phy_clk)
|
||||
input [63:0] phy_s_axis_tdata,
|
||||
input phy_s_axis_tvalid,
|
||||
// User TX Interface (Synchronous to sys_clk)
|
||||
input [63:0] s_axis_tdata,
|
||||
input s_axis_tlast,
|
||||
input s_axis_tvalid,
|
||||
output s_axis_tready,
|
||||
// User RX Interface (Synchronous to sys_clk)
|
||||
output [63:0] m_axis_tdata,
|
||||
output m_axis_tlast,
|
||||
output m_axis_tvalid,
|
||||
input m_axis_tready,
|
||||
// PHY Status Inputs (Synchronous to phy_clk)
|
||||
input channel_up,
|
||||
input hard_err,
|
||||
input soft_err,
|
||||
// Status and Error Outputs (Synchronous to sys_clk)
|
||||
output [31:0] overruns,
|
||||
output [31:0] soft_errors,
|
||||
output reg [31:0] checksum_errors,
|
||||
output critical_err,
|
||||
// BIST Interface (Synchronous to sys_clk)
|
||||
input bist_gen_en,
|
||||
input [5:0] bist_gen_rate,
|
||||
input bist_checker_en,
|
||||
input bist_loopback_en,
|
||||
output reg bist_checker_locked,
|
||||
output reg [47:0] bist_checker_samps,
|
||||
output reg [47:0] bist_checker_errors
|
||||
);
|
||||
|
||||
// ----------------------------------------------
|
||||
// Resets, Clears, Clock crossings
|
||||
// ----------------------------------------------
|
||||
|
||||
wire phy_s_axis_tready; // Internal only. The PHY has no backpressure signal.
|
||||
|
||||
// Stay idle if the PHY is not up or if it experiences a fatal error
|
||||
wire clear_sysclk, clear_phyclk;
|
||||
synchronizer #(.INITIAL_VAL(1'b1)) clear_sync_phyclk_i (
|
||||
.clk(phy_clk), .rst(1'b0 /* no reset */), .in((~channel_up) | hard_err | clear), .out(clear_phyclk));
|
||||
synchronizer #(.INITIAL_VAL(1'b1)) clear_sync_sysclk_i (
|
||||
.clk(sys_clk), .rst(1'b0 /* no reset */), .in(clear_phyclk), .out(clear_sysclk));
|
||||
|
||||
// ----------------------------------------------
|
||||
// Counters
|
||||
// ----------------------------------------------
|
||||
|
||||
reg [31:0] overruns_reg;
|
||||
reg [31:0] soft_errors_reg;
|
||||
|
||||
// Counter for recoverable errors. For reporting only.
|
||||
always @(posedge phy_clk)
|
||||
if (phy_rst | clear_phyclk)
|
||||
soft_errors_reg <= 32'd0;
|
||||
else if (soft_err)
|
||||
soft_errors_reg <= soft_errors_reg + 32'd1;
|
||||
|
||||
// Tag an overrun if the FIFO is full. Samples will get dropped
|
||||
always @(posedge phy_clk)
|
||||
if (phy_rst | clear_phyclk)
|
||||
overruns_reg <= 32'd0;
|
||||
else if (phy_s_axis_tvalid & ~phy_s_axis_tready)
|
||||
overruns_reg <= overruns_reg + 32'd1;
|
||||
|
||||
wire [7:0] dummy0;
|
||||
fifo_short_2clk status_counters_2clk_i (
|
||||
.rst(phy_rst),
|
||||
.wr_clk(phy_clk), .din({8'h00, soft_errors_reg, overruns_reg}), .wr_en(1'b1), .full(), .wr_data_count(),
|
||||
.rd_clk(sys_clk), .dout({dummy0, soft_errors, overruns}), .rd_en(1'b1), .empty(), .rd_data_count()
|
||||
);
|
||||
|
||||
// ----------------------------------------------
|
||||
// BIST Wires
|
||||
// ----------------------------------------------
|
||||
|
||||
wire [63:0] bist_o_tdata;
|
||||
wire bist_o_tvalid, bist_o_tready;
|
||||
wire [63:0] bist_i_tdata;
|
||||
wire bist_i_tvalid, bist_i_tready;
|
||||
wire [63:0] loopback_tdata;
|
||||
wire loopback_tvalid, loopback_tready;
|
||||
reg bist_gen_en_reg = 1'b0, bist_checker_en_reg = 1'b0, bist_loopback_en_reg = 1'b0;
|
||||
reg [5:0] bist_gen_rate_reg = 'd0;
|
||||
|
||||
generate if (BIST_ENABLED == 1) begin
|
||||
// Pipeline control signals
|
||||
always @(posedge sys_clk) begin
|
||||
if (sys_rst | clear_sysclk) begin
|
||||
bist_gen_en_reg <= 1'b0;
|
||||
bist_checker_en_reg <= 1'b0;
|
||||
bist_loopback_en_reg <= 1'b0;
|
||||
bist_gen_rate_reg <= 'd0;
|
||||
end else begin
|
||||
bist_gen_en_reg <= bist_gen_en;
|
||||
bist_checker_en_reg <= bist_checker_en;
|
||||
bist_loopback_en_reg <= bist_loopback_en;
|
||||
bist_gen_rate_reg <= bist_gen_rate;
|
||||
end
|
||||
end
|
||||
end endgenerate
|
||||
// ----------------------------------------------
|
||||
// RX Data Path
|
||||
// ----------------------------------------------
|
||||
|
||||
wire [63:0] i_raw_tdata;
|
||||
wire i_raw_tvalid, i_raw_tready;
|
||||
|
||||
wire [63:0] i_pip_tdata;
|
||||
wire i_pip_tvalid, i_pip_tready;
|
||||
|
||||
wire [63:0] i_pkt_tdata;
|
||||
wire i_pkt_tlast, i_pkt_tvalid, i_pkt_tready;
|
||||
|
||||
wire [63:0] i_gt_tdata;
|
||||
wire i_gt_tlast, i_gt_tvalid, i_gt_tready;
|
||||
|
||||
wire checksum_err;
|
||||
|
||||
wire [63:0] phy_s_axis_tdata_endian, phy_m_axis_tdata_endian;
|
||||
|
||||
generate if (PHY_ENDIANNESS == "BIG") begin
|
||||
assign phy_s_axis_tdata_endian = {
|
||||
phy_s_axis_tdata[7:0], phy_s_axis_tdata[15:8], phy_s_axis_tdata[23:16], phy_s_axis_tdata[31:24],
|
||||
phy_s_axis_tdata[39:32], phy_s_axis_tdata[47:40], phy_s_axis_tdata[55:48], phy_s_axis_tdata[63:56]
|
||||
};
|
||||
assign phy_m_axis_tdata = {
|
||||
phy_m_axis_tdata_endian[7:0], phy_m_axis_tdata_endian[15:8], phy_m_axis_tdata_endian[23:16], phy_m_axis_tdata_endian[31:24],
|
||||
phy_m_axis_tdata_endian[39:32], phy_m_axis_tdata_endian[47:40], phy_m_axis_tdata_endian[55:48], phy_m_axis_tdata_endian[63:56]
|
||||
};
|
||||
end else begin
|
||||
assign phy_s_axis_tdata_endian = phy_s_axis_tdata;
|
||||
assign phy_m_axis_tdata = phy_m_axis_tdata_endian;
|
||||
end endgenerate
|
||||
|
||||
// Large FIFO must be able to run input side at 64b@156MHz to sustain 10Gb Rx.
|
||||
axi64_4k_2clk_fifo ingress_fifo_i (
|
||||
.s_aresetn(~phy_rst), .s_aclk(phy_clk),
|
||||
.s_axis_tdata(phy_s_axis_tdata_endian), .s_axis_tlast(phy_s_axis_tvalid), .s_axis_tuser(4'h0),
|
||||
.s_axis_tvalid(phy_s_axis_tvalid), .s_axis_tready(phy_s_axis_tready), .axis_wr_data_count(),
|
||||
.m_aclk(sys_clk),
|
||||
.m_axis_tdata(i_raw_tdata), .m_axis_tlast(), .m_axis_tuser(),
|
||||
.m_axis_tvalid(i_raw_tvalid), .m_axis_tready(i_raw_tready), .axis_rd_data_count()
|
||||
);
|
||||
|
||||
// AXI-Flop to ease timing
|
||||
axi_fifo_flop #(.WIDTH(64)) input_pipe_i0 (
|
||||
.clk(sys_clk), .reset(sys_rst), .clear(clear_sysclk),
|
||||
.i_tdata(i_raw_tdata), .i_tvalid(i_raw_tvalid), .i_tready(i_raw_tready),
|
||||
.o_tdata(i_pip_tdata), .o_tvalid(i_pip_tvalid),
|
||||
.o_tready(bist_checker_en_reg ? bist_i_tready : (bist_loopback_en_reg ? loopback_tready : i_pip_tready)),
|
||||
.space(), .occupied()
|
||||
);
|
||||
|
||||
assign bist_i_tdata = i_pip_tdata;
|
||||
assign bist_i_tvalid = i_pip_tvalid & bist_checker_en_reg;
|
||||
|
||||
assign loopback_tdata = i_pip_tdata;
|
||||
assign loopback_tvalid = i_pip_tvalid & bist_loopback_en_reg;
|
||||
|
||||
axi_strip_preamble #(.WIDTH(64), .MAX_PKT_SIZE(MAX_PACKET_SIZE)) axi_strip_preamble_i (
|
||||
.clk(sys_clk), .reset(sys_rst), .clear(clear_sysclk),
|
||||
.i_tdata(i_pip_tdata), .i_tvalid(i_pip_tvalid & ~bist_checker_en_reg & ~bist_loopback_en_reg), .i_tready(i_pip_tready),
|
||||
.o_tdata(i_gt_tdata), .o_tlast(i_gt_tlast), .o_tvalid(i_gt_tvalid), .o_tready(i_gt_tready),
|
||||
.crc_err(checksum_err), .pkt_dropped(), .crit_error(critical_err)
|
||||
);
|
||||
|
||||
axi_fifo_flop #(.WIDTH(65)) input_pipe_i1 (
|
||||
.clk(sys_clk), .reset(sys_rst), .clear(clear_sysclk),
|
||||
.i_tdata({i_gt_tlast, i_gt_tdata}), .i_tvalid(i_gt_tvalid), .i_tready(i_gt_tready),
|
||||
.o_tdata({m_axis_tlast, m_axis_tdata}), .o_tvalid(m_axis_tvalid), .o_tready(m_axis_tready),
|
||||
.space(), .occupied()
|
||||
);
|
||||
|
||||
always @(posedge sys_clk)
|
||||
if (sys_rst | clear_sysclk)
|
||||
checksum_errors <= 32'd0;
|
||||
else if (checksum_err)
|
||||
checksum_errors <= checksum_errors + 32'd1;
|
||||
|
||||
// ----------------------------------------------
|
||||
// TX Data Path
|
||||
// ----------------------------------------------
|
||||
|
||||
wire [63:0] o_pkt_tdata;
|
||||
wire o_pkt_tlast, o_pkt_tvalid, o_pkt_tready;
|
||||
|
||||
wire [63:0] o_pip_tdata;
|
||||
wire o_pip_tvalid, o_pip_tready;
|
||||
|
||||
wire [63:0] o_raw_tdata;
|
||||
wire o_raw_tvalid, o_raw_tready;
|
||||
|
||||
// AXI-Flop to ease timing
|
||||
axi_fifo_flop #(.WIDTH(65)) output_pipe_i0 (
|
||||
.clk(sys_clk), .reset(sys_rst), .clear(clear_sysclk),
|
||||
.i_tdata({s_axis_tlast, s_axis_tdata}), .i_tvalid(s_axis_tvalid), .i_tready(s_axis_tready),
|
||||
.o_tdata({o_pkt_tlast, o_pkt_tdata}), .o_tvalid(o_pkt_tvalid), .o_tready(o_pkt_tready),
|
||||
.space(), .occupied()
|
||||
);
|
||||
|
||||
// Insert preamble and EOP
|
||||
axi_add_preamble #(.WIDTH(64)) axi_add_preamble_i (
|
||||
.clk(sys_clk), .reset(sys_rst), .clear(clear_sysclk),
|
||||
.i_tdata(o_pkt_tdata), .i_tlast(o_pkt_tlast), .i_tvalid(o_pkt_tvalid), .i_tready(o_pkt_tready),
|
||||
.o_tdata(o_pip_tdata), .o_tvalid(o_pip_tvalid), .o_tready(o_pip_tready & ~bist_gen_en_reg & ~bist_loopback_en_reg)
|
||||
);
|
||||
|
||||
// AXI-Flop to ease timing
|
||||
axi_fifo_flop #(.WIDTH(64)) output_pipe_i1 (
|
||||
.clk(sys_clk), .reset(sys_rst), .clear(clear_sysclk),
|
||||
.i_tdata(bist_gen_en_reg ? bist_o_tdata : (bist_loopback_en_reg ? loopback_tdata : o_pip_tdata)),
|
||||
.i_tvalid(bist_gen_en_reg ? bist_o_tvalid : (bist_loopback_en_reg ? loopback_tvalid : o_pip_tvalid)),
|
||||
.i_tready(o_pip_tready),
|
||||
.o_tdata(o_raw_tdata), .o_tvalid(o_raw_tvalid), .o_tready(o_raw_tready),
|
||||
.space(), .occupied()
|
||||
);
|
||||
|
||||
assign bist_o_tready = o_pip_tready;
|
||||
assign loopback_tready = o_pip_tready;
|
||||
|
||||
// Egress FIFO
|
||||
axi64_4k_2clk_fifo egress_fifo_i (
|
||||
.s_aresetn(~phy_rst), .s_aclk(sys_clk),
|
||||
.s_axis_tdata(o_raw_tdata), .s_axis_tlast(o_raw_tvalid), .s_axis_tuser(4'h0),
|
||||
.s_axis_tvalid(o_raw_tvalid), .s_axis_tready(o_raw_tready), .axis_wr_data_count(),
|
||||
.m_aclk(phy_clk),
|
||||
.m_axis_tdata(phy_m_axis_tdata_endian), .m_axis_tlast(), .m_axis_tuser(),
|
||||
.m_axis_tvalid(phy_m_axis_tvalid), .m_axis_tready(phy_m_axis_tready), .axis_rd_data_count()
|
||||
);
|
||||
|
||||
// -------------------------------------------------
|
||||
// BIST: Generator and checker for a LFSR polynomial
|
||||
// -------------------------------------------------
|
||||
localparam LFSR_LEN = 32;
|
||||
localparam LFSR_SEED = {LFSR_LEN{1'b1}};
|
||||
|
||||
function [LFSR_LEN-1:0] compute_lfsr_next;
|
||||
input [LFSR_LEN-1:0] current;
|
||||
// Maximal length polynomial: x^32 + x^22 + x^2 + x^1 + 1
|
||||
compute_lfsr_next = {current[30:0], current[31]^current[21]^current[1]^current[0]};
|
||||
endfunction
|
||||
|
||||
function [63:0] lfsr_to_axis;
|
||||
input [LFSR_LEN-1:0] lfsr;
|
||||
lfsr_to_axis = {~lfsr, lfsr};
|
||||
endfunction
|
||||
|
||||
function [LFSR_LEN-1:0] axis_to_lfsr;
|
||||
input [63:0] axis;
|
||||
axis_to_lfsr = axis[LFSR_LEN-1:0];
|
||||
endfunction
|
||||
|
||||
generate if (BIST_ENABLED == 1) begin
|
||||
// Throttle outgoing LFSR to based on the specified rate
|
||||
// BIST Throughput = sys_clk BW * (bist_gen_rate+1)/64
|
||||
reg [5:0] throttle_cnt;
|
||||
always @(posedge sys_clk) begin
|
||||
if (sys_rst | clear_sysclk)
|
||||
throttle_cnt <= 6'd0;
|
||||
else if (bist_gen_en_reg)
|
||||
throttle_cnt <= throttle_cnt + 6'd1;
|
||||
end
|
||||
// NOTE: This techinically violates AXIS spec (valid revocation)
|
||||
assign bist_o_tvalid = bist_gen_en_reg && (throttle_cnt <= bist_gen_rate_reg);
|
||||
|
||||
// Unsynchronized LFSR generator (for BIST output)
|
||||
reg [LFSR_LEN-1:0] lfsr_gen = LFSR_SEED, lfsr_check = LFSR_SEED;
|
||||
always @(posedge sys_clk) begin
|
||||
if (sys_rst | clear_sysclk | ~bist_gen_en_reg)
|
||||
lfsr_gen <= LFSR_SEED;
|
||||
else if (bist_o_tready & bist_o_tvalid)
|
||||
lfsr_gen <= compute_lfsr_next(lfsr_gen);
|
||||
end
|
||||
assign bist_o_tdata = lfsr_to_axis(lfsr_gen);
|
||||
|
||||
// Synchronized LFSR checker (for BIST input)
|
||||
wire [LFSR_LEN-1:0] lfsr_next = compute_lfsr_next(lfsr_check);;
|
||||
always @(posedge sys_clk) begin
|
||||
if (sys_rst | clear_sysclk | ~bist_checker_en_reg) begin
|
||||
bist_checker_locked <= 1'b0;
|
||||
lfsr_check <= LFSR_SEED;
|
||||
end else if (bist_i_tvalid && bist_i_tready) begin
|
||||
lfsr_check <= axis_to_lfsr(bist_i_tdata);
|
||||
if (bist_i_tdata == lfsr_to_axis(LFSR_SEED))
|
||||
bist_checker_locked <= 1'b1;
|
||||
end
|
||||
end
|
||||
|
||||
// LFSR checker
|
||||
always @(posedge sys_clk) begin
|
||||
if (bist_checker_locked) begin
|
||||
if (bist_i_tvalid & bist_i_tready) begin
|
||||
bist_checker_samps <= bist_checker_samps + 48'd1;
|
||||
if (bist_i_tdata != lfsr_to_axis(lfsr_next)) begin
|
||||
bist_checker_errors <= bist_checker_errors + 48'd1;
|
||||
end
|
||||
end
|
||||
end else begin
|
||||
bist_checker_samps <= 48'd0;
|
||||
bist_checker_errors <= 48'd0;
|
||||
end
|
||||
end
|
||||
assign bist_i_tready = 1'b1;
|
||||
end endgenerate
|
||||
|
||||
endmodule
|
||||
|
||||
@@ -0,0 +1,370 @@
|
||||
//
|
||||
// Copyright 2016 Ettus Research LLC
|
||||
//
|
||||
|
||||
module aurora_phy_x1 #(
|
||||
parameter SIMULATION = 0
|
||||
)(
|
||||
// Clocks and Resets
|
||||
input areset,
|
||||
input refclk,
|
||||
input init_clk,
|
||||
output user_clk,
|
||||
output user_rst,
|
||||
// GTX Serial I/O
|
||||
input rx_p,
|
||||
input rx_n,
|
||||
output tx_p,
|
||||
output tx_n,
|
||||
// AXI4-Stream TX Interface
|
||||
input [63:0] s_axis_tdata,
|
||||
input s_axis_tvalid,
|
||||
output s_axis_tready,
|
||||
// AXI4-Stream RX Interface
|
||||
output [63:0] m_axis_tdata,
|
||||
output m_axis_tvalid,
|
||||
// AXI4-Lite Config Interface
|
||||
input [31:0] s_axi_awaddr,
|
||||
input [31:0] s_axi_araddr,
|
||||
input [31:0] s_axi_wdata,
|
||||
input [3:0] s_axi_wstrb,
|
||||
input s_axi_awvalid,
|
||||
input s_axi_rready,
|
||||
output [31:0] s_axi_rdata,
|
||||
output s_axi_awready,
|
||||
output s_axi_wready,
|
||||
output s_axi_bvalid,
|
||||
output [1:0] s_axi_bresp,
|
||||
output [1:0] s_axi_rresp,
|
||||
input s_axi_bready,
|
||||
output s_axi_arready,
|
||||
output s_axi_rvalid,
|
||||
input s_axi_arvalid,
|
||||
input s_axi_wvalid,
|
||||
// Status and Error Reporting Interface
|
||||
output reg channel_up,
|
||||
output reg hard_err,
|
||||
output reg soft_err
|
||||
);
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// Status and Error Signals
|
||||
//--------------------------------------------------------------
|
||||
wire hard_err_i, soft_err_i, channel_up_i, lane_up_i;
|
||||
always @(posedge user_clk) begin
|
||||
hard_err <= hard_err_i;
|
||||
soft_err <= soft_err_i;
|
||||
channel_up <= channel_up_i && lane_up_i;
|
||||
end
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// Reset and PMA Init Sequence
|
||||
//--------------------------------------------------------------
|
||||
// Requirements from PG074:
|
||||
// - It is expected that user_clock is stable when the reset_pb signal is applied.
|
||||
// - During the board power-on sequence, both the pma_init and reset_pb signals are
|
||||
// expected to be High. INIT_CLK and GT_REFCLK are expected to be stable during
|
||||
// power-on for the proper functioning of the Aurora 64B/66B core. When both clocks are
|
||||
// stable, pma_init is deasserted followed by the deassertion of reset_pb.
|
||||
// - Normal Operation Reset Sequence:
|
||||
// 1. Assert reset. Wait for a minimum time equal to 128*user_clk's time-period.
|
||||
// 2. Assert pma_init. Keep pma_init and reset asserted for at least one second to prevent
|
||||
// the transmission of CC characters and ensure that the remote agent detects a hot plug event.
|
||||
// 3. Deassert pma_init.
|
||||
// 4. Deassert reset_pb.
|
||||
|
||||
localparam PWRON_PMA_INIT_CYC = 32'd1024;
|
||||
localparam SYSRST_ASSERT_CYC = 32'd128;
|
||||
localparam PMA_INIT_ASSERT_CYC_LOG2 = (SIMULATION == 1) ? 4 : 26;
|
||||
localparam SYSRST_DEASSERT_CYC = 32'd20;
|
||||
|
||||
wire reset_iclk, pma_init, reset_pb;
|
||||
wire gt_pll_lock, gt_pll_lock_iclk, mmcm_locked, mmcm_locked_iclk;
|
||||
|
||||
synchronizer #( .STAGES(3), .INITIAL_VAL(1'b1) ) input_rst_sync_i (
|
||||
.clk(init_clk), .rst(1'b0), .in(areset), .out(reset_iclk)
|
||||
);
|
||||
|
||||
synchronizer #( .STAGES(3), .INITIAL_VAL(1'b0) ) gt_pll_lock_sync_i (
|
||||
.clk(init_clk), .rst(1'b0), .in(gt_pll_lock), .out(gt_pll_lock_iclk)
|
||||
);
|
||||
|
||||
synchronizer #( .STAGES(3), .INITIAL_VAL(1'b0) ) mmcm_locked_sync_i (
|
||||
.clk(init_clk), .rst(1'b0), .in(mmcm_locked), .out(mmcm_locked_iclk)
|
||||
);
|
||||
|
||||
localparam [2:0] RST_ST_PWRON_PMA_INIT = 3'd0;
|
||||
localparam [2:0] RST_ST_PWRON_PMA_SYSRST = 3'd1;
|
||||
localparam [2:0] RST_ST_IDLE = 3'd2;
|
||||
localparam [2:0] RST_ST_SYSRST_PRE = 3'd3;
|
||||
localparam [2:0] RST_ST_PMA_INIT = 3'd4;
|
||||
localparam [2:0] RST_ST_SYSRST_POST = 3'd5;
|
||||
|
||||
reg [2:0] rst_state = RST_ST_PWRON_PMA_INIT;
|
||||
reg [31:0] rst_counter = PWRON_PMA_INIT_CYC;
|
||||
|
||||
always @(posedge init_clk) begin
|
||||
case (rst_state)
|
||||
RST_ST_PWRON_PMA_INIT: begin
|
||||
if (rst_counter == 32'd0) begin
|
||||
rst_state <= RST_ST_PWRON_PMA_SYSRST;
|
||||
rst_counter <= SYSRST_DEASSERT_CYC;
|
||||
end else begin
|
||||
rst_counter <= rst_counter - 32'd1;
|
||||
end
|
||||
end
|
||||
RST_ST_PWRON_PMA_SYSRST: begin
|
||||
if (rst_counter == 32'd0) begin
|
||||
rst_state <= RST_ST_IDLE;
|
||||
end else begin
|
||||
rst_counter <= rst_counter - 32'd1;
|
||||
end
|
||||
end
|
||||
RST_ST_IDLE: begin
|
||||
if (reset_iclk) begin
|
||||
rst_state <= RST_ST_SYSRST_PRE;
|
||||
rst_counter <= SYSRST_ASSERT_CYC;
|
||||
end
|
||||
end
|
||||
RST_ST_SYSRST_PRE: begin
|
||||
if (rst_counter == 32'd0) begin
|
||||
rst_state <= RST_ST_PMA_INIT;
|
||||
rst_counter <= {{(32-PMA_INIT_ASSERT_CYC_LOG2){1'b0}}, {PMA_INIT_ASSERT_CYC_LOG2{1'b1}}};
|
||||
end else if (mmcm_locked_iclk) begin
|
||||
rst_counter <= rst_counter - 32'd1;
|
||||
end
|
||||
end
|
||||
RST_ST_PMA_INIT: begin
|
||||
if (rst_counter == 32'd0) begin
|
||||
rst_state <= RST_ST_SYSRST_POST;
|
||||
rst_counter <= SYSRST_DEASSERT_CYC;
|
||||
end else begin
|
||||
rst_counter <= rst_counter - 32'd1;
|
||||
end
|
||||
end
|
||||
RST_ST_SYSRST_POST: begin
|
||||
if (rst_counter == 32'd0) begin
|
||||
rst_state <= RST_ST_IDLE;
|
||||
end else begin
|
||||
rst_counter <= rst_counter - 32'd1;
|
||||
end
|
||||
end
|
||||
endcase
|
||||
end
|
||||
|
||||
assign reset_pb = (rst_state != RST_ST_IDLE);
|
||||
assign pma_init = (rst_state == RST_ST_PMA_INIT || rst_state == RST_ST_PWRON_PMA_INIT);
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// Clocking
|
||||
//--------------------------------------------------------------
|
||||
|
||||
wire tx_out_clk, tx_out_clk_bufg;
|
||||
wire sync_clk_i;
|
||||
wire user_clk_i;
|
||||
wire mmcm_fb_clk;
|
||||
wire sync_clk;
|
||||
|
||||
localparam MULT = 10;
|
||||
localparam DIVIDE = 5;
|
||||
localparam CLK_PERIOD = 3.103;
|
||||
localparam OUT0_DIVIDE = 4;
|
||||
localparam OUT1_DIVIDE = 2;
|
||||
localparam OUT2_DIVIDE = 6;
|
||||
localparam OUT3_DIVIDE = 8;
|
||||
|
||||
MMCME2_ADV #(
|
||||
.BANDWIDTH ("OPTIMIZED"),
|
||||
.CLKOUT4_CASCADE ("FALSE"),
|
||||
.COMPENSATION ("ZHOLD"),
|
||||
.STARTUP_WAIT ("FALSE"),
|
||||
.DIVCLK_DIVIDE (DIVIDE),
|
||||
.CLKFBOUT_MULT_F (MULT),
|
||||
.CLKFBOUT_PHASE (0.000),
|
||||
.CLKFBOUT_USE_FINE_PS ("FALSE"),
|
||||
.CLKOUT0_DIVIDE_F (OUT0_DIVIDE),
|
||||
.CLKOUT0_PHASE (0.000),
|
||||
.CLKOUT0_DUTY_CYCLE (0.500),
|
||||
.CLKOUT0_USE_FINE_PS ("FALSE"),
|
||||
.CLKIN1_PERIOD (CLK_PERIOD),
|
||||
.CLKOUT1_DIVIDE (OUT1_DIVIDE),
|
||||
.CLKOUT1_PHASE (0.000),
|
||||
.CLKOUT1_DUTY_CYCLE (0.500),
|
||||
.CLKOUT1_USE_FINE_PS ("FALSE"),
|
||||
.CLKOUT2_DIVIDE (OUT2_DIVIDE),
|
||||
.CLKOUT2_PHASE (0.000),
|
||||
.CLKOUT2_DUTY_CYCLE (0.500),
|
||||
.CLKOUT2_USE_FINE_PS ("FALSE"),
|
||||
.CLKOUT3_DIVIDE (OUT3_DIVIDE),
|
||||
.CLKOUT3_PHASE (0.000),
|
||||
.CLKOUT3_DUTY_CYCLE (0.500),
|
||||
.CLKOUT3_USE_FINE_PS ("FALSE"),
|
||||
.REF_JITTER1 (0.010)
|
||||
) mmcm_adv_inst (
|
||||
.CLKFBOUT (mmcm_fb_clk),
|
||||
.CLKFBOUTB (),
|
||||
.CLKOUT0 (user_clk_i),
|
||||
.CLKOUT0B (),
|
||||
.CLKOUT1 (sync_clk_i),
|
||||
.CLKOUT1B (),
|
||||
.CLKOUT2 (),
|
||||
.CLKOUT2B (),
|
||||
.CLKOUT3 (),
|
||||
.CLKOUT3B (),
|
||||
.CLKOUT4 (),
|
||||
.CLKOUT5 (),
|
||||
.CLKOUT6 (),
|
||||
// Input clock control
|
||||
.CLKFBIN (mmcm_fb_clk),
|
||||
.CLKIN1 (tx_out_clk_bufg),
|
||||
.CLKIN2 (1'b0),
|
||||
// Tied to always select the primary input clock
|
||||
.CLKINSEL (1'b1),
|
||||
// Ports for dynamic reconfiguration
|
||||
.DADDR (7'h0),
|
||||
.DCLK (1'b0),
|
||||
.DEN (1'b0),
|
||||
.DI (16'h0),
|
||||
.DO (),
|
||||
.DRDY (),
|
||||
.DWE (1'b0),
|
||||
// Ports for dynamic phase shift
|
||||
.PSCLK (1'b0),
|
||||
.PSEN (1'b0),
|
||||
.PSINCDEC (1'b0),
|
||||
.PSDONE (),
|
||||
// Other control and status signals
|
||||
.LOCKED (mmcm_locked),
|
||||
.CLKINSTOPPED (),
|
||||
.CLKFBSTOPPED (),
|
||||
.PWRDWN (1'b0),
|
||||
.RST (!gt_pll_lock)
|
||||
);
|
||||
|
||||
// BUFG for the feedback clock. The feedback signal is phase aligned to the input
|
||||
// and must come from the CLK0 or CLK2X output of the PLL. In this case, we use
|
||||
// the CLK0 output.
|
||||
BUFG txout_clock_net_i (
|
||||
.I(tx_out_clk),
|
||||
.O(tx_out_clk_bufg)
|
||||
);
|
||||
BUFG user_clk_net_i (
|
||||
.I(user_clk_i),
|
||||
.O(user_clk)
|
||||
);
|
||||
BUFG sync_clock_net_i (
|
||||
.I(sync_clk_i),
|
||||
.O(sync_clk)
|
||||
);
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// GT Common
|
||||
//--------------------------------------------------------------
|
||||
|
||||
wire gt_qpllclk_quad1_i;
|
||||
wire gt_qpllrefclk_quad1_i;
|
||||
wire gt_to_common_qpllreset_i;
|
||||
wire gt_qpllrefclklost_i;
|
||||
wire gt_qplllock_i;
|
||||
|
||||
wire [7:0] qpll_drpaddr_in_i = 8'h0;
|
||||
wire [15:0] qpll_drpdi_in_i = 16'h0;
|
||||
wire qpll_drpen_in_i = 1'b0;
|
||||
wire qpll_drpwe_in_i = 1'b0;
|
||||
wire [15:0] qpll_drpdo_out_i;
|
||||
wire qpll_drprdy_out_i;
|
||||
|
||||
aurora_64b66b_pcs_pma_gt_common_wrapper gt_common_support (
|
||||
.gt_qpllclk_quad1_out (gt_qpllclk_quad1_i),
|
||||
.gt_qpllrefclk_quad1_out (gt_qpllrefclk_quad1_i),
|
||||
.GT0_GTREFCLK0_COMMON_IN (refclk),
|
||||
//----------------------- Common Block - QPLL Ports ------------------------
|
||||
.GT0_QPLLLOCK_OUT (gt_qplllock_i),
|
||||
.GT0_QPLLRESET_IN (gt_to_common_qpllreset_i),
|
||||
.GT0_QPLLLOCKDETCLK_IN (init_clk),
|
||||
.GT0_QPLLREFCLKLOST_OUT (gt_qpllrefclklost_i),
|
||||
//---------------------- Common DRP Ports ----------------------
|
||||
.qpll_drpaddr_in (qpll_drpaddr_in_i),
|
||||
.qpll_drpdi_in (qpll_drpdi_in_i),
|
||||
.qpll_drpclk_in (init_clk),
|
||||
.qpll_drpdo_out (qpll_drpdo_out_i),
|
||||
.qpll_drprdy_out (qpll_drprdy_out_i),
|
||||
.qpll_drpen_in (qpll_drpen_in_i),
|
||||
.qpll_drpwe_in (qpll_drpwe_in_i)
|
||||
);
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// IP Instantiation
|
||||
//--------------------------------------------------------------
|
||||
|
||||
wire gt_rxcdrovrden_i = 1'b0;
|
||||
wire [2:0] loopback_i = 3'b000;
|
||||
wire power_down_i = 1'b0;
|
||||
|
||||
aurora_64b66b_pcs_pma aurora_64b66b_pcs_pma_i (
|
||||
.refclk1_in (refclk),
|
||||
// TX AXI4-S Interface
|
||||
.s_axi_tx_tdata (s_axis_tdata),
|
||||
.s_axi_tx_tvalid (s_axis_tvalid),
|
||||
.s_axi_tx_tready (s_axis_tready),
|
||||
// RX AXI4-S Interface
|
||||
.m_axi_rx_tdata (m_axis_tdata),
|
||||
.m_axi_rx_tvalid (m_axis_tvalid),
|
||||
// GTX Serial I/O
|
||||
.rxp (rx_p),
|
||||
.rxn (rx_n),
|
||||
.txp (tx_p),
|
||||
.txn (tx_n),
|
||||
// Status and Error
|
||||
.hard_err (hard_err_i),
|
||||
.soft_err (soft_err_i),
|
||||
.channel_up (channel_up_i),
|
||||
.lane_up (lane_up_i),
|
||||
// System Interface
|
||||
.mmcm_not_locked (!mmcm_locked),
|
||||
.user_clk (user_clk),
|
||||
.sync_clk (sync_clk),
|
||||
.reset_pb (reset_pb),
|
||||
.gt_rxcdrovrden_in (gt_rxcdrovrden_i),
|
||||
.power_down (power_down_i),
|
||||
.loopback (loopback_i),
|
||||
.pma_init (pma_init),
|
||||
.gt_pll_lock (gt_pll_lock),
|
||||
.drp_clk_in (init_clk),
|
||||
.gt_qpllclk_quad1_in (gt_qpllclk_quad1_i),
|
||||
.gt_qpllrefclk_quad1_in (gt_qpllrefclk_quad1_i),
|
||||
.gt_to_common_qpllreset_out(gt_to_common_qpllreset_i),
|
||||
.gt_qplllock_in (gt_qplllock_i),
|
||||
.gt_qpllrefclklost_in (gt_qpllrefclklost_i),
|
||||
// AXI4-Lite config
|
||||
.s_axi_awaddr (s_axi_awaddr),
|
||||
.s_axi_awvalid (s_axi_awvalid),
|
||||
.s_axi_awready (s_axi_awready),
|
||||
.s_axi_wdata (s_axi_wdata),
|
||||
.s_axi_wstrb (s_axi_wstrb),
|
||||
.s_axi_wvalid (s_axi_wvalid),
|
||||
.s_axi_wready (s_axi_wready),
|
||||
.s_axi_bvalid (s_axi_bvalid),
|
||||
.s_axi_bresp (s_axi_bresp),
|
||||
.s_axi_bready (s_axi_bready),
|
||||
.s_axi_araddr (s_axi_araddr),
|
||||
.s_axi_arvalid (s_axi_arvalid),
|
||||
.s_axi_arready (s_axi_arready),
|
||||
.s_axi_rdata (s_axi_rdata),
|
||||
.s_axi_rvalid (s_axi_rvalid),
|
||||
.s_axi_rresp (s_axi_rresp),
|
||||
.s_axi_rready (s_axi_rready),
|
||||
// GTXE2 COMMON DRP Ports
|
||||
.qpll_drpaddr_in (qpll_drpaddr_in_i),
|
||||
.qpll_drpdi_in (qpll_drpdi_in_i),
|
||||
.qpll_drpdo_out (),
|
||||
.qpll_drprdy_out (),
|
||||
.qpll_drpen_in (qpll_drpen_in_i),
|
||||
.qpll_drpwe_in (qpll_drpwe_in_i),
|
||||
.init_clk (init_clk),
|
||||
.link_reset_out (),
|
||||
.sys_reset_out (user_rst),
|
||||
.tx_out_clk (tx_out_clk)
|
||||
);
|
||||
|
||||
endmodule
|
||||
@@ -0,0 +1,15 @@
|
||||
#
|
||||
# Copyright 2014 Ettus Research
|
||||
#
|
||||
|
||||
include $(TOOLS_DIR)/make/viv_ip_builder.mak
|
||||
|
||||
IP_AXI64_4K_2CLK_FIFO_SRCS = $(IP_BUILD_DIR)/axi64_4k_2clk_fifo/axi64_4k_2clk_fifo.xci
|
||||
|
||||
IP_AXI64_4K_2CLK_FIFO_OUTS = $(addprefix $(IP_BUILD_DIR)/axi64_4k_2clk_fifo/, \
|
||||
axi64_4k_2clk_fifo.xci.out \
|
||||
synth/axi64_4k_2clk_fifo.vhd \
|
||||
)
|
||||
|
||||
$(IP_AXI64_4K_2CLK_FIFO_SRCS) $(IP_AXI64_4K_2CLK_FIFO_OUTS) : $(IP_DIR)/axi64_4k_2clk_fifo/axi64_4k_2clk_fifo.xci
|
||||
$(call BUILD_VIVADO_IP,axi64_4k_2clk_fifo,$(ARCH),$(PART_ID),$(IP_DIR),$(IP_BUILD_DIR),0)
|
||||
@@ -0,0 +1,584 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<spirit:design xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<spirit:vendor>xilinx.com</spirit:vendor>
|
||||
<spirit:library>xci</spirit:library>
|
||||
<spirit:name>unknown</spirit:name>
|
||||
<spirit:version>1.0</spirit:version>
|
||||
<spirit:componentInstances>
|
||||
<spirit:componentInstance>
|
||||
<spirit:instanceName>axi64_4k_2clk_fifo</spirit:instanceName>
|
||||
<spirit:componentRef spirit:vendor="xilinx.com" spirit:library="ip" spirit:name="fifo_generator" spirit:version="13.2"/>
|
||||
<spirit:configurableElementValues>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TLAST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TREADY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.LAYERED_METADATA">undef</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TDATA_NUM_BYTES">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TUSER_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ARESETN.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TLAST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TREADY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.LAYERED_METADATA">undef</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TDATA_NUM_BYTES">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TUSER_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ADD_NGC_CONSTRAINT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TDATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TDEST_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TID_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TKEEP_WIDTH">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TSTRB_WIDTH">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TUSER_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ADDR_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ARUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_AWUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_BUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_DATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ID_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_LEN_WIDTH">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_LOCK_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_RUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_WUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COMMON_CLOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COUNT_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DATA_COUNT_WIDTH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DEFAULT_VALUE">BlankString</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH">18</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_AXIS">69</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_RACH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_RDCH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_WACH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_WDCH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_WRCH">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DOUT_RST_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DOUT_WIDTH">18</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ENABLE_RLOCS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ENABLE_RST_SYNC">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SAFETY_CKT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FAMILY">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FULL_FLAGS_RST_VAL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ALMOST_EMPTY">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ALMOST_FULL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TDATA">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TDEST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TLAST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TREADY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TUSER">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ARUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_AWUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_BUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_RD_CHANNEL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_RUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_WR_CHANNEL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_WUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_BACKUP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_AXIS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_INT_CLK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MASTER_CE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEMINIT_FILE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_OVERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RD_DATA_COUNT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RD_RST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SLAVE_CE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SRST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_UNDERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_VALID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_WR_ACK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_WR_DATA_COUNT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_WR_RST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_AXIS">11</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_RACH">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_RDCH">11</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_WACH">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_WDCH">11</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_WRCH">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INIT_WR_PNTR_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INTERFACE_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MEMORY_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MIF_FILE_NAME">BlankString</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MSGON_VAL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OPTIMIZATION_MODE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OVERFLOW_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_POWER_SAVING_MODE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRELOAD_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRELOAD_REGS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE">4kx4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_AXIS">512x72</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_RACH">512x36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_RDCH">1kx36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_WACH">512x36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_WDCH">1kx36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_WRCH">512x36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS">509</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_RACH">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_NEGATE_VAL">3</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_AXIS">511</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_RACH">15</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_RDCH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WACH">15</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WDCH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WRCH">15</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_NEGATE_VAL">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RACH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RDCH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_DATA_COUNT_WIDTH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_DEPTH">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_FREQ">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_PNTR_WIDTH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SELECT_XPM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SYNCHRONIZER_STAGE">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_UNDERFLOW_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_COMMON_OVERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_COMMON_UNDERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_DEFAULT_SETTINGS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_DOUT_RST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_EMBEDDED_REG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_FIFO16_FLAGS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_FWFT_DATA_COUNT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_PIPELINE_REG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_VALID_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WACH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WDCH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRCH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_ACK_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DATA_COUNT_WIDTH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_AXIS">512</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_RACH">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_RDCH">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WACH">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WDCH">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WRCH">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_FREQ">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_AXIS">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_RACH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_RDCH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_WACH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_WDCH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_WRCH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_RESPONSE_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ADDRESS_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ARUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AWUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Add_NGC_Constraint_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Almost_Empty_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Almost_Full_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.BUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.C_SELECT_XPM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Clock_Enable_Type">Slave_Interface_Clock_Enable</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Clock_Type_AXI">Independent_Clock</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Component_Name">axi64_4k_2clk_fifo</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.DATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Data_Count">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Data_Count_Width">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Timing_Violations">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Timing_Violations_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Dout_Reset_Value">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_axis">509</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_rach">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_rdch">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wach">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wdch">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wrch">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Negate_Value">3</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Common_Overflow">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Common_Underflow">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_axis">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_Type">Hard_ECC</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Reset_Synchronization">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Safety_Circuit">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_TLAST">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_TREADY">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_axis">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_rach">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_rdch">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_wach">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_wdch">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_wrch">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_axis">Independent_Clocks_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_rach">Independent_Clocks_Distributed_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_rdch">Independent_Clocks_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_wach">Independent_Clocks_Distributed_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_wdch">Independent_Clocks_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_wrch">Independent_Clocks_Distributed_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Fifo_Implementation">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Flags_Reset_Value">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_axis">511</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_rach">15</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_rdch">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wach">15</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wdch">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wrch">15</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Negate_Value">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_ACLKEN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TKEEP">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TSTRB">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.INTERFACE_TYPE">AXI_STREAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Data_Width">18</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_axis">512</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_rach">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_rdch">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_wach">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_wdch">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_wrch">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Master_interface_Clock_enable_memory_mapped">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Data_Width">18</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Depth">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Register_Type">Embedded_Reg</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Flag_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Sense_AXI">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.PROTOCOL">AXI4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Performance_Options">Standard_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_axis">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_rach">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_rdch">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_wach">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_wdch">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_wrch">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_axis">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_rach">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_rdch">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_wach">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_wdch">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_wrch">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Clock_Frequency">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Data_Count">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Data_Count_Width">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_axis">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_rach">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_rdch">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_wach">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_wdch">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_wrch">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Pin">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Type">Asynchronous_Reset</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Slave_interface_Clock_enable_memory_mapped">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TDATA_NUM_BYTES">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TKEEP_WIDTH">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TSTRB_WIDTH">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TUSER_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Flag_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Sense_AXI">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Dout_Reset">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Embedded_Registers">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Embedded_Registers_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Extra_Logic">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Valid_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Valid_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.WUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Acknowledge_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Acknowledge_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Clock_Frequency">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Data_Count">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Data_Count_Width">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.asymmetric_port_width">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.axis_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.dynamic_power_saving">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ecc_pipeline_reg">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.enable_low_latency">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.enable_read_pointer_increment_by2">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.rach_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.rdch_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.synchronization_stages">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.synchronization_stages_axi">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.use_dout_register">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.wach_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.wdch_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.wrch_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.ARCHITECTURE">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BASE_BOARD_PART"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BOARD_CONNECTIONS"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.DEVICE">xc7z100</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PACKAGE">ffg900</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PREFHDL">VERILOG</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SILICON_REVISION"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SIMULATOR_LANGUAGE">MIXED</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SPEEDGRADE">-2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.STATIC_POWER"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.TEMPERATURE_GRADE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_CUSTOMIZATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_GENERATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPCONTEXT">IP_Flow</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPREVISION">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.MANAGED">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.OUTPUTDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SELECTEDSIMMODEL"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SHAREDDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SWVERSION">2019.1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SYNTHESISFLOW">OUT_OF_CONTEXT</spirit:configurableElementValue>
|
||||
</spirit:configurableElementValues>
|
||||
<spirit:vendorExtensions>
|
||||
<xilinx:componentInstanceExtensions>
|
||||
<xilinx:configElementInfos>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_CACHE" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_LOCK" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_PROT" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_QOS" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_REGION" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TLAST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS.TDATA_NUM_BYTES" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS.TUSER_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_CACHE" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_LOCK" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_PROT" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_QOS" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_REGION" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TLAST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS.TDATA_NUM_BYTES" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS.TUSER_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Clock_Type_AXI" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_axis" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_rach" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_rdch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wach" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wdch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wrch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Enable_Data_Counts_axis" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Enable_TLAST" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.FIFO_Implementation_axis" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.FIFO_Implementation_rach" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.FIFO_Implementation_rdch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.FIFO_Implementation_wach" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.FIFO_Implementation_wdch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.FIFO_Implementation_wrch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Flags_Reset_Value" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_axis" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_rach" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wach" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wrch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.INTERFACE_TYPE" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Input_Depth_axis" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Reset_Type" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TDATA_NUM_BYTES" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TKEEP_WIDTH" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TSTRB_WIDTH" xilinx:valueSource="user"/>
|
||||
</xilinx:configElementInfos>
|
||||
</xilinx:componentInstanceExtensions>
|
||||
</spirit:vendorExtensions>
|
||||
</spirit:componentInstance>
|
||||
</spirit:componentInstances>
|
||||
</spirit:design>
|
||||
@@ -0,0 +1,15 @@
|
||||
#
|
||||
# Copyright 2014 Ettus Research
|
||||
#
|
||||
|
||||
include $(TOOLS_DIR)/make/viv_ip_builder.mak
|
||||
|
||||
IP_AXI64_8K_2CLK_FIFO_SRCS = $(IP_BUILD_DIR)/axi64_8k_2clk_fifo/axi64_8k_2clk_fifo.xci
|
||||
|
||||
IP_AXI64_8K_2CLK_FIFO_OUTS = $(addprefix $(IP_BUILD_DIR)/axi64_8k_2clk_fifo/, \
|
||||
axi64_8k_2clk_fifo.xci.out \
|
||||
synth/axi64_8k_2clk_fifo.vhd \
|
||||
)
|
||||
|
||||
$(IP_AXI64_8K_2CLK_FIFO_SRCS) $(IP_AXI64_8K_2CLK_FIFO_OUTS) : $(IP_DIR)/axi64_8k_2clk_fifo/axi64_8k_2clk_fifo.xci
|
||||
$(call BUILD_VIVADO_IP,axi64_8k_2clk_fifo,$(ARCH),$(PART_ID),$(IP_DIR),$(IP_BUILD_DIR),0)
|
||||
@@ -0,0 +1,582 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<spirit:design xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<spirit:vendor>xilinx.com</spirit:vendor>
|
||||
<spirit:library>xci</spirit:library>
|
||||
<spirit:name>unknown</spirit:name>
|
||||
<spirit:version>1.0</spirit:version>
|
||||
<spirit:componentInstances>
|
||||
<spirit:componentInstance>
|
||||
<spirit:instanceName>axi64_8k_2clk_fifo</spirit:instanceName>
|
||||
<spirit:componentRef spirit:vendor="xilinx.com" spirit:library="ip" spirit:name="fifo_generator" spirit:version="13.2"/>
|
||||
<spirit:configurableElementValues>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TLAST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TREADY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.LAYERED_METADATA">undef</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TDATA_NUM_BYTES">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TUSER_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ARESETN.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TLAST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TREADY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.LAYERED_METADATA">undef</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TDATA_NUM_BYTES">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TUSER_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ADD_NGC_CONSTRAINT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TDATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TDEST_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TID_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TKEEP_WIDTH">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TSTRB_WIDTH">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TUSER_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ADDR_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ARUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_AWUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_BUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_DATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ID_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_LEN_WIDTH">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_LOCK_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_RUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_WUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COMMON_CLOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COUNT_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DATA_COUNT_WIDTH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DEFAULT_VALUE">BlankString</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH">18</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_AXIS">69</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_RACH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_RDCH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_WACH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_WDCH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_WRCH">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DOUT_RST_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DOUT_WIDTH">18</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ENABLE_RLOCS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ENABLE_RST_SYNC">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SAFETY_CKT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FAMILY">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FULL_FLAGS_RST_VAL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ALMOST_EMPTY">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ALMOST_FULL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TDATA">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TDEST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TLAST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TREADY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TUSER">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ARUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_AWUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_BUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_RD_CHANNEL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_RUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_WR_CHANNEL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_WUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_BACKUP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_AXIS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_INT_CLK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MASTER_CE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEMINIT_FILE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_OVERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RD_DATA_COUNT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RD_RST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SLAVE_CE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SRST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_UNDERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_VALID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_WR_ACK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_WR_DATA_COUNT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_WR_RST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_AXIS">11</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_RACH">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_RDCH">11</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_WACH">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_WDCH">11</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_WRCH">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INIT_WR_PNTR_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INTERFACE_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MEMORY_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MIF_FILE_NAME">BlankString</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MSGON_VAL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OPTIMIZATION_MODE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OVERFLOW_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_POWER_SAVING_MODE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRELOAD_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRELOAD_REGS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE">4kx4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_AXIS">1kx36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_RACH">512x36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_RDCH">1kx36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_WACH">512x36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_WDCH">1kx36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_WRCH">512x36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_RACH">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_NEGATE_VAL">3</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_AXIS">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_RACH">15</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_RDCH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WACH">15</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WDCH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WRCH">15</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_NEGATE_VAL">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RACH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RDCH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_DATA_COUNT_WIDTH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_DEPTH">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_FREQ">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_PNTR_WIDTH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SELECT_XPM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SYNCHRONIZER_STAGE">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_UNDERFLOW_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_COMMON_OVERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_COMMON_UNDERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_DEFAULT_SETTINGS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_DOUT_RST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_EMBEDDED_REG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_FIFO16_FLAGS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_FWFT_DATA_COUNT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_PIPELINE_REG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_VALID_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WACH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WDCH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRCH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_ACK_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DATA_COUNT_WIDTH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_AXIS">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_RACH">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_RDCH">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WACH">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WDCH">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WRCH">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_FREQ">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_AXIS">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_RACH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_RDCH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_WACH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_WDCH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_WRCH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_RESPONSE_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ADDRESS_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ARUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AWUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Add_NGC_Constraint_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Almost_Empty_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Almost_Full_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.BUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.C_SELECT_XPM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Clock_Enable_Type">Slave_Interface_Clock_Enable</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Clock_Type_AXI">Independent_Clock</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Component_Name">axi64_8k_2clk_fifo</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.DATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Data_Count">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Data_Count_Width">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Timing_Violations">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Timing_Violations_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Dout_Reset_Value">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_axis">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_rach">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_rdch">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wach">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wdch">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wrch">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Negate_Value">3</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Common_Overflow">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Common_Underflow">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_axis">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_Type">Hard_ECC</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Reset_Synchronization">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Safety_Circuit">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_TLAST">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_TREADY">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_axis">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_rach">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_rdch">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_wach">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_wdch">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_wrch">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_axis">Independent_Clocks_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_rach">Independent_Clocks_Distributed_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_rdch">Independent_Clocks_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_wach">Independent_Clocks_Distributed_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_wdch">Independent_Clocks_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_wrch">Independent_Clocks_Distributed_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Fifo_Implementation">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Flags_Reset_Value">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_axis">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_rach">15</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_rdch">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wach">15</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wdch">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wrch">15</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Negate_Value">1021</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_ACLKEN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TKEEP">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TSTRB">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.INTERFACE_TYPE">AXI_STREAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Data_Width">18</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_axis">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_rach">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_rdch">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_wach">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_wdch">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_wrch">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Master_interface_Clock_enable_memory_mapped">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Data_Width">18</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Depth">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Register_Type">Embedded_Reg</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Flag_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Sense_AXI">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.PROTOCOL">AXI4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Performance_Options">Standard_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_axis">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_rach">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_rdch">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_wach">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_wdch">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_wrch">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_axis">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_rach">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_rdch">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_wach">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_wdch">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_wrch">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Clock_Frequency">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Data_Count">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Data_Count_Width">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_axis">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_rach">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_rdch">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_wach">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_wdch">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_wrch">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Pin">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Type">Asynchronous_Reset</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Slave_interface_Clock_enable_memory_mapped">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TDATA_NUM_BYTES">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TKEEP_WIDTH">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TSTRB_WIDTH">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TUSER_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Flag_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Sense_AXI">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Dout_Reset">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Embedded_Registers">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Embedded_Registers_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Extra_Logic">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Valid_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Valid_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.WUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Acknowledge_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Acknowledge_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Clock_Frequency">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Data_Count">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Data_Count_Width">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.asymmetric_port_width">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.axis_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.dynamic_power_saving">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ecc_pipeline_reg">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.enable_low_latency">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.enable_read_pointer_increment_by2">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.rach_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.rdch_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.synchronization_stages">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.synchronization_stages_axi">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.use_dout_register">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.wach_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.wdch_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.wrch_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.ARCHITECTURE">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BASE_BOARD_PART"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BOARD_CONNECTIONS"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.DEVICE">xc7z100</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PACKAGE">ffg900</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PREFHDL">VERILOG</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SILICON_REVISION"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SIMULATOR_LANGUAGE">MIXED</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SPEEDGRADE">-2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.STATIC_POWER"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.TEMPERATURE_GRADE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_CUSTOMIZATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_GENERATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPCONTEXT">IP_Flow</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPREVISION">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.MANAGED">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.OUTPUTDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SELECTEDSIMMODEL"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SHAREDDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SWVERSION">2019.1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SYNTHESISFLOW">OUT_OF_CONTEXT</spirit:configurableElementValue>
|
||||
</spirit:configurableElementValues>
|
||||
<spirit:vendorExtensions>
|
||||
<xilinx:componentInstanceExtensions>
|
||||
<xilinx:configElementInfos>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_CACHE" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_LOCK" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_PROT" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_QOS" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_REGION" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TLAST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS.TDATA_NUM_BYTES" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS.TUSER_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_CACHE" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_LOCK" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_PROT" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_QOS" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_REGION" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TLAST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS.TDATA_NUM_BYTES" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS.TUSER_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Clock_Type_AXI" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_axis" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_rach" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_rdch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wach" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wdch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wrch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Enable_Data_Counts_axis" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Enable_TLAST" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.FIFO_Implementation_axis" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.FIFO_Implementation_rach" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.FIFO_Implementation_rdch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.FIFO_Implementation_wach" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.FIFO_Implementation_wdch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.FIFO_Implementation_wrch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Flags_Reset_Value" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_rach" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wach" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wrch" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.INTERFACE_TYPE" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Reset_Type" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TDATA_NUM_BYTES" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TKEEP_WIDTH" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TSTRB_WIDTH" xilinx:valueSource="user"/>
|
||||
</xilinx:configElementInfos>
|
||||
</xilinx:componentInstanceExtensions>
|
||||
</spirit:vendorExtensions>
|
||||
</spirit:componentInstance>
|
||||
</spirit:componentInstances>
|
||||
</spirit:design>
|
||||
@@ -0,0 +1,14 @@
|
||||
#
|
||||
# Copyright 2017 Ettus Research
|
||||
#
|
||||
|
||||
include $(TOOLS_DIR)/make/viv_ip_builder.mak
|
||||
|
||||
IP_AXI_ETH_DMA_SRCS = $(IP_BUILD_DIR)/axi_eth_dma/axi_eth_dma.xci
|
||||
|
||||
IP_AXI_ETH_DMA_OUTS = $(addprefix $(IP_BUILD_DIR)/axi_eth_dma/, \
|
||||
axi_eth_dma.xci.out \
|
||||
)
|
||||
|
||||
$(IP_AXI_ETH_DMA_SRCS) $(IP_AXI_ETH_DMA_OUTS) : $(IP_DIR)/axi_eth_dma/axi_eth_dma.xci
|
||||
$(call BUILD_VIVADO_IP,axi_eth_dma,$(ARCH),$(PART_ID),$(IP_DIR),$(IP_BUILD_DIR),0)
|
||||
@@ -0,0 +1,412 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<spirit:design xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<spirit:vendor>xilinx.com</spirit:vendor>
|
||||
<spirit:library>xci</spirit:library>
|
||||
<spirit:name>unknown</spirit:name>
|
||||
<spirit:version>1.0</spirit:version>
|
||||
<spirit:componentInstances>
|
||||
<spirit:componentInstance>
|
||||
<spirit:instanceName>axi_eth_dma</spirit:instanceName>
|
||||
<spirit:componentRef spirit:vendor="xilinx.com" spirit:library="ip" spirit:name="axi_dma" spirit:version="7.1"/>
|
||||
<spirit:configurableElementValues>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_RESETN.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MM2S_CNTRL_RESET_OUT_N.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MM2S_INTROUT.PortWidth">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MM2S_PRMRY_RESET_OUT_N.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ADDR_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.DATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BRESP">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BURST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_CACHE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_PROT">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_RRESP">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_WSTRB">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.MAX_BURST_LENGTH">256</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_WRITE_OUTSTANDING">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.PROTOCOL">AXI4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.HAS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.HAS_TLAST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.HAS_TREADY">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.HAS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.LAYERED_METADATA">undef</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.TDATA_NUM_BYTES">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.TUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.HAS_TKEEP">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.HAS_TLAST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.HAS_TREADY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.HAS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.LAYERED_METADATA">undef</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.TDATA_NUM_BYTES">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.TUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.ADDR_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.DATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_RRESP">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.MAX_BURST_LENGTH">256</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.NUM_WRITE_OUTSTANDING">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.PROTOCOL">AXI4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.READ_WRITE_MODE">READ_ONLY</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.ADDR_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.DATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_BRESP">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_WSTRB">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.MAX_BURST_LENGTH">256</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.NUM_READ_OUTSTANDING">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.PROTOCOL">AXI4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.READ_WRITE_MODE">WRITE_ONLY</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.ADDR_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.DATA_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.HAS_BRESP">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.HAS_BURST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.HAS_CACHE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.HAS_PROT">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.HAS_RRESP">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.HAS_WSTRB">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.PROTOCOL">AXI4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG_CLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI_SG_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S2MM_INTROUT.PortWidth">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S2MM_PRMRY_RESET_OUT_N.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S2MM_STS_RESET_OUT_N.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.HAS_TKEEP">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.HAS_TLAST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.HAS_TREADY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.HAS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.LAYERED_METADATA">undef</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.TDATA_NUM_BYTES">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.TUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.HAS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.HAS_TLAST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.HAS_TREADY">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.HAS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.LAYERED_METADATA">undef</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.TDATA_NUM_BYTES">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.TUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.ADDR_WIDTH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.DATA_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_BRESP">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_RRESP">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE_ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE_ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE_ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE_ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DLYTMR_RESOLUTION">125</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ENABLE_MULTI_CHANNEL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FAMILY">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INCLUDE_MM2S">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INCLUDE_MM2S_DRE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INCLUDE_MM2S_SF">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INCLUDE_S2MM">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INCLUDE_S2MM_DRE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INCLUDE_S2MM_SF">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INCLUDE_SG">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INCREASE_THROUGHPUT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MICRO_DMA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MM2S_BURST_SIZE">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_M_AXIS_MM2S_CNTRL_TDATA_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_M_AXIS_MM2S_TDATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_M_AXI_MM2S_ADDR_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_M_AXI_MM2S_DATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_M_AXI_S2MM_ADDR_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_M_AXI_S2MM_DATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_M_AXI_SG_ADDR_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_NUM_MM2S_CHANNELS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_NUM_S2MM_CHANNELS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRMRY_IS_ACLK_ASYNC">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_S2MM_BURST_SIZE">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SG_INCLUDE_STSCNTRL_STRM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SG_LENGTH_WIDTH">23</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SG_USE_STSAPP_LENGTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_S_AXIS_S2MM_STS_TDATA_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_S_AXIS_S2MM_TDATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Component_Name">axi_eth_dma</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_addr_width">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_dlytmr_resolution">125</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_enable_multi_channel">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_include_mm2s">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_include_mm2s_dre">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_include_mm2s_sf">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_include_s2mm">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_include_s2mm_dre">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_include_s2mm_sf">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_include_sg">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_increase_throughput">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_m_axi_mm2s_data_width">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_m_axi_s2mm_data_width">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_m_axis_mm2s_tdata_width">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_micro_dma">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_mm2s_burst_size">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_num_mm2s_channels">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_num_s2mm_channels">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_prmry_is_aclk_async">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_s2mm_burst_size">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_s_axis_s2mm_tdata_width">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_sg_include_stscntrl_strm">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_sg_length_width">23</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_sg_use_stsapp_length">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.c_single_interface">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.ARCHITECTURE">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BASE_BOARD_PART"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BOARD_CONNECTIONS"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.DEVICE">xc7z100</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PACKAGE">ffg900</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PREFHDL">VERILOG</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SILICON_REVISION"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SIMULATOR_LANGUAGE">MIXED</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SPEEDGRADE">-2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.STATIC_POWER"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.TEMPERATURE_GRADE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_CUSTOMIZATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_GENERATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPCONTEXT">IP_Flow</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPREVISION">20</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.MANAGED">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.OUTPUTDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SELECTEDSIMMODEL"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SHAREDDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SWVERSION">2019.1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SYNTHESISFLOW">OUT_OF_CONTEXT</spirit:configurableElementValue>
|
||||
</spirit:configurableElementValues>
|
||||
<spirit:vendorExtensions>
|
||||
<xilinx:componentInstanceExtensions>
|
||||
<xilinx:configElementInfos>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.ID_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.HAS_TREADY" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.HAS_TSTRB" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.TDATA_NUM_BYTES" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.TDEST_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.TID_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS_CNTRL.TUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.HAS_TKEEP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.HAS_TLAST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.HAS_TSTRB" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS_MM2S.TDATA_NUM_BYTES" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.AWUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_BRESP" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_CACHE" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_PROT" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.HAS_WSTRB" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.ID_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.READ_WRITE_MODE" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_MM2S.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.ARUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_CACHE" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_PROT" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.HAS_RRESP" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.ID_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.READ_WRITE_MODE" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_S2MM.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.ID_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI_SG.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.HAS_TKEEP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.HAS_TLAST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.HAS_TSTRB" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS_S2MM.TDATA_NUM_BYTES" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.HAS_TREADY" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.HAS_TSTRB" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.TDATA_NUM_BYTES" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.TDEST_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.TID_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS_STS.TUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.ADDR_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.ARUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.AWUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.DATA_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_BRESP" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_BURST" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_CACHE" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_PROT" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_RRESP" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.HAS_WSTRB" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.ID_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.PROTOCOL" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.READ_WRITE_MODE" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI_LITE.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.c_include_mm2s_dre" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.c_include_s2mm_dre" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.c_m_axi_mm2s_data_width" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.c_m_axi_s2mm_data_width" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.c_m_axis_mm2s_tdata_width" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.c_mm2s_burst_size" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.c_s2mm_burst_size" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.c_s_axis_s2mm_tdata_width" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.c_sg_include_stscntrl_strm" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.c_sg_length_width" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.c_sg_use_stsapp_length" xilinx:valueSource="user"/>
|
||||
</xilinx:configElementInfos>
|
||||
</xilinx:componentInstanceExtensions>
|
||||
</spirit:vendorExtensions>
|
||||
</spirit:componentInstance>
|
||||
</spirit:componentInstances>
|
||||
</spirit:design>
|
||||
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Copyright 2016 Ettus Research
|
||||
#
|
||||
|
||||
include $(TOOLS_DIR)/make/viv_ip_builder.mak
|
||||
|
||||
IP_AXI_INTERCON_4X64_256_BD_SRCS = $(IP_BUILD_DIR)/axi_intercon_4x64_256_bd/axi_intercon_4x64_256_bd.bd \
|
||||
$(IP_BUILD_DIR)/axi_intercon_4x64_256_bd/axi_intercon_4x64_256_bd.bxml \
|
||||
$(IP_BUILD_DIR)/axi_intercon_4x64_256_bd/axi_intercon_4x64_256_bd_wrapper.v
|
||||
|
||||
BD_AXI_INTERCON_4X64_256_BD_OUTS = $(addprefix $(IP_BUILD_DIR)/axi_intercon_4x64_256_bd/, \
|
||||
axi_intercon_4x64_256_bd.bd.out \
|
||||
axi_intercon_4x64_256_bd_ooc.xdc \
|
||||
)
|
||||
|
||||
$(IP_AXI_INTERCON_4X64_256_BD_SRCS) $(IP_AXI_INTERCON_4X64_256_BD_OUTS) : $(IP_DIR)/axi_intercon_4x64_256_bd/axi_intercon_4x64_256_bd.bd
|
||||
$(call BUILD_VIVADO_BD,axi_intercon_4x64_256_bd,$(ARCH),$(PART_ID),$(IP_DIR),$(IP_BUILD_DIR))
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Root MajorVersion="0" MinorVersion="33">
|
||||
<CompositeFile CompositeFileTopName="axi_intercon_4x64_256_bd" CanBeSetAsTop="true" CanDisplayChildGraph="true">
|
||||
<Description>Composite Fileset</Description>
|
||||
<Generation Name="SYNTHESIS" State="STALE" Timestamp="1501543653"/>
|
||||
<Generation Name="IMPLEMENTATION" State="STALE" Timestamp="1501543653"/>
|
||||
<Generation Name="SIMULATION" State="STALE" Timestamp="1501543653"/>
|
||||
<FileCollection Name="SOURCES" Type="SOURCES">
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_m00_rs_0/axi_intercon_4x64_256_bd_m00_rs_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="m00_rs"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_s00_rs_0/axi_intercon_4x64_256_bd_s00_rs_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="s00_rs"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_s00_width_conv_0/axi_intercon_4x64_256_bd_s00_width_conv_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="s00_width_conv"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_s01_rs_0/axi_intercon_4x64_256_bd_s01_rs_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="s01_rs"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_s01_width_conv_0/axi_intercon_4x64_256_bd_s01_width_conv_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="s01_width_conv"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_xbar_0/axi_intercon_4x64_256_bd_xbar_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="xbar"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_s01_rs_256_0/axi_intercon_4x64_256_bd_s01_rs_256_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="s01_rs_256"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_s00_rs_256_0/axi_intercon_4x64_256_bd_s00_rs_256_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="s00_rs_256"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_s02_rs_0/axi_intercon_4x64_256_bd_s02_rs_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="s02_rs"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_s03_rs_0/axi_intercon_4x64_256_bd_s03_rs_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="s03_rs"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_s02_width_conv_0/axi_intercon_4x64_256_bd_s02_width_conv_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="s02_width_conv"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_s03_width_conv_0/axi_intercon_4x64_256_bd_s03_width_conv_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="s03_width_conv"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_s03_rs_256_0/axi_intercon_4x64_256_bd_s03_rs_256_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="s03_rs_256"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
<File Name="ip/axi_intercon_4x64_256_bd_s02_rs_256_0/axi_intercon_4x64_256_bd_s02_rs_256_0.xci" Type="IP">
|
||||
<Instance HierarchyPath="s02_rs_256"/>
|
||||
<Properties IsEditable="false" IsVisible="true" Timestamp="0" IsTrackable="true" IsStatusTracked="true"/>
|
||||
<Library Name="xil_defaultlib"/>
|
||||
<UsedIn Val="SYNTHESIS"/>
|
||||
<UsedIn Val="IMPLEMENTATION"/>
|
||||
<UsedIn Val="SIMULATION"/>
|
||||
</File>
|
||||
</FileCollection>
|
||||
</CompositeFile>
|
||||
</Root>
|
||||
@@ -0,0 +1,419 @@
|
||||
//Copyright 1986-2015 Xilinx, Inc. All Rights Reserved.
|
||||
`timescale 1 ps / 1 ps
|
||||
|
||||
module axi_intercon_4x64_256_bd_wrapper (
|
||||
input M00_AXI_ACLK,
|
||||
input M00_AXI_ARESETN,
|
||||
output [31:0]M00_AXI_ARADDR,
|
||||
output [1:0]M00_AXI_ARBURST,
|
||||
output [3:0]M00_AXI_ARCACHE,
|
||||
output [3:0]M00_AXI_ARID,
|
||||
output [7:0]M00_AXI_ARLEN,
|
||||
output [0:0]M00_AXI_ARLOCK,
|
||||
output [2:0]M00_AXI_ARPROT,
|
||||
output [3:0]M00_AXI_ARQOS,
|
||||
input M00_AXI_ARREADY,
|
||||
output [3:0]M00_AXI_ARREGION,
|
||||
output [2:0]M00_AXI_ARSIZE,
|
||||
output M00_AXI_ARVALID,
|
||||
output [31:0]M00_AXI_AWADDR,
|
||||
output [1:0]M00_AXI_AWBURST,
|
||||
output [3:0]M00_AXI_AWCACHE,
|
||||
output [3:0]M00_AXI_AWID,
|
||||
output [7:0]M00_AXI_AWLEN,
|
||||
output [0:0]M00_AXI_AWLOCK,
|
||||
output [2:0]M00_AXI_AWPROT,
|
||||
output [3:0]M00_AXI_AWQOS,
|
||||
input M00_AXI_AWREADY,
|
||||
output [3:0]M00_AXI_AWREGION,
|
||||
output [2:0]M00_AXI_AWSIZE,
|
||||
output M00_AXI_AWVALID,
|
||||
input [3:0]M00_AXI_BID,
|
||||
output M00_AXI_BREADY,
|
||||
input [1:0]M00_AXI_BRESP,
|
||||
input M00_AXI_BVALID,
|
||||
input [255:0]M00_AXI_RDATA,
|
||||
input [3:0]M00_AXI_RID,
|
||||
input M00_AXI_RLAST,
|
||||
output M00_AXI_RREADY,
|
||||
input [1:0]M00_AXI_RRESP,
|
||||
input M00_AXI_RVALID,
|
||||
output [255:0]M00_AXI_WDATA,
|
||||
output M00_AXI_WLAST,
|
||||
input M00_AXI_WREADY,
|
||||
output [31:0]M00_AXI_WSTRB,
|
||||
output M00_AXI_WVALID,
|
||||
input S00_AXI_ACLK,
|
||||
input S00_AXI_ARESETN,
|
||||
input [31:0]S00_AXI_ARADDR,
|
||||
input [1:0]S00_AXI_ARBURST,
|
||||
input [3:0]S00_AXI_ARCACHE,
|
||||
input [0:0]S00_AXI_ARID,
|
||||
input [7:0]S00_AXI_ARLEN,
|
||||
input [0:0]S00_AXI_ARLOCK,
|
||||
input [2:0]S00_AXI_ARPROT,
|
||||
input [3:0]S00_AXI_ARQOS,
|
||||
output S00_AXI_ARREADY,
|
||||
input [3:0]S00_AXI_ARREGION,
|
||||
input [2:0]S00_AXI_ARSIZE,
|
||||
input S00_AXI_ARVALID,
|
||||
input [31:0]S00_AXI_AWADDR,
|
||||
input [1:0]S00_AXI_AWBURST,
|
||||
input [3:0]S00_AXI_AWCACHE,
|
||||
input [0:0]S00_AXI_AWID,
|
||||
input [7:0]S00_AXI_AWLEN,
|
||||
input [0:0]S00_AXI_AWLOCK,
|
||||
input [2:0]S00_AXI_AWPROT,
|
||||
input [3:0]S00_AXI_AWQOS,
|
||||
output S00_AXI_AWREADY,
|
||||
input [3:0]S00_AXI_AWREGION,
|
||||
input [2:0]S00_AXI_AWSIZE,
|
||||
input S00_AXI_AWVALID,
|
||||
output [0:0]S00_AXI_BID,
|
||||
input S00_AXI_BREADY,
|
||||
output [1:0]S00_AXI_BRESP,
|
||||
output S00_AXI_BVALID,
|
||||
output [63:0]S00_AXI_RDATA,
|
||||
output [0:0]S00_AXI_RID,
|
||||
output S00_AXI_RLAST,
|
||||
input S00_AXI_RREADY,
|
||||
output [1:0]S00_AXI_RRESP,
|
||||
output S00_AXI_RVALID,
|
||||
input [63:0]S00_AXI_WDATA,
|
||||
input S00_AXI_WLAST,
|
||||
output S00_AXI_WREADY,
|
||||
input [7:0]S00_AXI_WSTRB,
|
||||
input S00_AXI_WVALID,
|
||||
input S01_AXI_ACLK,
|
||||
input S01_AXI_ARESETN,
|
||||
input [31:0]S01_AXI_ARADDR,
|
||||
input [1:0]S01_AXI_ARBURST,
|
||||
input [3:0]S01_AXI_ARCACHE,
|
||||
input [0:0]S01_AXI_ARID,
|
||||
input [7:0]S01_AXI_ARLEN,
|
||||
input [0:0]S01_AXI_ARLOCK,
|
||||
input [2:0]S01_AXI_ARPROT,
|
||||
input [3:0]S01_AXI_ARQOS,
|
||||
output S01_AXI_ARREADY,
|
||||
input [3:0]S01_AXI_ARREGION,
|
||||
input [2:0]S01_AXI_ARSIZE,
|
||||
input S01_AXI_ARVALID,
|
||||
input [31:0]S01_AXI_AWADDR,
|
||||
input [1:0]S01_AXI_AWBURST,
|
||||
input [3:0]S01_AXI_AWCACHE,
|
||||
input [0:0]S01_AXI_AWID,
|
||||
input [7:0]S01_AXI_AWLEN,
|
||||
input [0:0]S01_AXI_AWLOCK,
|
||||
input [2:0]S01_AXI_AWPROT,
|
||||
input [3:0]S01_AXI_AWQOS,
|
||||
output S01_AXI_AWREADY,
|
||||
input [3:0]S01_AXI_AWREGION,
|
||||
input [2:0]S01_AXI_AWSIZE,
|
||||
input S01_AXI_AWVALID,
|
||||
output [0:0]S01_AXI_BID,
|
||||
input S01_AXI_BREADY,
|
||||
output [1:0]S01_AXI_BRESP,
|
||||
output S01_AXI_BVALID,
|
||||
output [63:0]S01_AXI_RDATA,
|
||||
output [0:0]S01_AXI_RID,
|
||||
output S01_AXI_RLAST,
|
||||
input S01_AXI_RREADY,
|
||||
output [1:0]S01_AXI_RRESP,
|
||||
output S01_AXI_RVALID,
|
||||
input [63:0]S01_AXI_WDATA,
|
||||
input S01_AXI_WLAST,
|
||||
output S01_AXI_WREADY,
|
||||
input [7:0]S01_AXI_WSTRB,
|
||||
input S01_AXI_WVALID,
|
||||
input S02_AXI_ACLK,
|
||||
input S02_AXI_ARESETN,
|
||||
input [31:0]S02_AXI_ARADDR,
|
||||
input [1:0]S02_AXI_ARBURST,
|
||||
input [3:0]S02_AXI_ARCACHE,
|
||||
input [0:0]S02_AXI_ARID,
|
||||
input [7:0]S02_AXI_ARLEN,
|
||||
input [0:0]S02_AXI_ARLOCK,
|
||||
input [2:0]S02_AXI_ARPROT,
|
||||
input [3:0]S02_AXI_ARQOS,
|
||||
output S02_AXI_ARREADY,
|
||||
input [3:0]S02_AXI_ARREGION,
|
||||
input [2:0]S02_AXI_ARSIZE,
|
||||
input S02_AXI_ARVALID,
|
||||
input [31:0]S02_AXI_AWADDR,
|
||||
input [1:0]S02_AXI_AWBURST,
|
||||
input [3:0]S02_AXI_AWCACHE,
|
||||
input [0:0]S02_AXI_AWID,
|
||||
input [7:0]S02_AXI_AWLEN,
|
||||
input [0:0]S02_AXI_AWLOCK,
|
||||
input [2:0]S02_AXI_AWPROT,
|
||||
input [3:0]S02_AXI_AWQOS,
|
||||
output S02_AXI_AWREADY,
|
||||
input [3:0]S02_AXI_AWREGION,
|
||||
input [2:0]S02_AXI_AWSIZE,
|
||||
input S02_AXI_AWVALID,
|
||||
output [0:0]S02_AXI_BID,
|
||||
input S02_AXI_BREADY,
|
||||
output [1:0]S02_AXI_BRESP,
|
||||
output S02_AXI_BVALID,
|
||||
output [63:0]S02_AXI_RDATA,
|
||||
output [0:0]S02_AXI_RID,
|
||||
output S02_AXI_RLAST,
|
||||
input S02_AXI_RREADY,
|
||||
output [1:0]S02_AXI_RRESP,
|
||||
output S02_AXI_RVALID,
|
||||
input [63:0]S02_AXI_WDATA,
|
||||
input S02_AXI_WLAST,
|
||||
output S02_AXI_WREADY,
|
||||
input [7:0]S02_AXI_WSTRB,
|
||||
input S02_AXI_WVALID,
|
||||
input S03_AXI_ACLK,
|
||||
input S03_AXI_ARESETN,
|
||||
input [31:0]S03_AXI_ARADDR,
|
||||
input [1:0]S03_AXI_ARBURST,
|
||||
input [3:0]S03_AXI_ARCACHE,
|
||||
input [0:0]S03_AXI_ARID,
|
||||
input [7:0]S03_AXI_ARLEN,
|
||||
input [0:0]S03_AXI_ARLOCK,
|
||||
input [2:0]S03_AXI_ARPROT,
|
||||
input [3:0]S03_AXI_ARQOS,
|
||||
output S03_AXI_ARREADY,
|
||||
input [3:0]S03_AXI_ARREGION,
|
||||
input [2:0]S03_AXI_ARSIZE,
|
||||
input S03_AXI_ARVALID,
|
||||
input [31:0]S03_AXI_AWADDR,
|
||||
input [1:0]S03_AXI_AWBURST,
|
||||
input [3:0]S03_AXI_AWCACHE,
|
||||
input [0:0]S03_AXI_AWID,
|
||||
input [7:0]S03_AXI_AWLEN,
|
||||
input [0:0]S03_AXI_AWLOCK,
|
||||
input [2:0]S03_AXI_AWPROT,
|
||||
input [3:0]S03_AXI_AWQOS,
|
||||
output S03_AXI_AWREADY,
|
||||
input [3:0]S03_AXI_AWREGION,
|
||||
input [2:0]S03_AXI_AWSIZE,
|
||||
input S03_AXI_AWVALID,
|
||||
output [0:0]S03_AXI_BID,
|
||||
input S03_AXI_BREADY,
|
||||
output [1:0]S03_AXI_BRESP,
|
||||
output S03_AXI_BVALID,
|
||||
output [63:0]S03_AXI_RDATA,
|
||||
output [0:0]S03_AXI_RID,
|
||||
output S03_AXI_RLAST,
|
||||
input S03_AXI_RREADY,
|
||||
output [1:0]S03_AXI_RRESP,
|
||||
output S03_AXI_RVALID,
|
||||
input [63:0]S03_AXI_WDATA,
|
||||
input S03_AXI_WLAST,
|
||||
output S03_AXI_WREADY,
|
||||
input [7:0]S03_AXI_WSTRB,
|
||||
input S03_AXI_WVALID
|
||||
);
|
||||
|
||||
axi_intercon_4x64_256_bd axi_intercon_4x64_256_bd_i (
|
||||
.M00_AXI_ACLK(M00_AXI_ACLK),
|
||||
.M00_AXI_ARESETN(M00_AXI_ARESETN),
|
||||
.M00_AXI_araddr(M00_AXI_ARADDR),
|
||||
.M00_AXI_arburst(M00_AXI_ARBURST),
|
||||
.M00_AXI_arcache(M00_AXI_ARCACHE),
|
||||
.M00_AXI_arid(M00_AXI_ARID),
|
||||
.M00_AXI_arlen(M00_AXI_ARLEN),
|
||||
.M00_AXI_arlock(M00_AXI_ARLOCK),
|
||||
.M00_AXI_arprot(M00_AXI_ARPROT),
|
||||
.M00_AXI_arqos(M00_AXI_ARQOS),
|
||||
.M00_AXI_arready(M00_AXI_ARREADY),
|
||||
.M00_AXI_arregion(M00_AXI_ARREGION),
|
||||
.M00_AXI_arsize(M00_AXI_ARSIZE),
|
||||
.M00_AXI_arvalid(M00_AXI_ARVALID),
|
||||
.M00_AXI_awaddr(M00_AXI_AWADDR),
|
||||
.M00_AXI_awburst(M00_AXI_AWBURST),
|
||||
.M00_AXI_awcache(M00_AXI_AWCACHE),
|
||||
.M00_AXI_awid(M00_AXI_AWID),
|
||||
.M00_AXI_awlen(M00_AXI_AWLEN),
|
||||
.M00_AXI_awlock(M00_AXI_AWLOCK),
|
||||
.M00_AXI_awprot(M00_AXI_AWPROT),
|
||||
.M00_AXI_awqos(M00_AXI_AWQOS),
|
||||
.M00_AXI_awready(M00_AXI_AWREADY),
|
||||
.M00_AXI_awregion(M00_AXI_AWREGION),
|
||||
.M00_AXI_awsize(M00_AXI_AWSIZE),
|
||||
.M00_AXI_awvalid(M00_AXI_AWVALID),
|
||||
.M00_AXI_bid(M00_AXI_BID),
|
||||
.M00_AXI_bready(M00_AXI_BREADY),
|
||||
.M00_AXI_bresp(M00_AXI_BRESP),
|
||||
.M00_AXI_bvalid(M00_AXI_BVALID),
|
||||
.M00_AXI_rdata(M00_AXI_RDATA),
|
||||
.M00_AXI_rid(M00_AXI_RID),
|
||||
.M00_AXI_rlast(M00_AXI_RLAST),
|
||||
.M00_AXI_rready(M00_AXI_RREADY),
|
||||
.M00_AXI_rresp(M00_AXI_RRESP),
|
||||
.M00_AXI_rvalid(M00_AXI_RVALID),
|
||||
.M00_AXI_wdata(M00_AXI_WDATA),
|
||||
.M00_AXI_wlast(M00_AXI_WLAST),
|
||||
.M00_AXI_wready(M00_AXI_WREADY),
|
||||
.M00_AXI_wstrb(M00_AXI_WSTRB),
|
||||
.M00_AXI_wvalid(M00_AXI_WVALID),
|
||||
.S00_AXI_ACLK(S00_AXI_ACLK),
|
||||
.S00_AXI_ARESETN(S00_AXI_ARESETN),
|
||||
.S00_AXI_araddr(S00_AXI_ARADDR),
|
||||
.S00_AXI_arburst(S00_AXI_ARBURST),
|
||||
.S00_AXI_arcache(S00_AXI_ARCACHE),
|
||||
.S00_AXI_arid(S00_AXI_ARID),
|
||||
.S00_AXI_arlen(S00_AXI_ARLEN),
|
||||
.S00_AXI_arlock(S00_AXI_ARLOCK),
|
||||
.S00_AXI_arprot(S00_AXI_ARPROT),
|
||||
.S00_AXI_arqos(S00_AXI_ARQOS),
|
||||
.S00_AXI_arready(S00_AXI_ARREADY),
|
||||
.S00_AXI_arregion(S00_AXI_ARREGION),
|
||||
.S00_AXI_arsize(S00_AXI_ARSIZE),
|
||||
.S00_AXI_arvalid(S00_AXI_ARVALID),
|
||||
.S00_AXI_awaddr(S00_AXI_AWADDR),
|
||||
.S00_AXI_awburst(S00_AXI_AWBURST),
|
||||
.S00_AXI_awcache(S00_AXI_AWCACHE),
|
||||
.S00_AXI_awid(S00_AXI_AWID),
|
||||
.S00_AXI_awlen(S00_AXI_AWLEN),
|
||||
.S00_AXI_awlock(S00_AXI_AWLOCK),
|
||||
.S00_AXI_awprot(S00_AXI_AWPROT),
|
||||
.S00_AXI_awqos(S00_AXI_AWQOS),
|
||||
.S00_AXI_awready(S00_AXI_AWREADY),
|
||||
.S00_AXI_awregion(S00_AXI_AWREGION),
|
||||
.S00_AXI_awsize(S00_AXI_AWSIZE),
|
||||
.S00_AXI_awvalid(S00_AXI_AWVALID),
|
||||
.S00_AXI_bid(S00_AXI_BID),
|
||||
.S00_AXI_bready(S00_AXI_BREADY),
|
||||
.S00_AXI_bresp(S00_AXI_BRESP),
|
||||
.S00_AXI_bvalid(S00_AXI_BVALID),
|
||||
.S00_AXI_rdata(S00_AXI_RDATA),
|
||||
.S00_AXI_rid(S00_AXI_RID),
|
||||
.S00_AXI_rlast(S00_AXI_RLAST),
|
||||
.S00_AXI_rready(S00_AXI_RREADY),
|
||||
.S00_AXI_rresp(S00_AXI_RRESP),
|
||||
.S00_AXI_rvalid(S00_AXI_RVALID),
|
||||
.S00_AXI_wdata(S00_AXI_WDATA),
|
||||
.S00_AXI_wlast(S00_AXI_WLAST),
|
||||
.S00_AXI_wready(S00_AXI_WREADY),
|
||||
.S00_AXI_wstrb(S00_AXI_WSTRB),
|
||||
.S00_AXI_wvalid(S00_AXI_WVALID),
|
||||
.S01_AXI_ACLK(S01_AXI_ACLK),
|
||||
.S01_AXI_ARESETN(S01_AXI_ARESETN),
|
||||
.S01_AXI_araddr(S01_AXI_ARADDR),
|
||||
.S01_AXI_arburst(S01_AXI_ARBURST),
|
||||
.S01_AXI_arcache(S01_AXI_ARCACHE),
|
||||
.S01_AXI_arid(S01_AXI_ARID),
|
||||
.S01_AXI_arlen(S01_AXI_ARLEN),
|
||||
.S01_AXI_arlock(S01_AXI_ARLOCK),
|
||||
.S01_AXI_arprot(S01_AXI_ARPROT),
|
||||
.S01_AXI_arqos(S01_AXI_ARQOS),
|
||||
.S01_AXI_arready(S01_AXI_ARREADY),
|
||||
.S01_AXI_arregion(S01_AXI_ARREGION),
|
||||
.S01_AXI_arsize(S01_AXI_ARSIZE),
|
||||
.S01_AXI_arvalid(S01_AXI_ARVALID),
|
||||
.S01_AXI_awaddr(S01_AXI_AWADDR),
|
||||
.S01_AXI_awburst(S01_AXI_AWBURST),
|
||||
.S01_AXI_awcache(S01_AXI_AWCACHE),
|
||||
.S01_AXI_awid(S01_AXI_AWID),
|
||||
.S01_AXI_awlen(S01_AXI_AWLEN),
|
||||
.S01_AXI_awlock(S01_AXI_AWLOCK),
|
||||
.S01_AXI_awprot(S01_AXI_AWPROT),
|
||||
.S01_AXI_awqos(S01_AXI_AWQOS),
|
||||
.S01_AXI_awready(S01_AXI_AWREADY),
|
||||
.S01_AXI_awregion(S01_AXI_AWREGION),
|
||||
.S01_AXI_awsize(S01_AXI_AWSIZE),
|
||||
.S01_AXI_awvalid(S01_AXI_AWVALID),
|
||||
.S01_AXI_bid(S01_AXI_BID),
|
||||
.S01_AXI_bready(S01_AXI_BREADY),
|
||||
.S01_AXI_bresp(S01_AXI_BRESP),
|
||||
.S01_AXI_bvalid(S01_AXI_BVALID),
|
||||
.S01_AXI_rdata(S01_AXI_RDATA),
|
||||
.S01_AXI_rid(S01_AXI_RID),
|
||||
.S01_AXI_rlast(S01_AXI_RLAST),
|
||||
.S01_AXI_rready(S01_AXI_RREADY),
|
||||
.S01_AXI_rresp(S01_AXI_RRESP),
|
||||
.S01_AXI_rvalid(S01_AXI_RVALID),
|
||||
.S01_AXI_wdata(S01_AXI_WDATA),
|
||||
.S01_AXI_wlast(S01_AXI_WLAST),
|
||||
.S01_AXI_wready(S01_AXI_WREADY),
|
||||
.S01_AXI_wstrb(S01_AXI_WSTRB),
|
||||
.S01_AXI_wvalid(S01_AXI_WVALID),
|
||||
.S02_AXI_ACLK(S02_AXI_ACLK),
|
||||
.S02_AXI_ARESETN(S02_AXI_ARESETN),
|
||||
.S02_AXI_araddr(S02_AXI_ARADDR),
|
||||
.S02_AXI_arburst(S02_AXI_ARBURST),
|
||||
.S02_AXI_arcache(S02_AXI_ARCACHE),
|
||||
.S02_AXI_arid(S02_AXI_ARID),
|
||||
.S02_AXI_arlen(S02_AXI_ARLEN),
|
||||
.S02_AXI_arlock(S02_AXI_ARLOCK),
|
||||
.S02_AXI_arprot(S02_AXI_ARPROT),
|
||||
.S02_AXI_arqos(S02_AXI_ARQOS),
|
||||
.S02_AXI_arready(S02_AXI_ARREADY),
|
||||
.S02_AXI_arregion(S02_AXI_ARREGION),
|
||||
.S02_AXI_arsize(S02_AXI_ARSIZE),
|
||||
.S02_AXI_arvalid(S02_AXI_ARVALID),
|
||||
.S02_AXI_awaddr(S02_AXI_AWADDR),
|
||||
.S02_AXI_awburst(S02_AXI_AWBURST),
|
||||
.S02_AXI_awcache(S02_AXI_AWCACHE),
|
||||
.S02_AXI_awid(S02_AXI_AWID),
|
||||
.S02_AXI_awlen(S02_AXI_AWLEN),
|
||||
.S02_AXI_awlock(S02_AXI_AWLOCK),
|
||||
.S02_AXI_awprot(S02_AXI_AWPROT),
|
||||
.S02_AXI_awqos(S02_AXI_AWQOS),
|
||||
.S02_AXI_awready(S02_AXI_AWREADY),
|
||||
.S02_AXI_awregion(S02_AXI_AWREGION),
|
||||
.S02_AXI_awsize(S02_AXI_AWSIZE),
|
||||
.S02_AXI_awvalid(S02_AXI_AWVALID),
|
||||
.S02_AXI_bid(S02_AXI_BID),
|
||||
.S02_AXI_bready(S02_AXI_BREADY),
|
||||
.S02_AXI_bresp(S02_AXI_BRESP),
|
||||
.S02_AXI_bvalid(S02_AXI_BVALID),
|
||||
.S02_AXI_rdata(S02_AXI_RDATA),
|
||||
.S02_AXI_rid(S02_AXI_RID),
|
||||
.S02_AXI_rlast(S02_AXI_RLAST),
|
||||
.S02_AXI_rready(S02_AXI_RREADY),
|
||||
.S02_AXI_rresp(S02_AXI_RRESP),
|
||||
.S02_AXI_rvalid(S02_AXI_RVALID),
|
||||
.S02_AXI_wdata(S02_AXI_WDATA),
|
||||
.S02_AXI_wlast(S02_AXI_WLAST),
|
||||
.S02_AXI_wready(S02_AXI_WREADY),
|
||||
.S02_AXI_wstrb(S02_AXI_WSTRB),
|
||||
.S02_AXI_wvalid(S02_AXI_WVALID),
|
||||
.S03_AXI_ACLK(S03_AXI_ACLK),
|
||||
.S03_AXI_ARESETN(S03_AXI_ARESETN),
|
||||
.S03_AXI_araddr(S03_AXI_ARADDR),
|
||||
.S03_AXI_arburst(S03_AXI_ARBURST),
|
||||
.S03_AXI_arcache(S03_AXI_ARCACHE),
|
||||
.S03_AXI_arid(S03_AXI_ARID),
|
||||
.S03_AXI_arlen(S03_AXI_ARLEN),
|
||||
.S03_AXI_arlock(S03_AXI_ARLOCK),
|
||||
.S03_AXI_arprot(S03_AXI_ARPROT),
|
||||
.S03_AXI_arqos(S03_AXI_ARQOS),
|
||||
.S03_AXI_arready(S03_AXI_ARREADY),
|
||||
.S03_AXI_arregion(S03_AXI_ARREGION),
|
||||
.S03_AXI_arsize(S03_AXI_ARSIZE),
|
||||
.S03_AXI_arvalid(S03_AXI_ARVALID),
|
||||
.S03_AXI_awaddr(S03_AXI_AWADDR),
|
||||
.S03_AXI_awburst(S03_AXI_AWBURST),
|
||||
.S03_AXI_awcache(S03_AXI_AWCACHE),
|
||||
.S03_AXI_awid(S03_AXI_AWID),
|
||||
.S03_AXI_awlen(S03_AXI_AWLEN),
|
||||
.S03_AXI_awlock(S03_AXI_AWLOCK),
|
||||
.S03_AXI_awprot(S03_AXI_AWPROT),
|
||||
.S03_AXI_awqos(S03_AXI_AWQOS),
|
||||
.S03_AXI_awready(S03_AXI_AWREADY),
|
||||
.S03_AXI_awregion(S03_AXI_AWREGION),
|
||||
.S03_AXI_awsize(S03_AXI_AWSIZE),
|
||||
.S03_AXI_awvalid(S03_AXI_AWVALID),
|
||||
.S03_AXI_bid(S03_AXI_BID),
|
||||
.S03_AXI_bready(S03_AXI_BREADY),
|
||||
.S03_AXI_bresp(S03_AXI_BRESP),
|
||||
.S03_AXI_bvalid(S03_AXI_BVALID),
|
||||
.S03_AXI_rdata(S03_AXI_RDATA),
|
||||
.S03_AXI_rid(S03_AXI_RID),
|
||||
.S03_AXI_rlast(S03_AXI_RLAST),
|
||||
.S03_AXI_rready(S03_AXI_RREADY),
|
||||
.S03_AXI_rresp(S03_AXI_RRESP),
|
||||
.S03_AXI_rvalid(S03_AXI_RVALID),
|
||||
.S03_AXI_wdata(S03_AXI_WDATA),
|
||||
.S03_AXI_wlast(S03_AXI_WLAST),
|
||||
.S03_AXI_wready(S03_AXI_WREADY),
|
||||
.S03_AXI_wstrb(S03_AXI_WSTRB),
|
||||
.S03_AXI_wvalid(S03_AXI_WVALID)
|
||||
);
|
||||
endmodule
|
||||
@@ -0,0 +1,26 @@
|
||||
#
|
||||
# Copyright 2014 Ettus Research
|
||||
#
|
||||
|
||||
include $(TOOLS_DIR)/make/viv_ip_builder.mak
|
||||
|
||||
IP_DDR3_32BIT_SRCS = \
|
||||
$(IP_BUILD_DIR)/ddr3_32bit/ddr3_32bit.xci \
|
||||
$(IP_BUILD_DIR)/ddr3_32bit/ddr3_32bit/user_design/rtl/clocking/mig_7series_v4_2_tempmon.v
|
||||
|
||||
IP_DDR3_32BIT_OUTS = $(addprefix $(IP_BUILD_DIR)/ddr3_32bit/, \
|
||||
ddr3_32bit.xci.out \
|
||||
ddr3_32bit/user_design/rtl/ddr3_32bit.v \
|
||||
ddr3_32bit/user_design/rtl/ddr3_32bit_mig.v \
|
||||
)
|
||||
|
||||
IP_DDR3_32BIT_SIM_OUTS = $(addprefix $(IP_BUILD_DIR)/ddr3_32bit/, \
|
||||
ddr3_32bit/example_design/sim/ddr3_model.sv \
|
||||
ddr3_32bit/example_design/sim/ddr3_model_parameters.vh \
|
||||
)
|
||||
|
||||
|
||||
$(IP_DDR3_32BIT_SRCS) $(IP_DDR3_32BIT_OUTS) : $(IP_DIR)/ddr3_32bit/ddr3_32bit.xci $(IP_DIR)/ddr3_32bit/mig_*.prj
|
||||
cp -f $(IP_DIR)/ddr3_32bit/mig_$(subst /,,$(PART_ID)).prj $(IP_DIR)/ddr3_32bit/mig_a.prj # Note: This won't allow parallel IP builds
|
||||
$(call BUILD_VIVADO_IP,ddr3_32bit,$(ARCH),$(PART_ID),$(IP_DIR),$(IP_BUILD_DIR),0)
|
||||
rm -f $(IP_DIR)/ddr3_32bit/mig_a.prj
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,161 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- IMPORTANT: This is an internal file that has been generated by the MIG software. Any direct editing or changes made to this file may result in unpredictable behavior or data corruption. It is strongly advised that users do not edit the contents of this file. Re-run the MIG GUI with the required settings if any of the options provided below need to be altered. -->
|
||||
<Project NoOfControllers="1" >
|
||||
<ModuleName>ddr3_32bit</ModuleName>
|
||||
<dci_inouts_inputs>1</dci_inouts_inputs>
|
||||
<dci_inputs>1</dci_inputs>
|
||||
<Debug_En>OFF</Debug_En>
|
||||
<DataDepth_En>1024</DataDepth_En>
|
||||
<LowPower_En>ON</LowPower_En>
|
||||
<XADC_En>Disabled</XADC_En>
|
||||
<TargetFPGA>xc7z045-ffg900/-3</TargetFPGA>
|
||||
<Version>4.0</Version>
|
||||
<SystemClock>Differential</SystemClock>
|
||||
<ReferenceClock>No Buffer</ReferenceClock>
|
||||
<SysResetPolarity>ACTIVE HIGH</SysResetPolarity>
|
||||
<BankSelectionFlag>FALSE</BankSelectionFlag>
|
||||
<InternalVref>0</InternalVref>
|
||||
<dci_hr_inouts_inputs>50 Ohms</dci_hr_inouts_inputs>
|
||||
<dci_cascade>0</dci_cascade>
|
||||
<Controller number="0" >
|
||||
<MemoryDevice>DDR3_SDRAM/Components/MT41K512M8XX-125</MemoryDevice>
|
||||
<TimePeriod>1500</TimePeriod>
|
||||
<VccAuxIO>1.8V</VccAuxIO>
|
||||
<PHYRatio>4:1</PHYRatio>
|
||||
<InputClkFreq>133.333</InputClkFreq>
|
||||
<UIExtraClocks>0</UIExtraClocks>
|
||||
<MMCM_VCO>666</MMCM_VCO>
|
||||
<MMCMClkOut0> 1.000</MMCMClkOut0>
|
||||
<MMCMClkOut1>1</MMCMClkOut1>
|
||||
<MMCMClkOut2>1</MMCMClkOut2>
|
||||
<MMCMClkOut3>1</MMCMClkOut3>
|
||||
<MMCMClkOut4>1</MMCMClkOut4>
|
||||
<DataWidth>32</DataWidth>
|
||||
<DeepMemory>1</DeepMemory>
|
||||
<DataMask>1</DataMask>
|
||||
<ECC>Disabled</ECC>
|
||||
<Ordering>Normal</Ordering>
|
||||
<BankMachineCnt>4</BankMachineCnt>
|
||||
<CustomPart>TRUE</CustomPart>
|
||||
<NewPartName>MT41K512M16XX-125</NewPartName>
|
||||
<RowAddress>16</RowAddress>
|
||||
<ColAddress>10</ColAddress>
|
||||
<BankAddress>3</BankAddress>
|
||||
<MemoryVoltage>1.5V</MemoryVoltage>
|
||||
<UserMemoryAddressMap>ROW_BANK_COLUMN</UserMemoryAddressMap>
|
||||
<PinSelection>
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="D8" SLEW="" name="ddr3_addr[0]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="B7" SLEW="" name="ddr3_addr[10]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="J9" SLEW="" name="ddr3_addr[11]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="D11" SLEW="" name="ddr3_addr[12]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="F7" SLEW="" name="ddr3_addr[13]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="D6" SLEW="" name="ddr3_addr[14]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="B6" SLEW="" name="ddr3_addr[15]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="F9" SLEW="" name="ddr3_addr[1]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="A7" SLEW="" name="ddr3_addr[2]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="D9" SLEW="" name="ddr3_addr[3]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="H7" SLEW="" name="ddr3_addr[4]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="E8" SLEW="" name="ddr3_addr[5]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="F8" SLEW="" name="ddr3_addr[6]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="E7" SLEW="" name="ddr3_addr[7]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="C6" SLEW="" name="ddr3_addr[8]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="C7" SLEW="" name="ddr3_addr[9]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="C9" SLEW="" name="ddr3_ba[0]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="G7" SLEW="" name="ddr3_ba[1]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="B9" SLEW="" name="ddr3_ba[2]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="D10" SLEW="" name="ddr3_cas_n" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="DIFF_SSTL15" PADName="H8" SLEW="" name="ddr3_ck_n[0]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="DIFF_SSTL15" PADName="J8" SLEW="" name="ddr3_ck_p[0]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="E11" SLEW="" name="ddr3_cke[0]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="E10" SLEW="" name="ddr3_cs_n[0]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="D16" SLEW="" name="ddr3_dm[0]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="C12" SLEW="" name="ddr3_dm[1]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="J13" SLEW="" name="ddr3_dm[2]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="F14" SLEW="" name="ddr3_dm[3]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="B16" SLEW="" name="ddr3_dq[0]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="C11" SLEW="" name="ddr3_dq[10]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="C14" SLEW="" name="ddr3_dq[11]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="A12" SLEW="" name="ddr3_dq[12]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="B14" SLEW="" name="ddr3_dq[13]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="B11" SLEW="" name="ddr3_dq[14]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="A14" SLEW="" name="ddr3_dq[15]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="J16" SLEW="" name="ddr3_dq[16]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="J14" SLEW="" name="ddr3_dq[17]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="L15" SLEW="" name="ddr3_dq[18]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="H14" SLEW="" name="ddr3_dq[19]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="A17" SLEW="" name="ddr3_dq[1]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="K15" SLEW="" name="ddr3_dq[20]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="H13" SLEW="" name="ddr3_dq[21]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="L14" SLEW="" name="ddr3_dq[22]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="J15" SLEW="" name="ddr3_dq[23]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="E13" SLEW="" name="ddr3_dq[24]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="F15" SLEW="" name="ddr3_dq[25]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="F13" SLEW="" name="ddr3_dq[26]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="G16" SLEW="" name="ddr3_dq[27]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="E12" SLEW="" name="ddr3_dq[28]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="G15" SLEW="" name="ddr3_dq[29]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="C16" SLEW="" name="ddr3_dq[2]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="D13" SLEW="" name="ddr3_dq[30]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="G14" SLEW="" name="ddr3_dq[31]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="E15" SLEW="" name="ddr3_dq[3]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="C17" SLEW="" name="ddr3_dq[4]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="D14" SLEW="" name="ddr3_dq[5]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="B17" SLEW="" name="ddr3_dq[6]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="D15" SLEW="" name="ddr3_dq[7]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="B12" SLEW="" name="ddr3_dq[8]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15_T_DCI" PADName="A13" SLEW="" name="ddr3_dq[9]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="E17" SLEW="" name="ddr3_dqs_n[0]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="A15" SLEW="" name="ddr3_dqs_n[1]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="K13" SLEW="" name="ddr3_dqs_n[2]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="F12" SLEW="" name="ddr3_dqs_n[3]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="F17" SLEW="" name="ddr3_dqs_p[0]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="B15" SLEW="" name="ddr3_dqs_p[1]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="L13" SLEW="" name="ddr3_dqs_p[2]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="G12" SLEW="" name="ddr3_dqs_p[3]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="G11" SLEW="" name="ddr3_odt[0]" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="A10" SLEW="" name="ddr3_ras_n" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="LVCMOS15" PADName="B10" SLEW="" name="ddr3_reset_n" IN_TERM="" />
|
||||
<Pin VCCAUX_IO="NORMAL" IOSTANDARD="SSTL15" PADName="A9" SLEW="" name="ddr3_we_n" IN_TERM="" />
|
||||
</PinSelection>
|
||||
<System_Clock>
|
||||
<Pin PADName="H9/G9(CC_P/N)" Bank="34" name="sys_clk_p/n" />
|
||||
</System_Clock>
|
||||
<System_Control>
|
||||
<Pin PADName="No connect" Bank="Select Bank" name="sys_rst" />
|
||||
<Pin PADName="No connect" Bank="Select Bank" name="init_calib_complete" />
|
||||
<Pin PADName="No connect" Bank="Select Bank" name="tg_compare_error" />
|
||||
</System_Control>
|
||||
<TimingParameters>
|
||||
<Parameters twtr="7.5" trrd="6" trefi="7.8" tfaw="40" trtp="7.5" tcke="5" trfc="350" trp="13.75" tras="35" trcd="13.75" />
|
||||
</TimingParameters>
|
||||
<mrBurstLength name="Burst Length" >8 - Fixed</mrBurstLength>
|
||||
<mrBurstType name="Read Burst Type and Length" >Sequential</mrBurstType>
|
||||
<mrCasLatency name="CAS Latency" >9</mrCasLatency>
|
||||
<mrMode name="Mode" >Normal</mrMode>
|
||||
<mrDllReset name="DLL Reset" >No</mrDllReset>
|
||||
<mrPdMode name="DLL control for precharge PD" >Slow Exit</mrPdMode>
|
||||
<emrDllEnable name="DLL Enable" >Enable</emrDllEnable>
|
||||
<emrOutputDriveStrength name="Output Driver Impedance Control" >RZQ/7</emrOutputDriveStrength>
|
||||
<emrMirrorSelection name="Address Mirroring" >Disable</emrMirrorSelection>
|
||||
<emrCSSelection name="Controller Chip Select Pin" >Enable</emrCSSelection>
|
||||
<emrRTT name="RTT (nominal) - On Die Termination (ODT)" >RZQ/6</emrRTT>
|
||||
<emrPosted name="Additive Latency (AL)" >0</emrPosted>
|
||||
<emrOCD name="Write Leveling Enable" >Disabled</emrOCD>
|
||||
<emrDQS name="TDQS enable" >Enabled</emrDQS>
|
||||
<emrRDQS name="Qoff" >Output Buffer Enabled</emrRDQS>
|
||||
<mr2PartialArraySelfRefresh name="Partial-Array Self Refresh" >Full Array</mr2PartialArraySelfRefresh>
|
||||
<mr2CasWriteLatency name="CAS write latency" >7</mr2CasWriteLatency>
|
||||
<mr2AutoSelfRefresh name="Auto Self Refresh" >Enabled</mr2AutoSelfRefresh>
|
||||
<mr2SelfRefreshTempRange name="High Temparature Self Refresh Rate" >Normal</mr2SelfRefreshTempRange>
|
||||
<mr2RTTWR name="RTT_WR - Dynamic On Die Termination (ODT)" >Dynamic ODT off</mr2RTTWR>
|
||||
<PortInterface>AXI</PortInterface>
|
||||
<AXIParameters>
|
||||
<C0_C_RD_WR_ARB_ALGORITHM>ROUND_ROBIN</C0_C_RD_WR_ARB_ALGORITHM>
|
||||
<C0_S_AXI_ADDR_WIDTH>31</C0_S_AXI_ADDR_WIDTH>
|
||||
<C0_S_AXI_DATA_WIDTH>256</C0_S_AXI_DATA_WIDTH>
|
||||
<C0_S_AXI_ID_WIDTH>4</C0_S_AXI_ID_WIDTH>
|
||||
<C0_S_AXI_SUPPORTS_NARROW_BURST>1</C0_S_AXI_SUPPORTS_NARROW_BURST>
|
||||
</AXIParameters>
|
||||
</Controller>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,35 @@
|
||||
#
|
||||
# Copyright 2018 Ettus Research
|
||||
#
|
||||
|
||||
include $(TOOLS_DIR)/make/viv_ip_builder.mak
|
||||
include $(LIB_DIR)/rfnoc/utils/Makefile.srcs
|
||||
|
||||
IP_E320_PS_ORIG_SRCS = $(addprefix $(IP_DIR)/e320_ps_bd/, \
|
||||
e320_ps_bd.tcl \
|
||||
chdr_dma_rx.tcl \
|
||||
chdr_dma_tx.tcl \
|
||||
chdr_dma_frame_size.tcl \
|
||||
chdr_dma_top.tcl \
|
||||
)
|
||||
|
||||
IP_E320_PS_BDTCL_SRCS = $(addprefix $(IP_BUILD_DIR)/e320_ps_bd/, \
|
||||
e320_ps_bd.tcl \
|
||||
chdr_dma_rx.tcl \
|
||||
chdr_dma_tx.tcl \
|
||||
chdr_dma_frame_size.tcl \
|
||||
chdr_dma_top.tcl \
|
||||
)
|
||||
|
||||
IP_E320_PS_HDL_SRCS = $(RFNOC_UTIL_SRCS)
|
||||
|
||||
IP_E320_PS_BD_SRCS = $(IP_BUILD_DIR)/e320_ps_bd/e320_ps_bd/e320_ps_bd.bd
|
||||
|
||||
BD_E320_PS_BD_OUTS = $(addprefix $(IP_BUILD_DIR)/e320_ps_bd/, \
|
||||
e320_ps_bd.bd.out \
|
||||
e320_ps_bd/e320_ps_bd_ooc.xdc \
|
||||
)
|
||||
|
||||
$(IP_E320_PS_BD_SRCS) $(BD_E320_PS_BD_OUTS) $(IP_E320_PS_BDTCL_SRCS): $(IP_E320_PS_ORIG_SRCS) $(IP_E320_PS_HDL_SRCS)
|
||||
$(call BUILD_VIVADO_BDTCL,e320_ps_bd,$(ARCH),$(PART_ID),$(IP_DIR),$(IP_BUILD_DIR),$(LIB_DIR)/vivado_ipi,$(IP_E320_PS_HDL_SRCS))
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
# Hierarchical cell: mtu
|
||||
proc create_hier_cell_mtu { parentCell nameHier numPorts } {
|
||||
|
||||
if { $parentCell eq "" || $nameHier eq "" } {
|
||||
puts "ERROR: create_hier_cell_mtu() - Empty argument(s)!"
|
||||
return
|
||||
}
|
||||
|
||||
# Get object for parentCell
|
||||
set parentObj [get_bd_cells $parentCell]
|
||||
if { $parentObj == "" } {
|
||||
puts "ERROR: Unable to find parent cell <$parentCell>!"
|
||||
return
|
||||
}
|
||||
|
||||
# Make sure parentObj is hier blk
|
||||
set parentType [get_property TYPE $parentObj]
|
||||
if { $parentType ne "hier" } {
|
||||
puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."
|
||||
return
|
||||
}
|
||||
|
||||
# Save current instance; Restore later
|
||||
set oldCurInst [current_bd_instance .]
|
||||
|
||||
# Set parent object as current
|
||||
current_bd_instance $parentObj
|
||||
|
||||
# Create cell and set as current instance
|
||||
set hier_obj [create_bd_cell -type hier $nameHier]
|
||||
current_bd_instance $hier_obj
|
||||
|
||||
# Create cells and wire everything up
|
||||
create_bd_pin -dir I -from [expr $numPorts * 32 - 1] -to 0 mtu_regs
|
||||
connect_bd_net -net mtu_regs_1 [get_bd_pins mtu_regs]
|
||||
# BUG: Vivado 2015.4 does not connect nets the first time with just the driver
|
||||
connect_bd_net -quiet -net mtu_regs_1 [get_bd_pins mtu_regs]
|
||||
|
||||
for {set i 0} {$i < $numPorts} {incr i} {
|
||||
# Create instance: xlslice_0, and set properties
|
||||
set xlslice [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlslice:1.0 xlslice_$i ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.DIN_FROM [expr $i * 32 + 15] \
|
||||
CONFIG.DIN_TO [expr $i * 32] \
|
||||
CONFIG.DIN_WIDTH [expr $numPorts * 32] \
|
||||
CONFIG.DOUT_WIDTH {16} \
|
||||
] $xlslice
|
||||
|
||||
connect_bd_net -net mtu_regs_1 [get_bd_pins $xlslice/Din]
|
||||
|
||||
create_bd_pin -dir O -from 15 -to 0 mtu$i
|
||||
connect_bd_net [get_bd_pins mtu$i] [get_bd_pins $xlslice/Dout]
|
||||
}
|
||||
|
||||
# Restore current instance
|
||||
current_bd_instance $oldCurInst
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,339 @@
|
||||
set scriptDir [file dirname [info script]]
|
||||
|
||||
source "$scriptDir/chdr_dma_frame_size.tcl"
|
||||
|
||||
proc create_hier_cell_rx_dma_channel { parentCell nameHier } {
|
||||
|
||||
if { $parentCell eq "" || $nameHier eq "" } {
|
||||
puts "ERROR: create_hier_cell_dma() - Empty argument(s)!"
|
||||
return
|
||||
}
|
||||
|
||||
# Get object for parentCell
|
||||
set parentObj [get_bd_cells $parentCell]
|
||||
if { $parentObj == "" } {
|
||||
puts "ERROR: Unable to find parent cell <$parentCell>!"
|
||||
return
|
||||
}
|
||||
|
||||
# Make sure parentObj is hier blk
|
||||
set parentType [get_property TYPE $parentObj]
|
||||
if { $parentType ne "hier" } {
|
||||
puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."
|
||||
return
|
||||
}
|
||||
|
||||
# Save current instance; Restore later
|
||||
set oldCurInst [current_bd_instance .]
|
||||
|
||||
# Set parent object as current
|
||||
current_bd_instance $parentObj
|
||||
|
||||
# Create cell and set as current instance
|
||||
set hier_obj [create_bd_cell -type hier $nameHier]
|
||||
current_bd_instance $hier_obj
|
||||
|
||||
#########################
|
||||
# Pin list
|
||||
#########################
|
||||
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:axis_rtl:1.0 S_AXIS
|
||||
create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 m_dest_axi
|
||||
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 s_axi
|
||||
|
||||
create_bd_pin -dir I -from 15 -to 0 frame_size
|
||||
create_bd_pin -dir O -type intr irq
|
||||
create_bd_pin -dir I -type rst m_dest_axi_aresetn
|
||||
create_bd_pin -dir I -type clk s_axi_aclk
|
||||
create_bd_pin -dir I -type rst s_axi_aresetn
|
||||
create_bd_pin -dir I -type clk s_axis_aclk
|
||||
|
||||
#########################
|
||||
# Instantiate IPs
|
||||
#########################
|
||||
set reset_inv [ create_bd_cell -type ip -vlnv xilinx.com:ip:util_vector_logic:2.0 reset_inv ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.C_SIZE {1} \
|
||||
CONFIG.C_OPERATION {not} \
|
||||
] $reset_inv
|
||||
|
||||
set chdr_padder [ create_bd_cell -type module -reference chdr_pad_packet chdr_padder ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.CHDR_W {64} \
|
||||
] $chdr_padder
|
||||
set_property CONFIG.POLARITY ACTIVE_HIGH [get_bd_pins chdr_padder/rst]
|
||||
|
||||
set axi_rx_dmac [ create_bd_cell -type ip -vlnv analog.com:user:axi_dmac:1.0 axi_rx_dmac ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.ASYNC_CLK_DEST_REQ {true} \
|
||||
CONFIG.ASYNC_CLK_REQ_SRC {true} \
|
||||
CONFIG.ASYNC_CLK_SRC_DEST {false} \
|
||||
CONFIG.DMA_AXI_PROTOCOL_DEST {1} \
|
||||
CONFIG.DMA_TYPE_SRC {1} \
|
||||
CONFIG.SYNC_TRANSFER_START {false} \
|
||||
] $axi_rx_dmac
|
||||
|
||||
#########################
|
||||
# Wiring
|
||||
#########################
|
||||
|
||||
# Top-level connections
|
||||
connect_bd_net -net aclk_1 \
|
||||
[get_bd_pins s_axis_aclk] \
|
||||
[get_bd_pins chdr_padder/clk] \
|
||||
[get_bd_pins axi_rx_dmac/m_dest_axi_aclk] \
|
||||
[get_bd_pins axi_rx_dmac/s_axis_aclk]
|
||||
connect_bd_net -net aresetn_1 \
|
||||
[get_bd_pins m_dest_axi_aresetn] \
|
||||
[get_bd_pins reset_inv/Op1] \
|
||||
[get_bd_pins axi_rx_dmac/m_dest_axi_aresetn]
|
||||
connect_bd_net -net areset_1 \
|
||||
[get_bd_pins reset_inv/Res] \
|
||||
[get_bd_pins chdr_padder/rst]
|
||||
connect_bd_net -net s_axi_aclk_1 \
|
||||
[get_bd_pins s_axi_aclk] \
|
||||
[get_bd_pins axi_rx_dmac/s_axi_aclk]
|
||||
connect_bd_net -net s_axi_aresetn_1 \
|
||||
[get_bd_pins s_axi_aresetn] \
|
||||
[get_bd_pins axi_rx_dmac/s_axi_aresetn]
|
||||
connect_bd_net -net axi_rx_dmac_irq \
|
||||
[get_bd_pins irq] \
|
||||
[get_bd_pins axi_rx_dmac/irq]
|
||||
connect_bd_net -net mtu \
|
||||
[get_bd_pins frame_size] \
|
||||
[get_bd_pins chdr_padder/len]
|
||||
|
||||
# Control and DMA ports
|
||||
connect_bd_intf_net -intf_net axi_rx_dmac_s_axi \
|
||||
[get_bd_intf_pins s_axi] \
|
||||
[get_bd_intf_pins axi_rx_dmac/s_axi]
|
||||
connect_bd_intf_net -intf_net axi_rx_dmac_m_dest_axi \
|
||||
[get_bd_intf_pins m_dest_axi] \
|
||||
[get_bd_intf_pins axi_rx_dmac/m_dest_axi]
|
||||
|
||||
# AXI-Stream ports
|
||||
connect_bd_intf_net -intf_net s_axis_dma \
|
||||
[get_bd_intf_pins S_AXIS] \
|
||||
[get_bd_intf_pins chdr_padder/s_axis]
|
||||
connect_bd_intf_net -intf_net s_axis_dma_padded \
|
||||
[get_bd_intf_pins chdr_padder/m_axis] \
|
||||
[get_bd_intf_pins axi_rx_dmac/s_axis]
|
||||
|
||||
# Restore current instance
|
||||
current_bd_instance $oldCurInst
|
||||
}
|
||||
|
||||
# Hierarchical cell: rx
|
||||
proc create_hier_cell_rx_dma { parentCell nameHier numPorts } {
|
||||
|
||||
if { $parentCell eq "" || $nameHier eq "" || $numPorts eq "" } {
|
||||
puts "ERROR: create_hier_cell_rx() - Empty argument(s)!"
|
||||
return
|
||||
}
|
||||
|
||||
# Get object for parentCell
|
||||
set parentObj [get_bd_cells $parentCell]
|
||||
if { $parentObj == "" } {
|
||||
puts "ERROR: Unable to find parent cell <$parentCell>!"
|
||||
return
|
||||
}
|
||||
|
||||
if { $numPorts < 1 } {
|
||||
puts "ERROR: numPorts invalid: $numPorts"
|
||||
return
|
||||
}
|
||||
|
||||
# Make sure parentObj is hier blk
|
||||
set parentType [get_property TYPE $parentObj]
|
||||
if { $parentType ne "hier" } {
|
||||
puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."
|
||||
return
|
||||
}
|
||||
|
||||
# Save current instance; Restore later
|
||||
set oldCurInst [current_bd_instance .]
|
||||
|
||||
# Set parent object as current
|
||||
current_bd_instance $parentObj
|
||||
|
||||
# Create cell and set as current instance
|
||||
set hier_obj [create_bd_cell -type hier $nameHier]
|
||||
current_bd_instance $hier_obj
|
||||
|
||||
#########################
|
||||
# Pin list
|
||||
#########################
|
||||
create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_RX_DMA
|
||||
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:axis_rtl:1.0 S_AXIS_DMA
|
||||
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 s_axi_rx_dmac
|
||||
|
||||
create_bd_pin -dir I bus_clk
|
||||
create_bd_pin -dir I bus_rstn
|
||||
create_bd_pin -dir I clk40
|
||||
create_bd_pin -dir I clk40_rstn
|
||||
create_bd_pin -dir O -from [expr $numPorts - 1] -to 0 irq
|
||||
create_bd_pin -dir I -from [expr $numPorts * 32 - 1] -to 0 mtu_regs
|
||||
#########################
|
||||
# Instantiate IPs
|
||||
#########################
|
||||
# For sharing one S_AXI_HP port across all RX DMA engines
|
||||
set axi_crossbar_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_crossbar:2.1 axi_crossbar_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.CONNECTIVITY_MODE {SASD} \
|
||||
CONFIG.NUM_MI {1} \
|
||||
CONFIG.NUM_SI $numPorts \
|
||||
CONFIG.R_REGISTER {1} \
|
||||
] $axi_crossbar_0
|
||||
|
||||
# For fanning out AXI-Lite bus to all RX DMA engines
|
||||
set axi_interconnect_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 axi_interconnect_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.NUM_MI $numPorts \
|
||||
] $axi_interconnect_0
|
||||
|
||||
# Routes AXI-Stream to appropriate RX DMA engine
|
||||
set axis_switch_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axis_switch:1.1 axis_switch_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.DECODER_REG {1} \
|
||||
CONFIG.NUM_MI $numPorts \
|
||||
CONFIG.NUM_SI {1} \
|
||||
] $axis_switch_0
|
||||
|
||||
# Cross domains from incoming AXI-Stream to RX DMA engines domain
|
||||
# Note that the fifo_generator_0 is hard-coded to have 4 TDEST bits, so we
|
||||
# are limited to 16 RX DMA channels
|
||||
set fifo_generator_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:fifo_generator:13.2 fifo_generator_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.Clock_Type_AXI {Independent_Clock} \
|
||||
CONFIG.Empty_Threshold_Assert_Value_axis {1021} \
|
||||
CONFIG.Empty_Threshold_Assert_Value_rach {13} \
|
||||
CONFIG.Empty_Threshold_Assert_Value_rdch {1021} \
|
||||
CONFIG.Empty_Threshold_Assert_Value_wach {13} \
|
||||
CONFIG.Empty_Threshold_Assert_Value_wdch {1021} \
|
||||
CONFIG.Empty_Threshold_Assert_Value_wrch {13} \
|
||||
CONFIG.Enable_TLAST {true} \
|
||||
CONFIG.FIFO_Implementation_axis {Independent_Clocks_Block_RAM} \
|
||||
CONFIG.FIFO_Implementation_rach {Independent_Clocks_Distributed_RAM} \
|
||||
CONFIG.FIFO_Implementation_rdch {Independent_Clocks_Block_RAM} \
|
||||
CONFIG.FIFO_Implementation_wach {Independent_Clocks_Distributed_RAM} \
|
||||
CONFIG.FIFO_Implementation_wdch {Independent_Clocks_Block_RAM} \
|
||||
CONFIG.FIFO_Implementation_wrch {Independent_Clocks_Distributed_RAM} \
|
||||
CONFIG.Full_Flags_Reset_Value {1} \
|
||||
CONFIG.Full_Threshold_Assert_Value_axis {1023} \
|
||||
CONFIG.Full_Threshold_Assert_Value_rach {15} \
|
||||
CONFIG.Full_Threshold_Assert_Value_wach {15} \
|
||||
CONFIG.Full_Threshold_Assert_Value_wrch {15} \
|
||||
CONFIG.HAS_TKEEP {false} \
|
||||
CONFIG.INTERFACE_TYPE {AXI_STREAM} \
|
||||
CONFIG.Input_Depth_axis {1024} \
|
||||
CONFIG.Reset_Type {Asynchronous_Reset} \
|
||||
CONFIG.TDATA_NUM_BYTES {8} \
|
||||
CONFIG.TDEST_WIDTH {4} \
|
||||
CONFIG.TKEEP_WIDTH {0} \
|
||||
CONFIG.TSTRB_WIDTH {8} \
|
||||
CONFIG.TUSER_WIDTH {0} \
|
||||
] $fifo_generator_0
|
||||
|
||||
set rx_dmac_irq_concat [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconcat:2.1 rx_dmac_irq_concat ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.NUM_PORTS $numPorts \
|
||||
] $rx_dmac_irq_concat
|
||||
|
||||
create_hier_cell_mtu $hier_obj mtu $numPorts
|
||||
|
||||
#########################
|
||||
# Wiring
|
||||
#########################
|
||||
connect_bd_intf_net -intf_net S00_AXIS_1 \
|
||||
[get_bd_intf_pins S_AXIS_DMA] \
|
||||
[get_bd_intf_pins fifo_generator_0/S_AXIS]
|
||||
|
||||
connect_bd_intf_net -intf_net axi_crossbar_0_M00_AXI \
|
||||
[get_bd_intf_pins M_AXI_RX_DMA] \
|
||||
[get_bd_intf_pins axi_crossbar_0/M00_AXI]
|
||||
|
||||
connect_bd_intf_net -intf_net fifo_generator_0_M_AXIS \
|
||||
[get_bd_intf_pins axis_switch_0/S00_AXIS] \
|
||||
[get_bd_intf_pins fifo_generator_0/M_AXIS]
|
||||
|
||||
connect_bd_intf_net -intf_net s_axi_rx_dmac_1 \
|
||||
[get_bd_intf_pins s_axi_rx_dmac] \
|
||||
[get_bd_intf_pins axi_interconnect_0/S00_AXI]
|
||||
|
||||
connect_bd_net -net aresetn_1 \
|
||||
[get_bd_pins bus_rstn] \
|
||||
[get_bd_pins fifo_generator_0/s_aresetn]
|
||||
connect_bd_net -net bus_clk \
|
||||
[get_bd_pins bus_clk] \
|
||||
[get_bd_pins fifo_generator_0/s_aclk]
|
||||
|
||||
connect_bd_net -net clk40 \
|
||||
[get_bd_pins clk40] \
|
||||
[get_bd_pins axi_crossbar_0/aclk] \
|
||||
[get_bd_pins axi_interconnect_0/ACLK] \
|
||||
[get_bd_pins axi_interconnect_0/S00_ACLK] \
|
||||
[get_bd_pins axis_switch_0/aclk] \
|
||||
[get_bd_pins fifo_generator_0/m_aclk]
|
||||
|
||||
connect_bd_net -net clk40_rstn \
|
||||
[get_bd_pins clk40_rstn] \
|
||||
[get_bd_pins axi_crossbar_0/aresetn] \
|
||||
[get_bd_pins axi_interconnect_0/ARESETN] \
|
||||
[get_bd_pins axi_interconnect_0/S00_ARESETN] \
|
||||
[get_bd_pins axis_switch_0/aresetn]
|
||||
|
||||
connect_bd_net -net mtu_regs_1 \
|
||||
[get_bd_pins mtu_regs] \
|
||||
[get_bd_pins mtu/mtu_regs]
|
||||
|
||||
connect_bd_net -net rx_dmac_irq_concat_dout \
|
||||
[get_bd_pins irq] \
|
||||
[get_bd_pins rx_dmac_irq_concat/dout]
|
||||
|
||||
#########################
|
||||
# Per-port Section
|
||||
#########################
|
||||
for {set i 0} {$i < $numPorts} {incr i} {
|
||||
puts "Instantiating rx_dma port ${i}"
|
||||
create_hier_cell_rx_dma_channel $hier_obj dma$i
|
||||
|
||||
set_property -dict [ list \
|
||||
[format "CONFIG.S%02d_SINGLE_THREAD" ${i}] {1} \
|
||||
] $axi_crossbar_0
|
||||
|
||||
connect_bd_intf_net -intf_net [format "axis_switch_0_M%02d_AXIS" ${i}] \
|
||||
[get_bd_intf_pins [format "axis_switch_0/M%02d_AXIS" ${i}]] \
|
||||
[get_bd_intf_pins dma${i}/S_AXIS]
|
||||
|
||||
connect_bd_intf_net -intf_net [format "axi_interconnect_0_M%02d_AXI" ${i}] \
|
||||
[get_bd_intf_pins [format "axi_interconnect_0/M%02d_AXI" ${i}]] \
|
||||
[get_bd_intf_pins dma${i}/s_axi]
|
||||
|
||||
connect_bd_intf_net -intf_net dma${i}_m_dest_axi \
|
||||
[get_bd_intf_pins [format "axi_crossbar_0/S%02d_AXI" ${i}]] \
|
||||
[get_bd_intf_pins dma${i}/m_dest_axi]
|
||||
|
||||
connect_bd_net -net clk40 \
|
||||
[get_bd_pins [format "axi_interconnect_0/M%02d_ACLK" ${i}]] \
|
||||
[get_bd_pins dma${i}/s_axi_aclk] \
|
||||
[get_bd_pins dma${i}/s_axis_aclk]
|
||||
|
||||
connect_bd_net -net clk40_rstn \
|
||||
[get_bd_pins [format "axi_interconnect_0/M%02d_ARESETN" ${i}]] \
|
||||
[get_bd_pins dma${i}/m_dest_axi_aresetn] \
|
||||
[get_bd_pins dma${i}/s_axi_aresetn]
|
||||
|
||||
connect_bd_net -net dma${i}_irq \
|
||||
[get_bd_pins dma${i}/irq] \
|
||||
[get_bd_pins rx_dmac_irq_concat/In${i}]
|
||||
|
||||
connect_bd_net -net frame_size_${i} \
|
||||
[get_bd_pins dma${i}/frame_size] \
|
||||
[get_bd_pins mtu/mtu${i}]
|
||||
}
|
||||
|
||||
# Restore current instance
|
||||
current_bd_instance $oldCurInst
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,159 @@
|
||||
set scriptDir [file dirname [info script]]
|
||||
|
||||
source "$scriptDir/chdr_dma_rx.tcl"
|
||||
source "$scriptDir/chdr_dma_tx.tcl"
|
||||
|
||||
# Hierarchical cell: dma
|
||||
proc create_hier_cell_dma { parentCell nameHier numPorts } {
|
||||
|
||||
if { $parentCell eq "" || $nameHier eq "" || $numPorts eq "" } {
|
||||
puts "ERROR: create_hier_cell_dma() - Empty argument(s)!"
|
||||
return
|
||||
}
|
||||
|
||||
# Get object for parentCell
|
||||
set parentObj [get_bd_cells $parentCell]
|
||||
if { $parentObj == "" } {
|
||||
puts "ERROR: Unable to find parent cell <$parentCell>!"
|
||||
return
|
||||
}
|
||||
|
||||
if { $numPorts < 2 } {
|
||||
puts "ERROR: numPorts invalid: $numPorts"
|
||||
return
|
||||
}
|
||||
|
||||
# Make sure parentObj is hier blk
|
||||
set parentType [get_property TYPE $parentObj]
|
||||
if { $parentType ne "hier" } {
|
||||
puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."
|
||||
return
|
||||
}
|
||||
|
||||
# Save current instance; Restore later
|
||||
set oldCurInst [current_bd_instance .]
|
||||
|
||||
# Set parent object as current
|
||||
current_bd_instance $parentObj
|
||||
|
||||
# Create cell and set as current instance
|
||||
set hier_obj [create_bd_cell -type hier $nameHier]
|
||||
current_bd_instance $hier_obj
|
||||
|
||||
#########################
|
||||
# Pin list
|
||||
#########################
|
||||
create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:axis_rtl:1.0 m_axis_dma
|
||||
create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_RX_DMA
|
||||
create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_TX_DMA
|
||||
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:axis_rtl:1.0 s_axis_dma
|
||||
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 s_axi_rx_dmac
|
||||
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 s_axi_tx_dmac
|
||||
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 s_axi_regfile
|
||||
|
||||
create_bd_pin -dir I bus_clk
|
||||
create_bd_pin -dir I bus_rstn
|
||||
create_bd_pin -dir I clk40
|
||||
create_bd_pin -dir I clk40_rstn
|
||||
create_bd_pin -dir O rx_irq
|
||||
create_bd_pin -dir O tx_irq
|
||||
|
||||
#########################
|
||||
# Instantiate IPs
|
||||
#########################
|
||||
# Create instance: rx
|
||||
create_hier_cell_rx_dma $hier_obj rx $numPorts
|
||||
|
||||
# Create instance: tx
|
||||
create_hier_cell_tx_dma $hier_obj tx $numPorts
|
||||
|
||||
# Used to set frame size of RX DMA engines
|
||||
set axi_regfile_0 [ create_bd_cell -type ip -vlnv ettus.com:ip:axi_regfile:1.0 axi_regfile_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.NUM_REGS $numPorts \
|
||||
] $axi_regfile_0
|
||||
|
||||
set util_reduced_logic_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:util_reduced_logic:2.0 util_reduced_logic_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.C_OPERATION {or} \
|
||||
CONFIG.C_SIZE $numPorts \
|
||||
] $util_reduced_logic_0
|
||||
|
||||
set util_reduced_logic_1 [ create_bd_cell -type ip -vlnv xilinx.com:ip:util_reduced_logic:2.0 util_reduced_logic_1 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.C_OPERATION {or} \
|
||||
CONFIG.C_SIZE $numPorts \
|
||||
] $util_reduced_logic_1
|
||||
|
||||
#########################
|
||||
# Wiring
|
||||
#########################
|
||||
# Clocks and resets
|
||||
connect_bd_net -net bus_clk_1 \
|
||||
[get_bd_pins bus_clk] \
|
||||
[get_bd_pins rx/bus_clk] \
|
||||
[get_bd_pins tx/bus_clk]
|
||||
connect_bd_net -net bus_rstn_1 \
|
||||
[get_bd_pins bus_rstn] \
|
||||
[get_bd_pins rx/bus_rstn] \
|
||||
[get_bd_pins tx/bus_rstn]
|
||||
connect_bd_net -net clk40_1 \
|
||||
[get_bd_pins clk40] \
|
||||
[get_bd_pins rx/clk40] \
|
||||
[get_bd_pins tx/clk40] \
|
||||
[get_bd_pins axi_regfile_0/S_AXI_ACLK]
|
||||
connect_bd_net -net clk40_rstn_1 \
|
||||
[get_bd_pins clk40_rstn] \
|
||||
[get_bd_pins axi_regfile_0/S_AXI_ARESETN] \
|
||||
[get_bd_pins rx/clk40_rstn] \
|
||||
[get_bd_pins tx/clk40_rstn]
|
||||
|
||||
# AXI buses
|
||||
connect_bd_intf_net -intf_net s_axi_rx_dmac_1 \
|
||||
[get_bd_intf_pins s_axi_rx_dmac] \
|
||||
[get_bd_intf_pins rx/s_axi_rx_dmac]
|
||||
connect_bd_intf_net -intf_net rx_dma_M_AXI_RX_DMA \
|
||||
[get_bd_intf_pins M_AXI_RX_DMA] \
|
||||
[get_bd_intf_pins rx/M_AXI_RX_DMA]
|
||||
connect_bd_intf_net -intf_net s_axi_tx_dmac_1 \
|
||||
[get_bd_intf_pins s_axi_tx_dmac] \
|
||||
[get_bd_intf_pins tx/s_axi_tx_dmac]
|
||||
connect_bd_intf_net -intf_net tx_M_AXI_TX_DMA \
|
||||
[get_bd_intf_pins M_AXI_TX_DMA] \
|
||||
[get_bd_intf_pins tx/M_AXI_TX_DMA]
|
||||
connect_bd_intf_net -intf_net s_axi_regfile_1 \
|
||||
[get_bd_intf_pins s_axi_regfile] \
|
||||
[get_bd_intf_pins axi_regfile_0/S_AXI]
|
||||
|
||||
# RX CHDR
|
||||
connect_bd_intf_net -intf_net s_axis_dma_1 \
|
||||
[get_bd_intf_pins s_axis_dma] \
|
||||
[get_bd_intf_pins rx/S_AXIS_DMA]
|
||||
|
||||
# TX CHDR
|
||||
connect_bd_intf_net -intf_net m_axis_dma_1 \
|
||||
[get_bd_intf_pins tx/M_AXIS_DMA] \
|
||||
[get_bd_intf_pins m_axis_dma]
|
||||
|
||||
# IRQs and Frame Sizes
|
||||
connect_bd_net -net frame_sizes \
|
||||
[get_bd_pins axi_regfile_0/regs] \
|
||||
[get_bd_pins rx/mtu_regs]
|
||||
connect_bd_net -net rx_irq1 \
|
||||
[get_bd_pins rx/irq] \
|
||||
[get_bd_pins util_reduced_logic_0/Op1]
|
||||
connect_bd_net -net tx_irq1 \
|
||||
[get_bd_pins tx/irq] \
|
||||
[get_bd_pins util_reduced_logic_1/Op1]
|
||||
connect_bd_net -net util_reduced_logic_0_Res \
|
||||
[get_bd_pins rx_irq] \
|
||||
[get_bd_pins util_reduced_logic_0/Res]
|
||||
connect_bd_net -net util_reduced_logic_1_Res \
|
||||
[get_bd_pins tx_irq] \
|
||||
[get_bd_pins util_reduced_logic_1/Res]
|
||||
|
||||
# Restore current instance
|
||||
current_bd_instance $oldCurInst
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,193 @@
|
||||
# Hierarchical cell: tx
|
||||
proc create_hier_cell_tx_dma { parentCell nameHier numPorts } {
|
||||
|
||||
if { $parentCell eq "" || $nameHier eq "" || $numPorts eq "" } {
|
||||
puts "ERROR: create_hier_cell_tx() - Empty argument(s)!"
|
||||
return
|
||||
}
|
||||
|
||||
# Get object for parentCell
|
||||
set parentObj [get_bd_cells $parentCell]
|
||||
if { $parentObj == "" } {
|
||||
puts "ERROR: Unable to find parent cell <$parentCell>!"
|
||||
return
|
||||
}
|
||||
|
||||
if { $numPorts < 1 } {
|
||||
puts "ERROR: numPorts invalid: $numPorts"
|
||||
return
|
||||
}
|
||||
|
||||
# Make sure parentObj is hier blk
|
||||
set parentType [get_property TYPE $parentObj]
|
||||
if { $parentType ne "hier" } {
|
||||
puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."
|
||||
return
|
||||
}
|
||||
|
||||
# Save current instance; Restore later
|
||||
set oldCurInst [current_bd_instance .]
|
||||
|
||||
# Set parent object as current
|
||||
current_bd_instance $parentObj
|
||||
|
||||
# Create cell and set as current instance
|
||||
set hier_obj [create_bd_cell -type hier $nameHier]
|
||||
current_bd_instance $hier_obj
|
||||
|
||||
#########################
|
||||
# Pin list
|
||||
#########################
|
||||
create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:axis_rtl:1.0 M_AXIS_DMA
|
||||
create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_TX_DMA
|
||||
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 s_axi_tx_dmac
|
||||
|
||||
create_bd_pin -dir I bus_clk
|
||||
create_bd_pin -dir I bus_rstn
|
||||
create_bd_pin -dir I clk40
|
||||
create_bd_pin -dir I clk40_rstn
|
||||
create_bd_pin -dir O -from [expr $numPorts - 1] -to 0 irq
|
||||
|
||||
#########################
|
||||
# Instantiate IPs
|
||||
#########################
|
||||
set axi_interconnect_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 axi_interconnect_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.NUM_MI $numPorts \
|
||||
] $axi_interconnect_0
|
||||
|
||||
set axi_crossbar_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_crossbar:2.1 axi_crossbar_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.NUM_MI {1} \
|
||||
CONFIG.NUM_SI $numPorts
|
||||
] $axi_crossbar_0
|
||||
|
||||
set axis_interconnect_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axis_interconnect:2.1 axis_interconnect_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.ARB_ON_TLAST {1} \
|
||||
CONFIG.ARB_ON_MAX_XFERS {0} \
|
||||
CONFIG.ENABLE_ADVANCED_OPTIONS {1} \
|
||||
CONFIG.M00_HAS_REGSLICE {1} \
|
||||
CONFIG.NUM_MI {1} \
|
||||
CONFIG.NUM_SI $numPorts \
|
||||
] $axis_interconnect_0
|
||||
|
||||
set xlconcat_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconcat:2.1 xlconcat_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.NUM_PORTS $numPorts \
|
||||
] $xlconcat_0
|
||||
|
||||
set xlconstant_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconstant:1.1 xlconstant_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.CONST_VAL {0} \
|
||||
] $xlconstant_0
|
||||
|
||||
#########################
|
||||
# Wiring
|
||||
#########################
|
||||
connect_bd_net -net bus_clk \
|
||||
[get_bd_pins bus_clk] \
|
||||
[get_bd_pins axis_interconnect_0/ACLK] \
|
||||
[get_bd_pins axis_interconnect_0/M00_AXIS_ACLK]
|
||||
connect_bd_net -net bus_rstn \
|
||||
[get_bd_pins bus_rstn] \
|
||||
[get_bd_pins axis_interconnect_0/ARESETN] \
|
||||
[get_bd_pins axis_interconnect_0/M00_AXIS_ARESETN]
|
||||
connect_bd_net -net clk40 \
|
||||
[get_bd_pins clk40] \
|
||||
[get_bd_pins axi_crossbar_0/aclk] \
|
||||
[get_bd_pins axi_interconnect_0/ACLK] \
|
||||
[get_bd_pins axi_interconnect_0/S00_ACLK]
|
||||
connect_bd_net -net clk40_rstn \
|
||||
[get_bd_pins clk40_rstn] \
|
||||
[get_bd_pins axi_crossbar_0/aresetn] \
|
||||
[get_bd_pins axi_interconnect_0/ARESETN] \
|
||||
[get_bd_pins axi_interconnect_0/S00_ARESETN]
|
||||
|
||||
connect_bd_net -net xlconstant_0_dout \
|
||||
[get_bd_pins xlconstant_0/dout]
|
||||
connect_bd_net -net xlconcat_0_dout \
|
||||
[get_bd_pins irq] \
|
||||
[get_bd_pins xlconcat_0/dout]
|
||||
|
||||
connect_bd_intf_net -intf_net M_AXI_TX_DMAC_1 \
|
||||
[get_bd_intf_pins s_axi_tx_dmac] \
|
||||
[get_bd_intf_pins axi_interconnect_0/S00_AXI]
|
||||
connect_bd_intf_net -intf_net axi_crossbar_0_M00_AXI \
|
||||
[get_bd_intf_pins M_AXI_TX_DMA] \
|
||||
[get_bd_intf_pins axi_crossbar_0/M00_AXI]
|
||||
connect_bd_intf_net -intf_net axis_interconnect_0_M00_AXIS \
|
||||
[get_bd_intf_pins M_AXIS_DMA] \
|
||||
[get_bd_intf_pins axis_interconnect_0/M00_AXIS]
|
||||
|
||||
#########################
|
||||
# Per-port Section
|
||||
#########################
|
||||
for {set i 0} {$i < $numPorts} {incr i} {
|
||||
# Configure each port on axi_crossbar and axis_interconnect
|
||||
puts "Creating TX dma port ${i}"
|
||||
set_property [format "CONFIG.S%02d_SINGLE_THREAD" ${i}] {1} $axi_crossbar_0
|
||||
set_property -dict [ list \
|
||||
[format "CONFIG.S%02d_HAS_REGSLICE" ${i}] {1} \
|
||||
] $axis_interconnect_0
|
||||
|
||||
set axi_tx_dmac [ create_bd_cell -type ip -vlnv analog.com:user:axi_dmac:1.0 axi_tx_dmac_$i ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.DMA_TYPE_DEST {1} \
|
||||
CONFIG.DMA_TYPE_SRC {0} \
|
||||
] $axi_tx_dmac
|
||||
|
||||
# Add a tuser signal indicating which DMA channel originated the packet
|
||||
# Hard-coded to handle up to 16 DMA channels
|
||||
# Convert i (in decimal) to 4-bit binary:
|
||||
binary scan [binary format c ${i}] B* i_binary
|
||||
set i_binary [string range ${i_binary} end-3 end]
|
||||
|
||||
set tuser_appender [ create_bd_cell -type ip -vlnv xilinx.com:ip:axis_subset_converter:1.1 axis_subset_converter_${i} ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.M_TUSER_WIDTH.VALUE_SRC USER \
|
||||
] $tuser_appender
|
||||
set_property -dict [ list \
|
||||
CONFIG.M_TUSER_WIDTH {4} \
|
||||
CONFIG.TUSER_REMAP 4'b${i_binary} \
|
||||
] $tuser_appender
|
||||
|
||||
connect_bd_intf_net -intf_net [format "axis_subset_converter_%d_S_AXIS" ${i}] \
|
||||
[get_bd_intf_pins $axi_tx_dmac/m_axis] \
|
||||
[get_bd_intf_pins ${tuser_appender}/S_AXIS]
|
||||
connect_bd_intf_net -intf_net [format "S%02d_AXIS_1" ${i}] \
|
||||
[get_bd_intf_pins ${tuser_appender}/M_AXIS] \
|
||||
[get_bd_intf_pins [format "axis_interconnect_0/S%02d_AXIS" ${i}]]
|
||||
connect_bd_intf_net -intf_net axi_dmac_${i}_m_src_axi \
|
||||
[get_bd_intf_pins [format "axi_crossbar_0/S%02d_AXI" ${i}]] \
|
||||
[get_bd_intf_pins $axi_tx_dmac/m_src_axi]
|
||||
connect_bd_intf_net -intf_net [format "axi_interconnect_0_M%02d_AXI" ${i}] \
|
||||
[get_bd_intf_pins [format "axi_interconnect_0/M%02d_AXI" ${i}]] \
|
||||
[get_bd_intf_pins $axi_tx_dmac/s_axi]
|
||||
|
||||
connect_bd_net [get_bd_pins $axi_tx_dmac/irq] [get_bd_pins xlconcat_0/In${i}]
|
||||
|
||||
connect_bd_net -net clk40 \
|
||||
[get_bd_pins [format "axi_interconnect_0/M%02d_ACLK" ${i}]]\
|
||||
[get_bd_pins $axi_tx_dmac/m_axis_aclk] \
|
||||
[get_bd_pins $axi_tx_dmac/m_src_axi_aclk] \
|
||||
[get_bd_pins $axi_tx_dmac/s_axi_aclk] \
|
||||
[get_bd_pins $tuser_appender/aclk] \
|
||||
[get_bd_pins [format "axis_interconnect_0/S%02d_AXIS_ACLK" ${i}]]
|
||||
|
||||
connect_bd_net -net clk40_rstn \
|
||||
[get_bd_pins [format "axi_interconnect_0/M%02d_ARESETN" ${i}]] \
|
||||
[get_bd_pins $axi_tx_dmac/m_src_axi_aresetn] \
|
||||
[get_bd_pins $axi_tx_dmac/s_axi_aresetn] \
|
||||
[get_bd_pins $tuser_appender/aresetn] \
|
||||
[get_bd_pins [format "axis_interconnect_0/S%02d_AXIS_ARESETN" ${i}]]
|
||||
|
||||
connect_bd_net -net xlconstant_0_dout \
|
||||
[get_bd_pins [format "axis_interconnect_0/S%02d_ARB_REQ_SUPPRESS" ${i}]]
|
||||
}
|
||||
|
||||
# Restore current instance
|
||||
current_bd_instance $oldCurInst
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,823 @@
|
||||
# CHANGE DESIGN NAME HERE
|
||||
set design_name e320_ps_bd
|
||||
|
||||
# Creating design if needed
|
||||
set errMsg ""
|
||||
set nRet 0
|
||||
|
||||
set cur_design [current_bd_design -quiet]
|
||||
set list_cells [get_bd_cells -quiet]
|
||||
|
||||
create_bd_design $design_name
|
||||
current_bd_design $design_name
|
||||
|
||||
if { $nRet != 0 } {
|
||||
puts $errMsg
|
||||
return $nRet
|
||||
}
|
||||
|
||||
set scriptDir [file dirname [info script]]
|
||||
|
||||
##################################################################
|
||||
# DESIGN PROCs
|
||||
##################################################################
|
||||
source "$scriptDir/chdr_dma_top.tcl"
|
||||
|
||||
# Procedure to create entire design; Provide argument to make
|
||||
# procedure reusable. If parentCell is "", will use root.
|
||||
proc create_root_design { parentCell } {
|
||||
|
||||
if { $parentCell eq "" } {
|
||||
set parentCell [get_bd_cells /]
|
||||
}
|
||||
|
||||
# Get object for parentCell
|
||||
set parentObj [get_bd_cells $parentCell]
|
||||
if { $parentObj == "" } {
|
||||
puts "ERROR: Unable to find parent cell <$parentCell>!"
|
||||
return
|
||||
}
|
||||
|
||||
# Make sure parentObj is hier blk
|
||||
set parentType [get_property TYPE $parentObj]
|
||||
if { $parentType ne "hier" } {
|
||||
puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."
|
||||
return
|
||||
}
|
||||
|
||||
# Save current instance; Restore later
|
||||
set oldCurInst [current_bd_instance .]
|
||||
|
||||
# Set parent object as current
|
||||
current_bd_instance $parentObj
|
||||
|
||||
|
||||
# Create interface ports
|
||||
set DDR [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:ddrx_rtl:1.0 DDR ]
|
||||
set GPIO_0 [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:gpio_rtl:1.0 GPIO_0 ]
|
||||
set m_axis_dma [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:axis_rtl:1.0 m_axis_dma ]
|
||||
set s_axis_dma [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:axis_rtl:1.0 s_axis_dma ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.HAS_TLAST 1 \
|
||||
CONFIG.TDATA_NUM_BYTES 8 \
|
||||
CONFIG.TDEST_WIDTH 4 \
|
||||
] $s_axis_dma
|
||||
set m_axi_eth_dma [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 m_axi_eth_dma ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.ADDR_WIDTH {32} \
|
||||
CONFIG.DATA_WIDTH {32} \
|
||||
CONFIG.FREQ_HZ {40000000} \
|
||||
CONFIG.HAS_BURST {0} \
|
||||
CONFIG.HAS_CACHE {0} \
|
||||
CONFIG.HAS_LOCK {0} \
|
||||
CONFIG.HAS_PROT {0} \
|
||||
CONFIG.HAS_QOS {0} \
|
||||
CONFIG.HAS_WSTRB {1} \
|
||||
CONFIG.NUM_READ_OUTSTANDING {2} \
|
||||
CONFIG.NUM_WRITE_OUTSTANDING {2} \
|
||||
CONFIG.PROTOCOL {AXI4LITE} \
|
||||
] $m_axi_eth_dma
|
||||
set m_axi_net [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 m_axi_net ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.ADDR_WIDTH {32} \
|
||||
CONFIG.DATA_WIDTH {32} \
|
||||
CONFIG.FREQ_HZ {40000000} \
|
||||
CONFIG.HAS_BURST {0} \
|
||||
CONFIG.HAS_CACHE {0} \
|
||||
CONFIG.HAS_LOCK {0} \
|
||||
CONFIG.HAS_PROT {0} \
|
||||
CONFIG.HAS_QOS {0} \
|
||||
CONFIG.HAS_WSTRB {0} \
|
||||
CONFIG.NUM_READ_OUTSTANDING {2} \
|
||||
CONFIG.NUM_WRITE_OUTSTANDING {2} \
|
||||
CONFIG.PROTOCOL {AXI4LITE} \
|
||||
] $m_axi_net
|
||||
set m_axi_xbar [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 m_axi_xbar ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.ADDR_WIDTH {32} \
|
||||
CONFIG.DATA_WIDTH {32} \
|
||||
CONFIG.FREQ_HZ {40000000} \
|
||||
CONFIG.HAS_BURST {0} \
|
||||
CONFIG.HAS_CACHE {0} \
|
||||
CONFIG.HAS_LOCK {0} \
|
||||
CONFIG.HAS_PROT {0} \
|
||||
CONFIG.HAS_QOS {0} \
|
||||
CONFIG.HAS_WSTRB {0} \
|
||||
CONFIG.NUM_READ_OUTSTANDING {2} \
|
||||
CONFIG.NUM_WRITE_OUTSTANDING {2} \
|
||||
CONFIG.PROTOCOL {AXI4LITE} \
|
||||
] $m_axi_xbar
|
||||
set s_axi_eth_descriptor [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 s_axi_eth_descriptor ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.ADDR_WIDTH {32} \
|
||||
CONFIG.ARUSER_WIDTH {0} \
|
||||
CONFIG.AWUSER_WIDTH {0} \
|
||||
CONFIG.BUSER_WIDTH {0} \
|
||||
CONFIG.DATA_WIDTH {32} \
|
||||
CONFIG.FREQ_HZ {40000000} \
|
||||
CONFIG.HAS_BRESP {1} \
|
||||
CONFIG.HAS_BURST {1} \
|
||||
CONFIG.HAS_CACHE {1} \
|
||||
CONFIG.HAS_LOCK {1} \
|
||||
CONFIG.HAS_PROT {1} \
|
||||
CONFIG.HAS_QOS {1} \
|
||||
CONFIG.HAS_REGION {0} \
|
||||
CONFIG.HAS_RRESP {1} \
|
||||
CONFIG.HAS_WSTRB {1} \
|
||||
CONFIG.ID_WIDTH {5} \
|
||||
CONFIG.MAX_BURST_LENGTH {16} \
|
||||
CONFIG.NUM_READ_OUTSTANDING {8} \
|
||||
CONFIG.NUM_READ_THREADS {1} \
|
||||
CONFIG.NUM_WRITE_OUTSTANDING {8} \
|
||||
CONFIG.NUM_WRITE_THREADS {1} \
|
||||
CONFIG.PROTOCOL {AXI4} \
|
||||
CONFIG.READ_WRITE_MODE {READ_WRITE} \
|
||||
CONFIG.RUSER_BITS_PER_BYTE {0} \
|
||||
CONFIG.RUSER_WIDTH {0} \
|
||||
CONFIG.SUPPORTS_NARROW_BURST {1} \
|
||||
CONFIG.WUSER_BITS_PER_BYTE {0} \
|
||||
CONFIG.WUSER_WIDTH {0} \
|
||||
] $s_axi_eth_descriptor
|
||||
set S_AXI_HP0 [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 S_AXI_HP0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.ADDR_WIDTH {32} \
|
||||
CONFIG.ARUSER_WIDTH {0} \
|
||||
CONFIG.AWUSER_WIDTH {0} \
|
||||
CONFIG.BUSER_WIDTH {0} \
|
||||
CONFIG.DATA_WIDTH {64} \
|
||||
CONFIG.FREQ_HZ {40000000} \
|
||||
CONFIG.HAS_BRESP {1} \
|
||||
CONFIG.HAS_BURST {1} \
|
||||
CONFIG.HAS_CACHE {1} \
|
||||
CONFIG.HAS_LOCK {1} \
|
||||
CONFIG.HAS_PROT {1} \
|
||||
CONFIG.HAS_QOS {1} \
|
||||
CONFIG.HAS_REGION {0} \
|
||||
CONFIG.HAS_RRESP {1} \
|
||||
CONFIG.HAS_WSTRB {1} \
|
||||
CONFIG.ID_WIDTH {5} \
|
||||
CONFIG.MAX_BURST_LENGTH {16} \
|
||||
CONFIG.NUM_READ_OUTSTANDING {8} \
|
||||
CONFIG.NUM_READ_THREADS {1} \
|
||||
CONFIG.NUM_WRITE_OUTSTANDING {8} \
|
||||
CONFIG.NUM_WRITE_THREADS {1} \
|
||||
CONFIG.PROTOCOL {AXI4} \
|
||||
CONFIG.READ_WRITE_MODE {READ_WRITE} \
|
||||
CONFIG.RUSER_BITS_PER_BYTE {0} \
|
||||
CONFIG.RUSER_WIDTH {0} \
|
||||
CONFIG.SUPPORTS_NARROW_BURST {1} \
|
||||
CONFIG.WUSER_BITS_PER_BYTE {0} \
|
||||
CONFIG.WUSER_WIDTH {0} \
|
||||
] $S_AXI_HP0
|
||||
set USBIND_0 [ create_bd_intf_port -mode Master -vlnv xilinx.com:display_processing_system7:usbctrl_rtl:1.0 USBIND_0 ]
|
||||
|
||||
# Create ports
|
||||
set DDR_VRN [ create_bd_port -dir IO DDR_VRN ]
|
||||
set DDR_VRP [ create_bd_port -dir IO DDR_VRP ]
|
||||
set FCLK_CLK0 [ create_bd_port -dir O -type clk FCLK_CLK0 ]
|
||||
set FCLK_CLK1 [ create_bd_port -dir O -type clk FCLK_CLK1 ]
|
||||
set FCLK_CLK2 [ create_bd_port -dir O -type clk FCLK_CLK2 ]
|
||||
set FCLK_CLK3 [ create_bd_port -dir O -type clk FCLK_CLK3 ]
|
||||
set FCLK_RESET0_N [ create_bd_port -dir O -type rst FCLK_RESET0_N ]
|
||||
set IRQ_F2P [ create_bd_port -dir I -from 15 -to 0 -type intr IRQ_F2P ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.PortWidth {16} \
|
||||
CONFIG.SENSITIVITY {EDGE_RISING} \
|
||||
] $IRQ_F2P
|
||||
set MIO [ create_bd_port -dir IO -from 53 -to 0 MIO ]
|
||||
set PS_CLK [ create_bd_port -dir IO PS_CLK ]
|
||||
set PS_PORB [ create_bd_port -dir IO PS_PORB ]
|
||||
set PS_SRSTB [ create_bd_port -dir IO PS_SRSTB ]
|
||||
set SPI0_MISO_I [ create_bd_port -dir I SPI0_MISO_I ]
|
||||
set SPI0_MISO_O [ create_bd_port -dir O SPI0_MISO_O ]
|
||||
set SPI0_MISO_T [ create_bd_port -dir O SPI0_MISO_T ]
|
||||
set SPI0_MOSI_I [ create_bd_port -dir I SPI0_MOSI_I ]
|
||||
set SPI0_MOSI_O [ create_bd_port -dir O SPI0_MOSI_O ]
|
||||
set SPI0_MOSI_T [ create_bd_port -dir O SPI0_MOSI_T ]
|
||||
set SPI0_SCLK_I [ create_bd_port -dir I SPI0_SCLK_I ]
|
||||
set SPI0_SCLK_O [ create_bd_port -dir O SPI0_SCLK_O ]
|
||||
set SPI0_SCLK_T [ create_bd_port -dir O SPI0_SCLK_T ]
|
||||
set SPI0_SS1_O [ create_bd_port -dir O SPI0_SS1_O ]
|
||||
set SPI0_SS2_O [ create_bd_port -dir O SPI0_SS2_O ]
|
||||
set SPI0_SS_I [ create_bd_port -dir I SPI0_SS_I ]
|
||||
set SPI0_SS_O [ create_bd_port -dir O SPI0_SS_O ]
|
||||
set SPI0_SS_T [ create_bd_port -dir O SPI0_SS_T ]
|
||||
set SPI1_MISO_I [ create_bd_port -dir I SPI1_MISO_I ]
|
||||
set SPI1_MISO_O [ create_bd_port -dir O SPI1_MISO_O ]
|
||||
set SPI1_MISO_T [ create_bd_port -dir O SPI1_MISO_T ]
|
||||
set SPI1_MOSI_I [ create_bd_port -dir I SPI1_MOSI_I ]
|
||||
set SPI1_MOSI_O [ create_bd_port -dir O SPI1_MOSI_O ]
|
||||
set SPI1_MOSI_T [ create_bd_port -dir O SPI1_MOSI_T ]
|
||||
set SPI1_SCLK_I [ create_bd_port -dir I SPI1_SCLK_I ]
|
||||
set SPI1_SCLK_O [ create_bd_port -dir O SPI1_SCLK_O ]
|
||||
set SPI1_SCLK_T [ create_bd_port -dir O SPI1_SCLK_T ]
|
||||
set SPI1_SS1_O [ create_bd_port -dir O SPI1_SS1_O ]
|
||||
set SPI1_SS2_O [ create_bd_port -dir O SPI1_SS2_O ]
|
||||
set SPI1_SS_I [ create_bd_port -dir I SPI1_SS_I ]
|
||||
set SPI1_SS_O [ create_bd_port -dir O SPI1_SS_O ]
|
||||
set SPI1_SS_T [ create_bd_port -dir O SPI1_SS_T ]
|
||||
set S_AXI_GP0_ACLK [ create_bd_port -dir I -type clk S_AXI_GP0_ACLK ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.ASSOCIATED_RESET {S_AXI_GP0_ARESETN} \
|
||||
CONFIG.FREQ_HZ {40000000} \
|
||||
] $S_AXI_GP0_ACLK
|
||||
set S_AXI_GP0_ARESETN [ create_bd_port -dir I -type rst S_AXI_GP0_ARESETN ]
|
||||
set S_AXI_HP0_ACLK [ create_bd_port -dir I -type clk S_AXI_HP0_ACLK ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.FREQ_HZ {40000000} \
|
||||
] $S_AXI_HP0_ACLK
|
||||
set S_AXI_HP0_ARESETN [ create_bd_port -dir I -type rst S_AXI_HP0_ARESETN ]
|
||||
set bus_clk [ create_bd_port -dir I -type clk bus_clk ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.ASSOCIATED_BUSIF {m_axis_dma:s_axis_dma} \
|
||||
CONFIG.ASSOCIATED_RESET {bus_rstn} \
|
||||
CONFIG.FREQ_HZ {200000000} \
|
||||
] $bus_clk
|
||||
set bus_rstn [ create_bd_port -dir I -type rst bus_rstn ]
|
||||
set clk40 [ create_bd_port -dir I -type clk clk40 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.ASSOCIATED_BUSIF {m_axi_net:m_axi_xbar:m_axi_eth_dma} \
|
||||
CONFIG.ASSOCIATED_RESET {clk40_rstn} \
|
||||
CONFIG.FREQ_HZ {40000000} \
|
||||
] $clk40
|
||||
set clk40_rstn [ create_bd_port -dir I -type rst clk40_rstn ]
|
||||
# Create instance: axi_interconnect_hp0, and set properties
|
||||
set axi_interconnect_hp0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 axi_interconnect_hp0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.ENABLE_ADVANCED_OPTIONS {0} \
|
||||
CONFIG.NUM_MI {1} \
|
||||
CONFIG.NUM_SI {2} \
|
||||
] $axi_interconnect_hp0
|
||||
|
||||
|
||||
# Create instance: axi_interconnect_0, and set properties
|
||||
set axi_interconnect_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 axi_interconnect_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.ENABLE_ADVANCED_OPTIONS {0} \
|
||||
CONFIG.NUM_MI {6} \
|
||||
] $axi_interconnect_0
|
||||
|
||||
# Create instance: dma
|
||||
create_hier_cell_dma [current_bd_instance .] dma 6
|
||||
|
||||
# Create instance: processing_system7_0, and set properties
|
||||
set processing_system7_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.5 processing_system7_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.PCW_ACT_APU_PERIPHERAL_FREQMHZ {1000.000000} \
|
||||
CONFIG.PCW_ACT_CAN_PERIPHERAL_FREQMHZ {10.000000} \
|
||||
CONFIG.PCW_ACT_DCI_PERIPHERAL_FREQMHZ {10.158730} \
|
||||
CONFIG.PCW_ACT_ENET0_PERIPHERAL_FREQMHZ {125.000000} \
|
||||
CONFIG.PCW_ACT_ENET1_PERIPHERAL_FREQMHZ {10.000000} \
|
||||
CONFIG.PCW_ACT_FPGA0_PERIPHERAL_FREQMHZ {100.000000} \
|
||||
CONFIG.PCW_ACT_FPGA1_PERIPHERAL_FREQMHZ {40.000000} \
|
||||
CONFIG.PCW_ACT_FPGA2_PERIPHERAL_FREQMHZ {166.666672} \
|
||||
CONFIG.PCW_ACT_FPGA3_PERIPHERAL_FREQMHZ {200.000000} \
|
||||
CONFIG.PCW_ACT_PCAP_PERIPHERAL_FREQMHZ {200.000000} \
|
||||
CONFIG.PCW_ACT_QSPI_PERIPHERAL_FREQMHZ {10.000000} \
|
||||
CONFIG.PCW_ACT_SDIO_PERIPHERAL_FREQMHZ {100.000000} \
|
||||
CONFIG.PCW_ACT_SMC_PERIPHERAL_FREQMHZ {10.000000} \
|
||||
CONFIG.PCW_ACT_SPI_PERIPHERAL_FREQMHZ {166.666672} \
|
||||
CONFIG.PCW_ACT_TPIU_PERIPHERAL_FREQMHZ {200.000000} \
|
||||
CONFIG.PCW_ACT_TTC0_CLK0_PERIPHERAL_FREQMHZ {166.666672} \
|
||||
CONFIG.PCW_ACT_TTC0_CLK1_PERIPHERAL_FREQMHZ {166.666672} \
|
||||
CONFIG.PCW_ACT_TTC0_CLK2_PERIPHERAL_FREQMHZ {166.666672} \
|
||||
CONFIG.PCW_ACT_TTC1_CLK0_PERIPHERAL_FREQMHZ {166.666672} \
|
||||
CONFIG.PCW_ACT_TTC1_CLK1_PERIPHERAL_FREQMHZ {166.666672} \
|
||||
CONFIG.PCW_ACT_TTC1_CLK2_PERIPHERAL_FREQMHZ {166.666672} \
|
||||
CONFIG.PCW_ACT_UART_PERIPHERAL_FREQMHZ {100.000000} \
|
||||
CONFIG.PCW_ACT_WDT_PERIPHERAL_FREQMHZ {166.666672} \
|
||||
CONFIG.PCW_APU_PERIPHERAL_FREQMHZ {1000} \
|
||||
CONFIG.PCW_ARMPLL_CTRL_FBDIV {60} \
|
||||
CONFIG.PCW_CAN_PERIPHERAL_DIVISOR0 {1} \
|
||||
CONFIG.PCW_CAN_PERIPHERAL_DIVISOR1 {1} \
|
||||
CONFIG.PCW_CLK0_FREQ {100000000} \
|
||||
CONFIG.PCW_CLK1_FREQ {40000000} \
|
||||
CONFIG.PCW_CLK2_FREQ {166666672} \
|
||||
CONFIG.PCW_CLK3_FREQ {200000000} \
|
||||
CONFIG.PCW_CPU_CPU_PLL_FREQMHZ {2000.000} \
|
||||
CONFIG.PCW_CPU_PERIPHERAL_DIVISOR0 {2} \
|
||||
CONFIG.PCW_DCI_PERIPHERAL_DIVISOR0 {15} \
|
||||
CONFIG.PCW_DCI_PERIPHERAL_DIVISOR1 {7} \
|
||||
CONFIG.PCW_DDRPLL_CTRL_FBDIV {32} \
|
||||
CONFIG.PCW_DDR_DDR_PLL_FREQMHZ {1066.667} \
|
||||
CONFIG.PCW_DDR_PERIPHERAL_DIVISOR0 {2} \
|
||||
CONFIG.PCW_DDR_RAM_HIGHADDR {0x3FFFFFFF} \
|
||||
CONFIG.PCW_ENET0_ENET0_IO {MIO 16 .. 27} \
|
||||
CONFIG.PCW_ENET0_GRP_MDIO_ENABLE {1} \
|
||||
CONFIG.PCW_ENET0_GRP_MDIO_IO {MIO 52 .. 53} \
|
||||
CONFIG.PCW_ENET0_PERIPHERAL_CLKSRC {IO PLL} \
|
||||
CONFIG.PCW_ENET0_PERIPHERAL_DIVISOR0 {16} \
|
||||
CONFIG.PCW_ENET0_PERIPHERAL_DIVISOR1 {1} \
|
||||
CONFIG.PCW_ENET0_PERIPHERAL_ENABLE {1} \
|
||||
CONFIG.PCW_ENET0_PERIPHERAL_FREQMHZ {1000 Mbps} \
|
||||
CONFIG.PCW_ENET0_RESET_ENABLE {1} \
|
||||
CONFIG.PCW_ENET0_RESET_IO {MIO 3} \
|
||||
CONFIG.PCW_ENET1_PERIPHERAL_DIVISOR0 {1} \
|
||||
CONFIG.PCW_ENET1_PERIPHERAL_DIVISOR1 {1} \
|
||||
CONFIG.PCW_ENET1_RESET_ENABLE {0} \
|
||||
CONFIG.PCW_ENET_RESET_ENABLE {1} \
|
||||
CONFIG.PCW_ENET_RESET_SELECT {Share reset pin} \
|
||||
CONFIG.PCW_EN_CLK1_PORT {1} \
|
||||
CONFIG.PCW_EN_CLK2_PORT {1} \
|
||||
CONFIG.PCW_EN_CLK3_PORT {1} \
|
||||
CONFIG.PCW_EN_EMIO_ENET0 {0} \
|
||||
CONFIG.PCW_EN_EMIO_GPIO {1} \
|
||||
CONFIG.PCW_EN_EMIO_I2C1 {0} \
|
||||
CONFIG.PCW_EN_EMIO_PJTAG {0} \
|
||||
CONFIG.PCW_EN_EMIO_SPI0 {1} \
|
||||
CONFIG.PCW_EN_EMIO_SPI1 {1} \
|
||||
CONFIG.PCW_EN_EMIO_UART0 {0} \
|
||||
CONFIG.PCW_EN_ENET0 {1} \
|
||||
CONFIG.PCW_EN_GPIO {1} \
|
||||
CONFIG.PCW_EN_I2C0 {1} \
|
||||
CONFIG.PCW_EN_I2C1 {1} \
|
||||
CONFIG.PCW_EN_PJTAG {1} \
|
||||
CONFIG.PCW_EN_RST1_PORT {0} \
|
||||
CONFIG.PCW_EN_RST2_PORT {0} \
|
||||
CONFIG.PCW_EN_RST3_PORT {0} \
|
||||
CONFIG.PCW_EN_SDIO0 {1} \
|
||||
CONFIG.PCW_EN_SPI0 {1} \
|
||||
CONFIG.PCW_EN_SPI1 {1} \
|
||||
CONFIG.PCW_EN_UART0 {1} \
|
||||
CONFIG.PCW_EN_UART1 {1} \
|
||||
CONFIG.PCW_EN_USB0 {1} \
|
||||
CONFIG.PCW_FCLK0_PERIPHERAL_DIVISOR0 {5} \
|
||||
CONFIG.PCW_FCLK0_PERIPHERAL_DIVISOR1 {4} \
|
||||
CONFIG.PCW_FCLK1_PERIPHERAL_DIVISOR0 {10} \
|
||||
CONFIG.PCW_FCLK1_PERIPHERAL_DIVISOR1 {5} \
|
||||
CONFIG.PCW_FCLK2_PERIPHERAL_DIVISOR0 {4} \
|
||||
CONFIG.PCW_FCLK2_PERIPHERAL_DIVISOR1 {3} \
|
||||
CONFIG.PCW_FCLK3_PERIPHERAL_DIVISOR0 {5} \
|
||||
CONFIG.PCW_FCLK3_PERIPHERAL_DIVISOR1 {2} \
|
||||
CONFIG.PCW_FCLK_CLK1_BUF {TRUE} \
|
||||
CONFIG.PCW_FCLK_CLK2_BUF {TRUE} \
|
||||
CONFIG.PCW_FCLK_CLK3_BUF {TRUE} \
|
||||
CONFIG.PCW_FPGA0_PERIPHERAL_FREQMHZ {100} \
|
||||
CONFIG.PCW_FPGA1_PERIPHERAL_FREQMHZ {40} \
|
||||
CONFIG.PCW_FPGA2_PERIPHERAL_FREQMHZ {166.6667} \
|
||||
CONFIG.PCW_FPGA3_PERIPHERAL_FREQMHZ {200} \
|
||||
CONFIG.PCW_FPGA_FCLK0_ENABLE {1} \
|
||||
CONFIG.PCW_FPGA_FCLK1_ENABLE {1} \
|
||||
CONFIG.PCW_FPGA_FCLK2_ENABLE {1} \
|
||||
CONFIG.PCW_FPGA_FCLK3_ENABLE {1} \
|
||||
CONFIG.PCW_GPIO_EMIO_GPIO_ENABLE {1} \
|
||||
CONFIG.PCW_GPIO_EMIO_GPIO_IO {64} \
|
||||
CONFIG.PCW_GPIO_EMIO_GPIO_WIDTH {64} \
|
||||
CONFIG.PCW_GPIO_MIO_GPIO_ENABLE {1} \
|
||||
CONFIG.PCW_GPIO_MIO_GPIO_IO {MIO} \
|
||||
CONFIG.PCW_I2C0_GRP_INT_ENABLE {0} \
|
||||
CONFIG.PCW_I2C0_I2C0_IO {MIO 14 .. 15} \
|
||||
CONFIG.PCW_I2C0_PERIPHERAL_ENABLE {1} \
|
||||
CONFIG.PCW_I2C0_RESET_ENABLE {0} \
|
||||
CONFIG.PCW_I2C0_RESET_IO {<Select>} \
|
||||
CONFIG.PCW_I2C1_GRP_INT_ENABLE {0} \
|
||||
CONFIG.PCW_I2C1_I2C1_IO {MIO 48 .. 49} \
|
||||
CONFIG.PCW_I2C1_PERIPHERAL_ENABLE {1} \
|
||||
CONFIG.PCW_I2C1_RESET_ENABLE {0} \
|
||||
CONFIG.PCW_I2C_PERIPHERAL_FREQMHZ {166.666672} \
|
||||
CONFIG.PCW_I2C_RESET_ENABLE {0} \
|
||||
CONFIG.PCW_I2C_RESET_SELECT {<Select>} \
|
||||
CONFIG.PCW_IOPLL_CTRL_FBDIV {60} \
|
||||
CONFIG.PCW_IO_IO_PLL_FREQMHZ {2000.000} \
|
||||
CONFIG.PCW_IRQ_F2P_INTR {1} \
|
||||
CONFIG.PCW_MIO_0_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_0_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_0_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_0_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_10_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_10_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_10_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_10_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_11_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_11_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_11_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_11_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_12_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_12_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_12_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_12_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_13_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_13_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_13_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_13_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_14_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_14_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_14_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_14_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_15_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_15_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_15_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_15_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_16_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_16_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_16_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_16_SLEW {fast} \
|
||||
CONFIG.PCW_MIO_17_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_17_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_17_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_17_SLEW {fast} \
|
||||
CONFIG.PCW_MIO_18_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_18_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_18_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_18_SLEW {fast} \
|
||||
CONFIG.PCW_MIO_19_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_19_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_19_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_19_SLEW {fast} \
|
||||
CONFIG.PCW_MIO_1_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_1_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_1_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_1_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_20_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_20_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_20_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_20_SLEW {fast} \
|
||||
CONFIG.PCW_MIO_21_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_21_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_21_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_21_SLEW {fast} \
|
||||
CONFIG.PCW_MIO_22_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_22_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_22_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_22_SLEW {fast} \
|
||||
CONFIG.PCW_MIO_23_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_23_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_23_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_23_SLEW {fast} \
|
||||
CONFIG.PCW_MIO_24_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_24_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_24_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_24_SLEW {fast} \
|
||||
CONFIG.PCW_MIO_25_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_25_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_25_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_25_SLEW {fast} \
|
||||
CONFIG.PCW_MIO_26_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_26_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_26_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_26_SLEW {fast} \
|
||||
CONFIG.PCW_MIO_27_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_27_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_27_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_27_SLEW {fast} \
|
||||
CONFIG.PCW_MIO_28_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_28_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_28_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_28_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_29_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_29_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_29_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_29_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_2_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_2_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_2_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_2_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_30_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_30_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_30_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_30_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_31_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_31_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_31_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_31_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_32_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_32_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_32_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_32_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_33_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_33_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_33_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_33_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_34_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_34_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_34_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_34_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_35_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_35_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_35_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_35_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_36_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_36_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_36_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_36_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_37_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_37_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_37_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_37_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_38_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_38_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_38_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_38_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_39_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_39_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_39_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_39_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_3_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_3_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_3_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_3_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_40_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_40_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_40_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_40_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_41_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_41_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_41_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_41_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_42_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_42_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_42_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_42_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_43_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_43_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_43_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_43_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_44_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_44_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_44_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_44_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_45_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_45_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_45_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_45_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_46_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_46_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_46_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_46_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_47_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_47_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_47_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_47_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_48_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_48_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_48_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_48_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_49_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_49_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_49_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_49_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_4_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_4_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_4_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_4_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_50_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_50_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_50_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_50_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_51_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_51_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_51_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_51_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_52_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_52_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_52_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_52_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_53_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_53_IOTYPE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_MIO_53_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_53_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_5_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_5_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_5_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_5_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_6_DIRECTION {inout} \
|
||||
CONFIG.PCW_MIO_6_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_6_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_6_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_7_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_7_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_7_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_7_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_8_DIRECTION {out} \
|
||||
CONFIG.PCW_MIO_8_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_8_PULLUP {disabled} \
|
||||
CONFIG.PCW_MIO_8_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_9_DIRECTION {in} \
|
||||
CONFIG.PCW_MIO_9_IOTYPE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_MIO_9_PULLUP {enabled} \
|
||||
CONFIG.PCW_MIO_9_SLEW {slow} \
|
||||
CONFIG.PCW_MIO_TREE_PERIPHERALS {GPIO#GPIO#GPIO#ENET Reset#USB Reset#GPIO#GPIO#GPIO#UART 1#UART 1#PJTAG#PJTAG#PJTAG#PJTAG#I2C 0#I2C 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#USB 0#USB 0#USB 0#USB 0#USB 0#USB 0#USB 0#USB 0#USB 0#USB 0#USB 0#USB 0#SD 0#SD 0#SD 0#SD 0#SD 0#SD 0#UART 0#UART 0#I2C 1#I2C 1#GPIO#GPIO#Enet 0#Enet 0} \
|
||||
CONFIG.PCW_MIO_TREE_SIGNALS {gpio[0]#gpio[1]#gpio[2]#reset#reset#gpio[5]#gpio[6]#gpio[7]#tx#rx#tdi#tdo#tck#tms#scl#sda#tx_clk#txd[0]#txd[1]#txd[2]#txd[3]#tx_ctl#rx_clk#rxd[0]#rxd[1]#rxd[2]#rxd[3]#rx_ctl#data[4]#dir#stp#nxt#data[0]#data[1]#data[2]#data[3]#clk#data[5]#data[6]#data[7]#clk#cmd#data[0]#data[1]#data[2]#data[3]#rx#tx#scl#sda#gpio[50]#gpio[51]#mdc#mdio} \
|
||||
CONFIG.PCW_PCAP_PERIPHERAL_DIVISOR0 {10} \
|
||||
CONFIG.PCW_PJTAG_PERIPHERAL_ENABLE {1} \
|
||||
CONFIG.PCW_PJTAG_PJTAG_IO {MIO 10 .. 13} \
|
||||
CONFIG.PCW_PRESET_BANK0_VOLTAGE {LVCMOS 3.3V} \
|
||||
CONFIG.PCW_PRESET_BANK1_VOLTAGE {LVCMOS 1.8V} \
|
||||
CONFIG.PCW_QSPI_PERIPHERAL_DIVISOR0 {1} \
|
||||
CONFIG.PCW_SD0_GRP_CD_ENABLE {0} \
|
||||
CONFIG.PCW_SD0_GRP_POW_ENABLE {0} \
|
||||
CONFIG.PCW_SD0_GRP_WP_ENABLE {0} \
|
||||
CONFIG.PCW_SD0_PERIPHERAL_ENABLE {1} \
|
||||
CONFIG.PCW_SD0_SD0_IO {MIO 40 .. 45} \
|
||||
CONFIG.PCW_SDIO_PERIPHERAL_DIVISOR0 {20} \
|
||||
CONFIG.PCW_SDIO_PERIPHERAL_FREQMHZ {100} \
|
||||
CONFIG.PCW_SDIO_PERIPHERAL_VALID {1} \
|
||||
CONFIG.PCW_SMC_PERIPHERAL_DIVISOR0 {1} \
|
||||
CONFIG.PCW_SPI0_GRP_SS0_ENABLE {1} \
|
||||
CONFIG.PCW_SPI0_GRP_SS0_IO {EMIO} \
|
||||
CONFIG.PCW_SPI0_GRP_SS1_ENABLE {1} \
|
||||
CONFIG.PCW_SPI0_GRP_SS1_IO {EMIO} \
|
||||
CONFIG.PCW_SPI0_GRP_SS2_ENABLE {1} \
|
||||
CONFIG.PCW_SPI0_GRP_SS2_IO {EMIO} \
|
||||
CONFIG.PCW_SPI0_PERIPHERAL_ENABLE {1} \
|
||||
CONFIG.PCW_SPI0_SPI0_IO {EMIO} \
|
||||
CONFIG.PCW_SPI1_GRP_SS0_ENABLE {1} \
|
||||
CONFIG.PCW_SPI1_GRP_SS0_IO {EMIO} \
|
||||
CONFIG.PCW_SPI1_GRP_SS1_ENABLE {1} \
|
||||
CONFIG.PCW_SPI1_GRP_SS1_IO {EMIO} \
|
||||
CONFIG.PCW_SPI1_GRP_SS2_ENABLE {1} \
|
||||
CONFIG.PCW_SPI1_GRP_SS2_IO {EMIO} \
|
||||
CONFIG.PCW_SPI1_PERIPHERAL_ENABLE {1} \
|
||||
CONFIG.PCW_SPI1_SPI1_IO {EMIO} \
|
||||
CONFIG.PCW_SPI_PERIPHERAL_DIVISOR0 {12} \
|
||||
CONFIG.PCW_SPI_PERIPHERAL_FREQMHZ {166.666666} \
|
||||
CONFIG.PCW_SPI_PERIPHERAL_VALID {1} \
|
||||
CONFIG.PCW_TPIU_PERIPHERAL_DIVISOR0 {1} \
|
||||
CONFIG.PCW_UART0_GRP_FULL_ENABLE {0} \
|
||||
CONFIG.PCW_UART0_PERIPHERAL_ENABLE {1} \
|
||||
CONFIG.PCW_UART0_UART0_IO {MIO 46 .. 47} \
|
||||
CONFIG.PCW_UART1_GRP_FULL_ENABLE {0} \
|
||||
CONFIG.PCW_UART1_PERIPHERAL_ENABLE {1} \
|
||||
CONFIG.PCW_UART1_UART1_IO {MIO 8 .. 9} \
|
||||
CONFIG.PCW_UART_PERIPHERAL_DIVISOR0 {20} \
|
||||
CONFIG.PCW_UART_PERIPHERAL_FREQMHZ {100} \
|
||||
CONFIG.PCW_UART_PERIPHERAL_VALID {1} \
|
||||
CONFIG.PCW_UIPARAM_ACT_DDR_FREQ_MHZ {533.333374} \
|
||||
CONFIG.PCW_UIPARAM_DDR_BANK_ADDR_COUNT {3} \
|
||||
CONFIG.PCW_UIPARAM_DDR_BOARD_DELAY0 {0.096} \
|
||||
CONFIG.PCW_UIPARAM_DDR_BOARD_DELAY1 {0.102} \
|
||||
CONFIG.PCW_UIPARAM_DDR_BOARD_DELAY2 {0.100} \
|
||||
CONFIG.PCW_UIPARAM_DDR_BOARD_DELAY3 {0.090} \
|
||||
CONFIG.PCW_UIPARAM_DDR_CL {7} \
|
||||
CONFIG.PCW_UIPARAM_DDR_COL_ADDR_COUNT {10} \
|
||||
CONFIG.PCW_UIPARAM_DDR_CWL {6} \
|
||||
CONFIG.PCW_UIPARAM_DDR_DEVICE_CAPACITY {4096 MBits} \
|
||||
CONFIG.PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_0 {0.054} \
|
||||
CONFIG.PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_1 {0.040} \
|
||||
CONFIG.PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_2 {0.041} \
|
||||
CONFIG.PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_3 {0.010} \
|
||||
CONFIG.PCW_UIPARAM_DDR_DRAM_WIDTH {16 Bits} \
|
||||
CONFIG.PCW_UIPARAM_DDR_PARTNO {MT41K256M16 RE-125} \
|
||||
CONFIG.PCW_UIPARAM_DDR_ROW_ADDR_COUNT {15} \
|
||||
CONFIG.PCW_UIPARAM_DDR_SPEED_BIN {DDR3_1066F} \
|
||||
CONFIG.PCW_UIPARAM_DDR_T_FAW {40.0} \
|
||||
CONFIG.PCW_UIPARAM_DDR_T_RAS_MIN {35.0} \
|
||||
CONFIG.PCW_UIPARAM_DDR_T_RC {48.75} \
|
||||
CONFIG.PCW_UIPARAM_DDR_T_RCD {7} \
|
||||
CONFIG.PCW_UIPARAM_DDR_T_RP {7} \
|
||||
CONFIG.PCW_USB0_PERIPHERAL_ENABLE {1} \
|
||||
CONFIG.PCW_USB0_PERIPHERAL_FREQMHZ {60} \
|
||||
CONFIG.PCW_USB0_RESET_ENABLE {1} \
|
||||
CONFIG.PCW_USB0_RESET_IO {MIO 4} \
|
||||
CONFIG.PCW_USB0_USB0_IO {MIO 28 .. 39} \
|
||||
CONFIG.PCW_USB1_RESET_ENABLE {0} \
|
||||
CONFIG.PCW_USB_RESET_ENABLE {1} \
|
||||
CONFIG.PCW_USB_RESET_SELECT {Share reset pin} \
|
||||
CONFIG.PCW_USE_FABRIC_INTERRUPT {1} \
|
||||
CONFIG.PCW_USE_HIGH_OCM {1} \
|
||||
CONFIG.PCW_USE_PS_SLCR_REGISTERS {1} \
|
||||
CONFIG.PCW_USE_S_AXI_GP0 {0} \
|
||||
CONFIG.PCW_USE_S_AXI_GP1 {0} \
|
||||
CONFIG.PCW_USE_S_AXI_HP0 {1} \
|
||||
CONFIG.PCW_USE_S_AXI_HP1 {1} \
|
||||
CONFIG.PCW_USE_S_AXI_HP2 {1} \
|
||||
CONFIG.PCW_USE_S_AXI_HP3 {0} \
|
||||
] $processing_system7_0
|
||||
|
||||
# Create instance: xlconcat_0, and set properties
|
||||
set xlconcat_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconcat:2.1 xlconcat_0 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.IN0_WIDTH {8} \
|
||||
CONFIG.NUM_PORTS {9} \
|
||||
] $xlconcat_0
|
||||
|
||||
# Create instance: xlslice_2, and set properties
|
||||
set xlslice_2 [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlslice:1.0 xlslice_2 ]
|
||||
set_property -dict [ list \
|
||||
CONFIG.DIN_FROM {7} \
|
||||
CONFIG.DIN_TO {0} \
|
||||
CONFIG.DIN_WIDTH {16} \
|
||||
CONFIG.DOUT_WIDTH {8} \
|
||||
] $xlslice_2
|
||||
|
||||
# Create interface connections
|
||||
connect_bd_intf_net -intf_net S00_AXI_1 [get_bd_intf_pins axi_interconnect_0/S00_AXI] [get_bd_intf_pins processing_system7_0/M_AXI_GP0]
|
||||
connect_bd_intf_net -intf_net s_axi_eth_descriptor_1 [get_bd_intf_ports s_axi_eth_descriptor] [get_bd_intf_pins axi_interconnect_hp0/S01_AXI]
|
||||
connect_bd_intf_net -intf_net S_AXI_HP0_1 [get_bd_intf_ports S_AXI_HP0] [get_bd_intf_pins axi_interconnect_hp0/S00_AXI]
|
||||
connect_bd_intf_net -intf_net axi_interconnect_0_M00_AXI [get_bd_intf_ports m_axi_eth_dma] [get_bd_intf_pins axi_interconnect_0/M00_AXI]
|
||||
connect_bd_intf_net -intf_net axi_interconnect_0_M01_AXI [get_bd_intf_ports m_axi_net] [get_bd_intf_pins axi_interconnect_0/M01_AXI]
|
||||
connect_bd_intf_net -intf_net axi_interconnect_0_M02_AXI [get_bd_intf_ports m_axi_xbar] [get_bd_intf_pins axi_interconnect_0/M02_AXI]
|
||||
connect_bd_intf_net -intf_net axi_interconnect_0_M05_AXI [get_bd_intf_pins axi_interconnect_0/M05_AXI] [get_bd_intf_pins dma/s_axi_tx_dmac]
|
||||
connect_bd_intf_net -intf_net axi_protocol_converter_hp0_M_AXI [get_bd_intf_pins axi_interconnect_hp0/M00_AXI] [get_bd_intf_pins processing_system7_0/S_AXI_HP0]
|
||||
connect_bd_intf_net -intf_net dma_M_AXI_RX_DMA [get_bd_intf_pins dma/M_AXI_RX_DMA] [get_bd_intf_pins processing_system7_0/S_AXI_HP1]
|
||||
connect_bd_intf_net -intf_net dma_M_AXI_TX_DMA [get_bd_intf_pins dma/M_AXI_TX_DMA] [get_bd_intf_pins processing_system7_0/S_AXI_HP2]
|
||||
connect_bd_intf_net -intf_net s_axis_dma_1 [get_bd_intf_ports s_axis_dma] [get_bd_intf_pins dma/s_axis_dma]
|
||||
connect_bd_intf_net -intf_net m_axis_dma_1 [get_bd_intf_ports m_axis_dma] [get_bd_intf_pins dma/m_axis_dma]
|
||||
connect_bd_intf_net -intf_net processing_system7_0_DDR [get_bd_intf_ports DDR] [get_bd_intf_pins processing_system7_0/DDR]
|
||||
connect_bd_intf_net -intf_net processing_system7_0_GPIO_0 [get_bd_intf_ports GPIO_0] [get_bd_intf_pins processing_system7_0/GPIO_0]
|
||||
connect_bd_intf_net -intf_net processing_system7_0_USBIND_0 [get_bd_intf_ports USBIND_0] [get_bd_intf_pins processing_system7_0/USBIND_0]
|
||||
connect_bd_intf_net -intf_net s_axi_regfile_1 [get_bd_intf_pins axi_interconnect_0/M03_AXI] [get_bd_intf_pins dma/s_axi_regfile]
|
||||
connect_bd_intf_net -intf_net s_axi_rx_dmac_1 [get_bd_intf_pins axi_interconnect_0/M04_AXI] [get_bd_intf_pins dma/s_axi_rx_dmac]
|
||||
|
||||
# Create port connections
|
||||
connect_bd_net -net IRQ_F2P_1 [get_bd_ports IRQ_F2P] [get_bd_pins xlslice_2/Din]
|
||||
connect_bd_net -net SPI0_MISO_I_1 [get_bd_ports SPI0_MISO_I] [get_bd_pins processing_system7_0/SPI0_MISO_I]
|
||||
connect_bd_net -net SPI0_MOSI_I_1 [get_bd_ports SPI0_MOSI_I] [get_bd_pins processing_system7_0/SPI0_MOSI_I]
|
||||
connect_bd_net -net SPI0_SCLK_I_1 [get_bd_ports SPI0_SCLK_I] [get_bd_pins processing_system7_0/SPI0_SCLK_I]
|
||||
connect_bd_net -net SPI0_SS_I_1 [get_bd_ports SPI0_SS_I] [get_bd_pins processing_system7_0/SPI0_SS_I]
|
||||
connect_bd_net -net SPI1_MISO_I_0_1 [get_bd_ports SPI1_MISO_I] [get_bd_pins processing_system7_0/SPI1_MISO_I]
|
||||
connect_bd_net -net SPI1_MOSI_I_0_1 [get_bd_ports SPI1_MOSI_I] [get_bd_pins processing_system7_0/SPI1_MOSI_I]
|
||||
connect_bd_net -net SPI1_SCLK_I_0_1 [get_bd_ports SPI1_SCLK_I] [get_bd_pins processing_system7_0/SPI1_SCLK_I]
|
||||
connect_bd_net -net SPI1_SS_I_0_1 [get_bd_ports SPI1_SS_I] [get_bd_pins processing_system7_0/SPI1_SS_I]
|
||||
connect_bd_net -net S_AXI_GP0_ACLK_1 [get_bd_ports S_AXI_GP0_ACLK] [get_bd_pins axi_interconnect_0/ACLK]
|
||||
connect_bd_net -net S_AXI_GP0_ARESETN_1 [get_bd_ports S_AXI_GP0_ARESETN] [get_bd_pins axi_interconnect_0/ARESETN]
|
||||
connect_bd_net -net S_AXI_HP0_ACLK_1 [get_bd_ports S_AXI_HP0_ACLK] [get_bd_pins axi_interconnect_hp0/ACLK] [get_bd_pins axi_interconnect_hp0/M00_ACLK] [get_bd_pins axi_interconnect_hp0/S00_ACLK] [get_bd_pins axi_interconnect_hp0/S01_ACLK] [get_bd_pins processing_system7_0/S_AXI_HP0_ACLK]
|
||||
connect_bd_net -net S_AXI_HP0_ARESETN_1 [get_bd_ports S_AXI_HP0_ARESETN] [get_bd_pins axi_interconnect_hp0/ARESETN] [get_bd_pins axi_interconnect_hp0/M00_ARESETN] [get_bd_pins axi_interconnect_hp0/S00_ARESETN] [get_bd_pins axi_interconnect_hp0/S01_ARESETN]
|
||||
connect_bd_net -net bus_clk [get_bd_ports bus_clk] [get_bd_pins dma/bus_clk]
|
||||
connect_bd_net -net bus_rstn [get_bd_ports bus_rstn] [get_bd_pins dma/bus_rstn]
|
||||
connect_bd_net -net clk40 [get_bd_ports clk40] [get_bd_pins axi_interconnect_0/M00_ACLK] [get_bd_pins axi_interconnect_0/M01_ACLK] [get_bd_pins axi_interconnect_0/M02_ACLK] [get_bd_pins axi_interconnect_0/M04_ACLK] [get_bd_pins axi_interconnect_0/M05_ACLK] [get_bd_pins axi_interconnect_0/M03_ACLK] [get_bd_pins axi_interconnect_0/S00_ACLK] [get_bd_pins dma/clk40] [get_bd_pins processing_system7_0/M_AXI_GP0_ACLK] [get_bd_pins processing_system7_0/S_AXI_HP1_ACLK] [get_bd_pins processing_system7_0/S_AXI_HP2_ACLK]
|
||||
connect_bd_net -net clk40_rstn [get_bd_ports clk40_rstn] [get_bd_pins axi_interconnect_0/M00_ARESETN] [get_bd_pins axi_interconnect_0/M01_ARESETN] [get_bd_pins axi_interconnect_0/M02_ARESETN] [get_bd_pins axi_interconnect_0/M04_ARESETN] [get_bd_pins axi_interconnect_0/M05_ARESETN] [get_bd_pins axi_interconnect_0/M03_ARESETN] [get_bd_pins axi_interconnect_0/S00_ARESETN] [get_bd_pins dma/clk40_rstn]
|
||||
connect_bd_net -net ddr_vrn [get_bd_ports DDR_VRN] [get_bd_pins processing_system7_0/DDR_VRN]
|
||||
connect_bd_net -net ddr_vrp [get_bd_ports DDR_VRP] [get_bd_pins processing_system7_0/DDR_VRP]
|
||||
connect_bd_net -net dma_tx_irq [get_bd_pins dma/tx_irq] [get_bd_pins xlconcat_0/In2]
|
||||
connect_bd_net -net mio [get_bd_ports MIO] [get_bd_pins processing_system7_0/MIO]
|
||||
connect_bd_net -net processing_system7_0_FCLK_CLK0 [get_bd_ports FCLK_CLK0] [get_bd_pins processing_system7_0/FCLK_CLK0]
|
||||
connect_bd_net -net processing_system7_0_FCLK_CLK1 [get_bd_ports FCLK_CLK1] [get_bd_pins processing_system7_0/FCLK_CLK1]
|
||||
connect_bd_net -net processing_system7_0_FCLK_CLK2 [get_bd_ports FCLK_CLK2] [get_bd_pins processing_system7_0/FCLK_CLK2]
|
||||
connect_bd_net -net processing_system7_0_FCLK_CLK3 [get_bd_ports FCLK_CLK3] [get_bd_pins processing_system7_0/FCLK_CLK3]
|
||||
connect_bd_net -net processing_system7_0_FCLK_RESET0_N [get_bd_ports FCLK_RESET0_N] [get_bd_pins processing_system7_0/FCLK_RESET0_N]
|
||||
connect_bd_net -net processing_system7_0_SPI0_MISO_O [get_bd_ports SPI0_MISO_O] [get_bd_pins processing_system7_0/SPI0_MISO_O]
|
||||
connect_bd_net -net processing_system7_0_SPI0_MISO_T [get_bd_ports SPI0_MISO_T] [get_bd_pins processing_system7_0/SPI0_MISO_T]
|
||||
connect_bd_net -net processing_system7_0_SPI0_MOSI_O [get_bd_ports SPI0_MOSI_O] [get_bd_pins processing_system7_0/SPI0_MOSI_O]
|
||||
connect_bd_net -net processing_system7_0_SPI0_MOSI_T [get_bd_ports SPI0_MOSI_T] [get_bd_pins processing_system7_0/SPI0_MOSI_T]
|
||||
connect_bd_net -net processing_system7_0_SPI0_SCLK_O [get_bd_ports SPI0_SCLK_O] [get_bd_pins processing_system7_0/SPI0_SCLK_O]
|
||||
connect_bd_net -net processing_system7_0_SPI0_SCLK_T [get_bd_ports SPI0_SCLK_T] [get_bd_pins processing_system7_0/SPI0_SCLK_T]
|
||||
connect_bd_net -net processing_system7_0_SPI0_SS1_O [get_bd_ports SPI0_SS1_O] [get_bd_pins processing_system7_0/SPI0_SS1_O]
|
||||
connect_bd_net -net processing_system7_0_SPI0_SS2_O [get_bd_ports SPI0_SS2_O] [get_bd_pins processing_system7_0/SPI0_SS2_O]
|
||||
connect_bd_net -net processing_system7_0_SPI0_SS_O [get_bd_ports SPI0_SS_O] [get_bd_pins processing_system7_0/SPI0_SS_O]
|
||||
connect_bd_net -net processing_system7_0_SPI0_SS_T [get_bd_ports SPI0_SS_T] [get_bd_pins processing_system7_0/SPI0_SS_T]
|
||||
connect_bd_net -net processing_system7_0_SPI1_MISO_O [get_bd_ports SPI1_MISO_O] [get_bd_pins processing_system7_0/SPI1_MISO_O]
|
||||
connect_bd_net -net processing_system7_0_SPI1_MISO_T [get_bd_ports SPI1_MISO_T] [get_bd_pins processing_system7_0/SPI1_MISO_T]
|
||||
connect_bd_net -net processing_system7_0_SPI1_MOSI_O [get_bd_ports SPI1_MOSI_O] [get_bd_pins processing_system7_0/SPI1_MOSI_O]
|
||||
connect_bd_net -net processing_system7_0_SPI1_MOSI_T [get_bd_ports SPI1_MOSI_T] [get_bd_pins processing_system7_0/SPI1_MOSI_T]
|
||||
connect_bd_net -net processing_system7_0_SPI1_SCLK_O [get_bd_ports SPI1_SCLK_O] [get_bd_pins processing_system7_0/SPI1_SCLK_O]
|
||||
connect_bd_net -net processing_system7_0_SPI1_SCLK_T [get_bd_ports SPI1_SCLK_T] [get_bd_pins processing_system7_0/SPI1_SCLK_T]
|
||||
connect_bd_net -net processing_system7_0_SPI1_SS1_O [get_bd_ports SPI1_SS1_O] [get_bd_pins processing_system7_0/SPI1_SS1_O]
|
||||
connect_bd_net -net processing_system7_0_SPI1_SS2_O [get_bd_ports SPI1_SS2_O] [get_bd_pins processing_system7_0/SPI1_SS2_O]
|
||||
connect_bd_net -net processing_system7_0_SPI1_SS_O [get_bd_ports SPI1_SS_O] [get_bd_pins processing_system7_0/SPI1_SS_O]
|
||||
connect_bd_net -net processing_system7_0_SPI1_SS_T [get_bd_ports SPI1_SS_T] [get_bd_pins processing_system7_0/SPI1_SS_T]
|
||||
connect_bd_net -net ps_clk [get_bd_ports PS_CLK] [get_bd_pins processing_system7_0/PS_CLK]
|
||||
connect_bd_net -net ps_porb [get_bd_ports PS_PORB] [get_bd_pins processing_system7_0/PS_PORB]
|
||||
connect_bd_net -net ps_srstb [get_bd_ports PS_SRSTB] [get_bd_pins processing_system7_0/PS_SRSTB]
|
||||
connect_bd_net -net rx_dma_irq [get_bd_pins dma/rx_irq] [get_bd_pins xlconcat_0/In1]
|
||||
connect_bd_net -net xlconcat_0_dout [get_bd_pins processing_system7_0/IRQ_F2P] [get_bd_pins xlconcat_0/dout]
|
||||
connect_bd_net -net xlslice_2_Dout [get_bd_pins xlconcat_0/In0] [get_bd_pins xlslice_2/Dout]
|
||||
|
||||
# Create address segments
|
||||
create_bd_addr_seg -range 0x00004000 -offset 0x40000000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs m_axi_eth_dma/Reg] SEG_m_axi_eth_dma_Reg
|
||||
create_bd_addr_seg -range 0x00004000 -offset 0x40004000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs m_axi_net/Reg] SEG_m_axi_net_Reg
|
||||
create_bd_addr_seg -range 0x00004000 -offset 0x40010000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs m_axi_xbar/Reg] SEG_m_axi_xbar_Reg
|
||||
create_bd_addr_seg -range 0x00001000 -offset 0x42080000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs dma/axi_regfile_0/S_AXI/regs] SEG_axi_regfile_0_regs
|
||||
create_bd_addr_seg -range 0x00010000 -offset 0x43C00000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs dma/rx/dma0/axi_rx_dmac/s_axi/axi_lite] SEG_axi_rx_dmac_axi_lite
|
||||
create_bd_addr_seg -range 0x00010000 -offset 0x43C10000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs dma/rx/dma1/axi_rx_dmac/s_axi/axi_lite] SEG_axi_rx_dmac_axi_lite4
|
||||
create_bd_addr_seg -range 0x00010000 -offset 0x43C20000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs dma/rx/dma2/axi_rx_dmac/s_axi/axi_lite] SEG_axi_rx_dmac_axi_lite6
|
||||
create_bd_addr_seg -range 0x00010000 -offset 0x43C30000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs dma/rx/dma3/axi_rx_dmac/s_axi/axi_lite] SEG_axi_rx_dmac_axi_lite8
|
||||
create_bd_addr_seg -range 0x00010000 -offset 0x43C40000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs dma/rx/dma4/axi_rx_dmac/s_axi/axi_lite] SEG_axi_rx_dmac_axi_lite10
|
||||
create_bd_addr_seg -range 0x00010000 -offset 0x43C50000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs dma/rx/dma5/axi_rx_dmac/s_axi/axi_lite] SEG_axi_rx_dmac_axi_lite12
|
||||
create_bd_addr_seg -range 0x00010000 -offset 0x43CA0000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs dma/tx/axi_tx_dmac_0/s_axi/axi_lite] SEG_axi_tx_dmac_0_axi_lite
|
||||
create_bd_addr_seg -range 0x00010000 -offset 0x43CB0000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs dma/tx/axi_tx_dmac_1/s_axi/axi_lite] SEG_axi_tx_dmac_1_axi_lite
|
||||
create_bd_addr_seg -range 0x00010000 -offset 0x43CC0000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs dma/tx/axi_tx_dmac_2/s_axi/axi_lite] SEG_axi_tx_dmac_2_axi_lite
|
||||
create_bd_addr_seg -range 0x00010000 -offset 0x43CD0000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs dma/tx/axi_tx_dmac_3/s_axi/axi_lite] SEG_axi_tx_dmac_3_axi_lite
|
||||
create_bd_addr_seg -range 0x00010000 -offset 0x43CE0000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs dma/tx/axi_tx_dmac_4/s_axi/axi_lite] SEG_axi_tx_dmac_4_axi_lite
|
||||
create_bd_addr_seg -range 0x00010000 -offset 0x43CF0000 [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs dma/tx/axi_tx_dmac_5/s_axi/axi_lite] SEG_axi_tx_dmac_5_axi_lite
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces dma/tx/axi_tx_dmac_0/m_src_axi] [get_bd_addr_segs processing_system7_0/S_AXI_HP2/HP2_DDR_LOWOCM] SEG_processing_system7_0_HP2_DDR_LOWOCM
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces dma/tx/axi_tx_dmac_1/m_src_axi] [get_bd_addr_segs processing_system7_0/S_AXI_HP2/HP2_DDR_LOWOCM] SEG_processing_system7_0_HP2_DDR_LOWOCM
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces dma/tx/axi_tx_dmac_2/m_src_axi] [get_bd_addr_segs processing_system7_0/S_AXI_HP2/HP2_DDR_LOWOCM] SEG_processing_system7_0_HP2_DDR_LOWOCM
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces dma/tx/axi_tx_dmac_3/m_src_axi] [get_bd_addr_segs processing_system7_0/S_AXI_HP2/HP2_DDR_LOWOCM] SEG_processing_system7_0_HP2_DDR_LOWOCM
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces dma/tx/axi_tx_dmac_4/m_src_axi] [get_bd_addr_segs processing_system7_0/S_AXI_HP2/HP2_DDR_LOWOCM] SEG_processing_system7_0_HP2_DDR_LOWOCM
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces dma/tx/axi_tx_dmac_5/m_src_axi] [get_bd_addr_segs processing_system7_0/S_AXI_HP2/HP2_DDR_LOWOCM] SEG_processing_system7_0_HP2_DDR_LOWOCM
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces dma/rx/dma0/axi_rx_dmac/m_dest_axi] [get_bd_addr_segs processing_system7_0/S_AXI_HP1/HP1_DDR_LOWOCM] SEG_processing_system7_0_HP1_DDR_LOWOCM
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces dma/rx/dma1/axi_rx_dmac/m_dest_axi] [get_bd_addr_segs processing_system7_0/S_AXI_HP1/HP1_DDR_LOWOCM] SEG_processing_system7_0_HP1_DDR_LOWOCM
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces dma/rx/dma2/axi_rx_dmac/m_dest_axi] [get_bd_addr_segs processing_system7_0/S_AXI_HP1/HP1_DDR_LOWOCM] SEG_processing_system7_0_HP1_DDR_LOWOCM
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces dma/rx/dma3/axi_rx_dmac/m_dest_axi] [get_bd_addr_segs processing_system7_0/S_AXI_HP1/HP1_DDR_LOWOCM] SEG_processing_system7_0_HP1_DDR_LOWOCM
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces dma/rx/dma4/axi_rx_dmac/m_dest_axi] [get_bd_addr_segs processing_system7_0/S_AXI_HP1/HP1_DDR_LOWOCM] SEG_processing_system7_0_HP1_DDR_LOWOCM
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces dma/rx/dma5/axi_rx_dmac/m_dest_axi] [get_bd_addr_segs processing_system7_0/S_AXI_HP1/HP1_DDR_LOWOCM] SEG_processing_system7_0_HP1_DDR_LOWOCM
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces s_axi_eth_descriptor] [get_bd_addr_segs processing_system7_0/S_AXI_HP0/HP0_DDR_LOWOCM] SEG_processing_system7_0_GP0_DDR_LOWOCM
|
||||
create_bd_addr_seg -range 0x40000000 -offset 0x00000000 [get_bd_addr_spaces S_AXI_HP0] [get_bd_addr_segs processing_system7_0/S_AXI_HP0/HP0_DDR_LOWOCM] SEG_processing_system7_0_HP0_DDR_LOWOCM
|
||||
|
||||
|
||||
# Restore current instance
|
||||
current_bd_instance $oldCurInst
|
||||
|
||||
save_bd_design
|
||||
}
|
||||
# End of create_root_design()
|
||||
|
||||
|
||||
##################################################################
|
||||
# MAIN FLOW
|
||||
##################################################################
|
||||
|
||||
create_root_design ""
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,15 @@
|
||||
#
|
||||
# Copyright 2014 Ettus Research
|
||||
#
|
||||
|
||||
include $(TOOLS_DIR)/make/viv_ip_builder.mak
|
||||
|
||||
IP_FIFO_4K_2CLK_SRCS = $(IP_BUILD_DIR)/fifo_4k_2clk/fifo_4k_2clk.xci
|
||||
|
||||
IP_FIFO_4K_2CLK_OUTS = $(addprefix $(IP_BUILD_DIR)/fifo_4k_2clk/, \
|
||||
fifo_4k_2clk.xci.out \
|
||||
synth/fifo_4k_2clk.vhd \
|
||||
)
|
||||
|
||||
$(IP_FIFO_4K_2CLK_SRCS) $(IP_FIFO_4K_2CLK_OUTS) : $(IP_DIR)/fifo_4k_2clk/fifo_4k_2clk.xci
|
||||
$(call BUILD_VIVADO_IP,fifo_4k_2clk,$(ARCH),$(PART_ID),$(IP_DIR),$(IP_BUILD_DIR),0)
|
||||
@@ -0,0 +1,576 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<spirit:design xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<spirit:vendor>xilinx.com</spirit:vendor>
|
||||
<spirit:library>xci</spirit:library>
|
||||
<spirit:name>unknown</spirit:name>
|
||||
<spirit:version>1.0</spirit:version>
|
||||
<spirit:componentInstances>
|
||||
<spirit:componentInstance>
|
||||
<spirit:instanceName>fifo_4k_2clk</spirit:instanceName>
|
||||
<spirit:componentRef spirit:vendor="xilinx.com" spirit:library="ip" spirit:name="fifo_generator" spirit:version="13.2"/>
|
||||
<spirit:configurableElementValues>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TLAST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TREADY">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.LAYERED_METADATA">undef</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TDATA_NUM_BYTES">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ARESETN.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TLAST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TREADY">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.LAYERED_METADATA">undef</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TDATA_NUM_BYTES">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ADD_NGC_CONSTRAINT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TDATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TDEST_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TID_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TKEEP_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TSTRB_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TUSER_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ADDR_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ARUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_AWUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_BUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_DATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ID_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_LEN_WIDTH">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_LOCK_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_RUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_WUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COMMON_CLOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COUNT_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DATA_COUNT_WIDTH">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DEFAULT_VALUE">BlankString</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH">72</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_AXIS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_RACH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_RDCH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_WACH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_WDCH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_WRCH">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DOUT_RST_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DOUT_WIDTH">72</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ENABLE_RLOCS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ENABLE_RST_SYNC">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SAFETY_CKT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FAMILY">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FULL_FLAGS_RST_VAL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ALMOST_EMPTY">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ALMOST_FULL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TDATA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TDEST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TLAST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TREADY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TUSER">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ARUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_AWUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_BUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_RD_CHANNEL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_RUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_WR_CHANNEL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_WUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_BACKUP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_INT_CLK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MASTER_CE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEMINIT_FILE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_OVERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RD_DATA_COUNT">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RD_RST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SLAVE_CE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SRST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_UNDERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_VALID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_WR_ACK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_WR_DATA_COUNT">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_WR_RST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_AXIS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_RACH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_RDCH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_WACH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_WDCH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_WRCH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INIT_WR_PNTR_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INTERFACE_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MEMORY_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MIF_FILE_NAME">BlankString</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MSGON_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OPTIMIZATION_MODE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OVERFLOW_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_POWER_SAVING_MODE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRELOAD_LATENCY">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRELOAD_REGS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE">512x72</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_AXIS">1kx18</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_RACH">512x36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_RDCH">1kx36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_WACH">512x36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_WDCH">1kx36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_WRCH">512x36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_RACH">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_NEGATE_VAL">5</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL">511</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_AXIS">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_RACH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_RDCH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WACH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WDCH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WRCH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_NEGATE_VAL">510</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RACH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RDCH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_DATA_COUNT_WIDTH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_DEPTH">512</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_FREQ">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_PNTR_WIDTH">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SELECT_XPM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SYNCHRONIZER_STAGE">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_UNDERFLOW_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_COMMON_OVERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_COMMON_UNDERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_DEFAULT_SETTINGS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_DOUT_RST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_EMBEDDED_REG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_FIFO16_FLAGS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_FWFT_DATA_COUNT">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_PIPELINE_REG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_VALID_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WACH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WDCH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRCH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_ACK_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DATA_COUNT_WIDTH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH">512</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_AXIS">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_RACH">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_RDCH">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WACH">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WDCH">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WRCH">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_FREQ">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_AXIS">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_RACH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_RDCH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_WACH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_WDCH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_WRCH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_RESPONSE_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ADDRESS_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ARUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AWUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Add_NGC_Constraint_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Almost_Empty_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Almost_Full_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.BUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.C_SELECT_XPM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Clock_Enable_Type">Slave_Interface_Clock_Enable</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Clock_Type_AXI">Common_Clock</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Component_Name">fifo_4k_2clk</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.DATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Data_Count">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Data_Count_Width">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Timing_Violations">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Timing_Violations_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Dout_Reset_Value">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_axis">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_rach">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_rdch">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wach">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wdch">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wrch">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Negate_Value">5</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Common_Overflow">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Common_Underflow">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_Type">Hard_ECC</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Reset_Synchronization">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Safety_Circuit">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_TLAST">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_TREADY">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_axis">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_rach">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_rdch">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_wach">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_wdch">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_wrch">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_axis">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_rach">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_rdch">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_wach">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_wdch">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_wrch">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Fifo_Implementation">Independent_Clocks_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Flags_Reset_Value">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value">511</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_axis">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_rach">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_rdch">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wach">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wdch">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wrch">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Negate_Value">510</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_ACLKEN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TKEEP">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TSTRB">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.INTERFACE_TYPE">Native</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Data_Width">72</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth">512</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_axis">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_rach">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_rdch">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_wach">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_wdch">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_wrch">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Master_interface_Clock_enable_memory_mapped">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Data_Width">72</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Depth">512</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Register_Type">Embedded_Reg</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Flag_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Sense_AXI">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.PROTOCOL">AXI4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Performance_Options">First_Word_Fall_Through</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_axis">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_rach">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_rdch">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_wach">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_wdch">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_wrch">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_axis">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_rach">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_rdch">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_wach">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_wdch">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_wrch">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Clock_Frequency">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Data_Count">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Data_Count_Width">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_axis">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_rach">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_rdch">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_wach">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_wdch">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_wrch">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Pin">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Type">Asynchronous_Reset</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Slave_interface_Clock_enable_memory_mapped">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TDATA_NUM_BYTES">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TKEEP_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TSTRB_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TUSER_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Flag_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Sense_AXI">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Dout_Reset">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Embedded_Registers">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Embedded_Registers_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Extra_Logic">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Valid_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Valid_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.WUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Acknowledge_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Acknowledge_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Clock_Frequency">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Data_Count">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Data_Count_Width">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.asymmetric_port_width">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.axis_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.dynamic_power_saving">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ecc_pipeline_reg">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.enable_low_latency">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.enable_read_pointer_increment_by2">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.rach_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.rdch_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.synchronization_stages">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.synchronization_stages_axi">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.use_dout_register">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.wach_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.wdch_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.wrch_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.ARCHITECTURE">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BASE_BOARD_PART"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BOARD_CONNECTIONS"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.DEVICE">xc7z100</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PACKAGE">ffg900</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PREFHDL">VERILOG</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SILICON_REVISION"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SIMULATOR_LANGUAGE">MIXED</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SPEEDGRADE">-2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.STATIC_POWER"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.TEMPERATURE_GRADE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_CUSTOMIZATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_GENERATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPCONTEXT">IP_Flow</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPREVISION">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.MANAGED">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.OUTPUTDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SELECTEDSIMMODEL"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SHAREDDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SWVERSION">2019.1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SYNTHESISFLOW">OUT_OF_CONTEXT</spirit:configurableElementValue>
|
||||
</spirit:configurableElementValues>
|
||||
<spirit:vendorExtensions>
|
||||
<xilinx:componentInstanceExtensions>
|
||||
<xilinx:configElementInfos>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_CACHE" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_LOCK" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_PROT" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_QOS" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_REGION" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TREADY" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS.TDATA_NUM_BYTES" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_CACHE" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_LOCK" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_PROT" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_QOS" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_REGION" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TREADY" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS.TDATA_NUM_BYTES" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Data_Count_Width" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Disable_Timing_Violations" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Negate_Value" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Fifo_Implementation" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Flags_Reset_Value" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Threshold_Negate_Value" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Input_Data_Width" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Input_Depth" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Output_Data_Width" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Output_Depth" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Performance_Options" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Read_Data_Count" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Reset_Type" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TDATA_NUM_BYTES" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TKEEP_WIDTH" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TSTRB_WIDTH" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Use_Extra_Logic" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Data_Count" xilinx:valueSource="user"/>
|
||||
</xilinx:configElementInfos>
|
||||
</xilinx:componentInstanceExtensions>
|
||||
</spirit:vendorExtensions>
|
||||
</spirit:componentInstance>
|
||||
</spirit:componentInstances>
|
||||
</spirit:design>
|
||||
@@ -0,0 +1,15 @@
|
||||
#
|
||||
# Copyright 2014 Ettus Research
|
||||
#
|
||||
|
||||
include $(TOOLS_DIR)/make/viv_ip_builder.mak
|
||||
|
||||
IP_FIFO_SHORT_2CLK_SRCS = $(IP_BUILD_DIR)/fifo_short_2clk/fifo_short_2clk.xci
|
||||
|
||||
IP_FIFO_SHORT_2CLK_OUTS = $(addprefix $(IP_BUILD_DIR)/fifo_short_2clk/, \
|
||||
fifo_short_2clk.xci.out \
|
||||
synth/fifo_short_2clk.vhd \
|
||||
)
|
||||
|
||||
$(IP_FIFO_SHORT_2CLK_SRCS) $(IP_FIFO_SHORT_2CLK_OUTS) : $(IP_DIR)/fifo_short_2clk/fifo_short_2clk.xci
|
||||
$(call BUILD_VIVADO_IP,fifo_short_2clk,$(ARCH),$(PART_ID),$(IP_DIR),$(IP_BUILD_DIR),0)
|
||||
@@ -0,0 +1,578 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<spirit:design xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<spirit:vendor>xilinx.com</spirit:vendor>
|
||||
<spirit:library>xci</spirit:library>
|
||||
<spirit:name>unknown</spirit:name>
|
||||
<spirit:version>1.0</spirit:version>
|
||||
<spirit:componentInstances>
|
||||
<spirit:componentInstance>
|
||||
<spirit:instanceName>fifo_short_2clk</spirit:instanceName>
|
||||
<spirit:componentRef spirit:vendor="xilinx.com" spirit:library="ip" spirit:name="fifo_generator" spirit:version="13.2"/>
|
||||
<spirit:configurableElementValues>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORE_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MASTER_ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TLAST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TREADY">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.LAYERED_METADATA">undef</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TDATA_NUM_BYTES">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.M_AXIS.TUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.READ_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SLAVE_ARESETN.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TLAST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TREADY">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.LAYERED_METADATA">undef</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TDATA_NUM_BYTES">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXIS.TUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.WRITE_CLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ADD_NGC_CONSTRAINT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_APPLICATION_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TDATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TDEST_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TID_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TKEEP_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TSTRB_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TUSER_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXIS_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ADDR_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ARUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_AWUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_BUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_DATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ID_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_LEN_WIDTH">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_LOCK_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_RUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_WUSER_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COMMON_CLOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COUNT_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DATA_COUNT_WIDTH">5</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DEFAULT_VALUE">BlankString</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH">72</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_AXIS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_RACH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_RDCH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_WACH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_WDCH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_WRCH">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DOUT_RST_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DOUT_WIDTH">72</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ENABLE_RLOCS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ENABLE_RST_SYNC">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SAFETY_CKT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ERROR_INJECTION_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FAMILY">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FULL_FLAGS_RST_VAL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ALMOST_EMPTY">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ALMOST_FULL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TDATA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TDEST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TKEEP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TLAST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TREADY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXIS_TUSER">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ARUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_AWUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_BUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_RD_CHANNEL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_RUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_WR_CHANNEL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_WUSER">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_BACKUP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_DATA_COUNTS_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_INT_CLK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MASTER_CE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEMINIT_FILE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_OVERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_PROG_FLAGS_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RD_DATA_COUNT">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RD_RST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SLAVE_CE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SRST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_UNDERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_VALID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_WR_ACK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_WR_DATA_COUNT">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_WR_RST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_AXIS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_RACH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_RDCH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_WACH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_WDCH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_IMPLEMENTATION_TYPE_WRCH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INIT_WR_PNTR_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INTERFACE_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MEMORY_TYPE">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MIF_FILE_NAME">BlankString</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MSGON_VAL">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OPTIMIZATION_MODE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OVERFLOW_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_POWER_SAVING_MODE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRELOAD_LATENCY">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRELOAD_REGS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE">512x72</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_AXIS">1kx18</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_RACH">512x36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_RDCH">1kx36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_WACH">512x36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_WDCH">1kx36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_WRCH">512x36</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_RACH">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_THRESH_NEGATE_VAL">5</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL">31</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_AXIS">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_RACH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_RDCH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WACH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WDCH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WRCH">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_NEGATE_VAL">30</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RACH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RDCH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_DATA_COUNT_WIDTH">6</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_DEPTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_FREQ">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_PNTR_WIDTH">5</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SELECT_XPM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SYNCHRONIZER_STAGE">3</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_UNDERFLOW_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_COMMON_OVERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_COMMON_UNDERFLOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_DEFAULT_SETTINGS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_DOUT_RST">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_AXIS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_RACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_RDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_WACH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_WDCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC_WRCH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_EMBEDDED_REG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_FIFO16_FLAGS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_FWFT_DATA_COUNT">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_PIPELINE_REG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_VALID_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WACH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WDCH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRCH_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_ACK_LOW">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DATA_COUNT_WIDTH">6</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_AXIS">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_RACH">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_RDCH">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WACH">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WDCH">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WRCH">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_FREQ">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH">5</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_AXIS">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_RACH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_RDCH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_WACH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_WDCH">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_WRCH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_RESPONSE_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ADDRESS_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ARUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AWUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Add_NGC_Constraint_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Almost_Empty_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Almost_Full_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.BUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.C_SELECT_XPM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Clock_Enable_Type">Slave_Interface_Clock_Enable</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Clock_Type_AXI">Common_Clock</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Component_Name">fifo_short_2clk</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.DATA_WIDTH">64</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Data_Count">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Data_Count_Width">5</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Timing_Violations">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Timing_Violations_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Dout_Reset_Value">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_axis">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_rach">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_rdch">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wach">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wdch">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value_wrch">1022</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Empty_Threshold_Negate_Value">5</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Common_Overflow">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Common_Underflow">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Data_Counts_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_Type">Hard_ECC</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_ECC_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Reset_Synchronization">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_Safety_Circuit">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_TLAST">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_TREADY">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_axis">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_rach">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_rdch">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_wach">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_wdch">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Application_Type_wrch">Data_FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_axis">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_rach">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_rdch">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_wach">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_wdch">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_wrch">Common_Clock_Block_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Fifo_Implementation">Independent_Clocks_Distributed_RAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Flags_Reset_Value">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value">31</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_axis">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_rach">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_rdch">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wach">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wdch">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wrch">1023</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Negate_Value">30</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_ACLKEN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TKEEP">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TSTRB">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.INTERFACE_TYPE">Native</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Dbit_Error_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_rach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_rdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wach">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wdch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wrch">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Data_Width">72</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_axis">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_rach">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_rdch">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_wach">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_wdch">1024</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_wrch">16</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Master_interface_Clock_enable_memory_mapped">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Data_Width">72</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Depth">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Register_Type">Embedded_Reg</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Flag_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Sense_AXI">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.PROTOCOL">AXI4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Performance_Options">First_Word_Fall_Through</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_axis">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_rach">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_rdch">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_wach">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_wdch">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Empty_Type_wrch">No_Programmable_Empty_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_axis">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_rach">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_rdch">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_wach">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_wdch">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Programmable_Full_Type_wrch">No_Programmable_Full_Threshold</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Clock_Frequency">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Data_Count">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Data_Count_Width">6</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_axis">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_rach">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_rdch">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_wach">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_wdch">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_wrch">Fully_Registered</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Pin">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Type">Asynchronous_Reset</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Slave_interface_Clock_enable_memory_mapped">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TDATA_NUM_BYTES">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TDEST_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TKEEP_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TSTRB_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TUSER_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Flag_AXI">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Underflow_Sense_AXI">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Dout_Reset">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Embedded_Registers">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Embedded_Registers_axis">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Extra_Logic">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Valid_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Valid_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.WUSER_Width">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Acknowledge_Flag">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Acknowledge_Sense">Active_High</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Clock_Frequency">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Data_Count">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Data_Count_Width">6</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.asymmetric_port_width">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.axis_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.dynamic_power_saving">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ecc_pipeline_reg">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.enable_low_latency">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.enable_read_pointer_increment_by2">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.rach_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.rdch_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.synchronization_stages">3</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.synchronization_stages_axi">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.use_dout_register">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.wach_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.wdch_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.wrch_type">FIFO</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.ARCHITECTURE">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BASE_BOARD_PART"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BOARD_CONNECTIONS"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.DEVICE">xc7z100</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PACKAGE">ffg900</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PREFHDL">VERILOG</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SILICON_REVISION"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SIMULATOR_LANGUAGE">MIXED</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SPEEDGRADE">-2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.STATIC_POWER"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.TEMPERATURE_GRADE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_CUSTOMIZATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_GENERATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPCONTEXT">IP_Flow</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPREVISION">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.MANAGED">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.OUTPUTDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SELECTEDSIMMODEL"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SHAREDDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SWVERSION">2019.1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SYNTHESISFLOW">OUT_OF_CONTEXT</spirit:configurableElementValue>
|
||||
</spirit:configurableElementValues>
|
||||
<spirit:vendorExtensions>
|
||||
<xilinx:componentInstanceExtensions>
|
||||
<xilinx:configElementInfos>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_CACHE" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_LOCK" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_PROT" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_QOS" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_REGION" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS.HAS_TREADY" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.M_AXIS.TDATA_NUM_BYTES" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_CACHE" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_LOCK" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_PROT" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_QOS" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_REGION" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS.HAS_TREADY" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXIS.TDATA_NUM_BYTES" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Data_Count_Width" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Assert_Value" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Empty_Threshold_Negate_Value" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Fifo_Implementation" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Flags_Reset_Value" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Full_Threshold_Negate_Value" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Input_Data_Width" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Input_Depth" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Output_Data_Width" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Output_Depth" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Performance_Options" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Read_Data_Count" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Read_Data_Count_Width" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Reset_Type" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TDATA_NUM_BYTES" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TKEEP_WIDTH" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TSTRB_WIDTH" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Use_Extra_Logic" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Data_Count" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Data_Count_Width" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.synchronization_stages" xilinx:valueSource="user"/>
|
||||
</xilinx:configElementInfos>
|
||||
</xilinx:componentInstanceExtensions>
|
||||
</spirit:vendorExtensions>
|
||||
</spirit:componentInstance>
|
||||
</spirit:componentInstances>
|
||||
</spirit:design>
|
||||
@@ -0,0 +1,49 @@
|
||||
#
|
||||
# Copyright 2008-2013 Ettus Research LLC
|
||||
#
|
||||
|
||||
include $(TOOLS_DIR)/make/viv_ip_builder.mak
|
||||
|
||||
ONE_GIGE_PHY_SRCS = \
|
||||
$(IP_DIR)/one_gig_eth_pcs_pma/one_gige_phy.v \
|
||||
$(IP_ONE_GIG_ETH_PCS_PMA_EXAMPLE_SRCS)
|
||||
|
||||
IP_ONE_GIG_ETH_PCS_PMA_EXAMPLE_SRCS = $(addprefix $(IP_BUILD_DIR)/one_gig_eth_pcs_pma_ex/imports/, \
|
||||
one_gig_eth_pcs_pma_example_design.v \
|
||||
one_gig_eth_pcs_pma_reset_sync_ex.v \
|
||||
one_gig_eth_pcs_pma_sync_block_ex.v \
|
||||
one_gig_eth_pcs_pma_tx_elastic_buffer.v \
|
||||
one_gig_eth_pcs_pma_clocking.v \
|
||||
one_gig_eth_pcs_pma_gt_common.v \
|
||||
one_gig_eth_pcs_pma_resets.v \
|
||||
one_gig_eth_pcs_pma_support.v \
|
||||
)
|
||||
|
||||
IP_ONE_GIG_ETH_PCS_PMA_SRCS = $(IP_BUILD_DIR)/one_gig_eth_pcs_pma/one_gig_eth_pcs_pma.xci
|
||||
|
||||
IP_ONE_GIG_ETH_PCS_PMA_OUTS = $(addprefix $(IP_BUILD_DIR)/one_gig_eth_pcs_pma/, \
|
||||
one_gig_eth_pcs_pma.xci.out \
|
||||
synth/one_gig_eth_pcs_pma_block.v \
|
||||
synth/one_gig_eth_pcs_pma_reset_sync.v \
|
||||
synth/one_gig_eth_pcs_pma.v \
|
||||
synth/one_gig_eth_pcs_pma_ooc.xdc \
|
||||
synth/one_gig_eth_pcs_pma_sync_block.v \
|
||||
synth/one_gig_eth_pcs_pma.xdc \
|
||||
synth/transceiver/one_gig_eth_pcs_pma_gtwizard_gt.v \
|
||||
synth/transceiver/one_gig_eth_pcs_pma_gtwizard.v \
|
||||
synth/transceiver/one_gig_eth_pcs_pma_transceiver.v \
|
||||
synth/transceiver/one_gig_eth_pcs_pma_gtwizard_init.v \
|
||||
synth/transceiver/one_gig_eth_pcs_pma_reset_wtd_timer.v \
|
||||
synth/transceiver/one_gig_eth_pcs_pma_tx_startup_fsm.v \
|
||||
synth/transceiver/one_gig_eth_pcs_pma_gtwizard_multi_gt.v \
|
||||
synth/transceiver/one_gig_eth_pcs_pma_rx_startup_fsm.v \
|
||||
)
|
||||
|
||||
$(IP_ONE_GIG_ETH_PCS_PMA_EXAMPLE_SRCS) : $(IP_ONE_GIG_ETH_PCS_PMA_OUTS)
|
||||
|
||||
$(IP_ONE_GIG_ETH_PCS_PMA_SRCS) $(IP_ONE_GIG_ETH_PCS_PMA_OUTS) : $(IP_DIR)/one_gig_eth_pcs_pma/one_gig_eth_pcs_pma.xci
|
||||
$(call BUILD_VIVADO_IP,one_gig_eth_pcs_pma,$(ARCH),$(PART_ID),$(IP_DIR),$(IP_BUILD_DIR),1)
|
||||
cp $(IP_BUILD_DIR)/one_gig_eth_pcs_pma_ex/imports/one_gig_eth_pcs_pma_clocking.v $(IP_BUILD_DIR)/one_gig_eth_pcs_pma_ex/imports/one_gig_eth_pcs_pma_clocking.v.orig
|
||||
patch $(IP_BUILD_DIR)/one_gig_eth_pcs_pma_ex/imports/one_gig_eth_pcs_pma_clocking.v $(IP_DIR)/one_gig_eth_pcs_pma/one_gig_eth_pcs_pma_clocking.v.patch
|
||||
cp $(IP_BUILD_DIR)/one_gig_eth_pcs_pma_ex/imports/one_gig_eth_pcs_pma_support.v $(IP_BUILD_DIR)/one_gig_eth_pcs_pma_ex/imports/one_gig_eth_pcs_pma_support.v.orig
|
||||
patch $(IP_BUILD_DIR)/one_gig_eth_pcs_pma_ex/imports/one_gig_eth_pcs_pma_support.v $(IP_DIR)/one_gig_eth_pcs_pma/one_gig_eth_pcs_pma_support.v.patch
|
||||
@@ -0,0 +1,352 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<spirit:design xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<spirit:vendor>xilinx.com</spirit:vendor>
|
||||
<spirit:library>xci</spirit:library>
|
||||
<spirit:name>unknown</spirit:name>
|
||||
<spirit:version>1.0</spirit:version>
|
||||
<spirit:componentInstances>
|
||||
<spirit:componentInstance>
|
||||
<spirit:instanceName>one_gig_eth_pcs_pma</spirit:instanceName>
|
||||
<spirit:componentRef spirit:vendor="xilinx.com" spirit:library="ip" spirit:name="gig_ethernet_pcs_pma" spirit:version="16.1"/>
|
||||
<spirit:configurableElementValues>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AN_INTERRUPT_PORT.PortWidth">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AN_INTERRUPT_PORT_0.PortWidth">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AN_INTERRUPT_PORT_1.PortWidth">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AN_INTERRUPT_PORT_2.PortWidth">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK104_OUT_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK104_OUT_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK104_OUT_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK104_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK104_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK104_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK104_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK104_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK125M_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK125M_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK125M_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK125_OUT_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK125_OUT_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK125_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK208_OUT_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK208_OUT_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK208_OUT_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK208_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK208_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK208_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK208_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK208_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK312_OUT_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK312_OUT_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK312_OUT_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK312_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK312_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK312_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK312_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK312_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK625_OUT_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK625_OUT_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK625_OUT_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK625_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK625_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK625_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK625_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK625_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DRPCLK_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DRPCLK_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DRPCLK_PORT.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DRPCLK_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DRPCLK_PORT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DRP_CLK_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DRP_CLK_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DRP_CLK_PORT.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DRP_CLK_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DRP_CLK_PORT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.EXT_MDIO_PCS_PMA.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.EXT_MDIO_PCS_PMA_0.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.EXT_MDIO_PCS_PMA_1.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.EXT_MDIO_PCS_PMA_2.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GT0_PLL0RESET_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_BUFG_OUT_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_BUFG_OUT_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_BUFG_OUT_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_BUFG_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_BUFG_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_BUFG_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_BUFG_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_BUFG_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_IN.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_IN.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_OUT_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_OUT_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_OUT_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTREFCLK_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTX_CLK_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTX_CLK_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTX_CLK_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTX_CLK_PORT.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTX_CLK_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTX_CLK_PORT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.INDEPENDENT_CLK_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.INDEPENDENT_CLK_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.INDEPENDENT_CLK_PORT.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.INDEPENDENT_CLK_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.INDEPENDENT_CLK_PORT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.INDEPENDENT_CLOCK_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.INDEPENDENT_CLOCK_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.INDEPENDENT_CLOCK_PORT.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.INDEPENDENT_CLOCK_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.INDEPENDENT_CLOCK_PORT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MDIO_PCS_PMA.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MDIO_PCS_PMA_0.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MDIO_PCS_PMA_1.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MDIO_PCS_PMA_2.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_RESET_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_RESET_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_RX_CLK0_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_RX_CLK0_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_RX_CLK0_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_RX_CLK0_PORT.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_RX_CLK0_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_RX_CLK0_PORT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_TX_CLK_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_TX_CLK_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_TX_CLK_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_TX_CLK_PORT.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_TX_CLK_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_TX_CLK_PORT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.REFCLK125_IN.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.REFCLK156_25_IN.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.REFCLK625_IN.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.REFCLK_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.REFCLK_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.REFCLK_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.REFCLK_PORT.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.REFCLK_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.REFCLK_PORT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RESET_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RST_125_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXOUTCLK_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXOUTCLK_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXOUTCLK_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXOUTCLK_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK2_OUT_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK2_OUT_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK2_OUT_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK2_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK2_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK2_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK2_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK2_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK_OUT_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK_OUT_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK_OUT_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXUSERCLK_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SGMII_CLK_EN_0_PORT.POLARITY">ACTIVE_LOW</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SGMII_CLK_EN_1_PORT.POLARITY">ACTIVE_LOW</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SGMII_CLK_EN_2_PORT.POLARITY">ACTIVE_LOW</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.SGMII_CLK_EN_PORT.POLARITY">ACTIVE_LOW</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_ACLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.S_AXI_RESETN.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK2_OUT_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK2_OUT_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK2_OUT_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK2_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK2_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK2_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK2_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK2_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK_OUT_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK_OUT_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK_OUT_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK_OUT_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK_PORT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK_PORT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK_PORT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.USERCLK_PORT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EMAC_IF_TEMAC">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.EXAMPLE_SIMULATION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_1588">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_8_or_9_family">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_InstantiateBitslice0">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_RxLane0_Placement">DIFF_PAIR_0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_RxLane1_Placement">DIFF_PAIR_1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_RxNibbleBitslice0Used">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_TxLane0_Placement">DIFF_PAIR_0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_TxLane1_Placement">DIFF_PAIR_1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_architecture">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_clock_selection">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_component_name">one_gig_eth_pcs_pma</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_drpclkrate">50.0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_dynamic_switching">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_elaboration_transient_dir">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_enable_async_lvds">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_enable_async_lvds_rx_only">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_enable_async_sgmii">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_enable_tx_userclk_reset_port">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_family">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_gt_dmonitorout_width">8</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_gt_drpaddr_width">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_gt_loc">X0Y0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_gt_rxmonitorout_width">7</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_gt_txdiffctrl_width">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_gt_type">GTH</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_gtinex">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_has_an">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_has_axil">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_has_ext_mdio">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_has_mdio">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_is_2_5g">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_is_sgmii">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_num_of_lanes">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_refclk_src">clk0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_refclkrate">125</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_rx_gmii_clk_src">TXOUTCLK</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_sgmii_fabric_buffer">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_sgmii_phy_mode">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_sub_core_name">one_gig_eth_pcs_pma_gt</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_support_level">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_transceiver_type">GTXE2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_transceivercontrol">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_tx_in_upper_nibble">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_use_lvds">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_use_tbi">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_use_transceiver">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_xdevicefamily">xc7z045</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.characterization">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.gt_rx_byte_width">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AXILite_Interface">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Auto_Negotiation">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ClockSelection">Sync</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Component_Name">one_gig_eth_pcs_pma</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.DIFFCLK_BOARD_INTERFACE">Custom</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.DrpClkRate">50.0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EMAC_IF_TEMAC">TEMAC</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ETHERNET_BOARD_INTERFACE">Custom</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EXAMPLE_SIMULATION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EnableAsyncSGMII">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_1588">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_1588_1step">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Ext_Management_Interface">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.GT_Location">X0Y0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.GT_Type">GTH</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.GTinEx">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.InstantiateBitslice0">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.LvdsRefClk">125</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MDIO_BOARD_INTERFACE">Custom</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Management_Interface">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MaxDataRate">1G</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.NumOfLanes">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Physical_Interface">Transceiver</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RefClkRate">125</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RefClkSrc">clk0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RxGmiiClkSrc">TXOUTCLK</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RxLane0_Placement">DIFF_PAIR_0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RxLane1_Placement">DIFF_PAIR_1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RxNibbleBitslice0Used">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.SGMII_Mode">10_100_1000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.SGMII_PHY_Mode">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Standard">1000BASEX</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.SupportLevel">Include_Shared_Logic_in_Example_Design</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Timer_Format">Time_of_day</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TransceiverControl">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TxLane0_Placement">DIFF_PAIR_0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TxLane1_Placement">DIFF_PAIR_1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Tx_In_Upper_Nibble">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.USE_BOARD_FLOW">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.ARCHITECTURE">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BASE_BOARD_PART"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BOARD_CONNECTIONS"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.DEVICE">xc7z045</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PACKAGE">ffg900</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PREFHDL">VERILOG</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SILICON_REVISION"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SIMULATOR_LANGUAGE">MIXED</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SPEEDGRADE">-1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.STATIC_POWER"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.TEMPERATURE_GRADE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_CUSTOMIZATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_GENERATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPCONTEXT">IP_Flow</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPREVISION">6</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.MANAGED">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.OUTPUTDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SELECTEDSIMMODEL"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SHAREDDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SWVERSION">2019.1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SYNTHESISFLOW">OUT_OF_CONTEXT</spirit:configurableElementValue>
|
||||
</spirit:configurableElementValues>
|
||||
<spirit:vendorExtensions>
|
||||
<xilinx:componentInstanceExtensions>
|
||||
<xilinx:configElementInfos>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.ARUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.AWUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_BURST" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_CACHE" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_PROT" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.HAS_WSTRB" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.ID_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.PROTOCOL" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S_AXI.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Auto_Negotiation" xilinx:valueSource="user"/>
|
||||
</xilinx:configElementInfos>
|
||||
</xilinx:componentInstanceExtensions>
|
||||
</spirit:vendorExtensions>
|
||||
</spirit:componentInstance>
|
||||
</spirit:componentInstances>
|
||||
</spirit:design>
|
||||
@@ -0,0 +1,25 @@
|
||||
65,66d64
|
||||
< input gtrefclk_p, // Differential +ve of reference clock for MGT: 125MHz, very high quality.
|
||||
< input gtrefclk_n, // Differential -ve of reference clock for MGT: 125MHz, very high quality.
|
||||
70,71d67
|
||||
< output gtrefclk, // gtrefclk routed through an IBUFG.
|
||||
< output gtrefclk_bufg, // gtrefclk routed through a BUFG for driving logic.
|
||||
88d83
|
||||
< wire gtrefclk_i;
|
||||
93,108d87
|
||||
< // Clock circuitry for the Transceiver uses a differential input clock.
|
||||
< // gtrefclk is routed to the tranceiver.
|
||||
< IBUFDS_GTE2 ibufds_gtrefclk (
|
||||
< .I (gtrefclk_p),
|
||||
< .IB (gtrefclk_n),
|
||||
< .CEB (1'b0),
|
||||
< .O (gtrefclk_i),
|
||||
< .ODIV2 ()
|
||||
< );
|
||||
<
|
||||
< assign gtrefclk = gtrefclk_i;
|
||||
<
|
||||
< BUFG bufg_gtrefclk (
|
||||
< .I (gtrefclk_i),
|
||||
< .O (gtrefclk_bufg)
|
||||
< );
|
||||
@@ -0,0 +1,17 @@
|
||||
70,73c70,71
|
||||
< input gtrefclk_p, // differential clock
|
||||
< input gtrefclk_n, // differential clock
|
||||
< output gtrefclk_out, // Very high quality clock for GT transceiver.
|
||||
< output gtrefclk_bufg_out,
|
||||
---
|
||||
> input gtrefclk, // gtrefclk routed through an IBUFG.
|
||||
> input gtrefclk_bufg, // gtrefclk routed through a BUFG for driving logic.
|
||||
125,126d122
|
||||
< wire gtrefclk; // High quality clock
|
||||
< wire gtrefclk_bufg;
|
||||
205,206d200
|
||||
< .gtrefclk_p (gtrefclk_p),
|
||||
< .gtrefclk_n (gtrefclk_n),
|
||||
210,211d203
|
||||
< .gtrefclk (gtrefclk),
|
||||
< .gtrefclk_bufg (gtrefclk_bufg),
|
||||
@@ -0,0 +1,102 @@
|
||||
//
|
||||
// Copyright 2014 Ettus Research LLC
|
||||
//
|
||||
|
||||
module one_gige_phy
|
||||
(
|
||||
input independent_clock,
|
||||
|
||||
// Tranceiver Interface
|
||||
//---------------------
|
||||
input gtrefclk, // Reference clock for MGT: 125MHz, very high quality.
|
||||
input gtrefclk_bufg, // Reference clock routed through a BUFG
|
||||
output txp, // Differential +ve of serial transmission from PMA to PMD.
|
||||
output txn, // Differential -ve of serial transmission from PMA to PMD.
|
||||
input rxp, // Differential +ve for serial reception from PMD to PMA.
|
||||
input rxn, // Differential -ve for serial reception from PMD to PMA.
|
||||
|
||||
// GMII Interface (client MAC <=> PCS)
|
||||
//------------------------------------
|
||||
output gmii_clk, // Receive clock to client MAC.
|
||||
input [7:0] gmii_txd, // Transmit data from client MAC.
|
||||
input gmii_tx_en, // Transmit control signal from client MAC.
|
||||
input gmii_tx_er, // Transmit control signal from client MAC.
|
||||
output reg [7:0] gmii_rxd, // Received Data to client MAC.
|
||||
output reg gmii_rx_dv, // Received control signal to client MAC.
|
||||
output reg gmii_rx_er, // Received control signal to client MAC.
|
||||
|
||||
// Management: MDIO Interface
|
||||
//---------------------------
|
||||
input mdc, // Management Data Clock
|
||||
input mdio_i, // Management Data In
|
||||
output mdio_o, // Management Data Out
|
||||
output mdio_t, // Management Data Tristate
|
||||
input [4:0] phyaddr, // MDIO PHY Address
|
||||
input [4:0] configuration_vector, // Alternative to MDIO interface.
|
||||
input configuration_valid, // Validation signal for Config vector
|
||||
|
||||
// General IO's
|
||||
//-------------
|
||||
output [15:0] status_vector, // Core status.
|
||||
input reset, // Asynchronous reset for entire core.
|
||||
input signal_detect // Input from PMD to indicate presence of optical input.
|
||||
);
|
||||
|
||||
wire resetdone; // To indicate that the GT transceiver has completed its reset cycle
|
||||
wire userclk; // 62.5MHz clock for GT transceiver Tx/Rx user clocks
|
||||
wire userclk2; // 125MHz clock for core reference clock.
|
||||
wire rxuserclk2;
|
||||
wire gmii_isolate; // internal gmii_isolate signal.
|
||||
|
||||
wire [7:0] gmii_rxd_int;
|
||||
wire gmii_rx_dv_int;
|
||||
wire gmii_rx_er_int;
|
||||
|
||||
always @(posedge gmii_clk) begin
|
||||
gmii_rxd <= gmii_rxd_int;
|
||||
gmii_rx_dv <= gmii_rx_dv_int;
|
||||
gmii_rx_er <= gmii_rx_er_int;
|
||||
end
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Instantiate core wrapper
|
||||
//----------------------------------------------------------------------------
|
||||
one_gig_eth_pcs_pma_support core_support_i (
|
||||
.gtrefclk (gtrefclk),
|
||||
.gtrefclk_bufg (gtrefclk_bufg),
|
||||
.txp (txp),
|
||||
.txn (txn),
|
||||
.rxp (rxp),
|
||||
.rxn (rxn),
|
||||
.mmcm_locked_out (),
|
||||
.userclk_out (userclk),
|
||||
.userclk2_out (userclk2),
|
||||
.rxuserclk_out (),
|
||||
.rxuserclk2_out (rxuserclk2),
|
||||
.independent_clock_bufg(independent_clock),
|
||||
.pma_reset_out (),
|
||||
.resetdone (resetdone),
|
||||
.gmii_txd (gmii_txd),
|
||||
.gmii_tx_en (gmii_tx_en),
|
||||
.gmii_tx_er (gmii_tx_er),
|
||||
.gmii_rxd (gmii_rxd_int),
|
||||
.gmii_rx_dv (gmii_rx_dv_int),
|
||||
.gmii_rx_er (gmii_rx_er_int),
|
||||
.gmii_isolate (gmii_isolate),
|
||||
.mdc (mdc),
|
||||
.mdio_i (mdio_i),
|
||||
.mdio_o (mdio_o),
|
||||
.mdio_t (mdio_t),
|
||||
.phyaddr (phyaddr),
|
||||
.configuration_vector (configuration_vector),
|
||||
.configuration_valid (configuration_valid),
|
||||
.status_vector (status_vector),
|
||||
.reset (reset),
|
||||
.signal_detect (signal_detect),
|
||||
.gt0_qplloutclk_out (),
|
||||
.gt0_qplloutrefclk_out ()
|
||||
);
|
||||
|
||||
assign gmii_clk = userclk2;
|
||||
|
||||
endmodule // one_gige_phy
|
||||
@@ -0,0 +1,42 @@
|
||||
#
|
||||
# Copyright 2008-2013 Ettus Research LLC
|
||||
#
|
||||
|
||||
include $(TOOLS_DIR)/make/viv_ip_builder.mak
|
||||
|
||||
TEN_GIGE_PHY_SRCS = \
|
||||
$(IP_DIR)/ten_gig_eth_pcs_pma/ten_gige_phy_clk_gen.v \
|
||||
$(IP_DIR)/ten_gig_eth_pcs_pma/ten_gige_phy.v \
|
||||
$(IP_TEN_GIG_ETH_PCS_PMA_EXAMPLE_SRCS)
|
||||
|
||||
IP_TEN_GIG_ETH_PCS_PMA_EXAMPLE_SRCS = $(addprefix $(IP_BUILD_DIR)/ten_gig_eth_pcs_pma_ex/, \
|
||||
imports/ten_gig_eth_pcs_pma_example_design.v \
|
||||
imports/ten_gig_eth_pcs_pma_ff_synchronizer_rst2.v \
|
||||
imports/ten_gig_eth_pcs_pma_shared_clock_and_reset.v \
|
||||
imports/ten_gig_eth_pcs_pma_support.v \
|
||||
imports/ten_gig_eth_pcs_pma_gt_common.v \
|
||||
)
|
||||
|
||||
IP_TEN_GIG_ETH_PCS_PMA_SRCS = $(IP_BUILD_DIR)/ten_gig_eth_pcs_pma/ten_gig_eth_pcs_pma.xci
|
||||
|
||||
IP_TEN_GIG_ETH_PCS_PMA_OUTS = $(addprefix $(IP_BUILD_DIR)/ten_gig_eth_pcs_pma/, \
|
||||
ten_gig_eth_pcs_pma.xci.out \
|
||||
synth/ten_gig_eth_pcs_pma_block.v \
|
||||
synth/ten_gig_eth_pcs_pma_gtwizard_10gbaser_multi_gt.v \
|
||||
synth/ten_gig_eth_pcs_pma_cable_pull_logic.v \
|
||||
synth/ten_gig_eth_pcs_pma_local_clock_and_reset.v \
|
||||
synth/ten_gig_eth_pcs_pma_clocks.xdc \
|
||||
synth/ten_gig_eth_pcs_pma_ooc.xdc \
|
||||
synth/ten_gig_eth_pcs_pma_ff_synchronizer_rst.v \
|
||||
synth/ten_gig_eth_pcs_pma_sim_speedup_controller.v \
|
||||
synth/ten_gig_eth_pcs_pma_ff_synchronizer.v \
|
||||
synth/ten_gig_eth_pcs_pma.v \
|
||||
synth/ten_gig_eth_pcs_pma_gtwizard_10gbaser_gt.v \
|
||||
synth/ten_gig_eth_pcs_pma.xdc \
|
||||
)
|
||||
|
||||
$(IP_TEN_GIG_ETH_PCS_PMA_EXAMPLE_SRCS) : $(IP_TEN_GIG_ETH_PCS_PMA_OUTS)
|
||||
|
||||
$(IP_TEN_GIG_ETH_PCS_PMA_SRCS) $(IP_TEN_GIG_ETH_PCS_PMA_OUTS) : $(IP_DIR)/ten_gig_eth_pcs_pma/ten_gig_eth_pcs_pma.xci
|
||||
$(call BUILD_VIVADO_IP,ten_gig_eth_pcs_pma,$(ARCH),$(PART_ID),$(IP_DIR),$(IP_BUILD_DIR),1)
|
||||
|
||||
@@ -0,0 +1,200 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<spirit:design xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<spirit:vendor>xilinx.com</spirit:vendor>
|
||||
<spirit:library>xci</spirit:library>
|
||||
<spirit:name>unknown</spirit:name>
|
||||
<spirit:version>1.0</spirit:version>
|
||||
<spirit:componentInstances>
|
||||
<spirit:componentInstance>
|
||||
<spirit:instanceName>ten_gig_eth_pcs_pma</spirit:instanceName>
|
||||
<spirit:componentRef spirit:vendor="xilinx.com" spirit:library="ip" spirit:name="ten_gig_eth_pcs_pma" spirit:version="6.0"/>
|
||||
<spirit:configurableElementValues>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.ARESET.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.ARESET_CORECLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.ARESET_CORECLK_OUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.ARESET_DATAPATHCLK_OUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.ARESET_RXUSRCLK2.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORECLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORECLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORECLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORECLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORECLK_OUT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORECLK_OUT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORECLK_OUT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORECLK_OUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CORECLK_OUT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DCLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DCLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DCLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DCLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DCLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.DCLK_RESET.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTRXRESET.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTRXRESET_OUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTTXRESET.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GTTXRESET_OUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GT_LATCLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GT_LATCLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GT_LATCLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GT_LATCLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GT_LATCLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.GT_LATCLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.LFCLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.LFCLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.LFCLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.LFCLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.LFCLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.LFCLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.LFRESET.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.MDIO_INTERFACE.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PCS_RESETOUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.PMA_RESETOUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTCLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTCLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTCLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTCLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTCLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTCLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTCLK_OUT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTCLK_OUT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTCLK_OUT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTCLK_OUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTCLK_OUT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTREFCLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTREFCLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTREFCLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTREFCLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTREFCLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTREFCLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTREFCLK_OUT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTREFCLK_OUT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTREFCLK_OUT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTREFCLK_OUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLL0OUTREFCLK_OUT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTCLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTCLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTCLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTCLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTCLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTCLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTCLK_OUT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTCLK_OUT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTCLK_OUT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTCLK_OUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTCLK_OUT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTREFCLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTREFCLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTREFCLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTREFCLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTREFCLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTREFCLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTREFCLK_OUT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTREFCLK_OUT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTREFCLK_OUT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTREFCLK_OUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.QPLLOUTREFCLK_OUT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.REFCLK_DIFF_PORT.CAN_DEBUG">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RESET.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RESET_TX_BUFG_GT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXRECCLK_OUT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXRECCLK_OUT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXRECCLK_OUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXRECCLK_OUT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RXRESET_RXUSRCLK2.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK_IN.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK_IN.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK_IN.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK_IN.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXOUTCLK_IN.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXRESET_TXUSRCLK2.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK2.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK2.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK2.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK2.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK2.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK2_OUT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK2_OUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK2_OUT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK_OUT.ASSOCIATED_BUSIF"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK_OUT.ASSOCIATED_RESET"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK_OUT.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK_OUT.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.TXUSRCLK_OUT.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_1588">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_component_name">ten_gig_eth_pcs_pma</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_dclkrate">78.125</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_family">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_gt_loc">X0Y0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_gtif_width">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_gttype">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_has_an">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_has_fec">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_has_mdio">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_is_32bit">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_is_kr">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_no_ebuff">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_refclk">clk0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_refclkrate">156</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_speed10_25">10</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.c_sub_core_name">ten_gig_eth_pcs_pma_gt</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Component_Name">ten_gig_eth_pcs_pma</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.DClkRate">78.125</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.IEEE_1588">None</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Locations">X0Y0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MDIO_Management">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RefClk">clk0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RefClkRate">156.25</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.SupportLevel">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Timer_Format">Time_of_day</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TransceiverControl">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.TransceiverInExample">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.autonegotiation">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.base_kr">BASE-R</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.baser32">64bit</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.fec">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.no_ebuff">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.speed10_25">10Gig</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.vu_gt_type">GTH</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.ARCHITECTURE">zynq</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BASE_BOARD_PART"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BOARD_CONNECTIONS"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.DEVICE">xc7z045</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PACKAGE">ffg900</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PREFHDL">VERILOG</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SILICON_REVISION"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SIMULATOR_LANGUAGE">MIXED</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SPEEDGRADE">-3</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.STATIC_POWER"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.TEMPERATURE_GRADE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_CUSTOMIZATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_GENERATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPCONTEXT">IP_Flow</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPREVISION">15</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.MANAGED">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.OUTPUTDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SELECTEDSIMMODEL"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SHAREDDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SWVERSION">2019.1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SYNTHESISFLOW">OUT_OF_CONTEXT</spirit:configurableElementValue>
|
||||
</spirit:configurableElementValues>
|
||||
<spirit:vendorExtensions>
|
||||
<xilinx:componentInstanceExtensions>
|
||||
<xilinx:configElementInfos>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.DClkRate" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.TransceiverControl" xilinx:valueSource="user"/>
|
||||
</xilinx:configElementInfos>
|
||||
</xilinx:componentInstanceExtensions>
|
||||
</spirit:vendorExtensions>
|
||||
</spirit:componentInstance>
|
||||
</spirit:componentInstances>
|
||||
</spirit:design>
|
||||
@@ -0,0 +1,249 @@
|
||||
//
|
||||
// Copyright 2008-2013 Ettus Research LLC
|
||||
//
|
||||
|
||||
module ten_gige_phy
|
||||
(
|
||||
input refclk,
|
||||
input clk156,
|
||||
input dclk,
|
||||
input areset,
|
||||
input sim_speedup_control,
|
||||
input [63:0] xgmii_txd,
|
||||
input [7:0] xgmii_txc,
|
||||
output reg [63:0] xgmii_rxd,
|
||||
output reg [7:0] xgmii_rxc,
|
||||
output txp,
|
||||
output txn,
|
||||
input rxp,
|
||||
input rxn,
|
||||
input mdc,
|
||||
input mdio_in,
|
||||
output reg mdio_out,
|
||||
output reg mdio_tri,
|
||||
input [4:0] prtad,
|
||||
output [7:0] core_status,
|
||||
output resetdone,
|
||||
input signal_detect,
|
||||
input tx_fault,
|
||||
output tx_disable
|
||||
);
|
||||
|
||||
reg [63:0] xgmii_txd_reg;
|
||||
reg [7:0] xgmii_txc_reg;
|
||||
wire [63:0] xgmii_rxd_int;
|
||||
wire [7:0] xgmii_rxc_int;
|
||||
|
||||
// Add a pipeline to the xmgii_tx inputs, to aid timing closure
|
||||
always @(posedge clk156)
|
||||
begin
|
||||
xgmii_txd_reg <= xgmii_txd;
|
||||
xgmii_txc_reg <= xgmii_txc;
|
||||
end
|
||||
|
||||
// Add a pipeline to the xmgii_rx outputs, to aid timing closure
|
||||
always @(posedge clk156)
|
||||
begin
|
||||
xgmii_rxd <= xgmii_rxd_int;
|
||||
xgmii_rxc <= xgmii_rxc_int;
|
||||
end
|
||||
|
||||
wire mdio_out_int;
|
||||
wire mdio_tri_int;
|
||||
reg mdc_reg;
|
||||
reg mdio_in_reg;
|
||||
|
||||
// Add a pipeline to the mdio in/outputs, to aid timing closure
|
||||
// This is safe because the mdio clock is running so slowly
|
||||
always @(posedge clk156)
|
||||
begin
|
||||
mdio_out <= mdio_out_int;
|
||||
mdio_tri <= mdio_tri_int;
|
||||
mdc_reg <= mdc;
|
||||
mdio_in_reg <= mdio_in;
|
||||
end
|
||||
|
||||
// Signal declarations
|
||||
wire txclk322;
|
||||
wire qplloutclk;
|
||||
wire qplloutrefclk;
|
||||
wire qplllock;
|
||||
|
||||
wire drp_gnt;
|
||||
wire drp_req;
|
||||
wire drp_den_o;
|
||||
wire drp_dwe_o;
|
||||
wire [15:0] drp_daddr_o;
|
||||
wire [15:0] drp_di_o;
|
||||
wire drp_drdy_o;
|
||||
wire [15:0] drp_drpdo_o;
|
||||
wire drp_den_i;
|
||||
wire drp_dwe_i;
|
||||
wire [15:0] drp_daddr_i;
|
||||
wire [15:0] drp_di_i;
|
||||
wire drp_drdy_i;
|
||||
wire [15:0] drp_drpdo_i;
|
||||
|
||||
wire tx_resetdone_int;
|
||||
wire rx_resetdone_int;
|
||||
|
||||
wire areset_clk156;
|
||||
wire gttxreset;
|
||||
wire gtrxreset;
|
||||
wire qpllreset;
|
||||
wire qplllock_txusrclk2;
|
||||
wire gttxreset_txusrclk2;
|
||||
wire reset_counter_done;
|
||||
wire txusrclk;
|
||||
wire txusrclk2;
|
||||
reg txuserrdy;
|
||||
|
||||
assign resetdone = tx_resetdone_int && rx_resetdone_int;
|
||||
|
||||
// If no arbitration is required on the GT DRP ports then connect REQ to GNT
|
||||
// and connect other signals i <= o;
|
||||
assign drp_gnt = drp_req;
|
||||
assign drp_den_i = drp_den_o;
|
||||
assign drp_dwe_i = drp_dwe_o;
|
||||
assign drp_daddr_i = drp_daddr_o;
|
||||
assign drp_di_i = drp_di_o;
|
||||
assign drp_drdy_i = drp_drdy_o;
|
||||
assign drp_drpdo_i = drp_drpdo_o;
|
||||
|
||||
// Instantiate the 10GBASER/KR GT Common block
|
||||
ten_gig_eth_pcs_pma_gt_common # (
|
||||
.WRAPPER_SIM_GTRESET_SPEEDUP("TRUE") //Does not affect hardware
|
||||
) ten_gig_eth_pcs_pma_gt_common_block (
|
||||
.refclk(refclk),
|
||||
.qpllreset(qpllreset),
|
||||
.qplllock(qplllock),
|
||||
.qplloutclk(qplloutclk),
|
||||
.qplloutrefclk(qplloutrefclk)
|
||||
);
|
||||
|
||||
// Asynch reset synchronizers...
|
||||
ten_gig_eth_pcs_pma_ff_synchronizer_rst2 #(
|
||||
.C_NUM_SYNC_REGS(4),
|
||||
.C_RVAL(1'b1)
|
||||
) areset_clk156_sync_i (
|
||||
.clk(clk156),
|
||||
.rst(areset),
|
||||
.data_in(1'b0),
|
||||
.data_out(areset_clk156)
|
||||
);
|
||||
|
||||
ten_gig_eth_pcs_pma_ff_synchronizer_rst2 #(
|
||||
.C_NUM_SYNC_REGS(4),
|
||||
.C_RVAL(1'b0)
|
||||
) qplllock_txusrclk2_sync_i (
|
||||
.clk(txusrclk2),
|
||||
.rst(!qplllock),
|
||||
.data_in(1'b1),
|
||||
.data_out(qplllock_txusrclk2)
|
||||
);
|
||||
|
||||
reg [7:0] reset_counter = 8'h00;
|
||||
reg [3:0] reset_pulse = 4'b1110;
|
||||
assign reset_counter_done = reset_counter[7];
|
||||
|
||||
// Hold off the GT resets until 500ns after configuration.
|
||||
// 128 ticks at 6.4ns period will be >> 500 ns.
|
||||
always @(posedge clk156)
|
||||
begin
|
||||
if (!reset_counter[7])
|
||||
reset_counter <= reset_counter + 1'b1;
|
||||
else
|
||||
reset_counter <= reset_counter;
|
||||
end
|
||||
|
||||
always @(posedge clk156)
|
||||
begin
|
||||
if (areset_clk156 == 1'b1)
|
||||
reset_pulse <= 4'b1110;
|
||||
else if(reset_counter[7])
|
||||
reset_pulse <= {1'b0, reset_pulse[3:1]};
|
||||
end
|
||||
|
||||
assign qpllreset = reset_pulse[0];
|
||||
assign gttxreset = reset_pulse[0];
|
||||
assign gtrxreset = reset_pulse[0];
|
||||
|
||||
ten_gig_eth_pcs_pma_ff_synchronizer_rst2 #(
|
||||
.C_NUM_SYNC_REGS(4),
|
||||
.C_RVAL(1'b1)
|
||||
) gttxreset_txusrclk2_sync_i (
|
||||
.clk(txusrclk2),
|
||||
.rst(gttxreset),
|
||||
.data_in(1'b0),
|
||||
.data_out(gttxreset_txusrclk2)
|
||||
);
|
||||
|
||||
always @(posedge txusrclk2 or posedge gttxreset_txusrclk2)
|
||||
begin
|
||||
if(gttxreset_txusrclk2)
|
||||
txuserrdy <= 1'b0;
|
||||
else
|
||||
txuserrdy <= qplllock_txusrclk2;
|
||||
end
|
||||
|
||||
BUFG tx322clk_bufg_i (
|
||||
.I (txclk322),
|
||||
.O (txusrclk)
|
||||
);
|
||||
|
||||
assign txusrclk2 = txusrclk;
|
||||
|
||||
// Instantiate the 10GBASER/KR Block Level
|
||||
ten_gig_eth_pcs_pma ten_gig_eth_pcs_pma_i (
|
||||
.coreclk(clk156),
|
||||
.dclk(dclk),
|
||||
.txusrclk(txusrclk),
|
||||
.txusrclk2(txusrclk2),
|
||||
.txoutclk(txclk322),
|
||||
.areset_coreclk(areset_clk156),
|
||||
.txuserrdy(txuserrdy),
|
||||
.areset(areset),
|
||||
.gttxreset(gttxreset),
|
||||
.gtrxreset(gtrxreset),
|
||||
.sim_speedup_control(sim_speedup_control),
|
||||
.qplllock(qplllock),
|
||||
.qplloutclk(qplloutclk),
|
||||
.qplloutrefclk(qplloutrefclk),
|
||||
.reset_counter_done(reset_counter_done),
|
||||
.xgmii_txd(xgmii_txd_reg),
|
||||
.xgmii_txc(xgmii_txc_reg),
|
||||
.xgmii_rxd(xgmii_rxd_int),
|
||||
.xgmii_rxc(xgmii_rxc_int),
|
||||
.txp(txp),
|
||||
.txn(txn),
|
||||
.rxp(rxp),
|
||||
.rxn(rxn),
|
||||
.mdc(mdc_reg),
|
||||
.mdio_in(mdio_in_reg),
|
||||
.mdio_out(mdio_out_int),
|
||||
.mdio_tri(mdio_tri_int),
|
||||
.prtad(prtad),
|
||||
.core_status(core_status),
|
||||
.tx_resetdone(tx_resetdone_int),
|
||||
.rx_resetdone(rx_resetdone_int),
|
||||
.signal_detect(signal_detect),
|
||||
.tx_fault(tx_fault),
|
||||
.drp_req(drp_req),
|
||||
.drp_gnt(drp_gnt),
|
||||
.drp_den_o(drp_den_o),
|
||||
.drp_dwe_o(drp_dwe_o),
|
||||
.drp_daddr_o(drp_daddr_o),
|
||||
.drp_di_o(drp_di_o),
|
||||
.drp_drdy_o(drp_drdy_o),
|
||||
.drp_drpdo_o(drp_drpdo_o),
|
||||
.drp_den_i(drp_den_i),
|
||||
.drp_dwe_i(drp_dwe_i),
|
||||
.drp_daddr_i(drp_daddr_i),
|
||||
.drp_di_i(drp_di_i),
|
||||
.drp_drdy_i(drp_drdy_i),
|
||||
.drp_drpdo_i(drp_drpdo_i),
|
||||
.pma_pmd_type(3'b101),
|
||||
.tx_disable(tx_disable)
|
||||
);
|
||||
|
||||
endmodule
|
||||
@@ -0,0 +1,37 @@
|
||||
//
|
||||
// Copyright 2008-2013 Ettus Research LLC
|
||||
//
|
||||
|
||||
module ten_gige_phy_clk_gen
|
||||
(
|
||||
input refclk_ibuf,
|
||||
output clk156,
|
||||
output dclk
|
||||
);
|
||||
|
||||
wire dclk_buf;
|
||||
|
||||
BUFG clk156_bufg_inst (
|
||||
.I (refclk_ibuf),
|
||||
.O (clk156)
|
||||
);
|
||||
|
||||
// Dividing independent clock by 2 as source for DRP clock
|
||||
BUFR # (
|
||||
.BUFR_DIVIDE ("2")
|
||||
) dclk_divide_by_2_buf (
|
||||
.I (clk156),
|
||||
.O (dclk_buf),
|
||||
.CE (1'b1),
|
||||
.CLR (1'b0)
|
||||
);
|
||||
|
||||
BUFG dclk_bufg_i (
|
||||
.I (dclk_buf),
|
||||
.O (dclk)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,473 @@
|
||||
#
|
||||
# Copyright 2018 Ettus Research, A National Instruments Company
|
||||
# SPDX-License-Identifier: LGPL-3.0
|
||||
#
|
||||
# Motherboard Pin Definitions for the E320.
|
||||
#
|
||||
|
||||
## Power ###################################################################
|
||||
##
|
||||
############################################################################
|
||||
|
||||
# Power Enable, Bank 10
|
||||
set_property PACKAGE_PIN AK15 [get_ports {ENA_PAPWR}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {ENA_PAPWR}]
|
||||
|
||||
## SFP + ###################################################################
|
||||
##
|
||||
############################################################################
|
||||
|
||||
## Power
|
||||
#set_property PACKAGE_PIN AB9 [get_ports {+1V2_MGT_AVTT}]
|
||||
#set_property IOSTANDARD <IOSTD_BANK112> [get_ports {+1V2_MGT_AVTT}]
|
||||
|
||||
## Clocks, Bank 112
|
||||
set_property PACKAGE_PIN R7 [get_ports {CLK_MGT_156_25M_N}]
|
||||
set_property PACKAGE_PIN R8 [get_ports {CLK_MGT_156_25M_P}]
|
||||
|
||||
set_property PACKAGE_PIN N7 [get_ports {CLK_MGT_125M_N}]
|
||||
set_property PACKAGE_PIN N8 [get_ports {CLK_MGT_125M_P}]
|
||||
|
||||
## MGT, Bank 112
|
||||
set_property PACKAGE_PIN V5 [get_ports {SFP1_RX_N}]
|
||||
set_property PACKAGE_PIN V6 [get_ports {SFP1_RX_P}]
|
||||
set_property PACKAGE_PIN T1 [get_ports {SFP1_TX_N}]
|
||||
set_property PACKAGE_PIN T2 [get_ports {SFP1_TX_P}]
|
||||
|
||||
## SFP Sideband, Bank 10, 3.3V
|
||||
set_property PACKAGE_PIN AJ16 [get_ports {SFP1_RXLOS}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {SFP1_RXLOS}]
|
||||
|
||||
set_property PACKAGE_PIN AK13 [get_ports {SFP1_TXFAULT}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {SFP1_TXFAULT}]
|
||||
|
||||
set_property PACKAGE_PIN AK12 [get_ports {SFP1_TXDISABLE}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {SFP1_TXDISABLE}]
|
||||
|
||||
set_property PACKAGE_PIN AE17 [get_ports {SFP1_MOD_ABS}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {SFP1_MOD_ABS}]
|
||||
|
||||
set_property PACKAGE_PIN AJ18 [get_ports {SFP1_RS0}]
|
||||
set_property PACKAGE_PIN AK16 [get_ports {SFP1_RS1}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {SFP1_RS*}]
|
||||
|
||||
set_property PACKAGE_PIN AB17 [get_ports {LED_LINK1}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {LED_LINK1}]
|
||||
|
||||
set_property PACKAGE_PIN AB16 [get_ports {LED_ACT1}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {LED_ACT1}]
|
||||
|
||||
## Used with N310 hardware
|
||||
#set_property PACKAGE_PIN U25 [get_ports PANEL_LED_GPS]
|
||||
#set_property PACKAGE_PIN T25 [get_ports PANEL_LED_LINK]
|
||||
#set_property PACKAGE_PIN W29 [get_ports PANEL_LED_PPS]
|
||||
#set_property PACKAGE_PIN V24 [get_ports PANEL_LED_REF]
|
||||
#set_property IOSTANDARD LVCMOS33 [get_ports PANEL_LED_*]
|
||||
#set_property DRIVE 4 [get_ports PANEL_LED_*]
|
||||
#set_property SLEW SLOW [get_ports PANEL_LED_*]
|
||||
|
||||
## XCVR ####################################################################
|
||||
## Catalina AD9361 Connections
|
||||
## -- Data Buses
|
||||
## -- Clocks
|
||||
## -- SPI
|
||||
## -- TX Amplifier
|
||||
## -- LEDs
|
||||
##
|
||||
############################################################################
|
||||
|
||||
set_property PACKAGE_PIN P25 [get_ports {XCVR_ENABLE}]
|
||||
set_property PACKAGE_PIN T25 [get_ports {XCVR_SYNC}]
|
||||
set_property PACKAGE_PIN P23 [get_ports {XCVR_TXNRX}]
|
||||
set_property PACKAGE_PIN N27 [get_ports {XCVR_ENA_AGC}]
|
||||
set_property PACKAGE_PIN P26 [get_ports {XCVR_RESET_N}]
|
||||
|
||||
## AD9361 SPI, Bank 13, 1.8V
|
||||
set_property PACKAGE_PIN T27 [get_ports {XCVR_SPI_CS_N}]
|
||||
set_property PACKAGE_PIN N26 [get_ports {XCVR_SPI_MISO}]
|
||||
set_property PACKAGE_PIN P24 [get_ports {XCVR_SPI_MOSI}]
|
||||
set_property PACKAGE_PIN T24 [get_ports {XCVR_SPI_CLK}]
|
||||
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports {XCVR_*}]
|
||||
|
||||
## Catalina TX Data Bus
|
||||
set_property PACKAGE_PIN F3 [get_ports {TX_CLK_N}]
|
||||
set_property PACKAGE_PIN F4 [get_ports {TX_CLK_P}]
|
||||
set_property IOSTANDARD LVDS [get_ports {TX_CLK_*}]
|
||||
#
|
||||
set_property PACKAGE_PIN B4 [get_ports {TX_FRAME_N}]
|
||||
set_property PACKAGE_PIN B5 [get_ports {TX_FRAME_P}]
|
||||
set_property IOSTANDARD LVDS [get_ports {TX_FRAME_*}]
|
||||
#
|
||||
set_property PACKAGE_PIN L2 [get_ports {TX_DATA_N[0]}]
|
||||
set_property PACKAGE_PIN L3 [get_ports {TX_DATA_P[0]}]
|
||||
set_property PACKAGE_PIN D5 [get_ports {TX_DATA_N[1]}]
|
||||
set_property PACKAGE_PIN E6 [get_ports {TX_DATA_P[1]}]
|
||||
set_property PACKAGE_PIN A4 [get_ports {TX_DATA_N[2]}]
|
||||
set_property PACKAGE_PIN A5 [get_ports {TX_DATA_P[2]}]
|
||||
set_property PACKAGE_PIN J3 [get_ports {TX_DATA_N[3]}]
|
||||
set_property PACKAGE_PIN J4 [get_ports {TX_DATA_P[3]}]
|
||||
set_property PACKAGE_PIN D1 [get_ports {TX_DATA_N[4]}]
|
||||
set_property PACKAGE_PIN E1 [get_ports {TX_DATA_P[4]}]
|
||||
set_property PACKAGE_PIN E2 [get_ports {TX_DATA_N[5]}]
|
||||
set_property PACKAGE_PIN E3 [get_ports {TX_DATA_P[5]}]
|
||||
set_property IOSTANDARD LVDS [get_ports {TX_DATA_*[*]}]
|
||||
|
||||
## Catalina RX Data Bus
|
||||
set_property PACKAGE_PIN G4 [get_ports {RX_CLK_N}]
|
||||
set_property PACKAGE_PIN G5 [get_ports {RX_CLK_P}]
|
||||
set_property IOSTANDARD LVDS [get_ports {RX_CLK_*}]
|
||||
set_property DIFF_TERM TRUE [get_ports {RX_CLK_*}]
|
||||
#
|
||||
set_property PACKAGE_PIN J6 [get_ports {RX_FRAME_N}]
|
||||
set_property PACKAGE_PIN K6 [get_ports {RX_FRAME_P}]
|
||||
set_property IOSTANDARD LVDS [get_ports {RX_FRAME_*}]
|
||||
set_property DIFF_TERM TRUE [get_ports {RX_FRAME_*}]
|
||||
#
|
||||
set_property PACKAGE_PIN C3 [get_ports {RX_DATA_N[0]}]
|
||||
set_property PACKAGE_PIN C4 [get_ports {RX_DATA_P[0]}]
|
||||
set_property PACKAGE_PIN G6 [get_ports {RX_DATA_N[1]}]
|
||||
set_property PACKAGE_PIN H6 [get_ports {RX_DATA_P[1]}]
|
||||
set_property PACKAGE_PIN D3 [get_ports {RX_DATA_N[2]}]
|
||||
set_property PACKAGE_PIN D4 [get_ports {RX_DATA_P[2]}]
|
||||
set_property PACKAGE_PIN K1 [get_ports {RX_DATA_N[3]}]
|
||||
set_property PACKAGE_PIN L1 [get_ports {RX_DATA_P[3]}]
|
||||
set_property PACKAGE_PIN J5 [get_ports {RX_DATA_N[4]}]
|
||||
set_property PACKAGE_PIN K5 [get_ports {RX_DATA_P[4]}]
|
||||
set_property PACKAGE_PIN F2 [get_ports {RX_DATA_N[5]}]
|
||||
set_property PACKAGE_PIN G2 [get_ports {RX_DATA_P[5]}]
|
||||
set_property IOSTANDARD LVDS [get_ports {RX_DATA_*[*]}]
|
||||
set_property DIFF_TERM TRUE [get_ports {RX_DATA_*[*]}]
|
||||
|
||||
## TX Amp, Bank 13, 1.8V
|
||||
set_property PACKAGE_PIN P29 [get_ports {TX_HFAMP1_ENA}]
|
||||
set_property PACKAGE_PIN U29 [get_ports {TX_HFAMP2_ENA}]
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports {TX_HFAMP*_ENA}]
|
||||
|
||||
set_property PACKAGE_PIN N29 [get_ports {TX_LFAMP1_ENA}]
|
||||
set_property PACKAGE_PIN T29 [get_ports {TX_LFAMP2_ENA}]
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports {TX_LFAMP*_ENA}]
|
||||
|
||||
# CTRL_OUT, Bank 13, 1.8 V
|
||||
set_property PACKAGE_PIN V28 [get_ports {XCVR_CTRL_OUT[0]}]
|
||||
set_property PACKAGE_PIN V29 [get_ports {XCVR_CTRL_OUT[1]}]
|
||||
set_property PACKAGE_PIN W29 [get_ports {XCVR_CTRL_OUT[2]}]
|
||||
set_property PACKAGE_PIN W30 [get_ports {XCVR_CTRL_OUT[3]}]
|
||||
set_property PACKAGE_PIN V27 [get_ports {XCVR_CTRL_OUT[4]}]
|
||||
set_property PACKAGE_PIN W28 [get_ports {XCVR_CTRL_OUT[5]}]
|
||||
set_property PACKAGE_PIN W25 [get_ports {XCVR_CTRL_OUT[6]}]
|
||||
set_property PACKAGE_PIN W26 [get_ports {XCVR_CTRL_OUT[7]}]
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports {XCVR_CTRL_OUT[*]}]
|
||||
# Set pull-up on bits 6 and 7 to make the bitstream compatible with Rev A,
|
||||
# where the signals don't exist.
|
||||
set_property PULLUP TRUE [get_ports {XCVR_CTRL_OUT[6]}]
|
||||
set_property PULLUP TRUE [get_ports {XCVR_CTRL_OUT[7]}]
|
||||
|
||||
## RX/TX LEDs, Bank 10, 3.3 V
|
||||
set_property PACKAGE_PIN AG14 [get_ports {RX1_GRN_ENA}]
|
||||
set_property PACKAGE_PIN AG17 [get_ports {RX2_GRN_ENA}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {RX*_GRN_ENA}]
|
||||
|
||||
set_property PACKAGE_PIN AG16 [get_ports {TX1_RED_ENA}]
|
||||
set_property PACKAGE_PIN AF15 [get_ports {TX2_RED_ENA}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {TX*_RED_ENA}]
|
||||
|
||||
set_property PACKAGE_PIN AG15 [get_ports {TXRX1_GRN_ENA}]
|
||||
set_property PACKAGE_PIN AF18 [get_ports {TXRX2_GRN_ENA}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {TXRX*_GRN_ENA}]
|
||||
|
||||
|
||||
## PL DDR ####################################################################
|
||||
##
|
||||
############################################################################
|
||||
|
||||
## PL DDR, Bank 34,35
|
||||
|
||||
set_property PACKAGE_PIN G9 [get_ports {SYS_CLK_N}]
|
||||
set_property PACKAGE_PIN H9 [get_ports {SYS_CLK_P}]
|
||||
set_property PACKAGE_PIN D8 [get_ports {DDR3_ADDR[0]}]
|
||||
set_property PACKAGE_PIN F9 [get_ports {DDR3_ADDR[1]}]
|
||||
set_property PACKAGE_PIN A7 [get_ports {DDR3_ADDR[2]}]
|
||||
set_property PACKAGE_PIN D9 [get_ports {DDR3_ADDR[3]}]
|
||||
set_property PACKAGE_PIN H7 [get_ports {DDR3_ADDR[4]}]
|
||||
set_property PACKAGE_PIN E8 [get_ports {DDR3_ADDR[5]}]
|
||||
set_property PACKAGE_PIN F8 [get_ports {DDR3_ADDR[6]}]
|
||||
set_property PACKAGE_PIN E7 [get_ports {DDR3_ADDR[7]}]
|
||||
set_property PACKAGE_PIN C6 [get_ports {DDR3_ADDR[8]}]
|
||||
set_property PACKAGE_PIN C7 [get_ports {DDR3_ADDR[9]}]
|
||||
set_property PACKAGE_PIN B7 [get_ports {DDR3_ADDR[10]}]
|
||||
set_property PACKAGE_PIN J9 [get_ports {DDR3_ADDR[11]}]
|
||||
set_property PACKAGE_PIN D11 [get_ports {DDR3_ADDR[12]}]
|
||||
set_property PACKAGE_PIN F7 [get_ports {DDR3_ADDR[13]}]
|
||||
set_property PACKAGE_PIN D6 [get_ports {DDR3_ADDR[14]}]
|
||||
set_property PACKAGE_PIN B6 [get_ports {DDR3_ADDR[15]}]
|
||||
set_property PACKAGE_PIN C9 [get_ports {DDR3_BA[0]}]
|
||||
set_property PACKAGE_PIN G7 [get_ports {DDR3_BA[1]}]
|
||||
set_property PACKAGE_PIN B9 [get_ports {DDR3_BA[2]}]
|
||||
set_property PACKAGE_PIN D10 [get_ports {DDR3_CAS_N}]
|
||||
set_property PACKAGE_PIN E11 [get_ports {DDR3_CKE[0]}]
|
||||
set_property PACKAGE_PIN H8 [get_ports {DDR3_CK_N[0]}]
|
||||
set_property PACKAGE_PIN J8 [get_ports {DDR3_CK_P[0]}]
|
||||
set_property PACKAGE_PIN E10 [get_ports {DDR3_CS_N[0]}]
|
||||
set_property PACKAGE_PIN D16 [get_ports {DDR3_DM[0]}]
|
||||
set_property PACKAGE_PIN C12 [get_ports {DDR3_DM[1]}]
|
||||
set_property PACKAGE_PIN J13 [get_ports {DDR3_DM[2]}]
|
||||
set_property PACKAGE_PIN F14 [get_ports {DDR3_DM[3]}]
|
||||
set_property PACKAGE_PIN B16 [get_ports {DDR3_DQ[0]}]
|
||||
set_property PACKAGE_PIN A17 [get_ports {DDR3_DQ[1]}]
|
||||
set_property PACKAGE_PIN C16 [get_ports {DDR3_DQ[2]}]
|
||||
set_property PACKAGE_PIN E15 [get_ports {DDR3_DQ[3]}]
|
||||
set_property PACKAGE_PIN C17 [get_ports {DDR3_DQ[4]}]
|
||||
set_property PACKAGE_PIN D14 [get_ports {DDR3_DQ[5]}]
|
||||
set_property PACKAGE_PIN B17 [get_ports {DDR3_DQ[6]}]
|
||||
set_property PACKAGE_PIN D15 [get_ports {DDR3_DQ[7]}]
|
||||
set_property PACKAGE_PIN B12 [get_ports {DDR3_DQ[8]}]
|
||||
set_property PACKAGE_PIN A13 [get_ports {DDR3_DQ[9]}]
|
||||
set_property PACKAGE_PIN C11 [get_ports {DDR3_DQ[10]}]
|
||||
set_property PACKAGE_PIN C14 [get_ports {DDR3_DQ[11]}]
|
||||
set_property PACKAGE_PIN A12 [get_ports {DDR3_DQ[12]}]
|
||||
set_property PACKAGE_PIN B14 [get_ports {DDR3_DQ[13]}]
|
||||
set_property PACKAGE_PIN B11 [get_ports {DDR3_DQ[14]}]
|
||||
set_property PACKAGE_PIN A14 [get_ports {DDR3_DQ[15]}]
|
||||
set_property PACKAGE_PIN J16 [get_ports {DDR3_DQ[16]}]
|
||||
set_property PACKAGE_PIN J14 [get_ports {DDR3_DQ[17]}]
|
||||
set_property PACKAGE_PIN L15 [get_ports {DDR3_DQ[18]}]
|
||||
set_property PACKAGE_PIN H14 [get_ports {DDR3_DQ[19]}]
|
||||
set_property PACKAGE_PIN K15 [get_ports {DDR3_DQ[20]}]
|
||||
set_property PACKAGE_PIN H13 [get_ports {DDR3_DQ[21]}]
|
||||
set_property PACKAGE_PIN L14 [get_ports {DDR3_DQ[22]}]
|
||||
set_property PACKAGE_PIN J15 [get_ports {DDR3_DQ[23]}]
|
||||
set_property PACKAGE_PIN E13 [get_ports {DDR3_DQ[24]}]
|
||||
set_property PACKAGE_PIN F15 [get_ports {DDR3_DQ[25]}]
|
||||
set_property PACKAGE_PIN F13 [get_ports {DDR3_DQ[26]}]
|
||||
set_property PACKAGE_PIN G16 [get_ports {DDR3_DQ[27]}]
|
||||
set_property PACKAGE_PIN E12 [get_ports {DDR3_DQ[28]}]
|
||||
set_property PACKAGE_PIN G15 [get_ports {DDR3_DQ[29]}]
|
||||
set_property PACKAGE_PIN D13 [get_ports {DDR3_DQ[30]}]
|
||||
set_property PACKAGE_PIN G14 [get_ports {DDR3_DQ[31]}]
|
||||
set_property PACKAGE_PIN E17 [get_ports {DDR3_DQS_N[0]}]
|
||||
set_property PACKAGE_PIN F17 [get_ports {DDR3_DQS_P[0]}]
|
||||
set_property PACKAGE_PIN A15 [get_ports {DDR3_DQS_N[1]}]
|
||||
set_property PACKAGE_PIN B15 [get_ports {DDR3_DQS_P[1]}]
|
||||
set_property PACKAGE_PIN K13 [get_ports {DDR3_DQS_N[2]}]
|
||||
set_property PACKAGE_PIN L13 [get_ports {DDR3_DQS_P[2]}]
|
||||
set_property PACKAGE_PIN F12 [get_ports {DDR3_DQS_N[3]}]
|
||||
set_property PACKAGE_PIN G12 [get_ports {DDR3_DQS_P[3]}]
|
||||
set_property PACKAGE_PIN G11 [get_ports {DDR3_ODT[0]}]
|
||||
set_property PACKAGE_PIN A10 [get_ports {DDR3_RAS_N}]
|
||||
set_property PACKAGE_PIN B10 [get_ports {DDR3_RESET_N}]
|
||||
set_property PACKAGE_PIN A9 [get_ports {DDR3_WE_N}]
|
||||
|
||||
## Front Panel GPIO ########################################################
|
||||
##
|
||||
############################################################################
|
||||
|
||||
# GPIO, Bank 12
|
||||
set_property PACKAGE_PIN AC26 [get_ports {EN_GPIO_2V5}]
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports {EN_GPIO_2V5}]
|
||||
|
||||
set_property PACKAGE_PIN AA29 [get_ports {EN_GPIO_3V3}]
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports {EN_GPIO_3V3}]
|
||||
|
||||
set_property PACKAGE_PIN AB30 [get_ports {EN_GPIO_VAR_SUPPLY}]
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports {EN_GPIO_VAR_SUPPLY}]
|
||||
|
||||
set_property PACKAGE_PIN AF27 [get_ports {GPIO_PREBUFF[0]}]
|
||||
set_property PACKAGE_PIN AF29 [get_ports {GPIO_PREBUFF[1]}]
|
||||
set_property PACKAGE_PIN AE25 [get_ports {GPIO_PREBUFF[2]}]
|
||||
set_property PACKAGE_PIN AF25 [get_ports {GPIO_PREBUFF[3]}]
|
||||
set_property PACKAGE_PIN AJ30 [get_ports {GPIO_PREBUFF[4]}]
|
||||
set_property PACKAGE_PIN AK30 [get_ports {GPIO_PREBUFF[5]}]
|
||||
set_property PACKAGE_PIN AJ28 [get_ports {GPIO_PREBUFF[6]}]
|
||||
set_property PACKAGE_PIN AJ29 [get_ports {GPIO_PREBUFF[7]}]
|
||||
|
||||
set_property PACKAGE_PIN AA27 [get_ports {GPIO_DIR[0]}]
|
||||
set_property PACKAGE_PIN AA28 [get_ports {GPIO_DIR[1]}]
|
||||
set_property PACKAGE_PIN AB25 [get_ports {GPIO_DIR[2]}]
|
||||
set_property PACKAGE_PIN AB26 [get_ports {GPIO_DIR[3]}]
|
||||
set_property PACKAGE_PIN AE26 [get_ports {GPIO_DIR[4]}]
|
||||
set_property PACKAGE_PIN AB27 [get_ports {GPIO_DIR[5]}]
|
||||
set_property PACKAGE_PIN AC27 [get_ports {GPIO_DIR[6]}]
|
||||
set_property PACKAGE_PIN Y25 [get_ports {GPIO_DIR[7]}]
|
||||
|
||||
set_property PACKAGE_PIN AD26 [get_ports {GPIO_OE_N}]
|
||||
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports {GPIO_*}]
|
||||
|
||||
## GPSDO ###################################################################
|
||||
##
|
||||
############################################################################
|
||||
|
||||
# GPSDO, Bank 13
|
||||
set_property PACKAGE_PIN R28 [get_ports {CLK_GPS_PWR_EN}]
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports {CLK_GPS_PWR_EN}]
|
||||
|
||||
# GPSDO, Bank 10
|
||||
set_property PACKAGE_PIN AD14 [get_ports {GPS_ALARM}]
|
||||
set_property PACKAGE_PIN AD13 [get_ports {GPS_INITSURV_N}]
|
||||
set_property PACKAGE_PIN AH13 [get_ports {GPS_LOCK}]
|
||||
set_property PACKAGE_PIN AE12 [get_ports {GPS_PHASELOCK}]
|
||||
set_property PACKAGE_PIN AG12 [get_ports {GPS_RST_N}]
|
||||
set_property PACKAGE_PIN AH14 [get_ports {GPS_SURVEY}]
|
||||
set_property PACKAGE_PIN AF12 [get_ports {GPS_WARMUP}]
|
||||
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {GPS_*}]
|
||||
|
||||
## Daughterboard Connections ###############################################
|
||||
##
|
||||
############################################################################
|
||||
|
||||
# Switches, Bank 9
|
||||
set_property PACKAGE_PIN Y20 [get_ports {FE1_SEL[0]}]
|
||||
set_property PACKAGE_PIN AA20 [get_ports {FE1_SEL[1]}]
|
||||
set_property PACKAGE_PIN AC18 [get_ports {FE1_SEL[2]}]
|
||||
set_property PACKAGE_PIN AA18 [get_ports {FE2_SEL[0]}]
|
||||
set_property PACKAGE_PIN AA19 [get_ports {FE2_SEL[1]}]
|
||||
set_property PACKAGE_PIN AB19 [get_ports {FE2_SEL[2]}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {FE*_SEL[*]}]
|
||||
|
||||
set_property PACKAGE_PIN AC19 [get_ports {RX1_SEL[0]}]
|
||||
set_property PACKAGE_PIN AD18 [get_ports {RX1_SEL[1]}]
|
||||
set_property PACKAGE_PIN AB20 [get_ports {RX2_SEL[0]}]
|
||||
set_property PACKAGE_PIN AD20 [get_ports {RX2_SEL[1]}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {RX*_SEL[*]}]
|
||||
|
||||
# Switches, Bank 11
|
||||
set_property PACKAGE_PIN AB21 [get_ports {RX1_BSEL[0]}]
|
||||
set_property PACKAGE_PIN AB22 [get_ports {RX1_BSEL[1]}]
|
||||
set_property PACKAGE_PIN W21 [get_ports {RX1_BSEL[2]}]
|
||||
set_property PACKAGE_PIN Y21 [get_ports {RX1_BSEL[3]}]
|
||||
set_property PACKAGE_PIN AA24 [get_ports {RX1_BSEL[4]}]
|
||||
set_property PACKAGE_PIN AB24 [get_ports {RX1_BSEL[5]}]
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports {RX1_BSEL[*]}]
|
||||
|
||||
set_property PACKAGE_PIN AC24 [get_ports {RX2_BSEL[0]}]
|
||||
set_property PACKAGE_PIN AD24 [get_ports {RX2_BSEL[1]}]
|
||||
set_property PACKAGE_PIN AG24 [get_ports {RX2_BSEL[2]}]
|
||||
set_property PACKAGE_PIN AG25 [get_ports {RX2_BSEL[3]}]
|
||||
set_property PACKAGE_PIN AD21 [get_ports {RX2_BSEL[4]}]
|
||||
set_property PACKAGE_PIN AE21 [get_ports {RX2_BSEL[5]}]
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports {RX2_BSEL[*]}]
|
||||
|
||||
set_property PACKAGE_PIN AK17 [get_ports {TX1_BSEL[0]}]
|
||||
set_property PACKAGE_PIN AK18 [get_ports {TX1_BSEL[1]}]
|
||||
set_property PACKAGE_PIN AH19 [get_ports {TX1_BSEL[2]}]
|
||||
set_property PACKAGE_PIN AJ19 [get_ports {TX1_BSEL[3]}]
|
||||
set_property PACKAGE_PIN AF19 [get_ports {TX1_BSEL[4]}]
|
||||
set_property PACKAGE_PIN AG19 [get_ports {TX1_BSEL[5]}]
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports {TX1_BSEL[*]}]
|
||||
|
||||
set_property PACKAGE_PIN AK23 [get_ports {TX2_BSEL[0]}]
|
||||
set_property PACKAGE_PIN AJ23 [get_ports {TX2_BSEL[1]}]
|
||||
set_property PACKAGE_PIN AJ24 [get_ports {TX2_BSEL[2]}]
|
||||
set_property PACKAGE_PIN AH23 [get_ports {TX2_BSEL[3]}]
|
||||
set_property PACKAGE_PIN AH24 [get_ports {TX2_BSEL[4]}]
|
||||
set_property PACKAGE_PIN AG22 [get_ports {TX2_BSEL[5]}]
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports {TX2_BSEL[*]}]
|
||||
|
||||
## PPS, REFCLK #############################################################
|
||||
##
|
||||
############################################################################
|
||||
|
||||
# RefClk, Bank 10
|
||||
set_property PACKAGE_PIN AF14 [get_ports {CLK_REF_RAW}]
|
||||
set_property PACKAGE_PIN AH17 [get_ports {CLK_REF_SEL}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {CLK_REF_*}]
|
||||
|
||||
# PPS, Bank 10
|
||||
set_property PACKAGE_PIN AD15 [get_ports {CLK_SYNC_EXT}]
|
||||
set_property PACKAGE_PIN AC14 [get_ports {CLK_SYNC_INT}]
|
||||
set_property PACKAGE_PIN AA15 [get_ports {CLK_SYNC_INT_RAW}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {CLK_SYNC_*}]
|
||||
|
||||
## REF CLK PLL, Bank 10
|
||||
set_property PACKAGE_PIN AE15 [get_ports {CLK_PLL_SCLK}]
|
||||
set_property PACKAGE_PIN AE16 [get_ports {CLK_PLL_SDATA}]
|
||||
set_property PACKAGE_PIN AE18 [get_ports {CLK_PLL_SLE}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {CLK_PLL_*}]
|
||||
#
|
||||
# Set pull-up on CLK_MUX_OUT to make the bitstream compatible with Rev A, where
|
||||
# the signal doesn't exist.
|
||||
set_property PACKAGE_PIN AH18 [get_ports {CLK_MUX_OUT}]
|
||||
set_property IOSTANDARD LVCMOS33 [get_ports {CLK_MUX_OUT}]
|
||||
set_property PULLUP TRUE [get_ports {CLK_MUX_OUT}]
|
||||
|
||||
|
||||
############################################################################
|
||||
##FIXME: Remove this?
|
||||
|
||||
## PS DDR
|
||||
#set_property PACKAGE_PIN K25 [get_ports DDR_MODCLK_P]
|
||||
#set_property PACKAGE_PIN J25 [get_ports DDR_MODCLK_N]
|
||||
#set_property PACKAGE_PIN M22 [get_ports PS_DDR3_CKE]
|
||||
#set_property PACKAGE_PIN F25 [get_ports PS_DDR3_RESET_N]
|
||||
#set_property PACKAGE_PIN J24 [get_ports PS_DDR3_ADDR[14]]
|
||||
#set_property PACKAGE_PIN H23 [get_ports PS_DDR3_ADDR[13]]
|
||||
#set_property PACKAGE_PIN K23 [get_ports PS_DDR3_ADDR[12]]
|
||||
#set_property PACKAGE_PIN H24 [get_ports PS_DDR3_ADDR[11]]
|
||||
#set_property PACKAGE_PIN G26 [get_ports PS_DDR3_ADDR[10]]
|
||||
#set_property PACKAGE_PIN J23 [get_ports PS_DDR3_ADDR[9]]
|
||||
#set_property PACKAGE_PIN F27 [get_ports PS_DDR3_ADDR[8]]
|
||||
#set_property PACKAGE_PIN K22 [get_ports PS_DDR3_ADDR[7]]
|
||||
#set_property PACKAGE_PIN H26 [get_ports PS_DDR3_ADDR[6]]
|
||||
#set_property PACKAGE_PIN G24 [get_ports PS_DDR3_ADDR[5]]
|
||||
#set_property PACKAGE_PIN J26 [get_ports PS_DDR3_ADDR[4]]
|
||||
#set_property PACKAGE_PIN G25 [get_ports PS_DDR3_ADDR[3]]
|
||||
#set_property PACKAGE_PIN L27 [get_ports PS_DDR3_ADDR[2]]
|
||||
#set_property PACKAGE_PIN K26 [get_ports PS_DDR3_ADDR[1]]
|
||||
#set_property PACKAGE_PIN L25 [get_ports PS_DDR3_ADDR[0]]
|
||||
#set_property PACKAGE_PIN K28 [get_ports PS_DDR3_DM[3]]
|
||||
#set_property PACKAGE_PIN H29 [get_ports PS_DDR3_DM[2]]
|
||||
#set_property PACKAGE_PIN B30 [get_ports PS_DDR3_DM[1]]
|
||||
#set_property PACKAGE_PIN C27 [get_ports PS_DDR3_DM[0]]
|
||||
#set_property PACKAGE_PIN M25 [get_ports PS_DDR3_BA[2]]
|
||||
#set_property PACKAGE_PIN M26 [get_ports PS_DDR3_BA[1]]
|
||||
#set_property PACKAGE_PIN M27 [get_ports PS_DDR3_BA[0]]
|
||||
#set_property PACKAGE_PIN L28 [get_ports PS_DDR3_DQS_P[3]]
|
||||
#set_property PACKAGE_PIN G29 [get_ports PS_DDR3_DQS_P[2]]
|
||||
#set_property PACKAGE_PIN C29 [get_ports PS_DDR3_DQS_P[1]]
|
||||
#set_property PACKAGE_PIN C26 [get_ports PS_DDR3_DQS_P[0]]
|
||||
#set_property PACKAGE_PIN L29 [get_ports PS_DDR3_DQS_N[3]]
|
||||
#set_property PACKAGE_PIN F29 [get_ports PS_DDR3_DQS_N[2]]
|
||||
#set_property PACKAGE_PIN B29 [get_ports PS_DDR3_DQS_N[1]]
|
||||
#set_property PACKAGE_PIN B26 [get_ports PS_DDR3_DQS_N[0]]
|
||||
#set_property PACKAGE_PIN M30 [get_ports PS_DDR3_DQ[31]]
|
||||
#set_property PACKAGE_PIN L30 [get_ports PS_DDR3_DQ[30]]
|
||||
#set_property PACKAGE_PIN M29 [get_ports PS_DDR3_DQ[29]]
|
||||
#set_property PACKAGE_PIN K30 [get_ports PS_DDR3_DQ[28]]
|
||||
#set_property PACKAGE_PIN J28 [get_ports PS_DDR3_DQ[27]]
|
||||
#set_property PACKAGE_PIN J30 [get_ports PS_DDR3_DQ[26]]
|
||||
#set_property PACKAGE_PIN K27 [get_ports PS_DDR3_DQ[25]]
|
||||
#set_property PACKAGE_PIN J29 [get_ports PS_DDR3_DQ[24]]
|
||||
#set_property PACKAGE_PIN F30 [get_ports PS_DDR3_DQ[23]]
|
||||
#set_property PACKAGE_PIN G30 [get_ports PS_DDR3_DQ[22]]
|
||||
#set_property PACKAGE_PIN F28 [get_ports PS_DDR3_DQ[21]]
|
||||
#set_property PACKAGE_PIN E30 [get_ports PS_DDR3_DQ[20]]
|
||||
#set_property PACKAGE_PIN E28 [get_ports PS_DDR3_DQ[19]]
|
||||
#set_property PACKAGE_PIN H28 [get_ports PS_DDR3_DQ[18]]
|
||||
#set_property PACKAGE_PIN G27 [get_ports PS_DDR3_DQ[17]]
|
||||
#set_property PACKAGE_PIN H27 [get_ports PS_DDR3_DQ[16]]
|
||||
#set_property PACKAGE_PIN D29 [get_ports PS_DDR3_DQ[15]]
|
||||
#set_property PACKAGE_PIN D28 [get_ports PS_DDR3_DQ[14]]
|
||||
#set_property PACKAGE_PIN D30 [get_ports PS_DDR3_DQ[13]]
|
||||
#set_property PACKAGE_PIN C28 [get_ports PS_DDR3_DQ[12]]
|
||||
#set_property PACKAGE_PIN A28 [get_ports PS_DDR3_DQ[11]]
|
||||
#set_property PACKAGE_PIN A30 [get_ports PS_DDR3_DQ[10]]
|
||||
#set_property PACKAGE_PIN A27 [get_ports PS_DDR3_DQ[9]]
|
||||
#set_property PACKAGE_PIN A29 [get_ports PS_DDR3_DQ[8]]
|
||||
#set_property PACKAGE_PIN E27 [get_ports PS_DDR3_DQ[7]]
|
||||
#set_property PACKAGE_PIN D26 [get_ports PS_DDR3_DQ[6]]
|
||||
#set_property PACKAGE_PIN E26 [get_ports PS_DDR3_DQ[5]]
|
||||
#set_property PACKAGE_PIN B25 [get_ports PS_DDR3_DQ[4]]
|
||||
#set_property PACKAGE_PIN D25 [get_ports PS_DDR3_DQ[3]]
|
||||
#set_property PACKAGE_PIN B27 [get_ports PS_DDR3_DQ[2]]
|
||||
#set_property PACKAGE_PIN E25 [get_ports PS_DDR3_DQ[1]]
|
||||
#set_property PACKAGE_PIN A25 [get_ports PS_DDR3_DQ[0]]
|
||||
#set_property PACKAGE_PIN L23 [get_ports PS_DDR3_ODT]
|
||||
#set_property PACKAGE_PIN N21 [get_ports PS_DDR3_VRN]
|
||||
#set_property PACKAGE_PIN M21 [get_ports PS_DDR3_VRP]
|
||||
#set_property PACKAGE_PIN N23 [get_ports PS_DDR3_WE_N]
|
||||
#set_property PACKAGE_PIN N22 [get_ports PS_DDR3_CS_N]
|
||||
#set_property PACKAGE_PIN M24 [get_ports PS_DDR3_CAS_N]
|
||||
#set_property PACKAGE_PIN N24 [get_ports PS_DDR3_RAS_N]
|
||||
|
||||
@@ -0,0 +1,360 @@
|
||||
#
|
||||
# Copyright 2018 Ettus Research, A National Instruments Company
|
||||
# SPDX-License-Identifier: LGPL-3.0
|
||||
#
|
||||
# Description: Timing constraints for the USRP E320
|
||||
#
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Input Clocks
|
||||
###############################################################################
|
||||
|
||||
# External Reference Clock
|
||||
set REF_CLK_PERIOD 50.00
|
||||
create_clock -name ref_clk -period $REF_CLK_PERIOD [get_ports CLK_REF_RAW]
|
||||
|
||||
# Radio clock from AD9361
|
||||
set rx_clk_period 8.138
|
||||
create_clock -name rx_clk -period $rx_clk_period [get_ports RX_CLK_P]
|
||||
|
||||
# 1 Gigabit Ethernet Reference Clock
|
||||
create_clock -name ge_clk -period 8.000 [get_ports CLK_MGT_125M_P]
|
||||
|
||||
# 10 Gigabit and Aurora Reference Clock
|
||||
create_clock -name xge_clk -period 6.400 [get_ports CLK_MGT_156_25M_P]
|
||||
|
||||
# Derived radio clocks (two mutually-exclusive clocks using a BUFGMUX)
|
||||
create_generated_clock -name radio_clk_1x \
|
||||
-divide_by 4 \
|
||||
-add \
|
||||
-master_clock rx_clk \
|
||||
-source [get_pins cat_io_lvds_dual_mode_i0/cat_io_lvds_i0/cat_input_lvds_i0/sdr_clk_2x_bufr/O] \
|
||||
[get_pins cat_io_lvds_dual_mode_i0/BUFGCTRL_radio_clk/O]
|
||||
create_generated_clock -name radio_clk_2x \
|
||||
-divide_by 2 \
|
||||
-add \
|
||||
-master_clock rx_clk \
|
||||
-source [get_pins cat_io_lvds_dual_mode_i0/cat_io_lvds_i0/cat_input_lvds_i0/sdr_clk_bufr/O] \
|
||||
[get_pins cat_io_lvds_dual_mode_i0/BUFGCTRL_radio_clk/O]
|
||||
set_clock_groups -physically_exclusive -group radio_clk_1x -group radio_clk_2x
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Rename Clocks
|
||||
###############################################################################
|
||||
|
||||
create_clock -name clk100 \
|
||||
-period [get_property PERIOD [get_clocks clk_fpga_0]] \
|
||||
[get_pins [get_property SOURCE_PINS [get_clocks clk_fpga_0]]]
|
||||
set_input_jitter clk100 0.3
|
||||
|
||||
create_clock -name clk40 \
|
||||
-period [get_property PERIOD [get_clocks clk_fpga_1]] \
|
||||
[get_pins [get_property SOURCE_PINS [get_clocks clk_fpga_1]]]
|
||||
set_input_jitter clk40 0.75
|
||||
|
||||
create_clock -name meas_clk_ref \
|
||||
-period [get_property PERIOD [get_clocks clk_fpga_2]] \
|
||||
[get_pins [get_property SOURCE_PINS [get_clocks clk_fpga_2]]]
|
||||
set_input_jitter meas_clk_ref 0.18
|
||||
|
||||
create_clock -name bus_clk \
|
||||
-period [get_property PERIOD [get_clocks clk_fpga_3]] \
|
||||
[get_pins [get_property SOURCE_PINS [get_clocks clk_fpga_3]]]
|
||||
set_input_jitter bus_clk 0.15
|
||||
|
||||
# DMA Clock
|
||||
create_generated_clock -name ddr3_dma_clk \
|
||||
[get_pins {e320_clocking_i/mmcm_adv_inst/CLKOUT0}]
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Clock Crossings
|
||||
###############################################################################
|
||||
|
||||
set DDR3_UI_CLK_PERIOD [get_property period [get_clocks ddr3_ui_clk]]
|
||||
set RADIO_CLK_1X_PERIOD [get_property period [get_clocks radio_clk_1x]]
|
||||
set RADIO_CLK_2X_PERIOD [get_property period [get_clocks radio_clk_2x]]
|
||||
set XGE_CLK_PERIOD [get_property period [get_clocks xge_clk]]
|
||||
|
||||
# XADC temperature
|
||||
set_max_delay -from [get_pins tempmon_i/device_temp_r_reg[*]/C] -to [get_clocks ddr3_ui_clk] $DDR3_UI_CLK_PERIOD -datapath_only
|
||||
|
||||
# GPIO muxing
|
||||
set_max_delay -from [get_pins e320_core_i/fp_gpio_src_reg_reg[*]/C] -to [get_clocks radio_clk_1x] $RADIO_CLK_1X_PERIOD -datapath_only
|
||||
set_max_delay -from [get_pins e320_core_i/fp_gpio_src_reg_reg[*]/C] -to [get_clocks radio_clk_2x] $RADIO_CLK_2X_PERIOD -datapath_only
|
||||
|
||||
# Codec reset
|
||||
set_max_delay -from [get_pins e320_core_i/dboard_ctrl_reg[2]/C] -to [get_clocks radio_clk_1x_1] $RADIO_CLK_1X_PERIOD -datapath_only
|
||||
|
||||
# Power-on reset
|
||||
set_max_delay -from [get_pins por_gen/por_rst_reg/C] -to [get_clocks xge_clk] $XGE_CLK_PERIOD -datapath_only
|
||||
|
||||
# SFP MDIO data and clock signal crossings. These are double synchronized in
|
||||
# the Xilinx MDIO IP.
|
||||
set_max_delay -from [get_pins sfp_wrapper_i/mgt_io_i/mdio_master_i/mdio_out_reg/C] \
|
||||
-to [get_clocks xge_clk] $XGE_CLK_PERIOD -datapath_only
|
||||
set_max_delay -from [get_pins sfp_wrapper_i/mgt_io_i/mdio_master_i/mdc_reg/C] \
|
||||
-to [get_clocks xge_clk] $XGE_CLK_PERIOD -datapath_only
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# False Paths
|
||||
###############################################################################
|
||||
|
||||
# Synchronizer core false paths
|
||||
set_false_path -to [get_pins -hierarchical -filter {NAME =~ */synchronizer_false_path/stages[0].value_reg[0][*]/D}]
|
||||
set_false_path -to [get_pins -hierarchical -filter {NAME =~ */synchronizer_false_path/stages[0].value_reg[0][*]/S}]
|
||||
|
||||
|
||||
# MIG core reset
|
||||
# According to Xilinx AR 61112, it is safe to make sys_rst a false path.
|
||||
set_false_path -from [get_pins bus_reset_gen/reset_out_reg/C] \
|
||||
-to [get_clocks ddr3_ui_clk]
|
||||
set_false_path -from [get_pins bus_reset_gen/reset_out_reg/C] \
|
||||
-to [get_clocks ddr3_ui_clk_2x]
|
||||
|
||||
# USR_ACCESS build date
|
||||
set_false_path -through [get_pins usr_access_i/DATA[*]]
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# PPS Input Timing
|
||||
###############################################################################
|
||||
|
||||
# The external PPS is synchronous to the external reference clock. We want to
|
||||
# allow for 5 ns of setup and 5 ns of hold at the external connectors of the
|
||||
# device.
|
||||
set t_ext_setup 5.0
|
||||
set t_ext_hold 5.0
|
||||
|
||||
# Board delays for external REF/PPS
|
||||
set t_ext_pps_to_fpga(min) 1.673 ; # Delay from external pin of PPS to FPGA
|
||||
set t_ext_pps_to_fpga(max) 5.011
|
||||
set t_ext_ref_to_fpga(min) 1.452 ; # Delay from external pin of reference clock to FPGA
|
||||
set t_ext_ref_to_fpga(max) 4.000
|
||||
|
||||
# Calculate the needed setup and hold at FPGA for external PPS, taking into
|
||||
# account worst-case clock and data path skew.
|
||||
set t_ext_fpga_setup [expr $t_ext_setup + ($t_ext_ref_to_fpga(min) - $t_ext_pps_to_fpga(max))]
|
||||
set t_ext_fpga_hold [expr $t_ext_hold + ($t_ext_pps_to_fpga(min) - $t_ext_ref_to_fpga(max))]
|
||||
|
||||
set_input_delay -clock ref_clk -max [expr $REF_CLK_PERIOD - $t_ext_fpga_setup] [get_ports CLK_SYNC_EXT]
|
||||
set_input_delay -clock ref_clk -min $t_ext_fpga_hold [get_ports CLK_SYNC_EXT]
|
||||
|
||||
|
||||
# The GPS provides 2 ns setup and 2 ns of hold around the rising clock edge
|
||||
set t_int_setup 2.0
|
||||
set t_int_hold 2.0
|
||||
|
||||
# Board delays for internal REF/PPS
|
||||
set t_int_pps_to_fpga(min) 0.359 ; # Delay from PPS output of GPS to FPGA
|
||||
set t_int_pps_to_fpga(max) 0.438
|
||||
set t_int_ref_to_fpga(min) 1.699 ; # Delay from reference clock output of GPS to FPGA
|
||||
set t_int_ref_to_fpga(max) 3.149
|
||||
|
||||
# Calculate the needed setup and hold at FPGA for internal PPS, taking into
|
||||
# account worst-case clock and data path skew.
|
||||
set t_int_fpga_setup [expr $t_int_setup + ($t_int_ref_to_fpga(min) - $t_int_pps_to_fpga(max))]
|
||||
set t_int_fpga_hold [expr $t_int_hold + ($t_int_pps_to_fpga(min) - $t_int_ref_to_fpga(max))]
|
||||
|
||||
set_input_delay -clock ref_clk -max [expr $REF_CLK_PERIOD - $t_int_fpga_setup] [get_ports CLK_SYNC_INT]
|
||||
set_input_delay -clock ref_clk -min $t_int_fpga_hold [get_ports CLK_SYNC_INT]
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# LVDS Interface
|
||||
###############################################################################
|
||||
|
||||
# LVDS interface is source synchronous DDR. tPCB numbers are taken from
|
||||
# HyperLynx for the Rev B PCB. 10 ps was added to each PCB delay for additional
|
||||
# margin.
|
||||
|
||||
# From the AD9361 data sheet
|
||||
set tDDRX(min) 0.25
|
||||
set tDDRX(max) 1.25
|
||||
set tSTX(min) 1.0
|
||||
set tHTX(min) 0.0
|
||||
|
||||
# Other timing parameters
|
||||
set tCP2X(min) [expr 0.45 * $rx_clk_period] ; # Worst-case bit period
|
||||
set tTrns(max) 0.220 ; # Amount of time it takes an input to transition
|
||||
|
||||
# Input timing parameters
|
||||
set tPCB_RX(max) 0.058 ; # Max delay by which the clock trace is longer than the data trace
|
||||
set tPCB_RX(min) -0.059 ; # Min delay by which the clock trace is longer than the data trace
|
||||
set tSetupIn [expr $tCP2X(min) - $tDDRX(max) + $tPCB_RX(min)]
|
||||
set tHoldIn [expr $tDDRX(min) - $tTrns(max) - $tPCB_RX(max)]
|
||||
|
||||
# Input Setup/Hold (Rising Clock Edge)
|
||||
set_input_delay -clock [get_clocks rx_clk] -max [expr $tCP2X(min) - $tSetupIn] [get_ports {RX_DATA_*[*] RX_FRAME_*}]
|
||||
set_input_delay -clock [get_clocks rx_clk] -min $tHoldIn [get_ports {RX_DATA_*[*] RX_FRAME_*}]
|
||||
|
||||
# Input Setup/Hold (Falling Clock Edge)
|
||||
set_input_delay -clock [get_clocks rx_clk] -max [expr $tCP2X(min) - $tSetupIn] [get_ports {RX_DATA_*[*] RX_FRAME_*}] -clock_fall -add_delay
|
||||
set_input_delay -clock [get_clocks rx_clk] -min $tHoldIn [get_ports {RX_DATA_*[*] RX_FRAME_*}] -clock_fall -add_delay
|
||||
|
||||
|
||||
# Output timing parameters
|
||||
set tPCB_TX(max) 0.066 ; # Max delay by which the clock trace is longer than the data trace
|
||||
set tPCB_TX(min) -0.049 ; # Min delay by which the clock trace is longer than the data trace
|
||||
set tSetupOut [expr $tSTX(min) - $tPCB_TX(min)]
|
||||
set tHoldOut [expr $tHTX(min) + $tPCB_TX(max)]
|
||||
|
||||
# Create tx_clk (FB_CLK)
|
||||
create_generated_clock \
|
||||
-name tx_clk \
|
||||
-multiply_by 1 \
|
||||
-source [get_pins cat_io_lvds_dual_mode_i0/cat_io_lvds_i0/cat_output_lvds_i0/ddr_clk_oserdese2/CLK] \
|
||||
[get_ports TX_CLK_P]
|
||||
|
||||
# Output Setup
|
||||
set_output_delay -clock [get_clocks tx_clk] -max $tSetupOut [get_ports {TX_DATA_*[*] TX_FRAME_*}]
|
||||
set_output_delay -clock [get_clocks tx_clk] -max $tSetupOut [get_ports {TX_DATA_*[*] TX_FRAME_*}] -clock_fall -add_delay
|
||||
|
||||
# Output Hold
|
||||
set_output_delay -clock [get_clocks tx_clk] -min [expr -$tHoldOut] [get_ports {TX_DATA_*[*] TX_FRAME_*}]
|
||||
set_output_delay -clock [get_clocks tx_clk] -min [expr -$tHoldOut] [get_ports {TX_DATA_*[*] TX_FRAME_*}] -clock_fall -add_delay
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# SPI
|
||||
###############################################################################
|
||||
|
||||
# Xilinx doesn't allow you to fully constrain EMIO because the internal SPI
|
||||
# clock is not accessible. So delay constraints are used to limit the delays to
|
||||
# compatible values.
|
||||
|
||||
# Transceiver SPI
|
||||
set_max_delay -from [get_pins e320_ps_bd_i/processing_system7_0/inst/PS7_i/EMIOSPI0MO] \
|
||||
-to [get_ports XCVR_SPI_MOSI] 6.0 -datapath_only
|
||||
set_min_delay -to [get_ports XCVR_SPI_MOSI] 0.0
|
||||
#
|
||||
set_max_delay -from [get_pins e320_ps_bd_i/processing_system7_0/inst/PS7_i/EMIOSPI0SCLKO] \
|
||||
-to [get_ports XCVR_SPI_CLK] 6.0 -datapath_only
|
||||
set_min_delay -to [get_ports XCVR_SPI_CLK] 0.0
|
||||
#
|
||||
set_max_delay -from [get_pins e320_ps_bd_i/processing_system7_0/inst/PS7_i/EMIOSPI0SSON[0]] \
|
||||
-to [get_ports XCVR_SPI_CS_N] 6.0 -datapath_only
|
||||
set_min_delay -to [get_ports XCVR_SPI_CS_N] 0.0
|
||||
#
|
||||
set_max_delay -from [get_ports XCVR_SPI_MISO] \
|
||||
-to [get_pins e320_ps_bd_i/processing_system7_0/inst/PS7_i/EMIOSPI0MI] 4.0 -datapath_only
|
||||
set_min_delay -from [get_ports XCVR_SPI_MISO] -to [get_pins e320_ps_bd_i/processing_system7_0/inst/PS7_i/EMIOSPI0MI] 0.0
|
||||
|
||||
# Clock synthesizer SPI
|
||||
set_max_delay -from [get_pins e320_ps_bd_i/processing_system7_0/inst/PS7_i/EMIOSPI1MO] \
|
||||
-to [get_ports CLK_PLL_SDATA] 9.0 -datapath_only
|
||||
set_min_delay -to [get_ports XCVR_SPI_MOSI] 0.0
|
||||
#
|
||||
set_max_delay -from [get_pins e320_ps_bd_i/processing_system7_0/inst/PS7_i/EMIOSPI1SCLKO] \
|
||||
-to [get_ports CLK_PLL_SCLK] 9.0 -datapath_only
|
||||
set_min_delay -to [get_ports XCVR_SPI_CLK] 0.0
|
||||
#
|
||||
set_max_delay -from [get_pins e320_ps_bd_i/processing_system7_0/inst/PS7_i/EMIOSPI1SSON[0]] \
|
||||
-to [get_ports CLK_PLL_SLE] 9.0 -datapath_only
|
||||
set_min_delay -to [get_ports XCVR_SPI_CS_N] 0.0
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Miscellaneous I/O Constraints
|
||||
###############################################################################
|
||||
|
||||
# Transceiver
|
||||
set_max_delay -to [get_ports XCVR_RESET_N] 50.0
|
||||
set_min_delay -to [get_ports XCVR_RESET_N] 0.0
|
||||
#
|
||||
set_max_delay -from [get_ports XCVR_CTRL_OUT[*]] 5.0 -datapath_only
|
||||
set_min_delay -from [get_ports XCVR_CTRL_OUT[*]] 0.0
|
||||
|
||||
# GPIO
|
||||
set_max_delay -from [get_ports GPIO_PREBUFF[*]] 5.0 -datapath_only
|
||||
set_min_delay -from [get_ports GPIO_PREBUFF[*]] 0.0
|
||||
#
|
||||
set_max_delay -from [all_fanin -only_cells -startpoints_only -flat [get_ports GPIO_DIR[*]]] \
|
||||
-to [get_ports GPIO_DIR[*]] 8.0 -datapath_only
|
||||
set_min_delay -to [get_ports GPIO_DIR[*]] 0.0
|
||||
#
|
||||
set_max_delay -from [all_fanin -only_cells -startpoints_only -flat [get_ports GPIO_PREBUFF[*]]] \
|
||||
-to [get_ports GPIO_PREBUFF[*]] 8.0 -datapath_only
|
||||
set_min_delay -to [get_ports GPIO_PREBUFF[*]] 0.0
|
||||
#
|
||||
set_max_delay -from [all_fanin -only_cells -startpoints_only -flat [get_ports GPIO_OE_N]] \
|
||||
-to [get_ports GPIO_OE_N] 8.0 -datapath_only
|
||||
set_min_delay -to [get_ports GPIO_OE_N] 0.0
|
||||
#
|
||||
set_max_delay -to [get_ports {EN_GPIO_2V5 EN_GPIO_3V3 EN_GPIO_VAR_SUPPLY}] 50.0
|
||||
set_min_delay -to [get_ports {EN_GPIO_2V5 EN_GPIO_3V3 EN_GPIO_VAR_SUPPLY}] 0.0
|
||||
|
||||
# GPS
|
||||
set_max_delay -from [get_ports {GPS_ALARM GPS_LOCK GPS_PHASELOCK GPS_SURVEY GPS_WARMUP}] 10.0 -datapath_only
|
||||
set_min_delay -from [get_ports {GPS_ALARM GPS_LOCK GPS_PHASELOCK GPS_SURVEY GPS_WARMUP}] 0.0
|
||||
#
|
||||
set_max_delay -to [get_ports GPS_INITSURV_N] 50.0
|
||||
set_min_delay -to [get_ports GPS_INITSURV_N] 0.0
|
||||
set_max_delay -to [get_ports GPS_RST_N] 50.0
|
||||
set_min_delay -to [get_ports GPS_RST_N] 0.0
|
||||
#
|
||||
set_max_delay -to [get_ports CLK_GPS_PWR_EN] 50.0
|
||||
set_min_delay -to [get_ports CLK_GPS_PWR_EN] 0.0
|
||||
|
||||
# Clock Control
|
||||
set_max_delay -from [all_fanin -only_cells -startpoints_only -flat [get_ports CLK_REF_SEL]] \
|
||||
-to [get_ports CLK_REF_SEL] 8.0 -datapath_only
|
||||
set_min_delay -to [get_ports CLK_REF_SEL] 0.0
|
||||
#
|
||||
set_max_delay -from [get_ports CLK_MUX_OUT] 5.0 -datapath_only
|
||||
set_min_delay -from [get_ports CLK_MUX_OUT] 0.0
|
||||
|
||||
# DDR3
|
||||
set_max_delay -to [get_ports ddr3_reset_n] 50.0
|
||||
set_min_delay -to [get_ports ddr3_reset_n] 0.0
|
||||
|
||||
# LEDs
|
||||
set_max_delay -to [get_ports RX1_GRN_ENA] 50.0
|
||||
set_min_delay -to [get_ports RX1_GRN_ENA] 0.0
|
||||
set_max_delay -to [get_ports TX1_RED_ENA] 50.0
|
||||
set_min_delay -to [get_ports TX1_RED_ENA] 0.0
|
||||
set_max_delay -to [get_ports TXRX1_GRN_ENA] 50.0
|
||||
set_min_delay -to [get_ports TXRX1_GRN_ENA] 0.0
|
||||
set_max_delay -to [get_ports RX2_GRN_ENA] 50.0
|
||||
set_min_delay -to [get_ports RX2_GRN_ENA] 0.0
|
||||
set_max_delay -to [get_ports TX2_RED_ENA] 50.0
|
||||
set_min_delay -to [get_ports TX2_RED_ENA] 0.0
|
||||
set_max_delay -to [get_ports TXRX2_GRN_ENA] 50.0
|
||||
set_min_delay -to [get_ports TXRX2_GRN_ENA] 0.0
|
||||
#
|
||||
set_max_delay -to [get_ports LED_ACT1] 50.0
|
||||
set_min_delay -to [get_ports LED_ACT1] 0.0
|
||||
set_max_delay -to [get_ports LED_LINK1] 50.0
|
||||
set_min_delay -to [get_ports LED_LINK1] 0.0
|
||||
|
||||
# Control Filters
|
||||
set_max_delay -from [all_fanin -only_cells -startpoints_only -flat [get_ports FE*_SEL[*]]] \
|
||||
-to [get_ports FE*_SEL[*]] 10.0 -datapath_only
|
||||
set_max_delay -from [all_fanin -only_cells -startpoints_only -flat [get_ports RX*_SEL[*]]] \
|
||||
-to [get_ports RX*_SEL[*]] 10.0 -datapath_only
|
||||
set_max_delay -from [all_fanin -only_cells -startpoints_only -flat [get_ports RX*_BSEL[*]]] \
|
||||
-to [get_ports RX*_BSEL[*]] 10.0 -datapath_only
|
||||
set_max_delay -from [all_fanin -only_cells -startpoints_only -flat [get_ports TX*_BSEL[*]]] \
|
||||
-to [get_ports TX*_BSEL[*]] 10.0 -datapath_only
|
||||
|
||||
# PA Control
|
||||
set_max_delay -from [all_fanin -only_cells -startpoints_only -flat [get_ports TX_HFAMP*_ENA]] \
|
||||
-to [get_ports TX_HFAMP*_ENA] 10.0 -datapath_only
|
||||
set_max_delay -from [all_fanin -only_cells -startpoints_only -flat [get_ports TX_LFAMP*_ENA]] \
|
||||
-to [get_ports TX_LFAMP*_ENA] 10.0 -datapath_only
|
||||
|
||||
# SFP
|
||||
set_max_delay -from [get_ports SFP1_RXLOS] 50.0
|
||||
set_min_delay -from [get_ports SFP1_RXLOS] 0.0
|
||||
set_max_delay -to [get_ports SFP1_TXDISABLE] 50.0
|
||||
set_min_delay -to [get_ports SFP1_TXDISABLE] 0.0
|
||||
@@ -0,0 +1,654 @@
|
||||
///////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2018 Ettus Research, A National Instruments Company
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0
|
||||
//
|
||||
// Module: e320_mgt_io_core
|
||||
// Description:
|
||||
// Encapsulates the PSC/PMA, the MAC layer and the control interface
|
||||
// for 1GbE, 10GbE and Aurora
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
module n3xx_mgt_io_core #(
|
||||
parameter PROTOCOL = "10GbE", // Must be {10GbE, 1GbE, Aurora, Disabled}
|
||||
parameter [13:0] REG_BASE = 14'h0,
|
||||
parameter REG_DWIDTH = 32,
|
||||
parameter REG_AWIDTH = 14,
|
||||
parameter [7:0] PORTNUM = 8'd0,
|
||||
parameter MDIO_EN = 0,
|
||||
parameter [4:0] MDIO_PHYADDR = 5'd0
|
||||
)(
|
||||
// Resets
|
||||
input areset,
|
||||
input bus_rst,
|
||||
// Clocks
|
||||
input gt_refclk,
|
||||
input gb_refclk,
|
||||
input misc_clk,
|
||||
input bus_clk,
|
||||
// SFP high-speed IO
|
||||
output txp,
|
||||
output txn,
|
||||
input rxp,
|
||||
input rxn,
|
||||
// SFP low-speed IO
|
||||
input sfpp_rxlos,
|
||||
input sfpp_tx_fault,
|
||||
output sfpp_tx_disable,
|
||||
// Data port: Ethernet TX
|
||||
input [63:0] s_axis_tdata,
|
||||
input [3:0] s_axis_tuser,
|
||||
input s_axis_tlast,
|
||||
input s_axis_tvalid,
|
||||
output s_axis_tready,
|
||||
// Data port: Ethernet RX
|
||||
output [63:0] m_axis_tdata,
|
||||
output [3:0] m_axis_tuser,
|
||||
output m_axis_tlast,
|
||||
output m_axis_tvalid,
|
||||
input m_axis_tready,
|
||||
// Register port
|
||||
input reg_wr_req,
|
||||
input [REG_AWIDTH-1:0] reg_wr_addr,
|
||||
input [REG_DWIDTH-1:0] reg_wr_data,
|
||||
input reg_rd_req,
|
||||
input [REG_AWIDTH-1:0] reg_rd_addr,
|
||||
output reg_rd_resp,
|
||||
output [REG_DWIDTH-1:0] reg_rd_data,
|
||||
// Misc
|
||||
output [31:0] port_info,
|
||||
output link_up,
|
||||
output reg activity
|
||||
);
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
// Registers
|
||||
//-----------------------------------------------------------------
|
||||
localparam [7:0] COMPAT_NUM = 8'd2;
|
||||
|
||||
// Common registers
|
||||
localparam REG_PORT_INFO = REG_BASE + 'h0;
|
||||
localparam REG_MAC_CTRL_STATUS = REG_BASE + 'h4;
|
||||
localparam REG_PHY_CTRL_STATUS = REG_BASE + 'h8;
|
||||
localparam REG_MAC_LED_CTL = REG_BASE + 'hC;
|
||||
|
||||
// Ethernet specific
|
||||
localparam REG_ETH_MDIO_BASE = REG_BASE + 'h10;
|
||||
// Aurora specific
|
||||
localparam REG_AURORA_OVERRUNS = REG_BASE + 'h20;
|
||||
localparam REG_CHECKSUM_ERRORS = REG_BASE + 'h24;
|
||||
localparam REG_BIST_CHECKER_SAMPS = REG_BASE + 'h28;
|
||||
localparam REG_BIST_CHECKER_ERRORS = REG_BASE + 'h2C;
|
||||
|
||||
wire reg_rd_resp_mdio;
|
||||
reg reg_rd_resp_glob = 1'b0;
|
||||
wire [REG_DWIDTH-1:0] reg_rd_data_mdio;
|
||||
reg [REG_DWIDTH-1:0] reg_rd_data_glob = 32'h0;
|
||||
|
||||
// Protocol specific constants
|
||||
wire [7:0] mgt_protocol;
|
||||
wire [31:0] mac_ctrl_rst_val, phy_ctrl_rst_val;
|
||||
wire [1:0] mac_led_ctl_rst_val = 2'h0;
|
||||
|
||||
// Flush logic: If the link is not up, we will flush all packets coming from
|
||||
// the device. This avoids the MAC backpressuring when the PHY is down.
|
||||
// The device will always send discovery packets to the transports during
|
||||
// initialization, and they have no way of knowing if it's safe to travel
|
||||
// down this route. c2mac == "CHDR to MAC"
|
||||
wire [63:0] c2mac_tdata;
|
||||
wire [3:0] c2mac_tuser;
|
||||
wire c2mac_tlast;
|
||||
wire c2mac_tvalid;
|
||||
wire c2mac_tready;
|
||||
|
||||
axis_packet_flush #(
|
||||
.WIDTH(64+3), // tdata + tuser
|
||||
.TIMEOUT_W(1), // Not using timeout
|
||||
.FLUSH_PARTIAL_PKTS(0),
|
||||
.PIPELINE("NONE")
|
||||
) linkup_flush (
|
||||
.clk(bus_clk),
|
||||
.reset(bus_rst),
|
||||
.enable(~link_up), // enable flushing when link down
|
||||
.timeout(1'b0),
|
||||
.flushing(/* not required */),
|
||||
.done(/* not required */),
|
||||
// Input from device/crossbar
|
||||
.s_axis_tdata ({s_axis_tuser, s_axis_tdata}),
|
||||
.s_axis_tlast (s_axis_tlast),
|
||||
.s_axis_tvalid (s_axis_tvalid),
|
||||
.s_axis_tready (s_axis_tready),
|
||||
// Output to MAC
|
||||
.m_axis_tdata ({c2mac_tuser, c2mac_tdata}),
|
||||
.m_axis_tlast (c2mac_tlast),
|
||||
.m_axis_tvalid (c2mac_tvalid),
|
||||
.m_axis_tready (c2mac_tready)
|
||||
);
|
||||
|
||||
generate
|
||||
if (PROTOCOL == "Aurora") begin
|
||||
assign mgt_protocol = 8'd3;
|
||||
assign mac_ctrl_rst_val = 32'h0;
|
||||
assign phy_ctrl_rst_val = 32'h0;
|
||||
end else if (PROTOCOL == "10GbE") begin
|
||||
assign mgt_protocol = 8'd2;
|
||||
assign mac_ctrl_rst_val = {31'h0, 1'b1}; // tx_enable on reset
|
||||
assign phy_ctrl_rst_val = 32'h0;
|
||||
end else if (PROTOCOL == "1GbE") begin
|
||||
assign mgt_protocol = 8'd1;
|
||||
assign mac_ctrl_rst_val = {31'h0, 1'b1}; // tx_enable on reset
|
||||
assign phy_ctrl_rst_val = 32'h0;
|
||||
end else begin
|
||||
assign mgt_protocol = 8'd0;
|
||||
assign mac_ctrl_rst_val = 32'h0;
|
||||
assign phy_ctrl_rst_val = 32'h0;
|
||||
end
|
||||
endgenerate
|
||||
|
||||
// Writable registers
|
||||
reg [31:0] mac_ctrl_reg = 32'h0;
|
||||
reg [31:0] phy_ctrl_reg = 32'h0;
|
||||
reg [1:0] mac_led_ctl = 2'h0;
|
||||
|
||||
always @(posedge bus_clk) begin
|
||||
if (bus_rst) begin
|
||||
mac_ctrl_reg <= mac_ctrl_rst_val;
|
||||
phy_ctrl_reg <= phy_ctrl_rst_val;
|
||||
mac_led_ctl <= mac_led_ctl_rst_val;
|
||||
end else if (reg_wr_req) begin
|
||||
case(reg_wr_addr)
|
||||
REG_MAC_CTRL_STATUS:
|
||||
mac_ctrl_reg <= reg_wr_data;
|
||||
REG_PHY_CTRL_STATUS:
|
||||
phy_ctrl_reg <= reg_wr_data;
|
||||
REG_MAC_LED_CTL:
|
||||
mac_led_ctl <= reg_wr_data[1:0];
|
||||
endcase
|
||||
end
|
||||
end
|
||||
|
||||
// Readable registers
|
||||
wire [31:0] overruns;
|
||||
wire [31:0] checksum_errors;
|
||||
wire [47:0] bist_checker_samps;
|
||||
wire [47:0] bist_checker_errors;
|
||||
wire [31:0] mac_status, phy_status;
|
||||
wire [31:0] mac_status_bclk, phy_status_bclk;
|
||||
|
||||
assign port_info = {COMPAT_NUM, 6'h0, activity, link_up, mgt_protocol, PORTNUM};
|
||||
|
||||
always @(posedge bus_clk) begin
|
||||
// No reset handling needed for readback
|
||||
if (reg_rd_req) begin
|
||||
reg_rd_resp_glob <= 1'b1;
|
||||
case(reg_rd_addr)
|
||||
REG_PORT_INFO:
|
||||
reg_rd_data_glob <= port_info;
|
||||
REG_MAC_CTRL_STATUS:
|
||||
reg_rd_data_glob <= mac_status_bclk;
|
||||
REG_PHY_CTRL_STATUS:
|
||||
reg_rd_data_glob <= phy_status_bclk;
|
||||
REG_MAC_LED_CTL:
|
||||
reg_rd_data_glob <= {30'd0, mac_led_ctl};
|
||||
REG_AURORA_OVERRUNS:
|
||||
reg_rd_data_glob <= overruns;
|
||||
REG_CHECKSUM_ERRORS:
|
||||
reg_rd_data_glob <= checksum_errors;
|
||||
REG_BIST_CHECKER_SAMPS:
|
||||
reg_rd_data_glob <= bist_checker_samps[47:16]; //Scale num samples by 2^16
|
||||
REG_BIST_CHECKER_ERRORS:
|
||||
reg_rd_data_glob <= bist_checker_errors[31:0]; //Don't scale errors
|
||||
default:
|
||||
reg_rd_resp_glob <= 1'b0;
|
||||
endcase
|
||||
end if (reg_rd_resp_glob) begin
|
||||
reg_rd_resp_glob <= 1'b0;
|
||||
end
|
||||
end
|
||||
|
||||
synchronizer #( .STAGES(2), .WIDTH(32), .INITIAL_VAL(32'h0) ) mac_status_sync_i (
|
||||
.clk(bus_clk), .rst(1'b0), .in(mac_status), .out(mac_status_bclk)
|
||||
);
|
||||
|
||||
synchronizer #( .STAGES(2), .WIDTH(32), .INITIAL_VAL(32'h0) ) phy_status_sync_i (
|
||||
.clk(bus_clk), .rst(1'b0), .in(phy_status), .out(phy_status_bclk)
|
||||
);
|
||||
|
||||
// Regport Mux for response
|
||||
regport_resp_mux #(
|
||||
.WIDTH (REG_DWIDTH),
|
||||
.NUM_SLAVES (2)
|
||||
) reg_resp_mux_i (
|
||||
.clk(bus_clk), .reset(bus_rst),
|
||||
.sla_rd_resp({reg_rd_resp_mdio, reg_rd_resp_glob}),
|
||||
.sla_rd_data({reg_rd_data_mdio, reg_rd_data_glob}),
|
||||
.mst_rd_resp(reg_rd_resp), .mst_rd_data(reg_rd_data)
|
||||
);
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
// Ethernet Specific: MDIO
|
||||
//-----------------------------------------------------------------
|
||||
|
||||
wire mdc, mdio_m2s, mdio_s2m, mdio_s2m_sync;
|
||||
generate
|
||||
if ((PROTOCOL == "10GbE" || PROTOCOL == "1GbE") && (MDIO_EN == 1)) begin
|
||||
mdio_master #(
|
||||
.REG_BASE (REG_ETH_MDIO_BASE),
|
||||
.REG_AWIDTH (REG_AWIDTH),
|
||||
.MDC_DIVIDER (8'd200)
|
||||
) mdio_master_i (
|
||||
.clk (bus_clk),
|
||||
.rst (bus_rst),
|
||||
.mdc (mdc),
|
||||
.mdio_in (mdio_s2m_sync),
|
||||
.mdio_out (mdio_m2s),
|
||||
.mdio_tri (),
|
||||
.reg_wr_req (reg_wr_req),
|
||||
.reg_wr_addr (reg_wr_addr),
|
||||
.reg_wr_data (reg_wr_data),
|
||||
.reg_rd_req (reg_rd_req),
|
||||
.reg_rd_addr (reg_rd_addr),
|
||||
.reg_rd_data (reg_rd_data_mdio),
|
||||
.reg_rd_resp (reg_rd_resp_mdio)
|
||||
);
|
||||
|
||||
// We can cross mdio_s2m into the bus_clk domain. A synchronizer is safe
|
||||
// here because the bit is inherently async
|
||||
synchronizer #(.INITIAL_VAL(1'b0)) mdio_s2m_sync_i (
|
||||
.clk(bus_clk), .rst(1'b0 /* no reset */), .in(mdio_s2m), .out(mdio_s2m_sync)
|
||||
);
|
||||
end else begin
|
||||
assign mdc = 1'b0;
|
||||
assign mdio_m2s = 1'b0;
|
||||
assign reg_rd_resp_mdio = 1'b0;
|
||||
assign reg_rd_data_mdio = 32'h0;
|
||||
end
|
||||
endgenerate
|
||||
|
||||
generate
|
||||
if (PROTOCOL == "10GbE") begin
|
||||
//-----------------------------------------------------------------
|
||||
// 10 Gigabit Ethernet
|
||||
//-----------------------------------------------------------------
|
||||
wire [63:0] xgmii_txd;
|
||||
wire [7:0] xgmii_txc;
|
||||
wire [63:0] xgmii_rxd;
|
||||
wire [7:0] xgmii_rxc;
|
||||
wire xge_phy_resetdone;
|
||||
|
||||
ten_gige_phy ten_gige_phy_i
|
||||
(
|
||||
// Clocks and Reset
|
||||
.areset(areset | phy_ctrl_reg[0]), // Asynchronous reset for entire core.
|
||||
.refclk(gt_refclk), // Transciever reference clock: 156.25MHz
|
||||
.clk156(gb_refclk), // Globally buffered core clock: 156.25MHz
|
||||
.dclk(misc_clk), // Management/DRP clock: 78.125MHz
|
||||
.sim_speedup_control(1'b0),
|
||||
// GMII Interface (client MAC <=> PCS)
|
||||
.xgmii_txd(xgmii_txd), // Transmit data from client MAC.
|
||||
.xgmii_txc(xgmii_txc), // Transmit control signal from client MAC.
|
||||
.xgmii_rxd(xgmii_rxd), // Received Data to client MAC.
|
||||
.xgmii_rxc(xgmii_rxc), // Received control signal to client MAC.
|
||||
// Tranceiver Interface
|
||||
.txp(txp), // Differential +ve of serial transmission from PMA to PMD.
|
||||
.txn(txn), // Differential -ve of serial transmission from PMA to PMD.
|
||||
.rxp(rxp), // Differential +ve for serial reception from PMD to PMA.
|
||||
.rxn(rxn), // Differential -ve for serial reception from PMD to PMA.
|
||||
// Management: MDIO Interface
|
||||
.mdc(mdc), // Management Data Clock
|
||||
.mdio_in(mdio_m2s), // Management Data In
|
||||
.mdio_out(mdio_s2m), // Management Data Out
|
||||
.mdio_tri(), // Management Data Tristate
|
||||
.prtad(MDIO_PHYADDR), // MDIO address
|
||||
// General IO's
|
||||
.core_status(phy_status[7:0]), // Core status
|
||||
.resetdone(xge_phy_resetdone),
|
||||
.signal_detect(~sfpp_rxlos), // Input from PMD to indicate presence of optical input. (Undocumented, but it seems Xilinx expect this to be inverted.)
|
||||
.tx_fault(sfpp_tx_fault),
|
||||
.tx_disable(sfpp_tx_disable)
|
||||
);
|
||||
|
||||
xge_mac_wrapper #(
|
||||
.PORTNUM(PORTNUM),
|
||||
.WISHBONE(0)
|
||||
) xge_mac_wrapper_i (
|
||||
// XGMII
|
||||
.xgmii_clk(gb_refclk),
|
||||
.xgmii_txd(xgmii_txd),
|
||||
.xgmii_txc(xgmii_txc),
|
||||
.xgmii_rxd(xgmii_rxd),
|
||||
.xgmii_rxc(xgmii_rxc),
|
||||
// Client FIFO Interfaces
|
||||
.sys_clk(bus_clk),
|
||||
.sys_rst(bus_rst),
|
||||
.rx_tdata(m_axis_tdata),
|
||||
.rx_tuser(m_axis_tuser),
|
||||
.rx_tlast(m_axis_tlast),
|
||||
.rx_tvalid(m_axis_tvalid),
|
||||
.rx_tready(m_axis_tready),
|
||||
.tx_tdata(c2mac_tdata),
|
||||
.tx_tuser(c2mac_tuser), // Bit[3] (error) is ignored for now.
|
||||
.tx_tlast(c2mac_tlast),
|
||||
.tx_tvalid(c2mac_tvalid),
|
||||
.tx_tready(c2mac_tready),
|
||||
// Other
|
||||
.phy_ready(xge_phy_resetdone),
|
||||
.ctrl_tx_enable(mac_ctrl_reg[0]),
|
||||
.status_crc_error(mac_status[0]),
|
||||
.status_fragment_error(mac_status[1]),
|
||||
.status_txdfifo_ovflow(mac_status[2]),
|
||||
.status_txdfifo_udflow(mac_status[3]),
|
||||
.status_rxdfifo_ovflow(mac_status[4]),
|
||||
.status_rxdfifo_udflow(mac_status[5]),
|
||||
.status_pause_frame_rx(mac_status[6]),
|
||||
.status_local_fault(mac_status[7]),
|
||||
.status_remote_fault(mac_status[8]),
|
||||
.wb_ack_o(),
|
||||
.wb_dat_o(),
|
||||
.wb_adr_i(1'b0),
|
||||
.wb_clk_i(1'b0),
|
||||
.wb_cyc_i(1'b0),
|
||||
.wb_dat_i(1'b0),
|
||||
.wb_rst_i(1'b0),
|
||||
.wb_stb_i(1'b0),
|
||||
.wb_we_i (1'b0),
|
||||
.wb_int_o()
|
||||
);
|
||||
|
||||
assign phy_status[31:8] = 24'h0;
|
||||
assign mac_status[31:9] = 23'h0;
|
||||
assign link_up = phy_status_bclk[0];
|
||||
|
||||
end else if (PROTOCOL == "1GbE") begin
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
// 1 Gigabit Ethernet
|
||||
//-----------------------------------------------------------------
|
||||
wire [7:0] gmii_txd, gmii_rxd;
|
||||
wire gmii_tx_en, gmii_tx_er, gmii_rx_dv, gmii_rx_er;
|
||||
wire gmii_clk;
|
||||
wire gt0_qplloutclk, gt0_qplloutrefclk; //unused in 7-series Zynq
|
||||
|
||||
assign gt0_qplloutclk = 1'b0;
|
||||
assign gt0_qplloutrefclk = 1'b0;
|
||||
assign sfpp_tx_disable = 1'b0; // Always on.
|
||||
|
||||
one_gige_phy one_gige_phy_i
|
||||
(
|
||||
.reset(areset | phy_ctrl_reg[0]), // Asynchronous reset for entire core.
|
||||
.independent_clock(bus_clk),
|
||||
// Tranceiver Interface
|
||||
.gtrefclk(gt_refclk), // Reference clock for MGT: 125MHz, very high quality.
|
||||
.gtrefclk_bufg(gb_refclk), // Reference clock routed through a BUFG
|
||||
.txp(txp), // Differential +ve of serial transmission from PMA to PMD.
|
||||
.txn(txn), // Differential -ve of serial transmission from PMA to PMD.
|
||||
.rxp(rxp), // Differential +ve for serial reception from PMD to PMA.
|
||||
.rxn(rxn), // Differential -ve for serial reception from PMD to PMA.
|
||||
// GMII Interface (client MAC <=> PCS)
|
||||
.gmii_clk(gmii_clk), // Clock to client MAC.
|
||||
.gmii_txd(gmii_txd), // Transmit data from client MAC.
|
||||
.gmii_tx_en(gmii_tx_en), // Transmit control signal from client MAC.
|
||||
.gmii_tx_er(gmii_tx_er), // Transmit control signal from client MAC.
|
||||
.gmii_rxd(gmii_rxd), // Received Data to client MAC.
|
||||
.gmii_rx_dv(gmii_rx_dv), // Received control signal to client MAC.
|
||||
.gmii_rx_er(gmii_rx_er), // Received control signal to client MAC.
|
||||
// Management: MDIO Interface
|
||||
.mdc(mdc), // Management Data Clock
|
||||
.mdio_i(mdio_m2s), // Management Data In
|
||||
.mdio_o(mdio_s2m), // Management Data Out
|
||||
.mdio_t(), // Management Data Tristate
|
||||
.phyaddr(MDIO_PHYADDR), // MDIO address
|
||||
.configuration_vector(5'd0), // Alternative to MDIO interface.
|
||||
.configuration_valid(1'b1), // Validation signal for Config vector (MUST be 1 for proper functionality...undocumented)
|
||||
// General IO's
|
||||
.status_vector(phy_status[15:0]), // Core status.
|
||||
.signal_detect(1'b1 /*Optical module not supported*/) // Input from PMD to indicate presence of optical input.
|
||||
);
|
||||
|
||||
simple_gemac_wrapper #(.RX_FLOW_CTRL(0), .PORTNUM(PORTNUM)) simple_gemac_wrapper_i
|
||||
(
|
||||
.clk125(gmii_clk),
|
||||
.reset(areset),
|
||||
|
||||
.GMII_GTX_CLK(),
|
||||
.GMII_TX_EN(gmii_tx_en),
|
||||
.GMII_TX_ER(gmii_tx_er),
|
||||
.GMII_TXD(gmii_txd),
|
||||
.GMII_RX_CLK(gmii_clk),
|
||||
.GMII_RX_DV(gmii_rx_dv),
|
||||
.GMII_RX_ER(gmii_rx_er),
|
||||
.GMII_RXD(gmii_rxd),
|
||||
|
||||
.sys_clk(bus_clk),
|
||||
.rx_tdata(m_axis_tdata),
|
||||
.rx_tuser(m_axis_tuser),
|
||||
.rx_tlast(m_axis_tlast),
|
||||
.rx_tvalid(m_axis_tvalid),
|
||||
.rx_tready(m_axis_tready),
|
||||
.tx_tdata(c2mac_tdata),
|
||||
.tx_tuser(c2mac_tuser),
|
||||
.tx_tlast(c2mac_tlast),
|
||||
.tx_tvalid(c2mac_tvalid),
|
||||
.tx_tready(c2mac_tready),
|
||||
|
||||
.wb_clk_i(1'b0),
|
||||
.wb_rst_i(1'b0),
|
||||
.wb_adr_i(8'h0),
|
||||
.wb_dat_i(32'h0),
|
||||
.wb_we_i(1'b0),
|
||||
.wb_stb_i(1'b0),
|
||||
.wb_cyc_i(1'b0),
|
||||
.wb_dat_o(),
|
||||
.wb_ack_o(),
|
||||
.wb_int_o(),
|
||||
.mdc(),
|
||||
.mdio_out(1'b0),
|
||||
.mdio_tri(),
|
||||
.mdio_in(),
|
||||
.debug_tx(),
|
||||
.debug_rx()
|
||||
);
|
||||
|
||||
assign phy_status[31:16] = 16'h0;
|
||||
assign mac_status[31:0] = 32'h0;
|
||||
assign link_up = phy_status_bclk[0];
|
||||
|
||||
assign gt_tx_out_clk_unbuf = 1'b0;
|
||||
|
||||
end else if (PROTOCOL == "Aurora") begin
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
// Aurora
|
||||
//-----------------------------------------------------------------
|
||||
wire user_clk, user_rst;
|
||||
wire [63:0] m2p_tdata, p2m_tdata;
|
||||
wire m2p_tvalid, m2p_tready, p2m_tvalid;
|
||||
wire channel_up, hard_err, soft_err, mac_crit_err;
|
||||
|
||||
wire bist_checker_en = mac_ctrl_reg[0];
|
||||
wire bist_gen_en = mac_ctrl_reg[1];
|
||||
wire bist_loopback_en = mac_ctrl_reg[2];
|
||||
wire [5:0] bist_gen_rate = mac_ctrl_reg[8:3];
|
||||
wire phy_areset = mac_ctrl_reg[9];
|
||||
wire mac_clear = mac_ctrl_reg[10];
|
||||
wire bist_checker_locked;
|
||||
|
||||
assign sfpp_tx_disable = 1'b0; // Always on.
|
||||
|
||||
aurora_phy_x1 aurora_phy_i (
|
||||
// Resets
|
||||
.areset(areset | phy_areset),
|
||||
// Clocks
|
||||
.refclk(gt_refclk),
|
||||
.init_clk(misc_clk),
|
||||
.user_clk(user_clk),
|
||||
.user_rst(user_rst),
|
||||
// GTX Serial I/O
|
||||
.tx_p(txp),
|
||||
.tx_n(txn),
|
||||
.rx_p(rxp),
|
||||
.rx_n(rxn),
|
||||
// AXI4-Stream TX Interface
|
||||
.s_axis_tdata(m2p_tdata),
|
||||
.s_axis_tvalid(m2p_tvalid),
|
||||
.s_axis_tready(m2p_tready),
|
||||
// AXI4-Stream RX Interface
|
||||
.m_axis_tdata(p2m_tdata),
|
||||
.m_axis_tvalid(p2m_tvalid),
|
||||
// AXI4-Lite Config Interface (unused)
|
||||
.s_axi_awaddr(32'h0),
|
||||
.s_axi_araddr(32'h0),
|
||||
.s_axi_awvalid(1'b0),
|
||||
.s_axi_awready(),
|
||||
.s_axi_wdata(32'h0),
|
||||
.s_axi_wvalid(1'b0),
|
||||
.s_axi_wstrb(1'b0),
|
||||
.s_axi_wready(),
|
||||
.s_axi_bvalid(),
|
||||
.s_axi_bresp(),
|
||||
.s_axi_bready(1'b1),
|
||||
.s_axi_arready(),
|
||||
.s_axi_arvalid(1'b0),
|
||||
.s_axi_rdata(),
|
||||
.s_axi_rvalid(),
|
||||
.s_axi_rresp(),
|
||||
.s_axi_rready(1'b1),
|
||||
// Status and Error Reporting Interface
|
||||
.channel_up(channel_up),
|
||||
.hard_err(hard_err),
|
||||
.soft_err(soft_err)
|
||||
);
|
||||
|
||||
aurora_axis_mac #(
|
||||
.PHY_ENDIANNESS ("LITTLE"),
|
||||
.PACKET_MODE (1),
|
||||
.MAX_PACKET_SIZE(1024),
|
||||
.BIST_ENABLED (1)
|
||||
) aurora_mac_i (
|
||||
// Clocks and resets
|
||||
.phy_clk(user_clk), .phy_rst(user_rst),
|
||||
.sys_clk(bus_clk), .sys_rst(bus_rst),
|
||||
.clear(mac_clear),
|
||||
// PHY Interface (Synchronous to phy_clk)
|
||||
.phy_s_axis_tdata(p2m_tdata),
|
||||
.phy_s_axis_tvalid(p2m_tvalid),
|
||||
.phy_m_axis_tdata(m2p_tdata),
|
||||
.phy_m_axis_tvalid(m2p_tvalid),
|
||||
.phy_m_axis_tready(m2p_tready),
|
||||
// User Interface (Synchronous to sys_clk)
|
||||
.s_axis_tdata(c2mac_tdata),
|
||||
.s_axis_tlast(c2mac_tlast),
|
||||
.s_axis_tvalid(c2mac_tvalid),
|
||||
.s_axis_tready(c2mac_tready),
|
||||
.m_axis_tdata(m_axis_tdata),
|
||||
.m_axis_tlast(m_axis_tlast),
|
||||
.m_axis_tvalid(m_axis_tvalid),
|
||||
.m_axis_tready(m_axis_tready),
|
||||
// PHY Status Inputs (Synchronous to phy_clk)
|
||||
.channel_up(channel_up),
|
||||
.hard_err(hard_err),
|
||||
.soft_err(soft_err),
|
||||
// Status and Error Outputs (Synchronous to sys_clk)
|
||||
.overruns(overruns),
|
||||
.soft_errors(),
|
||||
.checksum_errors(checksum_errors),
|
||||
.critical_err(mac_crit_err),
|
||||
// BIST Interface (Synchronous to sys_clk)
|
||||
.bist_gen_en(bist_gen_en),
|
||||
.bist_gen_rate(bist_gen_rate),
|
||||
.bist_checker_en(bist_checker_en),
|
||||
.bist_loopback_en(bist_loopback_en),
|
||||
.bist_checker_locked(bist_checker_locked),
|
||||
.bist_checker_samps(bist_checker_samps),
|
||||
.bist_checker_errors(bist_checker_errors)
|
||||
);
|
||||
|
||||
assign m_axis_tuser = 4'd0;
|
||||
|
||||
wire channel_up_bclk, hard_err_bclk, soft_err_bclk, mac_crit_err_bclk;
|
||||
synchronizer #(.INITIAL_VAL(1'b0)) channel_up_sync (
|
||||
.clk(bus_clk), .rst(1'b0 /* no reset */), .in(channel_up), .out(channel_up_bclk));
|
||||
synchronizer #(.INITIAL_VAL(1'b0)) hard_err_sync (
|
||||
.clk(bus_clk), .rst(1'b0 /* no reset */), .in(hard_err), .out(hard_err_bclk));
|
||||
synchronizer #(.INITIAL_VAL(1'b0)) soft_err_sync (
|
||||
.clk(bus_clk), .rst(1'b0 /* no reset */), .in(soft_err), .out(soft_err_bclk));
|
||||
synchronizer #(.INITIAL_VAL(1'b0)) mac_crit_err_sync (
|
||||
.clk(bus_clk), .rst(1'b0 /* no reset */), .in(mac_crit_err), .out(mac_crit_err_bclk));
|
||||
|
||||
reg [19:0] bist_lock_latency;
|
||||
always @(posedge bus_clk) begin
|
||||
if (!bist_checker_en && !bist_checker_locked)
|
||||
bist_lock_latency <= 20'd0;
|
||||
else if (bist_checker_en && !bist_checker_locked)
|
||||
bist_lock_latency <= bist_lock_latency + 20'd1;
|
||||
end
|
||||
|
||||
reg mac_crit_err_latch;
|
||||
always @(posedge bus_clk) begin
|
||||
if (bus_rst | mac_clear) begin
|
||||
mac_crit_err_latch <= 1'b0;
|
||||
end else begin
|
||||
if (mac_crit_err_bclk)
|
||||
mac_crit_err_latch <= 1'b1;
|
||||
end
|
||||
end
|
||||
|
||||
assign phy_status = {30'd0, hard_err, channel_up};
|
||||
assign mac_status = {
|
||||
6'h0, //[31:26]
|
||||
mac_crit_err_latch, //[25]
|
||||
1'b1, //[24]
|
||||
1'b0, //[23]
|
||||
1'b0, //[22]
|
||||
1'b0, //[21]
|
||||
1'b0, //[20]
|
||||
bist_lock_latency[19:4], //[19:4]
|
||||
bist_checker_locked, //[3]
|
||||
soft_err_bclk, //[2]
|
||||
hard_err_bclk, //[1]
|
||||
channel_up_bclk //[0]
|
||||
};
|
||||
|
||||
assign link_up = channel_up_bclk;
|
||||
|
||||
end else begin
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
// Disabled
|
||||
//-----------------------------------------------------------------
|
||||
|
||||
assign phy_status = 'h0;
|
||||
assign mac_status = 'h0;
|
||||
assign link_up = 1'b0;
|
||||
|
||||
assign sfpp_tx_disable = 1'b0; // Always on.
|
||||
|
||||
assign c2mac_tready = 1'b1;
|
||||
assign m_axis_tdata = 64'h0;
|
||||
assign m_axis_tuser = 4'h0;
|
||||
assign m_axis_tlast = 1'b0;
|
||||
assign m_axis_tvalid = 1'b0;
|
||||
|
||||
end
|
||||
endgenerate
|
||||
|
||||
wire identify_enable = mac_led_ctl[0];
|
||||
wire identify_value = mac_led_ctl[1];
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
// Activity detector
|
||||
//-----------------------------------------------------------------
|
||||
wire activity_int;
|
||||
|
||||
pulse_stretch act_pulse_str_i (
|
||||
.clk(bus_clk),
|
||||
.rst(bus_rst | ~link_up),
|
||||
.pulse((s_axis_tvalid & s_axis_tready) | (m_axis_tvalid & m_axis_tready)),
|
||||
.pulse_stretched(activity_int)
|
||||
);
|
||||
|
||||
always @ (posedge bus_clk) activity <= identify_enable ? identify_value : activity_int;
|
||||
|
||||
endmodule
|
||||
@@ -0,0 +1,484 @@
|
||||
///////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2017 Ettus Research, A National Instruments Company
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
//
|
||||
// Module: n3xx_sfp_wrapper
|
||||
// Description:
|
||||
// Reduces clutter at top level.
|
||||
// - Aurora: wraps up sfpp_io, axil_regport and axi_dummy
|
||||
// - 1/10G: wrapper around network interface
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
module n3xx_sfp_wrapper #(
|
||||
parameter PROTOCOL = "10GbE", // Must be {10GbE, 1GbE, Aurora, Disabled}
|
||||
parameter DWIDTH = 32,
|
||||
parameter AWIDTH = 14,
|
||||
parameter [7:0] PORTNUM = 8'd0,
|
||||
parameter MDIO_EN = 0,
|
||||
parameter [4:0] MDIO_PHYADDR = 5'd0,
|
||||
parameter [15:0] RFNOC_PROTOVER = {8'd1, 8'd0}
|
||||
)(
|
||||
// Resets
|
||||
input areset,
|
||||
input bus_rst,
|
||||
|
||||
// Clocks
|
||||
input gt_refclk,
|
||||
input gb_refclk,
|
||||
input misc_clk,
|
||||
input bus_clk,
|
||||
// FIXME: Merge E320 and N310 files
|
||||
input user_clk,
|
||||
input sync_clk,
|
||||
|
||||
//Axi-lite
|
||||
input s_axi_aclk,
|
||||
input s_axi_aresetn,
|
||||
input [AWIDTH-1:0] s_axi_awaddr,
|
||||
input s_axi_awvalid,
|
||||
output s_axi_awready,
|
||||
|
||||
input [DWIDTH-1:0] s_axi_wdata,
|
||||
input [DWIDTH/8-1:0] s_axi_wstrb,
|
||||
input s_axi_wvalid,
|
||||
output s_axi_wready,
|
||||
|
||||
output [1:0] s_axi_bresp,
|
||||
output s_axi_bvalid,
|
||||
input s_axi_bready,
|
||||
|
||||
input [AWIDTH-1:0] s_axi_araddr,
|
||||
input s_axi_arvalid,
|
||||
output s_axi_arready,
|
||||
|
||||
output [DWIDTH-1:0] s_axi_rdata,
|
||||
output [1:0] s_axi_rresp,
|
||||
output s_axi_rvalid,
|
||||
input s_axi_rready,
|
||||
|
||||
// SFP high-speed IO
|
||||
output txp,
|
||||
output txn,
|
||||
input rxp,
|
||||
input rxn,
|
||||
|
||||
// SFP low-speed IO
|
||||
input sfpp_present_n,
|
||||
input sfpp_rxlos,
|
||||
input sfpp_tx_fault,
|
||||
output sfpp_tx_disable,
|
||||
|
||||
//GT Common
|
||||
input qpllrefclklost,
|
||||
input qplllock,
|
||||
input qplloutclk,
|
||||
input qplloutrefclk,
|
||||
output qpllreset,
|
||||
|
||||
//Aurora MMCM
|
||||
input mmcm_locked,
|
||||
output gt_pll_lock,
|
||||
output gt_tx_out_clk_unbuf,
|
||||
|
||||
// Vita router interface
|
||||
output [63:0] e2v_tdata,
|
||||
output e2v_tlast,
|
||||
output e2v_tvalid,
|
||||
input e2v_tready,
|
||||
|
||||
input [63:0] v2e_tdata,
|
||||
input v2e_tlast,
|
||||
input v2e_tvalid,
|
||||
output v2e_tready,
|
||||
|
||||
// CPU
|
||||
output [63:0] e2c_tdata,
|
||||
output [7:0] e2c_tkeep,
|
||||
output e2c_tlast,
|
||||
output e2c_tvalid,
|
||||
input e2c_tready,
|
||||
|
||||
input [63:0] c2e_tdata,
|
||||
input [7:0] c2e_tkeep,
|
||||
input c2e_tlast,
|
||||
input c2e_tvalid,
|
||||
output c2e_tready,
|
||||
|
||||
// MISC
|
||||
output [31:0] port_info,
|
||||
input [15:0] device_id,
|
||||
|
||||
// Timebase Outputs
|
||||
output sfp_pps,
|
||||
output sfp_refclk,
|
||||
|
||||
// Sideband White Rabbit Control
|
||||
input wr_reset_n,
|
||||
input wr_refclk,
|
||||
|
||||
output wr_dac_sclk,
|
||||
output wr_dac_din,
|
||||
output wr_dac_clr_n,
|
||||
output wr_dac_cs_n,
|
||||
output wr_dac_ldac_n,
|
||||
|
||||
output wr_eeprom_scl_o,
|
||||
input wr_eeprom_scl_i,
|
||||
output wr_eeprom_sda_o,
|
||||
input wr_eeprom_sda_i,
|
||||
|
||||
input wr_uart_rx,
|
||||
output wr_uart_tx,
|
||||
|
||||
// WR AXI Control
|
||||
output wr_axi_aclk,
|
||||
input wr_axi_aresetn,
|
||||
input [31:0] wr_axi_awaddr,
|
||||
input wr_axi_awvalid,
|
||||
output wr_axi_awready,
|
||||
input [DWIDTH-1:0] wr_axi_wdata,
|
||||
input [DWIDTH/8-1:0] wr_axi_wstrb,
|
||||
input wr_axi_wvalid,
|
||||
output wr_axi_wready,
|
||||
output [1:0] wr_axi_bresp,
|
||||
output wr_axi_bvalid,
|
||||
input wr_axi_bready,
|
||||
input [31:0] wr_axi_araddr,
|
||||
input wr_axi_arvalid,
|
||||
output wr_axi_arready,
|
||||
output [DWIDTH-1:0] wr_axi_rdata,
|
||||
output [1:0] wr_axi_rresp,
|
||||
output wr_axi_rvalid,
|
||||
input wr_axi_rready,
|
||||
output wr_axi_rlast,
|
||||
|
||||
output link_up,
|
||||
output activity
|
||||
|
||||
);
|
||||
|
||||
localparam REG_BASE_SFP_IO = 14'h0;
|
||||
localparam REG_BASE_ETH_SWITCH = 14'h1000;
|
||||
|
||||
// AXI4-Lite to RegPort (PS to PL Register Access)
|
||||
wire reg_wr_req;
|
||||
wire [AWIDTH-1:0] reg_wr_addr;
|
||||
wire [DWIDTH-1:0] reg_wr_data;
|
||||
wire reg_rd_req;
|
||||
wire [AWIDTH-1:0] reg_rd_addr;
|
||||
wire reg_rd_resp, reg_rd_resp_io, reg_rd_resp_eth_if;
|
||||
wire [DWIDTH-1:0] reg_rd_data, reg_rd_data_io, reg_rd_data_eth_if;
|
||||
|
||||
axil_regport_master #(
|
||||
.DWIDTH (DWIDTH), // Width of the AXI4-Lite data bus (must be 32 or 64)
|
||||
.AWIDTH (AWIDTH), // Width of the address bus
|
||||
.WRBASE (0), // Write address base
|
||||
.RDBASE (0), // Read address base
|
||||
.TIMEOUT (10) // log2(timeout). Read will timeout after (2^TIMEOUT - 1) cycles
|
||||
) sfp_reg_mst_i (
|
||||
// Clock and reset
|
||||
.s_axi_aclk (s_axi_aclk),
|
||||
.s_axi_aresetn (s_axi_aresetn),
|
||||
// AXI4-Lite: Write address port (domain: s_axi_aclk)
|
||||
.s_axi_awaddr (s_axi_awaddr),
|
||||
.s_axi_awvalid (s_axi_awvalid),
|
||||
.s_axi_awready (s_axi_awready),
|
||||
// AXI4-Lite: Write data port (domain: s_axi_aclk)
|
||||
.s_axi_wdata (s_axi_wdata),
|
||||
.s_axi_wstrb (s_axi_wstrb),
|
||||
.s_axi_wvalid (s_axi_wvalid),
|
||||
.s_axi_wready (s_axi_wready),
|
||||
// AXI4-Lite: Write response port (domain: s_axi_aclk)
|
||||
.s_axi_bresp (s_axi_bresp),
|
||||
.s_axi_bvalid (s_axi_bvalid),
|
||||
.s_axi_bready (s_axi_bready),
|
||||
// AXI4-Lite: Read address port (domain: s_axi_aclk)
|
||||
.s_axi_araddr (s_axi_araddr),
|
||||
.s_axi_arvalid (s_axi_arvalid),
|
||||
.s_axi_arready (s_axi_arready),
|
||||
// AXI4-Lite: Read data port (domain: s_axi_aclk)
|
||||
.s_axi_rdata (s_axi_rdata),
|
||||
.s_axi_rresp (s_axi_rresp),
|
||||
.s_axi_rvalid (s_axi_rvalid),
|
||||
.s_axi_rready (s_axi_rready),
|
||||
// Register port: Write port (domain: reg_clk)
|
||||
.reg_clk (bus_clk),
|
||||
.reg_wr_req (reg_wr_req),
|
||||
.reg_wr_addr (reg_wr_addr),
|
||||
.reg_wr_data (reg_wr_data),
|
||||
// Register port: Read port (domain: reg_clk)
|
||||
.reg_rd_req (reg_rd_req),
|
||||
.reg_rd_addr (reg_rd_addr),
|
||||
.reg_rd_resp (reg_rd_resp),
|
||||
.reg_rd_data (reg_rd_data)
|
||||
);
|
||||
|
||||
// Regport Mux for response
|
||||
regport_resp_mux #(
|
||||
.WIDTH (DWIDTH),
|
||||
.NUM_SLAVES (2)
|
||||
) reg_resp_mux_i (
|
||||
.clk(bus_clk), .reset(bus_rst),
|
||||
.sla_rd_resp({reg_rd_resp_eth_if, reg_rd_resp_io}),
|
||||
.sla_rd_data({reg_rd_data_eth_if, reg_rd_data_io}),
|
||||
.mst_rd_resp(reg_rd_resp), .mst_rd_data(reg_rd_data)
|
||||
);
|
||||
|
||||
wire [63:0] sfpo_tdata, sfpi_tdata;
|
||||
wire [3:0] sfpo_tuser, sfpi_tuser;
|
||||
wire sfpo_tlast, sfpi_tlast, sfpo_tvalid, sfpi_tvalid, sfpo_tready, sfpi_tready;
|
||||
|
||||
generate
|
||||
if (PROTOCOL != "WhiteRabbit") begin
|
||||
n3xx_mgt_io_core #(
|
||||
.PROTOCOL (PROTOCOL),
|
||||
.REG_BASE (REG_BASE_SFP_IO),
|
||||
.REG_DWIDTH (DWIDTH), // Width of the AXI4-Lite data bus (must be 32 or 64)
|
||||
.REG_AWIDTH (AWIDTH), // Width of the address bus
|
||||
.MDIO_EN (MDIO_EN),
|
||||
.MDIO_PHYADDR (MDIO_PHYADDR),
|
||||
.PORTNUM (PORTNUM)
|
||||
) mgt_io_i (
|
||||
//must reset all channels on quad when sfp1 gtx core is reset
|
||||
.areset (areset),
|
||||
.gt_refclk (gt_refclk),
|
||||
.gb_refclk (gb_refclk),
|
||||
.misc_clk (misc_clk),
|
||||
|
||||
.bus_rst (bus_rst),
|
||||
.bus_clk (bus_clk),
|
||||
|
||||
.txp (txp),
|
||||
.txn (txn),
|
||||
.rxp (rxp),
|
||||
.rxn (rxn),
|
||||
|
||||
.sfpp_rxlos (sfpp_rxlos),
|
||||
.sfpp_tx_fault (sfpp_tx_fault),
|
||||
.sfpp_tx_disable(sfpp_tx_disable),
|
||||
|
||||
//RegPort
|
||||
.reg_wr_req (reg_wr_req),
|
||||
.reg_wr_addr (reg_wr_addr),
|
||||
.reg_wr_data (reg_wr_data),
|
||||
.reg_rd_req (reg_rd_req),
|
||||
.reg_rd_addr (reg_rd_addr),
|
||||
.reg_rd_resp (reg_rd_resp_io),
|
||||
.reg_rd_data (reg_rd_data_io),
|
||||
|
||||
// Vita to Ethernet
|
||||
.s_axis_tdata (sfpi_tdata),
|
||||
.s_axis_tuser (sfpi_tuser),
|
||||
.s_axis_tlast (sfpi_tlast),
|
||||
.s_axis_tvalid (sfpi_tvalid),
|
||||
.s_axis_tready (sfpi_tready),
|
||||
|
||||
// Ethernet to Vita
|
||||
.m_axis_tdata (sfpo_tdata),
|
||||
.m_axis_tuser (sfpo_tuser),
|
||||
.m_axis_tlast (sfpo_tlast),
|
||||
.m_axis_tvalid (sfpo_tvalid),
|
||||
.m_axis_tready (sfpo_tready),
|
||||
|
||||
.port_info (port_info),
|
||||
.link_up (link_up),
|
||||
.activity (activity)
|
||||
);
|
||||
|
||||
end else begin
|
||||
//---------------------------------------------------------------------------------
|
||||
// White Rabbit
|
||||
//---------------------------------------------------------------------------------
|
||||
|
||||
wire wr_sfp_scl, wr_sfp_sda_o, wr_sfp_sda_i;
|
||||
|
||||
n3xx_wr_top #(
|
||||
.g_simulation(1'b0), // in std_logic
|
||||
.g_dpram_size(131072/4),
|
||||
.g_dpram_initf("../../../../bin/wrpc/wrc_phy16.bram")
|
||||
) wr_inst (
|
||||
.areset_n_i (wr_reset_n), // in std_logic; -- active low reset, optional
|
||||
.wr_refclk_buf_i (wr_refclk), // in std_logic; -- 20MHz VCXO after IBUFGDS
|
||||
.gige_refclk_buf_i (gt_refclk), // in std_logic; -- 125 MHz MGT Ref after IBUFDS_GTE2
|
||||
.dac_sclk_o (wr_dac_sclk), // out std_logic; -- N3xx cWB-DAC-SCLK
|
||||
.dac_din_o (wr_dac_din), // out std_logic; -- N3xx cWB-DAC-DIN
|
||||
.dac_clr_n_o (wr_dac_clr_n), // out std_logic; -- N3xx cWB-DAC-nCLR
|
||||
.dac_cs_n_o (wr_dac_cs_n), // out std_logic; -- N3xx cWB-DAC-nSYNC
|
||||
.dac_ldac_n_o (wr_dac_ldac_n), // out std_logic; -- N3xx cWB-DAC-nLDAC
|
||||
.LED_ACT (activity), // out std_logic; -- connect to SFP+ ACT
|
||||
.LED_LINK (link_up), // out std_logic; -- connect to SFP+ LINK
|
||||
.sfp_txp_o (txp), // out std_logic;
|
||||
.sfp_txn_o (txn), // out std_logic;
|
||||
.sfp_rxp_i (rxp), // in std_logic;
|
||||
.sfp_rxn_i (rxn), // in std_logic;
|
||||
.sfp_mod_def0_b (sfpp_present_n), // in std_logic; - sfp detect
|
||||
.eeprom_scl_o (wr_eeprom_scl_o),
|
||||
.eeprom_scl_i (wr_eeprom_scl_i),
|
||||
.eeprom_sda_o (wr_eeprom_sda_o),
|
||||
.eeprom_sda_i (wr_eeprom_sda_i),
|
||||
.sfp_scl_o (wr_sfp_scl),
|
||||
.sfp_scl_i (wr_sfp_scl),
|
||||
.sfp_sda_o (wr_sfp_sda_o),
|
||||
.sfp_sda_i (wr_sfp_sda_i),
|
||||
.sfp_tx_fault_i (sfpp_tx_fault), // in std_logic;
|
||||
.sfp_tx_disable_o (sfpp_tx_disable), // out std_logic;
|
||||
.sfp_los_i (sfpp_rxlos), // in std_logic;
|
||||
.wr_uart_rxd (wr_uart_rx), // in std_logic;
|
||||
.wr_uart_txd (wr_uart_tx), // out std_logic;
|
||||
|
||||
.s00_axi_aclk_o (wr_axi_aclk),
|
||||
.s00_axi_aresetn (wr_axi_aresetn),
|
||||
.s00_axi_awaddr (wr_axi_awaddr),
|
||||
.s00_axi_awprot (3'b0),
|
||||
.s00_axi_awvalid (wr_axi_awvalid),
|
||||
.s00_axi_awready (wr_axi_awready),
|
||||
.s00_axi_wdata (wr_axi_wdata),
|
||||
.s00_axi_wstrb (wr_axi_wstrb),
|
||||
.s00_axi_wvalid (wr_axi_wvalid),
|
||||
.s00_axi_wready (wr_axi_wready),
|
||||
.s00_axi_bresp (wr_axi_bresp),
|
||||
.s00_axi_bvalid (wr_axi_bvalid),
|
||||
.s00_axi_bready (wr_axi_bready),
|
||||
.s00_axi_araddr (wr_axi_araddr),
|
||||
.s00_axi_arprot (3'b0),
|
||||
.s00_axi_arvalid (wr_axi_arvalid),
|
||||
.s00_axi_arready (wr_axi_arready),
|
||||
.s00_axi_rdata (wr_axi_rdata),
|
||||
.s00_axi_rresp (wr_axi_rresp),
|
||||
.s00_axi_rvalid (wr_axi_rvalid),
|
||||
.s00_axi_rready (wr_axi_rready),
|
||||
.s00_axi_rlast (wr_axi_rlast),
|
||||
.axi_int_o (),
|
||||
|
||||
.pps_o (sfp_pps), // out std_logic;
|
||||
.clk_pps_o (sfp_refclk), // out std_logic;
|
||||
.link_ok_o (), // out std_logic;
|
||||
.clk_sys_locked_o (), // out std_logic;
|
||||
.clk_dmtd_locked_o (), // out std_logic);
|
||||
.wr_debug0_o (),
|
||||
.wr_debug1_o ()
|
||||
);
|
||||
|
||||
// TEMPORARY mimic the AXGE SFP EEROM
|
||||
sfp_eeprom sfp_eeprom_i (
|
||||
.clk_i(bus_clk),
|
||||
.sfp_scl(wr_sfp_scl),
|
||||
.sfp_sda_i(wr_sfp_sda_o),
|
||||
.sfp_sda_o(wr_sfp_sda_i));
|
||||
|
||||
// Assign the port_info vector similarly to mgt_io_core
|
||||
localparam [7:0] COMPAT_NUM = 8'd2;
|
||||
localparam [7:0] MGT_PROTOCOL = 8'd4;
|
||||
assign port_info = {COMPAT_NUM, 6'h0, activity, link_up, MGT_PROTOCOL, PORTNUM};
|
||||
|
||||
// Tie off unused outputs.
|
||||
assign gt_pll_lock = 1'b0;
|
||||
assign gt_tx_out_clk_unbuf = 1'b0;
|
||||
end
|
||||
endgenerate
|
||||
|
||||
generate
|
||||
// Tie off the Ethernet switch for these protocols that do not use it.
|
||||
if(PROTOCOL == "Aurora" || PROTOCOL == "Disabled" || PROTOCOL == "WhiteRabbit") begin
|
||||
|
||||
//set unused wires to default value
|
||||
assign e2c_tdata = 64'h0;
|
||||
assign e2c_tkeep = 8'h0;
|
||||
assign e2c_tlast = 1'b0;
|
||||
assign e2c_tvalid = 1'b0;
|
||||
assign c2e_tready = 1'b1;
|
||||
|
||||
assign reg_rd_resp_eth_if = 1'b0;
|
||||
assign reg_rd_data_eth_if = 'h0;
|
||||
|
||||
end else begin
|
||||
|
||||
wire [3:0] e2c_tuser;
|
||||
wire [3:0] c2e_tuser;
|
||||
|
||||
// In AXI Stream, tkeep is the byte qualifier that indicates
|
||||
// whether the content of the associated byte
|
||||
// of TDATA is processed as part of the data stream.
|
||||
// tuser as used in eth_interface is the number of valid bytes
|
||||
|
||||
// Converting tuser to tkeep for ingress packets
|
||||
assign e2c_tkeep = ~e2c_tlast ? 8'b1111_1111
|
||||
: (e2c_tuser == 4'd0) ? 8'b1111_1111
|
||||
: (e2c_tuser == 4'd1) ? 8'b0000_0001
|
||||
: (e2c_tuser == 4'd2) ? 8'b0000_0011
|
||||
: (e2c_tuser == 4'd3) ? 8'b0000_0111
|
||||
: (e2c_tuser == 4'd4) ? 8'b0000_1111
|
||||
: (e2c_tuser == 4'd5) ? 8'b0001_1111
|
||||
: (e2c_tuser == 4'd6) ? 8'b0011_1111
|
||||
: 8'b0111_1111;
|
||||
|
||||
// Converting tkeep to tuser for egress packets
|
||||
assign c2e_tuser = ~c2e_tlast ? 4'd0
|
||||
: (c2e_tkeep == 8'b1111_1111) ? 4'd0
|
||||
: (c2e_tkeep == 8'b0111_1111) ? 4'd7
|
||||
: (c2e_tkeep == 8'b0011_1111) ? 4'd6
|
||||
: (c2e_tkeep == 8'b0001_1111) ? 4'd5
|
||||
: (c2e_tkeep == 8'b0000_1111) ? 4'd4
|
||||
: (c2e_tkeep == 8'b0000_0111) ? 4'd3
|
||||
: (c2e_tkeep == 8'b0000_0011) ? 4'd2
|
||||
: (c2e_tkeep == 8'b0000_0001) ? 4'd1
|
||||
: 4'd0;
|
||||
|
||||
|
||||
eth_interface #(
|
||||
.PROTOVER (RFNOC_PROTOVER),
|
||||
.MTU (10),
|
||||
.NODE_INST (0),
|
||||
.REG_AWIDTH (AWIDTH),
|
||||
.BASE (REG_BASE_ETH_SWITCH)
|
||||
) eth_interface (
|
||||
.clk (bus_clk),
|
||||
.reset (bus_rst),
|
||||
.device_id (device_id),
|
||||
.reg_wr_req (reg_wr_req),
|
||||
.reg_wr_addr (reg_wr_addr),
|
||||
.reg_wr_data (reg_wr_data),
|
||||
.reg_rd_req (reg_rd_req),
|
||||
.reg_rd_addr (reg_rd_addr),
|
||||
.reg_rd_resp (reg_rd_resp_eth_if),
|
||||
.reg_rd_data (reg_rd_data_eth_if),
|
||||
.my_mac (),
|
||||
.my_ip (),
|
||||
.my_udp_port (),
|
||||
.eth_tx_tdata (sfpi_tdata),
|
||||
.eth_tx_tuser (sfpi_tuser),
|
||||
.eth_tx_tlast (sfpi_tlast),
|
||||
.eth_tx_tvalid (sfpi_tvalid),
|
||||
.eth_tx_tready (sfpi_tready),
|
||||
.eth_rx_tdata (sfpo_tdata),
|
||||
.eth_rx_tuser (sfpo_tuser),
|
||||
.eth_rx_tlast (sfpo_tlast),
|
||||
.eth_rx_tvalid (sfpo_tvalid),
|
||||
.eth_rx_tready (sfpo_tready),
|
||||
.e2v_tdata (e2v_tdata),
|
||||
.e2v_tlast (e2v_tlast),
|
||||
.e2v_tvalid (e2v_tvalid),
|
||||
.e2v_tready (e2v_tready),
|
||||
.v2e_tdata (v2e_tdata),
|
||||
.v2e_tlast (v2e_tlast),
|
||||
.v2e_tvalid (v2e_tvalid),
|
||||
.v2e_tready (v2e_tready),
|
||||
.e2c_tdata (e2c_tdata),
|
||||
.e2c_tuser (e2c_tuser),
|
||||
.e2c_tlast (e2c_tlast),
|
||||
.e2c_tvalid (e2c_tvalid),
|
||||
.e2c_tready (e2c_tready),
|
||||
.c2e_tdata (c2e_tdata),
|
||||
.c2e_tuser (c2e_tuser),
|
||||
.c2e_tlast (c2e_tlast),
|
||||
.c2e_tvalid (c2e_tvalid),
|
||||
.c2e_tready (c2e_tready)
|
||||
);
|
||||
|
||||
end
|
||||
endgenerate
|
||||
|
||||
endmodule // n310_sfp_wrapper
|
||||
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
VIVADO_VER=2019.1
|
||||
DISPLAY_NAME="USRP-E320"
|
||||
REPO_BASE_PATH=$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)
|
||||
|
||||
declare -A PRODUCT_ID_MAP
|
||||
PRODUCT_ID_MAP["E320"]="zynq/xc7z045/ffg900/-3"
|
||||
|
||||
source $REPO_BASE_PATH/tools/scripts/setupenv_base.sh
|
||||
Reference in New Issue
Block a user