Commit Graph

5903 Commits (78999e154e166bee19ff5e3e7ad0d9e3d2360170)

Author SHA1 Message Date
Laszlo Nagy 8d388dd4f2 jesd204_rx:jesd204_rx_ctrl_64b: Improve timing closure 2021-03-08 10:46:52 +02:00
Laszlo Nagy c2f703f56b jesd204/jesd204_rx: Make output pipeline stages opt in feature 2021-03-08 10:46:52 +02:00
Laszlo Nagy fd714c181a jesd204/ad_ip_jesd204_tpl_adc: Make frame alignment opt-in feature 2021-03-08 10:46:52 +02:00
Laszlo Nagy 0db7519c18 jesd204_tx:64b: Remove reset
Remove synchronous reset from datapath to reduce fanout on reset and
help timing closure.
2021-03-08 10:46:52 +02:00
Laszlo Nagy 2545e53b0b jesd204_rx:64b: Remove reset
Remove synchronous reset from datapath to reduce fanout on reset and
help timing closure.
2021-03-08 10:46:52 +02:00
Laszlo Nagy 7b4fa390db ad_ip_jesd204_tpl_dac: fix capability reg 2021-03-08 10:46:52 +02:00
Laszlo Nagy 1099badaf4 ad9082_fmca_ebz:zc706: Initial version 2021-03-05 15:54:23 +02:00
Laszlo Nagy 2213527f29 ad9082_fmca_ebz:zcu102: Initial version 2021-03-05 15:54:23 +02:00
Laszlo Nagy f56e3c305b ad9082_fmca_ebz:vcu118: Initial version 2021-03-05 15:54:23 +02:00
Laszlo Nagy 6b13b32f24 ad9081_fmca_ebz: Workaround DMA bug when bus size equals max burst size 2021-03-04 11:13:29 +02:00
Laszlo Nagy 85729def2a axi_adrv9001: Double sync control lines between interface 1 and 2 2021-03-04 11:13:10 +02:00
Laszlo Nagy c691b5b0af axi_ad9361: Update constraints in case TDD is disabled 2021-03-04 11:13:10 +02:00
Laszlo Nagy 677c154134 adrv9001/zcu102/cmos: Loosen up clock skew constraints to match LVDS settings
Set the same inter clock skew characteristics as used in LVDS mode. The
physical lanes/routes are common on both modes.
2021-03-04 11:13:10 +02:00
Laszlo Nagy 03de08609b fmcomms2/zed: Disable unused TDD to save space and timing 2021-03-04 11:13:10 +02:00
Laszlo Nagy 50c4c3e815 axi_adrv9001: Fix channel 3 for Tx1 in DMA mode 2021-03-04 11:13:10 +02:00
Laszlo Nagy 3aa8a631d0 axi_adrv9001: Quartus 19.3 updates 2021-03-04 11:13:10 +02:00
Laszlo Nagy 0dd3173547 adrv9001/zc706: Initial commit
The project supports CMOS interface only.

VADJ on the ZC706 must be programmed to 1.8V
Instructions can be found here:
https://www.xilinx.com/Attachment/ZC706_Power_Controllers_Reprogramming_Steps.pdf
https://forums.xilinx.com/t5/Xilinx-Evaluation-Boards/ZC706-Doesn-t-work-with-VADJ-at-1-8v/td-p/430086
2021-03-03 09:03:03 +02:00
Aaron Holtzman 4c0f9a65f1 axi_dmac: fix non-blocking assignment in combinatorial block
Non-blocking assignments in combinatorial blocks can cause simulation problems. In this particular case iverilog coughed up a hairball.
2021-03-01 09:21:59 +02:00
Laszlo Nagy bfd4c77284 jesd204/jesd204_tx: Expose character replacement capability 2021-02-26 14:41:49 +02:00
Sergiu Arpadi 3be5137aec cn0540/cora: Remove multicycle constraint
Design uses 80MHz spi_clk which does not require
special considerations
2021-02-18 14:14:16 +02:00
Istvan Csomortani 77ef04201a util_axis_fifo: Add almost empty and almost full support 2021-02-16 15:12:16 +02:00
Istvan Csomortani 6178b42ba2 library.mk: Update CLEAN_TARGET 2021-02-16 15:11:53 +02:00
Laszlo Nagy 701e5f6515 scripts/adi_board.tcl: Add simulation support
This will allow building base test harnesses and place on top of them
existing block designs for simulation purposes.

Test harnesses will contain basic functionality like
- clock and reset generators
- AXI master to aid register access of the cores.
- memory model of the DDR
- interrupt controller

