Commit Graph

2914 Commits (d6ff3a35ab72878d42e623de8f2da4820a0830d4)

Author SHA1 Message Date
Jorge Marques 15250232f9
axi_dmac: Fix constraints coverage and empty to list warnings
Due to nets being optimized at IP-level during the no-OOC synthesis flow,
constraints related to req_clk (request clock) were not being applied,
causing the design to not meet timing.
The fix considers the synchronous modes, appending the possible resulting
req_clk's names after the synthesis flow.

Due to grounded signals in the DMA_TYPE_SRC != DMA_TYPE_STREAM_AXI config.,
sync_rewind is removed during synthesis, even so, constraints were
trying to be applied to those nets.
To resolve this, sync_rewind block was moved to inside the generate.
Vivado seems to properly suppress "Empty list" warnings when the circuit does not exist because of a generate rule.

Signed-off-by: Jorge Marques <jorge.marques@analog.com>
Signed-off-by: Ionut Podgoreanu <ionut.podgoreanu@analog.com>
2023-07-10 12:28:59 +00:00
Iulia Moldovan c7af4daa2f library.mk: Update folders and files from make clean
Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2023-04-28 17:02:13 +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
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
Sergiu Arpadi cf3bd8528d spi_engine_offload: Update hw.tcl
Define trigger input signal as if_pwm interface type. This ensures
compatibility with axi_pwm_gen pwm outputs.
2023-03-30 14:55:59 +03:00
Sergiu Arpadi 369e34425f axi_pwm_gen: Update timing constraints, hw.tcl and sdc files.
Not using util_cdc_constr.tcl
2023-03-30 14:55:59 +03:00
alin724 f945520020 axi_ad7606x: Fix data width and order of ADC channels 2023-03-29 21:33:33 +03:00
AndreiGrozav e883f6ecd6 adi_xilinx_device_info_enc: Enlarge detection
Add detection scenario for xazu*, xczu*, xqzu* and ultrascale+ packages.
2023-03-29 16:44:25 +03:00
laurent-19 2ae09c9808 Check guidelines. Remove redundancies
* Removed empty/commented lines
 * Regenerated Makefiles
 * Removed redundancies adc channels data width
 * Set data width 32-bit: max resolution and CRC header

Signed-off-by: laurent-19 <laurentiu.popa@analog.com>
2023-03-29 15:08:07 +03:00
Sergiu Arpadi 445cca61ef SPI Engine: Update spi_engine.tcl
The SPI Engine cores were named directly inside the script and this
would mean that for multiple SPI Engine instances IPs with the same
name would appear. These updates will introduce the hierarchy name
into the name given to the cores and will therefore allow for
multiple instances of SPI Engine to be added to the same Xilinx
project.

Projects which use spi_engine.tcl will be updated to account for
these changes.
2023-03-29 15:08:07 +03:00
laurent-19 83284107a2 library/axi_pwm_gen: Assign correct reg value to offset_0
Signed-off-by: laurent-19 <laurentiu.popa@analog.com>
2023-03-22 17:58:18 +02:00
PopPaul2021 e94df1d7da library/axi_ad7768: Data valid signal updates
If the sampling clock is lower than dclk*number_of_active_lines*32 the interface should wait for the next adc_ready signal to reset the counter.
The adc_valid_p signal should be set high just for a clock period after the sample was captured.
2023-03-01 15:52:05 +02:00
Jem Geronimo 2db944396f
axi_pwm_gen: add: intel support (#1080)
Signed-off-by: Jem Geronimo <johnerasmusmari.geronimo@analog.com>
2023-02-07 18:27:04 +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
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 a88215abc1 axi_adrv9001/intel: Add dummy parameter IODELAY_ENABLE in adrv9001_rx
- Issue introduced by commit 173f4a83d4
 - When IODELAY_ENABLE was inserted in axi_adrv9001_if for adrv9001_rx (Xilinx instance),
   for Intel instance (intel/adrv9001_rx.v) was omitted and caused a build error for
   adrv9001/a10soc

Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2023-01-18 14:52:30 +02:00
alin724 cd448ea0d0 axi_ad7606x: Initial commit 2023-01-12 17:38:14 +02:00
AndreiGrozav 22fbb05256 Update IPs based on up_adc_common changes 2023-01-12 13:09:35 +02:00
alin724 8ad959c16f up_adc_common: Update custom RD/WR mechanism 2023-01-12 13:09:35 +02:00
Filip Gherman 4257a47b7a intel/adi_jesd204: Enable master clock generation block for S10 H-Tile 2023-01-10 13:07:04 +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
Ionut Podgoreanu ef278e1c88 library/axi_tdd: Add generic TDD engine
Replaced the existing axi_tdd with the new version
* Added DEFAULT_POLARITY synth parameter and RO register
* Added TDD_STATUS register
* Added TDD_SYNC_RST feature
* Used the asy_ prefix for signals which are not synced
* Added logic to force the state from ARMED to RUNNING when startup_delay=0
* Added feature to finish the burst when the module is disabled before its completion

Signed-off-by: Ionut Podgoreanu <ionut.podgoreanu@analog.com>
2022-12-13 16:26:02 +02:00
Ionut Podgoreanu 7faefab1be library/scripts: Add SV support for Intel boards
Signed-off-by: Ionut Podgoreanu <ionut.podgoreanu@analog.com>
2022-12-13 16:26:02 +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
Filip Gherman cef4adb81d axi_dmac: Add suport for 64 bit address width
New improvements for the ADI DMAC IP:
1)The capability to manually overwrite the DMA_AXI_ADDR_WIDTH(from GUI or from tcl)
2)DMA_AXI_ADDR_WIDTH attribute is now visible in the Vivado GUI:
-"Auto mode": Automatically calculated by the core tcl files based on the existing attached address segments.
-"Manual mode": Specify the desired dma_width between 32-64 bits.
3)Added two new debug registers that return higher part of the current source/destination address.

