Commit Graph

4012 Commits (7340d8aa16290ee97ff883c65dd96c7dea49ab4d)

Author SHA1 Message Date
Istvan Csomortani 7340d8aa16 axi_dacfifo: DAC side CDC fifo control update
The fifo will ask for a new data from the DDR, if the current
level is lower than the high threshold. This will prevent overflow.
By deleting the lower threshold, we can avoid ocassional underflows,
when the DAC rate is closer to the max DDRx rate.
2017-07-06 10:01:27 +01:00
Istvan Csomortani a0b33898d2 axi_dacfifo: Add gray coder/decoder module
Use gray coder/decoder modules, instead of functions.
This way it can be used paramterized data width on the
coders/decoders.
2017-07-06 10:01:27 +01:00
Istvan Csomortani 866d79dee2 ad_axis_inf_rx: Delete redundant local paramter
All verilog file are using the Verilog-2001 standard to define
and/or declare ports. Definin a port width with a local parameter
is a bad practive, when this standard is used. Some simulators
will crash. Try to avoid it.
2017-07-06 10:01:27 +01:00
Istvan Csomortani cfa22f36bc axi_dacfifo: Fix the dma_ready signal generation
Fix the dma_ready mux in top module, and the dma_ready_out reset
logic in axi_dacfifo_wr module. Also, both write and read addresses
of the async CDC fifo (inside the axi_dacfifo_wr) should be reset
before a dma transaction starts.
2017-07-06 10:01:17 +01:00
Lars-Peter Clausen debca3a153 fmcjesdadc1: vc707: Remove unsed mb_intrs signal
The mb_intrs signal is never driven, it is a leftover of an earlier version
of the file, remove it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-05 14:38:25 +02:00
Lars-Peter Clausen 0360e8587e Connect JESD204 interrupts
Connect the ADI JESD204 link layer peripheral interrupt signals in all
projects.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-05 14:37:50 +02:00
Adrian Costina 9f8a94df69 axi_logic_analyzer: Streaming flag initial commit
If the streaming bit is set, after the trigger condition is met
data will be continuosly captured by the DMA. The streaming bit
must be set to 0 to reset triggering.
2017-07-03 18:00:23 +03:00
Adrian Costina 99e8aa385a axi_adc_trigger Streaming flag initial commit
If the streaming bit is set, after the trigger condition is met,
data will be continuosly captured by the DMA. The streaming bit
must be set to 0 to reset triggering.
2017-07-03 16:54:40 +03:00
Adrian Costina b4467ff4dc axi_adc_trigger: Fix triggered flag 2017-07-03 13:00:51 +03:00
Adrian Costina 291718d6a8 axi_logic_analyzer: Fixed triggered flag 2017-07-03 12:59:24 +03:00
Lars-Peter Clausen b0ebf2df06 daq3: Provide DAC JESD204 lane mapping
The DAQ3 does not use a 1-to-1 lane mapping for the DAC JESD204 link.
Provide the proper mapping when setting up the transceiver connections.
Without this the payload data will be mapped incorrectly and the
transmitted signals are scrambled.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-30 16:01:10 +02:00
Adrian Costina d65a543854 kc705: Fix ethernet address span 2017-06-30 14:23:01 +03:00
AndreiGrozav a765a9c709 arradio: Add i2c interface 2017-06-29 17:26:58 +03:00
Lars-Peter Clausen 8755e6da44 axi_logic_analyzer: Fix direction change in non-streaming mode
In non-streaming mode we want direction changes to be applied immediately.
The current code has a typo and checks the wrong signal. overwrite_data
holds the configured output value of the pin, whereas overwrite_enable
configures whether the pin is in streaming or manual mode.