Existing procedures (ad_mem_hp0_interconnect, ad_cpu_interconnect, ... ) will
connect to this harness as they do to a real base design.
2021-02-12 16:21:10 +02:00
Istvan Csomortani 29d8c14e91 util_axis_fifo: Add TLAST to the streaming interfaces 2021-02-09 12:33:16 +02:00
Istvan Csomortani b6fb5a9b5c util_axis_fifo: Fix slave reset interface definition 2021-02-09 12:33:16 +02:00
Laszlo Nagy 0374a7c1ac ad9081_fmca_ebz/vcu118: Added common 204C use cases as example 2021-02-05 15:24:15 +02:00
Laszlo Nagy ddd8a14790 ad9081_fmca_ebz: Remove system reset from Xilinx PHY
Reset in device clock domain caused timing failures.
Since link reconfiguration is not supported the reset is not required.
2021-02-05 15:24:15 +02:00
Laszlo Nagy af3e1c7003 ad9081_fmca_ebz/a10soc: Np 12 support 2021-02-05 15:24:15 +02:00
Laszlo Nagy f73ed741c9 fmcadc5: Connect link clock to second JESD link layer 2021-02-05 15:24:15 +02:00
Laszlo Nagy 3f2f88ebbc ad_fmclidar1_ebz: Set bits per sample towards the DMA interface 2021-02-05 15:24:15 +02:00
Laszlo Nagy dafdd1c1e9 ad9208_dual_ebz: Use ad_xcvrcon procedure to connect device clock 2021-02-05 15:24:15 +02:00
Laszlo Nagy bb9eafceef ad9081_fmca_ebz/zcu102: Add case analysis to select correct out clock frequency 2021-02-05 15:24:15 +02:00
Laszlo Nagy d0f8a81b2f ad9081_fmca_ebz: Np 12 support
204B functional
204C functional
2021-02-05 15:24:15 +02:00
Laszlo Nagy 5678e72653 jesd204: Increase Rx version to 1.07.a 2021-02-05 15:24:15 +02:00
Laszlo Nagy 6f608b6199 jesd204: Increase Tx version to 1.06.a 2021-02-05 15:24:15 +02:00
Laszlo Nagy dd58759cd8 jesd204: Intel: NP12 support
Dual clock mode is introduced in link layer to support different
datapath widths on the transport layer than on physical layer.

- Link clock : lane rate / 40 for input datapath width of 4 octets 8b10b
- Device clock : Link clock * input data path width / output datapath width

Supports four clock configurations, single or dual clock mode with or
without external device clock.

The configuration interface reflects the dual clock domain.
2021-02-05 15:24:15 +02:00
Laszlo Nagy 6fe6864447 intel/common/up_clock_mon_constr: Make constraint more generic
Support multiple clock monitors in a block.
Before this change the clock monitor had to be named with a fix name
preventing multiple instances of the clock monitor.
2021-02-05 15:24:15 +02:00
Laszlo Nagy f04cb0c640 jesd204/ad_ip_jesd204_tpl:Intel: NP 12 support
Add parameter that describes interface to link layer, this must be
integer multiple of octets per frame.

Add parameter that describes interface to user/DMA, this must be
multiple of bytes so software can process the samples easier.
2021-02-05 15:24:15 +02:00
Laszlo Nagy 941411c17e intel/jesd204_phy: Remove device clock from the interface
The device clock or other clock can be connected to link_clock from the
upper layer scripts, no need for duplicating clock inputs.
2021-02-05 15:24:15 +02:00
Laszlo Nagy 94181206c2 jesd204/tb: Update testbenches 2021-02-05 15:24:15 +02:00
Laszlo Nagy 589cfc6b1b jesd204_tx_static_config: Update to Np 12 interface changes 2021-02-05 15:24:15 +02:00
Laszlo Nagy 93897b4cb5 jesd204_rx_static_config: Update to Np 12 interface changes 2021-02-05 15:24:15 +02:00
Laszlo Nagy 71475e7dd8 jesd204: Expose core synthesis parameters through registers
Make synthesis parameters accessible for the drivers.
Rework implementation to reflect the parameters of the actual core and
not of the AXI interfacing core.
2021-02-05 15:24:15 +02:00
Laszlo Nagy 454b900f90 jesd204: Xilinx: NP=12 support
To support deterministic latency with non-power of two octets per frame
(F=3,6) the interface width towards the transport layer must be resized
to match integer multiple of frames.

e.g  Input datapath width = 4; Output datpath width = 6;
  for F=3 one beat contains 2 frames
  for F=6 one beat contains 1 frame

The width change is realized with a gearbox.

Due the interface width change the single clock domain core is split
in two clock domains.
  - Link clock : lane rate / 40 for input datapath width of 4 octets 8b10b
  -              lane rate / 20 for input datapath width of 8 octets 8b10b
  -              lane rate / 66 for input datapath width of 8 octets 64b66b

  - Device clock : Link clock * input data path width / output datapath width

Interface to transport layer and SYSREF handling is moved to device clock domain.

The configuration interface reflects the dual clock domain.

If Input and Output datapath width matches, the gearbox is no longer
required, a single clock can be connected to both clocks.
2021-02-05 15:24:15 +02:00
Laszlo Nagy e909962fb0 common/ad_upack: Generic unpacker core and testbench
Unpacker:
   - unpack O_W number of data units from I_W number of data units
   - data unit defined in bits by UNIT_W e.g 8 is a byte
2021-02-05 15:24:15 +02:00
Laszlo Nagy b4ebd4357f common/ad_pack: Generic packer core and testbench
Packer:
   - pack I_W number of data units into O_W number of data units
   - data unit defined in bits by UNIT_W e.g 8 is a byte
2021-02-05 15:24:15 +02:00
Laszlo Nagy 6ef803e7ab jesd204: Make character replacement opt in feature
In order to keep resource utilization low and for better timing closure
allow disabling of the character replacement logic.

If the parameter is set the frame alignment monitoring is limited to links
where scrambling is on.
2021-02-05 15:24:15 +02:00
Matt Blanton 7093e10ebf jesd204: Fixed TX frame mark timing. Added start and end of multiframe signals as RX and TX ports 2021-02-05 15:24:15 +02:00
Matt Blanton 400c3927f7 jesd204: Add support for 8-byte JESD204B, frame alignment character insertion/replacement
Add support to JESD204 RX and TX core for 8-byte 8b/10b link mode,
and frame alignment character replace/insert with or without scrambling.
Add support for xcelium simulator to jesd204/tb
Increased cores minor version.
2021-02-05 15:24:15 +02:00
Adrian Costina 7be66b63c1 adrv9009zu11eg:fmcomms8: Fix lane swapping for TX channels 0 and 1 on the FMCOMMS8 2021-02-05 15:07:09 +02:00