Commit Graph

3322 Commits (4307e3071f615ae9a604a1b490f0f9f3d7abc4fa)

Author SHA1 Message Date
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
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
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
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
LIacob106 64452a6c16 ad9083: Add reference design for ad9083_a10soc 2022-03-28 16:04:38 +03:00
Adrian Costina e4832cd027 ad9208_dual_ebz: Update Board Product Page link 2022-03-25 10:42:40 +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
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
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
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
Laszlo Nagy 5edf6c19de adrv9009/zcu102: Hook up ref clock from IBUFDS_GT 2022-02-15 11:09:37 +02:00
Laszlo Nagy 4bd55dc5c2 adrv9009/zc706: Hook up ref clock from IBUFDS_GT 2022-02-15 11:09:37 +02:00
Laszlo Nagy aac4746398 adrv9009/common/adrv9009_bd: Take ref clock from the IBUFDS_GT
In some cases (GTX2) the transceiver may gate the out_clk when it is in
reset or misconfigured. This will stop the clock generators from getting
a clock prior removing the reset of the XCVR.  The XCVR has a requirement
of running user clock while removing the reset. The correct sequence must be :

Enable device clocks (user clock)
Remove the reset from the XCVR
2022-02-15 11:09:37 +02:00
Laszlo Nagy 3c6c45962a adrv9371x/kcu105: Hook up un-gated ref clock to fabric 2022-02-15 11:09:37 +02:00
Laszlo Nagy 572005abe4 adrv9371x/zcu102: Hook up un-gated ref clock to fabric 2022-02-15 11:09:37 +02:00
Laszlo Nagy 501903bc81 adrv9371x/zc706: Hook up un-gated ref clock to fabric 2022-02-15 11:09:37 +02:00
Laszlo Nagy 39e073e6bf adrv9371x: Use the output of IBUFDS_GTE2 as reference for the clock gens
In some cases (GTX2) the transceiver may gate the out_clk when it is in
reset. This will stop the clock generators from getting a clock prior
removing the reset of the XCVR.  The XCVR has a requirement of running
user clock while removing the reset. The correct sequence must be :

Enable device clocks (user clock)
Remove the reset from the XCVR
2022-02-15 11:09:37 +02:00
LIacob106 86d754ae85 projects/scripts: Add gtwizard scripts 2022-02-14 10:32:58 +02:00
Adrian Costina 62dc310794 Revert "intel: Update projects to use ad_iobuf instead of ALT_IOBUF"
This reverts commit a3a610728c.

Quartus doesn't instantiate correctly the buffer
2022-02-09 17:39:29 +02:00
Filip Gherman 4790d334ad dac_fmc_ebz: NUM_LINKS added to system_top.v 2022-02-09 12:23:12 +02:00
Laszlo Nagy 7702079af5 ad_quadmxfe1_ebz: Fix external sync for ADC path 2022-02-08 16:56:01 +02:00
Filip Gherman 3ff2887485 dac_fmc_ebz_vcu118: Initial commit 2022-02-08 14:34:47 +02:00
Filip Gherman 694ebbfbfc dac_fmc_ebz_bd.tcl: Updated bd for multiple tx_ref_clk 2022-02-08 14:34:17 +02:00
Laszlo Nagy 45dae0f3d3 ad9081_fmca_ebz/common: Connect sync at TPL level
Reset CPACK from ADC TPL so during armed capture clear the cpack to avoid
capturing old samples.
Reset UNPACK with TPL to clear upack during armed transfers to avoid
sending old data.
2022-02-07 19:14:01 +02:00
Laszlo Nagy 8ec657315c adrv9009zu11eg: Drive cpack/upack reset from TPL 2022-02-07 19:14:01 +02:00
Laszlo Nagy d949936a1b adrv9009zu11eg/common: EXT_SYNC updates
- Explicitly enable EXT_SYNC parameter for Rx/Obs
- Loopback manual sync for each TPL  (we do not combine them yet because
  it requires extra CDC logic)