For correct operation the later signal should be used to decide whether a
direction change should be applied. Otherwise the direction change will
only be applied if the output value of the pin is set to logic high.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-29 13:16:48 +02:00
Lars-Peter Clausen 121e04e94e util_adxcvr: Bring back channel 8
This was accidentally deleted in commit 6d4430cfda
("axi_adxcvr/util_adxcvr: Fix non-broadcast DRP access").

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-29 13:16:48 +02:00
Lars-Peter Clausen 6d4430cfda axi_adxcvr/util_adxcvr: Fix non-broadcast DRP access
When using non-broadcast access to the GT DRP registers lane filtering is
done on both sides. The ready and data signals are filtered in the in the
axi_adxcvr module and the enable signal is filtered in the util_adxcvr
module. This works fine as long as both sides use the same transceiver IDs.
E.g. channel 0 of the axi_adxcvr module is connected to channel 0 of the
util_adxcvr module.

But this is not always the case. E.g. on the ADRV9371 platform there are
two RX axi_adxcvr modules (RX and RX_OS) connected to the same util_adxcvr.
The first axi_adxcvr uses lane 0 and 1 of the util_adxcvr, the second uses
lane 2 and 3.

Non-broadcast access for the first RX axi_adxcvr module works fine, but
always generates a timeout for the second axi_adxcvr module. This is
because lane 0/1 of the axi_adxcvr module is connected to lane 2/3 of the
util_adxcvr and when ID based filtering is done both can't match at the
same time.

To avoid this perform the filtering for all the signals in the axi_adxcvr
module. This makes sure that the same base ID is used.

This also removes the sel signal from the transceiver interfaces since it
is no longer used on the util_adxcvr side.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-28 17:30:51 +02:00
Istvan Csomortani e4e74fe6ce common: Delete deprecated modules 2017-06-26 16:12:34 +01:00
Istvan Csomortani 6ebef5dde0 make: Update make files 2017-06-26 15:51:19 +01:00
Istvan Csomortani f00bf926ca axi_ad9652: Remove deprecated IP 2017-06-26 15:46:46 +01:00
Istvan Csomortani 68a50317e9 axi_ad9643: Remove deprecated IP 2017-06-26 15:46:33 +01:00
Istvan Csomortani 9363ee0316 axi_ad9234: Remove deprecated IP 2017-06-26 15:46:12 +01:00
Istvan Csomortani 6bcb327d5f common: Remove deprecated modules 2017-06-26 15:43:57 +01:00
Istvan Csomortani 95877fc5ce util_ccat: Remove deprecated IP 2017-06-26 15:43:10 +01:00
Adrian Costina a5bb72cbba axi_logic_analyzer: Added triggered flag 2017-06-23 14:37:23 +03:00
Adrian Costina 9d572b406b axi_adc_trigger: added triggered flag 2017-06-23 14:36:22 +03:00
Istvan Csomortani ca12938873 ad77681evb: Suppress a critical warning 2017-06-22 14:25:43 +01:00
Istvan Csomortani 1541943ff2 adrv9371_alt: Delete the fifos from the RX path
+ Delete the rx_fifo and rx_os_fifo from the RX datapath
  + Change the receive DMA's source interface type to wr_fifo
2017-06-22 11:58:10 +01:00
Rejeesh Kutty 354b311f3d library/avl_adxcvr: fpll fixes 2017-06-21 15:26:00 -04:00
Lars-Peter Clausen 94586a5b49 jesd204: tb: Fix signal width mismatch warnings
Always explicitly specify the signal width for constants to avoid warnings
about signal width mismatch.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-20 17:39:41 +02:00
Lars-Peter Clausen 885b364a46 jesd204: rx_static_config: Set RBD to 0
The buffer delay should be 0 in the default configuration. The current
value of 0xb must have slipped in by accident.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-20 17:39:41 +02:00
Lars-Peter Clausen 71cc052825 jesd204: rx: Use standalone counter for lane latency monitor
Use a single standalone counter that counts the number of beats since the
release of the SYNC~ signal, rather than re-using the LMFC counter plus a
dedicated multi-frame counter.

This is slightly simpler in terms of logic and also easier for software to
interpret the data.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-20 17:39:41 +02:00
Lars-Peter Clausen 9e50f5afa8 jesd204: Handle sysref events in the register map
There are currently two sysref related events. One the sysref captured
event which is generated when an external sysref edge has been observed.
The other is the sysref alignment error event which is generated when a
sysref edge is observed that has a different alignment from previously
observed sysref edges.

