Commit Graph

240 Commits (294b68119657b736a0c831e719e579ec88b796e6)

Author SHA1 Message Date
Iulia Moldovan 9a91dd8857 ad_data_out: Revert change (issue) inserted in commit 075ee05189
* Issue is with ODDR and ODDRE1 inputs D1 and D2

Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2023-04-13 11:08:17 +03:00
imoldovan 075ee05189
Update ad_data_in &_out (#1060)
* ad_data_in: Add new logic and explanations

 * Added parameters IDELAY_TYPE, DELAY_FORMAT, US_DELAY_TYPE to be used
   with the IDELAY instances
 * Added explanations
 * Added option to bypass IDELAY if it's not instantiated, regardless of
   the FPGA_TECHNOLOGY parameter
 * Determined a part of the logic for EN_VTC (by the UG) but not for all
   modes since we don't have use cases for them
 * Changed logic when adding ODELAY: now you must set IODELAY_ENABLE = 1
   and FPGA_TECHNOLOGY != NONE if you want it

* ad_data_out:

 * Updated ODDR parameter
 * Fixed issue with ODDR inputs D1, D2: D1 must be with _p and D2 with _n,
   according to the Xilinx template
 * Removed _ES1 from IODELAY_SIM_DEVICE

 * Added ODELAY for UltraScale
 * Before, there was no support for UltraScale/+, and the output data
   was completely disconnected from the ODDR
 * The support for this was requested in this issue, although as of now we don't
   have a design that uses it: https://github.com/analogdevicesinc/hdl/issues/917

 * Added parameters ODELAY_TYPE, DELAY_FORMAT, US_DELAY_TYPE to be used
   with the ODELAY instances
 * Added explanations
 * Added option to bypass ODELAY if it's not instantiated, regardless of
   the FPGA_TECHNOLOGY parameter
 * Determined a part of the logic for the EN_VTC (by the UG) but not for
   all modes since we don't have use cases for them
 * Changed logic when adding ODELAY: now you must set IODELAY_ENABLE = 1
   and FPGA_TECHNOLOGY != NONE if you want it

---------

Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2023-04-04 11:09:46 +03:00
Iulia Moldovan db94628cc6 library & projects: Update Makefiles
Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2023-01-27 11:54:05 +02:00
Iulia Moldovan 45346b1957 library: Cosmetic changes for modules that use ad_serdes_*
Edited in:
 * axi_ad9122
 * axi_ad9434
 * axi_ad9684
 * axi_ad9739a
 * axi_ad9783
 * axi_adrv9001
 * ad_serdes_clk
 * ad_serdes_in
 * ad_serdes_out

Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2022-12-15 14:22:40 +02:00
Iulia Moldovan 173f4a83d4 ad_serdes: Add features and update their instances in /library
- ad_serdes_in:
  * Removed unused ports: loaden, phase, locked
  * Added IODELAY_ENABLE is set to be by default 1
  * Added conditional instantiation (using IODELAY_ENABLE) to IDELAY modules
  * Added conditional instantiation (using IODELAY_CTRL_ENABLED) to IDELAYCTRL module, based on IODELAY_ENABLE

- library: Update ad_serdes_in instances: add IODELAY_ENABLE
   * Edited in:
     * axi_ad9434
     * axi_ad9684
     * axi_adrv9001

- ad_serdes_out:
  * Removed unused port: loaden

- library: Update ad_serdes_out instances
   * Edited in:
     * axi_ad9122
     * axi_ad9739a
     * axi_ad9783
     * axi_adrv9001

- ad_serdes_clk:
  * Remove unused ports: loaden, phase

- library: Update ad_serdes_clk instances
   * Edited in:
     * axi_ad9122
     * axi_ad9434
     * axi_ad9684

Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2022-12-15 14:22:40 +02:00
Iacob_Liviu 482f0489a3 scripts: Merge adi_env.tcl into a single file
Move the new adi_env.tcl file from hdl/projects/scripts into hdl/scrips
2022-08-08 13:52:54 +03:00
Filip Gherman 929f80cd31 library/jesd204: Updated jesd to support more lanes
Modified the maximum number of supported lanes up to 32 lanes for every JESD layer

Signed-off-by: Filip Gherman <Filip.Gherman@analog.com>
2022-08-04 13:10:53 +03:00
Iulia Moldovan 0c0617d49e libraries: Update modules according to guideline
* Added header license for the files that didn't have
* Modified parentheses
* Removed extra spaces at the end of lines
* Fixed parameters list to be each parameter on its line
* Deleted lines after endmodule and consecutive empty lines
* Fixed indentation

Signed-off-by: Iulia Moldovan <iulia.moldovan@analog.com>
2022-06-28 18:06:56 +03:00
Adrian Costina de70157e3a xilinx/common:ad_data_out.v: Fix typo 2022-03-29 16:50:20 +03:00
Adrian Costina 31c21cad7f xilinx/common: Add CLKEDGE parameter to ad_data_* module 2022-03-25 15:10:12 +02:00
Nick Pillitteri c1721e18dd account for ADI_VIVADO_IP_LIBRARY global variable when adding subcores 2022-03-24 16:29:49 +02:00
Filip Gherman 9b7c2852b6 adxcvr: Increase version to 17.5.a
Add suport for XCVR phase adjust buffer status:
   - Expose TXBUFSTATUS and RXBUFSTATUS
   - Create RXBUFSTATUS_RST flag for clearing RXBUFSTATUS
2021-10-27 14:40:50 +03:00
LIacob106 076e81a17c library: Add link to wiki for IPs 2021-10-25 10:44:53 +03:00
Laszlo Nagy 51b643b978 Makefile: Fix misc makefiles from projects and library 2021-10-05 14:24:48 +03:00
Filip Gherman 7ed4955661 axi_adxcvr_ip.tcl util_adxcvr_ip.tcl: Fixed asynchronous resets critical warnings in XCVR 2021-09-28 04:53:02 +03:00
Adrian Costina 591a23156b Makefiles: Update header with the appropriate license 2021-09-16 16:50:53 +03:00
Filip Gherman 0372ce1821 axi_adxcvr:util_adxcvr: Correctly defined resets. 2021-09-08 11:51:59 +03:00
stefan.raus 9d5de2fc21 Update Vivado version to 2020.2
Update vivado version to 2020.2:
 - update default vivado version from 2020.1 to 2020.2
 - add conditions to apply specific contraints only in Out Of Context mode.
 - update DDR controler parameters for vcu118 and kcu105 dev boards
2021-07-29 14:06:42 +03:00
Josh Blum e1829a061d adrv9001: fixes for reset metastability on xilinx ioserdes
* fixes DRC warning that the clocking configuration may result in data errors
* fixes ioserdes reset issue with synchronous de-assert in data clock domain
2021-07-09 11:11:04 +03:00
Laszlo Nagy 20161cf458 xilinx/axi_adxcvr/axi_adxcvr_mdrp: Fix read if all channels are selected
If all channels are selected for read the values and ready signals from every
transceiver are combined. Each element merges his signals with the previous.
The first element of the chain must assume the previous channel is always ready.
2021-06-25 14:15:59 +03:00
Laszlo Nagy 2995f78751 Revert "modified transceiver configuration files"
This reverts commit 829e4155ca.

The first element of the read chain must assume there is no valid element
in front of it.  For each element the ready signal of the transceiver should be
routed if the channel is selected either by channel number or broadcast.
When the current element is not selected it should forward the ready signal from
the previous element, however this is not the case for the first one.

Having a constant 1'b1 connected to the ready input of the first element
corrupts the first read of the first channel after a channel switch.

This change will break broadcast reads.
2021-06-25 14:15:59 +03:00
Laszlo Nagy bf77271fb3 axi_adxcvr: Increase version to 17.4.a
Add support for:
  - 204C support for GTH
  - added second clock output for util_xcvr used in case for GTH
  - PROG_DIV support for GTH and GTY
2021-06-10 09:53:43 +03:00
Laszlo Nagy 505142f7f8 xilinx/axi_adxcvr: Expose PLL status in status bit 2021-06-10 09:53:43 +03:00
Laszlo Nagy b4c8a559fc util_adxcvr: Hook up RXPROGDIVRESET 2021-06-10 09:53:43 +03:00
Laszlo Nagy d743406ecd util_adxcvr: Add 204C support for GTH3/4
For GTH3/4  64b66b mode add a second clock that drives CLKUSR with a clock
that is 2x of the CLKUSR2 (lane rate/66),
   CLKUSR = 2 x CLKUSR2
   CLKUSR = lane rate / 33

This can be driven from the GT reference clock or second out clock div2.

This commit also:
- fix eyescan scale on GTY
- remove irrelevant parameters
2021-06-10 09:53:43 +03:00
Laszlo Nagy c0775adac3 util_adxcvr/util_adxcvr_xch: Place 204C logic to a common place 2021-06-10 09:53:43 +03:00
Laszlo Nagy 9b50e2baa5 util_adxcvr/util_adxcvr_xch: Fix typo 2021-05-14 15:39:40 +03:00
Laszlo Nagy e1b73545e4 util_adxcvr: GTY TX phase and delay alignment circuit power down.
Tied High when a) TX buffer bypass is not in use;
see UG578
2021-05-14 15:39:40 +03:00
Laszlo Nagy ef69fe36db util_adxcvr: Add PPF1_CFG parameter 2021-05-14 15:39:40 +03:00
Laszlo Nagy 001e7a52b1 util_adxcvr: Add LANE_RATE parameter so it can be used for automatic constraint generation
Add separate LANE_RATE for TX and RX
2021-05-14 15:39:40 +03:00
Laszlo Nagy cb5e66ff9c xilinx/util_adxcvr: 204C link support for GTY4
Set channel parameters based on link mode (1 - 204b or 2 - 204c).
2021-05-14 15:39:40 +03:00
Laszlo Nagy 2d13b5b8cd xilinx/axi_adxcvr: Add 204C support, increase version to 17.3.a 2021-05-14 15:39:40 +03:00
Laszlo Nagy cdd6c92357 xilinx/axi_adxcvr: Increase version to 17.02.a to show PRBS capability 2021-03-22 10:17:10 +02:00
Laszlo Nagy 5f2681314f xilinx/axi_adxcvr/axi_adxcvr_up: Fix force error control bit 2021-03-22 10:17:10 +02:00
Laszlo Nagy 6f4053f3b0 util_adxcvr: Fix PRBS synchroniser typo
The control lines for TX PRBS must be synchronized using the TX clock.
2021-01-29 14:01:25 +02:00
Laszlo Nagy 14307856ea xilinx:adxcvr: PRBS support
The new REG_PRBS_CNTRL and REG_PRBS_STATUS registers expose controls of internal
PRBS generators and checkers allowing the testing the multi-gigabit serial link
at the physical layer without the need of the link layer bringup.
2021-01-12 13:40:42 +02:00
Adrian Costina 9093a8c428 library: Move ad_iobuf to the common library, as it's not Xilinx specific
Updated all system_project and Makefiles
2020-11-02 16:13:35 +02:00
Laszlo Nagy 4e438261aa ad_serdes_out: Add CMOS support 2020-08-07 08:31:19 +03:00
Laszlo Nagy 837475db0d ad_serdes_in: Add CMOS support 2020-08-07 08:31:19 +03:00
Laszlo Nagy e6b9e21ad1 ad_serdes_out: Add tristate option 2020-08-07 08:31:19 +03:00
Laszlo Nagy c5c772127d up_delay_cntrl:ad_serdes_in: Make delay value width parametrizable
US/US+ devices have IDELAY/ODELAY with 512 taps. This requires wider
control value for delay selection. 9 bits contrary to 5 on 7series.
2020-08-07 08:31:19 +03:00
Laszlo Nagy 37d378c753 common/ad_serdes_out.v: Add US/US+ support 2020-08-07 08:31:19 +03:00
Laszlo Nagy 65d39b9164 common/ad_serdes_in.v: Add US/US+ support 2020-08-07 08:31:19 +03:00
Laszlo Nagy cf145ca961 axi_adxcvr: Reset status if PLL lock is lost
In case something happens with the reference clock of the CPLL or QPLL,
they might lose the locking. The status should reflect that.
2020-07-31 11:43:41 +03:00
Istvan Csomortani 32eeedb660 makefile: Update makefiles 2020-05-07 08:41:49 +01:00
Laszlo Nagy 8af5f65ff2 util_adxcvr: enable EyeScan for GTY4 2020-03-10 18:17:38 +02:00
Adrian Costina 0d4aa7c01e axi_dacfifo: Allow datawidths larger than the AXI datawidth 2020-02-18 11:19:02 +02:00
Laszlo Nagy ea06fcd7b6 util_adxcvr: add GTY4 parameters for 15.5Gbps lanerate 2020-02-10 09:48:17 +02:00
Laszlo Nagy 253b1149ad library/xilinx/util_adxcvr: merge GTY and GTH prefixed parameter
parameters with same names were duplicated with transceiver specific
names due different default values.
This does not scales very well.

Use same name for the parameters as for other parameters and do the
default value handling in the IP configuration layer.
2020-02-10 09:48:17 +02:00
Arpadi 80a77b1e1b ad_rst_constr: Added the quiet option
critical warnings were caused by this file when the ad_rst.v instantiation
was done using generate depending on a parameter (i.e. axi_spi_engine)
2020-01-20 15:26:48 +02:00