Commit Graph

6165 Commits (8399301c6a605ffa19851459f120d4ed8bfad025)

Author SHA1 Message Date
Laszlo Nagy 8399301c6a util_fifo2axi_bridge: Deprecate module, replaced by util_hbm 2022-04-28 14:31:32 +03:00
Laszlo Nagy 0e55583a63 daq2: Do not set AXI address width for DO
Address size and memory ranges are automatically computed by the
external storage interfacing IP (util_hbm) based on the storage size and
base address so this parameter is redundant.
2022-04-28 14:31:32 +03:00
Laszlo Nagy 5a33c44511 daq2/zc706: Update to new DO storage 2022-04-28 14:31:32 +03:00
Laszlo Nagy fa168fafe0 ad9081_fmca_ebz:vcu128: Disable offload bypass
The internal bypass FIFO has poor timing performance,
when using HBM data can be passed always through the external memory
without storage length constraints, so no need for the internal bypass FIFO.
2022-04-28 14:31:32 +03:00
Laszlo Nagy c57015f80e ad9081_fmca_ebz/vcu128: Use HBM for data offload cores 2022-04-28 14:31:32 +03:00
Laszlo Nagy dbadb9eb61 ad9081_fmca_ebz/common: Make data offload memory type selectable
Make the storage type over writable so it can be set specifically
to carriers.

Address width of external memory AXI master is calculated in the
interfacing core (util_hbm) so that parameters is removed.
2022-04-28 14:31:32 +03:00
Laszlo Nagy c16ebb3cef common/vcu128: Add HBM clocking support 450MHz
The HBM interfacing core requires a 450MHz clock, make it part of the
base design.

The clock can't be obtained from the DDR controller so a clock wizard is
used instead.
2022-04-28 14:31:32 +03:00
Laszlo Nagy c3ae609bc8 data_offload: Refactor core
Deprecate unused parameters.

Change to MEM_SIZE_LOG2, to support only power of 2 storage sizes for
now. However in the future we might want to add support for non pow2
sizes so register map is not changed.

Change transfer length to -1 value to spare logic.

Change FIFO interface to AXIS to have backpressure, this allows the
implementation of data movement logic in the storage unit and let the
FSM handle high level control an synchronization and control the storage
unit through a control interface.

Refactor FSM to have preparation states where slow storages can be
configured and started ahead of the data handling.

Make bypasss FIFO optional since in some cases causes timing failures
due the missing output register of the memory. This can be targeted in
a later commit.

Hook up underflow/overflow to regmap useful in case of external memory
where rate drops due misconfiguration can be detected.

Cleanup for verilator.

Scripting:
Add HBM and DDR external memory support using util_hbm IP
Replace asym_block_ram with util_do_ram IP
2022-04-28 14:31:32 +03:00
Laszlo Nagy 35d32e0143 util_do_ram: Initial version
This IP replaces the ad_mem_asym module as storage element for the data
offload.
Having standard AXIS interface for data will allow
implementation of storages on UltraRAM.
2022-04-28 14:31:32 +03:00
Laszlo Nagy 3209b9d840 interfaces: Data offload control interface
Have a control interface between the data offload and storage units.
2022-04-28 14:31:32 +03:00
Laszlo Nagy 3bf7b6c80f util_hbm: Initial version
This IP serves as storage interfacing element for external memories like
HBM or DDR4 which have AXI3 or AXI4 data interfaces.

The core leverages the axi_dmac as building blocks by merging an array of
simplex DMA channels into duplex AXI channels. The core will split the
incoming data from the source AXIS interface to multiple AXI channels,
and in the read phase will merge the multiple AXI channels into a single
AXIS destination interface.
The number of duplex channels is set by syntheses parameter and must be
set with the ratio of AXIS and AXI3/4 interface.

Underflow or Overflow conditions are reported back to the data offload
through the control/status interface.