Signed-off-by: Filip Gherman <Filip.Gherman@analog.com>
2022-10-18 16:59:18 +03:00
alin724 28ace647d1 up_adc_common: Update IPs and adi_regmap_adc definition file to latest up_adc_common module 2022-10-05 14:56:36 +03:00
alin724 5008999bea up_adc_common: Add register data reading/writing functionality 2022-10-05 14:56:36 +03:00
alin724 775a23ebf2 up_adc_channel: Update IPs and adi_regmap_adc definition file to latest up_adc_channel module 2022-10-05 14:27:51 +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
PopPaul2021 8960652c5a
library/jesd204/ad_ip_jesd204_tpl_adc: Added support for PN7 and PN15 (#1019) 2022-09-28 13:07:36 +03:00
stefan.raus 88f48cba61 library/scripts/library.mk: clean files form tb
Update clean command to delete also files generated by simulation,
from 'tb' folders, covering cases for Xsim and ModelSim simulators.

Signed-off-by: stefan.raus <stefan.raus@analog.com>
2022-09-26 13:09:21 +03:00
Iulia Moldovan f3f4686759 axi_ltc2387: Update up_adc_common and up_adc_channel instances
* Cosmetic changes also

Signed-off-by: Iulia Moldovan <iulia.moldovan@analog.com>
2022-09-21 09:42:40 +03:00
Iulia Moldovan bc94402b91 axi_ltc2387: Make adc_valid to represent the current sample
* Before, adc_valid was for the previous sample. This said that
   at the second rising edge of clk_gate - the first sample is valid,
   which is not true

 * Alongside with the software issue that will be solved, these fixes
   will make the first 2 samples to be with valid data, otherwise the
   user has to always keep in mind that the first 2 ones are invalid

Signed-off-by: Iulia Moldovan <iulia.moldovan@analog.com>
2022-09-21 09:42:40 +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
Laszlo Nagy ee3af4c9c6 axi_jesd204: Cleanup unused parameter 2022-08-25 12:35:42 +03:00
Laszlo Nagy a1d31b4913 axi_jesd204_rx/jesd204_up_rx: Set buffer delay in beats of device clock 2022-08-25 12:35:42 +03:00
Ionut Podgoreanu 5c86c15ff3 library/jesd204: Add support for a gearbox ratio in which the TPL width is smaller than the PHY interface 2022-08-25 12:35:42 +03:00
Ionut Podgoreanu 567be16bf6 library/jesd204: Update the script which computes the TPL width to be able to assign custom values 2022-08-25 12:35:42 +03:00
PopPaul2021 cc18f90579
Added axi_ad7768 IP Core (#989)
* projects/ad7768evb: Initial commit with axi_ad7768 IP

* library/axi_ad7768: Initial commit for AD7768/AD7768-4
2022-08-24 16:57:14 +03:00
LIacob106 a824bbfdbe library/scripts/adi_ip_xilinx.tcl: remove duplicate adi_env.tcl source
Signed-off-by: LIacob106 <liviu.iacob@analog.com>
2022-08-23 17:55:27 +03:00
Iulia Moldovan e02d31cdfd scripts: Set required Vivado version only in adi_env.tcl
Signed-off-by: Iulia Moldovan <iulia.moldovan@analog.com>
2022-08-18 15:41:58 +03:00
Iulia Moldovan dde37124a4 scripts: Update Vivado version to 2021.2
Signed-off-by: Iulia Moldovan <iulia.moldovan@analog.com>
2022-08-18 15:41:58 +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 ab29f21f7a axi_ltc2387: Update data formatter instance to use bits instead of octets 2022-08-08 14:22:24 +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