Commit Graph

440 Commits (main)

Author SHA1 Message Date
Jorge Marques e646e61ce4 i3c_controller: Add I3C Controller IP
Add I3C Controller IP with required I3C features support.
Uses IRQ based DAA.
Supports speeds at 100MHz clk: 12.50MHz, 6.25MHz, 3.12MHz, 1.56MHz
Basic IBI support with/without MDB.
Compatible with AMD Xilinx and Altera FPGAs.

Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2024-04-12 09:19:18 -03:00
Jorge Marques 6c8dd7ee15 common: Add ad_mem_dual
Dual access memory abstraction.

Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2024-04-12 09:19:18 -03:00
Iulia Moldovan 68461110aa Replace link in license header from master to main
Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2024-01-16 16:48:45 +02:00
AndreiGrozav 6128dd1ab5 up_dac_channel: Cosmetics - fix indentation 2023-10-02 11:14:57 +03:00
PopPaul2021 86836f5a40 library/common: Added DAC custom read/write interface in up_dac_common.
The DAC common regmap was updated with 3 registers(rd/wr/ctrl) and 1 interface status flag for converters with custom control interface.
2023-10-02 11:07:08 +03:00
AndreiGrozav 9f824554aa up_dac_channel: Cosmetic additions 2023-09-26 18:39:28 +03:00
AndreiGrozav 782b27e894 DAC DDS: Add support for DDS phase width > 16
Add support for DDS phase width greather than 16.
The software should read the DDS phase data width register and configure
the DDS init and increment registers accordingly, otherwise the obtained
DDS output frequency will not be the desired one for DDS phase width
different than 16.