In case multiple AXI channels are used the source and destination AXIS
interfaces widths must match.
2022-04-28 14:31:32 +03:00
sergiu arpadi a0098acc5a ad9695: Add reference design for ad9695 eval board
Signed-off-by: Liviu.Iacob <liviu.iacob@analog.com>
2022-04-27 11:44:32 +03:00
PopPaul2021 c5045d17b9
arradio_c5soc: axi_hdmi_tx as framereader (#920) 2022-04-20 12:11:31 +03:00
David Winter 69f1d05e7c common: Add xilinx ila utils
Signed-off-by: David Winter <david.winter@analog.com>
2022-04-20 10:55:02 +03:00
David Winter 638491d502 projects: ad9081: Disable tdd_sync CDC sync of TDD controller
Signed-off-by: David Winter <david.winter@analog.com>
2022-04-20 10:54:53 +03:00
David Winter 6be4ea92a7 library: axi_tdd: Make synchronization stage optional
Signed-off-by: David Winter <david.winter@analog.com>
2022-04-20 10:54:53 +03:00
David Winter 73468d662b axi_tdd: Add false paths to tdd sync input
This allows the external synchronization input to be driven from
asynchronous sources like a 1 PPS signal or just signals from different
clock domains in general.

Signed-off-by: David Winter <david.winter@analog.com>
2022-04-20 10:54:53 +03:00
Iulia Moldovan 63089a7c5d library/axi_ad9361/intel: Update I/O format 2022-04-08 11:00:04 +03:00
Iulia Moldovan 7a5ecb592e library/data_offload: Remove empty module data_offload_control 2022-04-07 17:17:47 +03:00
Adrian Costina 18b5fabde0 library: Remove unused IPs 2022-04-06 14:57:37 +03:00
Adrian Costina 96adaf4fc7 cn0506_rgmii:a10soc: Remove project as the rgmii adapter is not compatible with a10soc 2022-04-05 14:49:47 +03:00
AndrDragomir 60be01f2eb axi_clock_monitor: Fix various issues
- Replace .xdc file
- Remove parameter dependency for wire signals
- Fix typo
- Remove unnecessary comments
- Fix signal width
2022-04-05 12:23:33 +03:00
Iulia Moldovan fe713a5e98 library/axi_dmac: Rename 2d_transfer to dmac_2d_transfer
Update the file according to HDL guideline.
Replace all occurrences of 2d_transfer with dmac_2d_transfer.
Update axi_dmac/Makefile.
2022-04-01 16:02:46 +03:00
Iulia Moldovan d9ec44657f libraries: Correct module name according to the filename 2022-04-01 16:02:46 +03:00
Adrian Costina d40db9e204 adrv9009zu11eg: Added additional GPIOs and CS to the GPIO expander
This should integrate seamlessly with SYNCHRONA14
2022-04-01 10:24:04 +03:00
stefan.raus 6c0a07c24b cn0506_mii/rgmii on a10soc: update to Quartus 21.2
Remove contraints related to quartus version so that
cn0506_mii and cn0506_rgmii on arria10 to be built
with default quartus version.

Signed-off-by: stefan.raus <stefan.raus@analog.com>
2022-03-31 09:55:56 +03:00
sergiu arpadi 6ea2a40a36 ad4630: Fix Readme 2022-03-30 08:34:18 +00:00
PopPaul2021 0d44bfb4dd
axi_hdmi_tx update for: ZedBoard, ZC706, ZC702, de10nano, ADRV9361-Z7035 (#897) 2022-03-29 16:51:21 +03:00
Adrian Costina de70157e3a xilinx/common:ad_data_out.v: Fix typo 2022-03-29 16:50:20 +03:00
AndrDragomir 204dff3b73 library: Adding axi_clock_monitor ip core 2022-03-29 10:02:42 +03:00
Robin Getz 459704d183 Add small check to make sure readme.md files are in projects
Signed-off-by: Robin Getz <robin.getz@analog.com>
2022-03-28 22:01:37 +03:00
LIacob106 64452a6c16 ad9083: Add reference design for ad9083_a10soc 2022-03-28 16:04:38 +03:00
Adrian Costina 31c21cad7f xilinx/common: Add CLKEDGE parameter to ad_data_* module 2022-03-25 15:10:12 +02:00
Adrian Costina e4832cd027 ad9208_dual_ebz: Update Board Product Page link 2022-03-25 10:42:40 +02:00
Nick Pillitteri c1721e18dd account for ADI_VIVADO_IP_LIBRARY global variable when adding subcores 2022-03-24 16:29:49 +02:00
Adrian Costina 0d9e9e42c0 sidekiqz2: Updated Readme to link the ADALM-Pluto documentation 2022-03-24 16:29:11 +02:00
Filip Gherman aa1192a9bc ad_quadmxfe1_ebz_bd: Connecting all the unused lanes in util_xcvr 2022-03-23 08:13:09 +02:00
Filip Gherman 101874de86 projects/scripts/adi_board.tcl: Fix padding error caused by lane_map in ad_xcvrcon procedure 2022-03-23 08:12:49 +02:00
alin724 6a252ec067 util_mii_to_rmii: Fix 100 Mbps configuration functionality 2022-03-22 14:30:24 +02:00
AndreiGrozav 4499ddaae7 pluto_ng: Add Readme.md file 2022-03-22 11:43:44 +02:00
Stanca Pop e22a597752 adrv2crr_fmcxmwbr1: Initial commit 2022-03-18 10:19:40 +02:00
Nick Pillitteri 084d44c978 add ability to customize Xilinx IP library version to value other than "user" from a global variable. 2022-03-17 09:43:39 +02:00
Ionut Podgoreanu 0f8cc9e66b ad9083: Using variables instead of hard coded nets 2022-03-15 10:53:31 +02:00
Laszlo Nagy 8df1d8eade ad9081_fmca_ebz: Update parameter description 2022-03-11 13:16:22 +02:00
Laszlo Nagy 5ced589258 ad9082_fmca_ebz: Update parameter description 2022-03-11 13:16:22 +02:00
Laszlo Nagy 081de06ec9 ad_quadmxfe1_ebz: Update parameter description 2022-03-11 13:16:22 +02:00
Laszlo Nagy e66c5282bc axi_adrv9001: Expose IODELAY_CTRL parameter to top level 2022-03-02 11:06:12 +02:00
sergiu arpadi a21cd9932d adrv9001_zed: Fix irq overlap
axi_adrv9001_tx1_dma/irq is no longer dissconnecting axi_iic_fmc/irq
2022-03-01 16:42:52 +02:00
Laszlo Nagy d4fb7062d9 vcu128/vcu128_system_constr: Enable internal diff term for Ethernet clock
There are no external termination resistors on the VCU118 and VCU128 for
the SGMII clock lines.
The board files of the VCU118 enables them, but this was not reflected in the
constraint files.

For VCU128 the clocking is similar, even if diff terms are not set in the
board files we should have a consistent approach with the VCU118.
2022-02-16 14:09:20 +02:00
Laszlo Nagy c871a3a9ee vcu118/vcu118_system_constr: Enable internal diff term for Ethernet clock
There are no external termination resistors on the VCU118 for the SGMII
clock lines. The board files enables them, but this was not reflected in the
constraint files.
2022-02-16 14:09:20 +02:00