2022-02-07 19:14:01 +02:00
sergiu arpadi 63a1233101 ad7134_fmc: Update Readme 2022-02-07 14:41:25 +02:00
sergiu arpadi 4827e5eb18 ad7134_fmc: Switch offload trigger to falling ODR 2022-02-07 14:41:25 +02:00
Sergiu Arpadi 297bed6721 ad7134_fmc: Change ODR signal to output
FPGA is now generating the ODR signal using axi_pwm_gen.
Both ADCs are now in slave mode.
2022-02-07 14:41:25 +02:00
alin724 b63ebca292 projects/cn0506_rmii/*: Add util_mii_to_rmii library to project 2022-02-03 10:23:12 +02:00
AndreiGrozav 3da9d9fcb4 pluto_ng: Initial commit 2022-02-03 09:56:13 +02:00
Iacob_Liviu 7dae0858b0 de10nano: changed quartus version to 20.1.1 2022-01-31 14:10:51 +02:00
sergiu arpadi bc5974d789 ad77681evb: Fix irq overlap
spi engine irq signal was overwriting fmc iic irq
2022-01-31 12:32:31 +02:00
Dan Hotoleanu f34b561e19 daq3: Parameterize JESD204 configuration values
Added the capability to set the JESD204 configuration values from a single
point in the code and to modify these default settings from the command
line for the Xilinx FPGAs in the project.

Signed-off-by: Dan Hotoleanu <dan.hotoleanu@analog.com>
2022-01-31 10:47:01 +02:00
Dan Hotoleanu e8ff32d6df ad6676evb: Parameterize JESD204 configuration values
Added the capability to set the JESD204 configuration values from a single
point in the code and to modify these default settings from the command
line for the Xilinx FPGAs in the project.

Signed-off-by: Dan Hotoleanu <dan.hotoleanu@analog.com>
2022-01-31 10:36:31 +02:00
Dan Hotoleanu 318523579f ad6676evb: Update to JESD204 TPL instantiation
Updated the JESD204 TPL instantation of the design.

Signed-off-by: Dan Hotoleanu <dan.hotoleanu@analog.com>
2022-01-31 10:36:31 +02:00
Iulia Moldovan 9ca5ae07b2 ad9783: Add Readme.md 2022-01-25 17:16:30 +02:00
Dan Hotoleanu 530aca9754 daq2: Parameterize JESD204 configuration values
Added the capability to set the JESD204 configuration values from a single
point in the code and to modify these default settings from the command
line for the Xilinx FPGAs in the project.

Signed-off-by: Dan Hotoleanu <dan.hotoleanu@analog.com>
2022-01-20 12:54:03 +02:00
Iulia Moldovan f3cf7508c8 ad9783: Update Makefile 2022-01-20 12:31:57 +02:00
Filip Gherman 4ec8797c7c adrv9009: Parameterize JESD204 configuration values 2022-01-13 10:15:05 +02:00
Filip Gherman 6a92bd5925 adrv9371x: Parameterize JESD204 configuration values 2022-01-12 16:05:48 +02:00
Filip Gherman d8a418d8d0 projects/scripts/adi_board/tcl: Updated ad_xcvrcon procedure for parametrized projects 2022-01-12 16:05:18 +02:00
sergiu arpadi fc04198b2b adrc9361_ccfmc: Fix SFP pin locations 2022-01-12 13:43:06 +02:00
Dan Hotoleanu 86d2467f57 fmcjesdadc1: Parameterize JESD204 configuration values
Added the capability to set the JESD204 configuration values from a single
point in the code and to modify these default settings from the command
line.

Signed-off-by: Dan Hotoleanu <dan.hotoleanu@analog.com>
2022-01-12 13:28:42 +02:00
Iulia Moldovan 3d000ee6a8 ad9783_zcu102_dev: Initial commit 2022-01-07 14:04:08 +02:00
Filip Gherman 6dddaaaa78 adrv9009zu11eg/adrv2crr_xmicrowave: Update Makefile 2021-12-22 11:33:15 +02:00
Stanca Pop 0d45f4dc94 xmicrowave: Fix typo 2021-12-17 15:44:23 +02:00
LIacob106 38c489d254 projects: set Quartus version for cyclone5, cn0506_mii and cn0506_rgmii 2021-12-15 17:13:38 +02:00
Dan Hotoleanu fb17147eb4 fmcadc2: Parameterize JESD204 configuration values
Add the capability to set the JESD204 configuration values from a single
point in the code and to modify these default settings from the command
line.

Signed-off-by: Dan Hotoleanu <dan.hotoleanu@analog.com>
2021-12-10 20:54:39 +02:00
Dan Hotoleanu 13a282d9c4 fmcadc2: Update JESD204 TPL instance
Updated the JESD204B transport layer instance to instantiate the new TPL IP
module.

Signed-off-by: Dan Hotoleanu <dan.hotoleanu@analog.com>
2021-12-10 20:54:39 +02:00
Dan Hotoleanu 77f3e5155b ad9081_fmca_ebz: Fix signal length parameter
Corrected the length parameter for the rx_data input.

Signed-off-by: Dan Hotoleanu <dan.hotoleanu@analog.com>
2021-12-08 14:29:48 +02:00
Laszlo Nagy 1b8ca5f045 fmcjesdadc1: bd: Clean trailing white spaces and alignment
Signed-off-by: Laszlo Nagy <laszlo.nagy@analog.com>
2021-12-03 16:10:51 +02:00
Laszlo Nagy 8e226282cd fmcjesdadc1: bd: Replace hardcoded lane number with parameter
Signed-off-by: Laszlo Nagy <laszlo.nagy@analog.com>
2021-12-03 16:10:51 +02:00
Laszlo Nagy 80b3fc2d0a ad9081_fmca_ebz: versal: Remove unused GT reset input pin
Signed-off-by: Laszlo Nagy <laszlo.nagy@analog.com>
2021-11-22 16:18:29 +02:00
Laszlo Nagy 1ec0993d33 ad9081_fmca_ebz/vcu128: Remove ref clock replica
Signed-off-by: Laszlo Nagy <laszlo.nagy@analog.com>
2021-11-22 16:18:29 +02:00
Stanca Pop 2a740d0c2b ad7616_sdz: Add make env argument for interface
Update system_project.tcl
2021-11-22 15:22:16 +02:00
Stanca Pop c2d37b2db3 pulsar_adc_pmdz: Initial commit 2021-11-22 13:39:17 +02:00
PopPaul2021 c71e5de928
zcu102: ad_fmclidar1_ebz, fmcomms5, fmcomms8 (#811)
adrv2crr_fmc: adrv9009zu11eg
adrv2crr_xmicrowave: adrv9009zu11eg

The IBUFGDS primitive is deprecated in UltraScale devices.
2021-11-22 08:09:46 +02:00
Laszlo Nagy 3cd203e9c7 scripts/adi_board.tcl: improvements for vcu128 DDR controller
- allow specifying the name of Axi Lite interface from the peripheral were to connect the control bus
- some DDR controllers have an Axi Lite control interface, this creates
  a second address segment which causes issues, differentiate the memory
  segment from control registers segment
2021-11-19 18:08:16 +02:00
Laszlo Nagy e76f287e73 ad9081_fmca_ebz:vcu128: Initial version
* 4Txs / 4Rxs per MxFE
 * Tx I/Q Rate: 250 MSPS
 * Rx I/Q Rate: 250 MSPS
 * DAC JESD204B: Mode 9, L=4, M=8, N=N'=16
 * ADC JESD204B: Mode 10, L=4, M=8, N=N'=16
 * DAC-Side JESD204B Lane Rate: 10Gbps
 * ADC-Side JESD204B Lane Rate: 10Gbps
2021-11-19 18:08:16 +02:00
Laszlo Nagy 88b5c2d6db projects/common/vcu128: Initial VCU128 support 2021-11-19 18:08:16 +02:00
Laszlo Nagy e00def31d0 ad9081_fmca_ebz: versal: Remove external gt_reset logic 2021-11-19 14:01:48 +02:00
Laszlo Nagy 0b9631f1f7 ad9081_fmca_ebz: versal: Rename nets 2021-11-19 14:01:48 +02:00
Laszlo Nagy ca6248ba88 ad9081_fmca_ebz/common/versal_transceiver.tcl: Reset also PLL 2021-11-19 14:01:48 +02:00
Laszlo Nagy 731ed0a7a5 ad9081_fmca_ebz/vck190: Updated to hierarchical versal transceiver
Vivado cannot nest multiple block designs than two layers. This makes
replication of designs difficult.

Create a hierarchy around the Versal transceiver that includes also the
converters, this type of interface would match the util_adxcvr
interface.

Signed-off-by: Laszlo Nagy <laszlo.nagy@analog.com>
2021-11-19 14:01:48 +02:00
Laszlo Nagy 1d951cfbae ad9081_fmca_ebz/vck190: Change default profile to 2 lanes 2021-11-19 14:01:48 +02:00
sergiu arpadi 81c7d7475d ad463x: Fix readme 2021-11-17 16:48:59 +02:00
Laszlo Nagy 5795cf6720 ad9213_dual_ebz: Readme.md : Remove incorrect product page 2021-11-15 13:59:26 +02:00
Laszlo Nagy daba543797 ad9082_fmca_ebz: Readme.md: Remove AD9081 from parts 2021-11-15 13:59:26 +02:00
Laszlo Nagy fe9afd4392 ad9208_dual_ebz: Readme.md: Remove invalid product page
Product page on analog.com does not exists
2021-11-15 13:59:26 +02:00
Laszlo Nagy 2386abb89c ad_quadmxfe1_ebz : Add readme file 2021-11-12 14:08:56 +02:00
stefan.raus adad6c930d ad9081_fmca_ebz_qsys.tcl: Add RX_LANE_RATE and TX_LANE_RATE parameters
For ad9081/a10soc project, the RX_LANE_RATE and TX_LANE_RATE were computed
from SAMPLE_RATE. Remove SAMPLE_RATE and add RX_LANE_RATE and TX_LANE_RATE
as parameters. Update also computation examples from comments.

Signed-off-by: stefan.raus <stefan.raus@analog.com>
2021-11-12 13:04:57 +02:00
Laszlo Nagy fe58a5fb47 adrv9009zu11eg/adrv2crr_fmcomms8: Add clock buffers for core clocks
The IBUFGDS primitive is deprecated in UltraScale devices.

Signed-off-by: Laszlo Nagy <laszlo.nagy@analog.com>
2021-11-11 17:33:10 +02:00
Laszlo Nagy 1cd866445e ad_quadmxfe1_ebz: Initial version
Parametrizable project for the QUAD-MxFE platform ADQUADMXFE1EBZ,
ADQUADMXFE2EBZ, ADQUADMXFE3EBZ

Default mode set to:
  TX JESD204C MODE 11, M=16, L=4
  RX JESD204C MODE 4, M=8, L=2

For 204C 64B66B mode as physical layer the Xilinx Phy is uesd.
2021-11-10 14:03:34 +02:00
Robin Getz 63b6711cfa start adding some doc to the ./projects directory
This adds a Readme.md to each project directory with pointers to project
documentation in the wiki, and the drivers (if they exist). This will
help with some autogenerated doc in the wiki, that is generated with the
innovatily named "wiki_summary.sh" shell script that parses through
these Readme.md files, and generates a summary table.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Iacob Liviu Mihai <liviu.iacob@analog.com>
2021-11-10 14:01:06 +02:00
LIacob106 58c1d2e3b2 projects: fixed xcvr clocks that generated critical warning 2021-11-09 12:40:14 +02:00
Laszlo Nagy 5ad40b29e5 adrv9001/zed: Use global clock buffers for better fit the design
Occasionally with zed, the implementation failed at the placement stage where
the tool could not fit the logic cells inside a single clock region,
constraint required by the usage of regional clock buffers.

This commit allows the usage of the global clock buffers which help the tool
in such cases and allow a larger application logic to be implemented in fabric.
2021-11-08 13:53:51 +02:00
Dan Hotoleanu 457c5f7d86 fmcjesdadc1: Fix ad9250 core parameters settings
Fix CONVERTER_RESOLUTION parameter setting for ad9250. Also deleted the
setting of BITS_PER_SAMPLE and DMA_BITS_PER_SAMPLE for ad9250 since they
are set by default to the desired values.

Signed-off-by: Dan Hotoleanu <dan.hotoleanu@analog.com>
2021-11-04 12:18:06 +02:00
Stanca Pop bcf5abb2fe xmicrowave: Initial commit 2021-11-02 15:44:47 +02:00
hotoleanudan 1bc8a41aea
vc709_carrier: Add vc709 carrier (#788)
Added vc709 carrier to the projects/common folder location.

Signed-off-by: Dan Hotoleanu <dan.hotoleanu@analog.com>
2021-11-02 12:05:42 +02:00
Laszlo Nagy c5d216bba9 adrv9001/zcu102: Enable independent TX mode in CMOS
For CMOS case, lane rates are so low that reference clock of the source
synchronous interface can be routed on non-clock routes. The delays on
the clock line are adjusted by the digital interface tuning controlled
through software.

Lock down clock buffers on Rx and Tx interfaces, this avoids suboptimal
placement which causes large skew between clocks at the serdes pins.
2021-10-27 14:40:08 +03:00
Laszlo Nagy 03682f6193 projects/adrv9001/zcu102/lvds_constr.xdc: Fix timing constraints
1. Reduce max allowed skew between source synchronous clocks that can
occur due PCB differences. 250ps represents a difference more than an
inch.

2. In order to reduce skew between source synchronous clock and the
divided clock instruct the tool to use a common clock root for them.
2021-10-27 14:40:08 +03:00
LIacob106 d4126739b4 projects: remove hardcoded div_clk from xcvr 2021-10-27 12:11:22 +03:00
sergiu arpadi cb861f5299 ad463x: Fix readme 2021-10-26 15:42:57 +03:00
Istvan Csomortani 15a6480601 ad4630_fmc: Initial commit 2021-10-18 16:13:31 +03:00