Capture those events in the register map. This is useful for error
diagnostic. The events are sticky and write-1-to-clear.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-20 17:39:41 +02:00
Lars-Peter Clausen d3b44906c3 jesd204: Properly align LMFC offset in register map
The internal LMFC offset signals are in beats, whereas the register map is
in octets. Add the proper alignment padding to the register map to
translate between the two.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-20 17:39:41 +02:00
Lars-Peter Clausen baa256e34c jesd204: Slightly rework sysref handling
For SYSREF handling there are now three possible modes.

1) Disabled. In this mode the LMFC is generated internally and all external
SYSREF edges are ignored. This mode should be used for subclass 0 when no
external sysref is available.
2) Continuous SYSREF. An external SYSREF signal is required and the LMFC is
aligned to the SYSREF signal. The SYSREF signal is continuously monitored
and if a edge unaligned to the previous edges is detected the LMFC is
re-aligned to the new edge.
3) Oneshot SYSREF. Oneshot SYSREF mode is similar to continuous SYSREF mode
except only the first edge is captured and all further edges are ignored,
re-alignment will not happen.

Both in continuous and oneshot signal at least one external sysref edge is
required before an LMFC is generated. All events that require an LMFC will
be delayed until a SYSREF edge has been captured. This is done to avoid
accidental re-alignment.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-20 17:39:41 +02:00
Lars-Peter Clausen bf88527119 library: jesd204: jesd204_up_common: Fix indention
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-20 17:39:41 +02:00
Lars-Peter Clausen 2e8be3d7a6 daq2: Provide DAC lane map
Provide the correct lane mapping for the DAQ2 DAC lanes which do not follow
a 1-to-1 mapping between physical and logical lanes due to PCB layout
constraints.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-20 17:39:41 +02:00
Lars-Peter Clausen 4bf5990451 adi_board.tcl: ad_xcvrcon: Add lane mapping support
Add a parameter to the ad_xcvrcon function that allows to provide a mapping
between logical and physical lanes. By default if no lane map is provided
the logial and physical lanes are mapped 1-to-1. If a lane map is provided
logical lane $n is mapped onto physical lane $lane_map[$n].

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-20 17:39:41 +02:00
Lars-Peter Clausen 9f954303ac up_clock_mon: Fix stopped clock detection logic
A broken version of the stopped clock detection logic was merged by
accident. Fix it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-20 17:39:41 +02:00
Istvan Csomortani f415b4f973 axi_ad5766: Delete unused interface definition 2017-06-20 11:55:10 +01:00
Adrian Costina 871855c9ec axi_logic_analyzer: Fix delayed trigger assertion condition 2017-06-19 10:58:22 +03:00
Matthew Fornero d840baee28 util_clkdiv: Register output port as a clock (#33)
If the output pin is not defined as a clock, some of the Vivado IPI
propagation TCL will error out.

Signed-off-by: Matt Fornero <matt.fornero@mathworks.com>
2017-06-19 07:52:43 +01:00
Rejeesh Kutty dc94dd3ea7 jesd204- apply constraints after top 2017-06-16 15:30:18 -04:00
Rejeesh Kutty 513f6ae18a adi_ip.tcl- general rule- order independent constraints 2017-06-16 13:51:35 -04:00
Rejeesh Kutty 56867b362e daq3- updated to 12.5G 2017-06-16 09:02:26 -04:00
Rejeesh Kutty 3fb5408acc fmcjesdadc1/a10gx- fix sysref, lvds io and such 2017-06-15 13:57:21 -04:00
Rejeesh Kutty 6ec9eab7b9 fmcjesdadc1/a10soc- fix sysref, lvds io and such 2017-06-15 13:57:21 -04:00
Rejeesh Kutty ef290ef484 hdlmake.pl updates 2017-06-15 11:42:44 -04:00
Rejeesh Kutty e33e6a84f4 a5gt/a5soc - removed 2017-06-15 11:41:28 -04:00
Rejeesh Kutty a23fb793a0 a5gt/a5soc - removed 2017-06-15 11:40:58 -04:00
Rejeesh Kutty 9e2d55ed07 adi_ip_alt: allow composition only parameter settings 2017-06-15 11:36:39 -04:00