DDS_incr = (f_out * 2^(phase_width) * clkratio)/f_if
2023-09-26 18:39:28 +03:00
Iulia Moldovan 860010e050 library/common/tb/tb_base.v: Update license header
* Removed the commercial JESD license and put the ADIBSD or GPL v2 like
   for other Verilog files

Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2023-09-07 10:45:49 +03:00
Iulia Moldovan c9a7d4d927 Add copyright and license to .tcl, .ttcl files
Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2023-07-25 15:22:26 +03:00
Iulia Moldovan 86c9847c5f Add copyright & license to .sh, .yml, .pl files. Edit Makefile for KV260
* Updated the Makefile for KV260 template as the copyright was not generated
   properly

Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2023-07-11 18:39:55 +03:00
Iulia Moldovan 28c06d505f Add/edit copyright and license for .v, .sv files
Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2023-07-11 15:17:41 +03:00
Jem Geronimo d152ad1e9d
add: softspan support in adc_channel regmap (#1081)
docs/regmap/adi_regmap_adc.txt: 
- add softspan to regmap
library/common/up_adc_channel.v
- update copyright year header
- add softspan to regmap
library/common/up_adc_common.v
- update minor version

Signed-off-by: John Erasmus Mari Geronimo <Johnerasmusmari.Geronimo@analog.com>
2023-04-20 19:05:38 +08:00
Istvan-Zsolt Szekely 15e9c65c83 library/common/util_pulse_gen: Fix for unupdateable registers
- Fixed an issue where if Pulse Period is set to 0, the load_config won't work

Signed-off-by: Istvan-Zsolt Szekely <istvan.szekely@analog.com>
2023-02-02 11:33:08 +02:00
alin724 8ad959c16f up_adc_common: Update custom RD/WR mechanism 2023-01-12 13:09:35 +02:00
PopPaul2021 eb663876d7 axi_ad7768: modified adc_format values and crc_err flag has to be RW1C 2022-11-15 15:43:46 +02:00
alin724 5008999bea up_adc_common: Add register data reading/writing functionality 2022-10-05 14:56:36 +03:00
alin724 045327c8db common/up_adc_channel: Add raw data reading functionality 2022-10-05 14:27:51 +03:00
stefan.raus 19c76d1d4f run_tb.sh:don't run xsim if previous commands fail
If 'xvlog' or 'xelab' xilinx commands are failing, exit from
run_tb.sh script without trying to run simulation.

Signed-off-by: stefan.raus <stefan.raus@analog.com>
2022-09-28 14:25:21 +03:00
Laszlo Nagy 8905147698 common/tb/ad_pack_tb: Add non random scenario as first test for easier debug 2022-08-25 12:35:59 +03:00
Ionut Podgoreanu 214cf5896e library/common: Enable automatic logging of simulation output 2022-08-10 12:00:15 +03:00
Ionut Podgoreanu 79579f65df library/common: Update the packing IPs to be more generic 2022-08-10 12:00:15 +03:00
PopPaul2021 0595f93452
AD777x support for ZedBoard and DE10Nano (#937)
* library/common: Ad adc_status_header, adc_crc_err and adc_crc_enable.

* library/axi_ad777x: Initial commit for Xilinx and Intel

* projects/ad777x_ardz: Initial commit for ZedBoard and DE10Nano
2022-08-10 11:29:05 +03:00
Laszlo Nagy d8a6e81c7e jesd204/ad_ip_jesd204_tpl_adc: Fix data formater for N'=12 if DMA interface is also 12 2022-08-08 14:22:24 +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
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 8c7cca4277 common/up_adc_common: Add ext sync regs 2022-02-07 19:14:01 +02:00
Laszlo Nagy 1b06c74919 common/up_dac_common: Add manual sync request 2022-02-07 19:14:01 +02:00
Laszlo Nagy db49aa652f common/up_dac_common: Add support for explicit disarm control 2022-02-07 19:14:01 +02:00
Laszlo Nagy 4e644e4e74 jesd204/ad_ip_jesd204_tpl_dac: External sync refactor
- Expose EXT_SYNC parameter to sw
- Add external manual sync request
- Add rst to interface
2022-02-07 19:14:01 +02:00
Laszlo Nagy 1ca5abc91e common/up_xfer_cntrl: Fix transfer done timing
up_xfer_done should signalize when a previous control set is
transferred to the other clock domain and the current control set is latched.

If a bit from the up_data_cntrl changes, it should stay in that state until
the up_xfer_done asserts.
2022-02-07 19:14:01 +02:00
AndreiGrozav 38f3627695 ad_dds: Fix DDS start samples
When using a CLK_RATIO > 1 the first n samples(n=CLK_RATIO) after sync, are
noisy. This is because the phase accumulator data is passed to the phase to
amplitude converter, during the phase synchronization step.
2022-01-31 14:07:11 +02:00
David Winter fcd3bfd349 util_pulse_gen: Reload registers when counter is at one
This patch fixes an issue where the pulse width is only updated two
periods after the current one.

Signed-off-by: David Winter <david.winter@analog.com>
2022-01-04 15:02:05 +02:00
stefan.raus 3c07861ee8 generate_xml.sh: Replace < and > in error message
Replace < with &lt; and > with &gt; in ERRS to not broke created xml.

Signed-off-by: stefan.raus <stefan.raus@analog.com>
2021-11-03 15:22:45 +02:00
Laszlo Nagy 70cc53bbc8 ad_ip_jesd204_tpl_dac: Move external dac sync bit 2021-10-27 18:36:47 +03:00
Laszlo Nagy 7b0922e4dc library/common/up_adc_common.v: Remove tabs 2021-10-27 18:36:47 +03:00
Laszlo Nagy a9c9636780 library/common/up_dac_common.v: Cleanup spaces 2021-10-27 18:36:47 +03:00
Istvan Csomortani 6565c5d018 library/tb: Improve run_tb.sh 2021-10-18 16:13:31 +03:00
David Winter 1766b42a93 ad_mem_asym: Add option to control cascade layout
Signed-off-by: David Winter <david.winter@analog.com>
2021-09-15 12:27:49 +03:00
alin724 f8c82c611d axi_adrv9001: Add support for symbol operation mode on Xilinx devices
Add CMOS support for the interface for the following symbol modes on Xilinx devices:

A              B  C       D                     E       F      G            H
CSSI__1-lane   1  16/8    80(SDR)/160(DDR)      80      -      SDR/DDR      SDR/DDR->4/2(C=16), 2/1(C=8)

Columns description:
A - SSI Modes
B - Data Lanes Per Channel
C - Serialization factor Per data lane
D - Max data lane rate(MHz)
E - Max Clock rate (MHz)
F - Max Sample Rate for I/Q (MHz)
G - Data Type
H - DDS Rate

CSSI - CMOS Source Synchronous Interface
2021-08-17 15:33:06 +03:00
David Winter 58953ff40d data_offload: Fix m_axis output stability issue
Signed-off-by: David Winter <david.winter@analog.com>
2021-08-06 11:55:24 +03:00
Istvan Csomortani 6e97803437 ad_axis_inf_rx: Initialize output ports to avoid X propagation in simulation 2021-08-06 11:55:24 +03:00
David Winter 386afd8511 up_tdd_cntrl: Add magic value "TDDC"
Adds a magic identification value of 0x54444443 at word address 0x3.
It is derived from the ASCII String "TDDC" interpreted as a big-endian
32-bit unsigned integer.

Signed-off-by: David Winter <david.winter@analog.com>
2021-06-14 16:50:59 +03:00
Laszlo Nagy 1502b940d3 common/up_dac_common: Expose r1_mode in up clock domain to prevent deadlock
If R1 mode is first syncronized to the dac clock domain will prevent its
usage if the dac clock is missing. In such case the synchronization will not
propagate.
2021-05-26 15:44:45 +03:00
stefan.raus 37238916df Testbenches: Unify and optimize HDL testbenches
Create a common 'run_tb.sh' script to be called by every testbench.
Unify file and testbenches names.
Fix util_pack/cpack_tb.
Add parameters '-batch' and '-gui' for modelsim and xsim simulators (default is gui)
Add ascript for that generates output in xml format (used by CI tools).
2021-05-07 19:53:14 +03: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 8476993c1b ad_pnmon: Fix zero checking when valid not constant 2021-01-26 15:22:41 +02:00
Laszlo Nagy 669217db8b ad_tdd_control: Avoid single pulses if tx_only or rx_only 2021-01-20 13:00:01 +02:00
Laszlo Nagy 843c2565f7 up_tdd_cntrl: Split large synchronizer in smaller ones
This will help placement.
2021-01-20 13:00:01 +02:00
Laszlo Nagy 54c2cf7d12 ad_tdd_control: Fix rx/tx only behavior
When tx_only disable rx_enable and vice-versa
2021-01-20 13:00:01 +02:00