Commit Graph

6330 Commits (1bef2bf304581a197df9bdfc0b126cd67429a15f)

Author SHA1 Message Date
AndreiGrozav ef377e58be ad9083_evb_bd: make the project more generic
Allow external parameters and a more flexible configuration.
2022-05-12 16:11:17 +03:00
Iulia Moldovan 86408ff2b3 docs: Add HDL coding guideline
Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2022-05-12 14:43:35 +03:00
Laszlo Nagy 69839ec327 ad_quadmxfe1_ebz: Refactor MxFE GPIOs 2022-05-11 18:09:08 +03:00
Laszlo Nagy 044017e0b9 ad9081_fmca_ebz/zcu102: Make second sync CMOS and GPIO controllable 2022-05-11 18:09:08 +03:00
Stanca Pop e71dbbd6f9 cn0561_zed: Initial commit 2022-05-11 17:30:26 +03:00
sergiu arpadi 0ac49027bd cn0561_coraz7s: Initial commit
Because the inferface signals which pass through the eval board's
Arduino connector are connected to level shifters the design
will not work at the maximum clk frequency of 48MHz. The maximum
tested frequency is 24MHz.
2022-05-11 17:30:26 +03:00
Filip Gherman 1ef3ff05ba vcu128: Increase Microblaze performance and clock frequency 2022-05-11 13:20:01 +03:00
Mathias Tausen cd04141ffd axi_dmac: Add parameter controlling AWCACHE
On architectures with ports that support cache coherency, the AWCACHE
signal must be set to indicate that transactions are cached. This patch
adds a parameter allowing AWCACHE to be set on an AXI4 destination port.
2022-05-10 11:50:55 +03:00
Morten Jensen 0ae2a17474 scripts/adi_board.tcl: Support connecting HPCx
Support connecting HPC0 and HPC1 on PS8.

Co-authored-by: Mathias Tausen <mta@satlab.com>
2022-05-10 11:50:55 +03:00
Filip Gherman 302e59e109 data_offload_constr.ttcl: Fix false_paths for i_sync_src_transfer_length registers 2022-05-10 09:46:03 +03:00
Filip Gherman 53a95840c0 ad_quadmxfe1_ebz_bd: Bugfix for JESD configurations with less lanes 2022-05-09 10:43:31 +03:00
Filip Gherman 8f22985880 projects/scripts/adi_board: Add support for sparse channel maping 2022-05-09 10:43:14 +03:00
Ionut Podgoreanu faf5f90299 library/axi_dmac: Add the BYTES_PER_BURST_WIDTH interface parameter in INTERFACE_DESCRIPTION 2022-05-06 12:32:41 +03:00
PopPaul2021 619e8043d0
Adaq8092 on ZedBoard LVDS output mode (#921)
* common/up_adc_common: Add adc_custom_control register

* library/axi_adaq8092: Initial commit

* projects/adaq8092_fmc: Initial commit for ZedBoard
2022-04-28 15:39:59 +03:00
Laszlo Nagy 97b92565b2 Makefile: Replace util_fifo2axi_bridge with util_hbm 2022-04-28 14:31:32 +03:00
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