Commit Graph

2576 Commits (fa6f45a406633de360dd71c3155a0da852615f1a)

Author SHA1 Message Date
AndreiGrozav fa6f45a406 adrv936x, fmcomms2/5, usrpe31x: Fix warning on the dac path
Fix warnining regarding SYNC_TRANSFER_START parameter which doesn't
apply when the axi_dmac is configured for the tx path.
2018-08-20 14:29:57 +03:00
AndreiGrozav ec400e5865 adrv9361z7035/ccfmc: Replace VDMA with ADI DMAC 2018-08-20 14:28:01 +03:00
AndreiGrozav 4f1c748d8a common/zc702: Replace VDMA with ADI DMAC 2018-08-20 14:28:01 +03:00
AndreiGrozav 6ef268bb31 common/zc706: Replace VDMA with ADI DMAC 2018-08-20 14:28:01 +03:00
AndreiGrozav a0e3997687 common/zed_system_bd.tcl: Replace VDMA
Replace Xilinx VDMA IP with ADI axi_dmac IP.
2018-08-20 14:28:01 +03:00
AndreiGrozav 1c75c7b9ca common/mitx045: Remove carrier support 2018-08-16 10:05:02 +03:00
AndreiGrozav 449911fd8f Remove adv7511/common: Deprecated
The common/adv7511_bd.tcl was used by projects based on microblaze
architectures, which are not supported anymore.
2018-08-16 10:05:02 +03:00
AndreiGrozav 4ddbb57749 daq3, fmcomms2/5: Cosmetic update only of the xdc files 2018-08-13 17:45:53 +03:00
AndreiGrozav c8fec4f70e daq3,fmcomms2/5 on zcu102: Fix warnings
DIFF_TERM is not supported in UltraScale devices.
2018-08-13 17:45:53 +03:00
Lars-Peter Clausen 5b94533cd0 adi_board.tcl: ad_ip_instance: Add support for specifying IP parameters
Add support for specifying a set of parameter value pairs when
instantiating an IP core to the ad_ip_instance command. This has the
convenience of not having to repeatedly call ad_ip_parameter with the name
of the core that got just created for each parameter that needs to be set.

It is also useful for cases where some parameters have mutually exclusive
values and both (or more) have to be set at the same time.

This also slightly speeds things up. Whenever a parameter is changed the
core needs to be updated and post configuration scripts might run. When
setting all parameters at the same time this only happens once instead of
once for each parameter.

For example the following sequence

  ad_ip_instance axi_dmac axi_ad9136_dma
  ad_ip_parameter axi_ad9136_dma CONFIG.DMA_TYPE_SRC 0
  ad_ip_parameter axi_ad9136_dma CONFIG.DMA_TYPE_DEST 1
  ad_ip_parameter axi_ad9136_dma CONFIG.DMA_DATA_WIDTH_SRC 64
  ad_ip_parameter axi_ad9136_dma CONFIG.DMA_DATA_WIDTH_DEST 256

can now be replaced with

  ad_ip_instance axi_dmac axi_ad9136_dma [list \
    DMA_TYPE_SRC 0 \
    DMA_TYPE_DEST 1 \
    DMA_DATA_WIDTH_SRC 64 \
    DMA_DATA_WIDTH_DEST 256 \
  ]

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-08-10 16:12:26 +02:00
Laszlo Nagy 31318cf311 all/system_top.v: drive unused gpio inputs with zero
The loopback on the unused gpio inputs consumes routing resources
while does not gives any value for the software.

Connect these lines to zero instead.
2018-08-10 17:00:11 +03:00
Laszlo Nagy ec8a2cd9c5 adrv936x/ccbox_lvds: unconnected clock for ad9361 input protection
The 9361 protection circuits have no clocks connected,
export the clock from the block design for them.
2018-08-10 17:00:11 +03:00
Laszlo Nagy 05789e8978 adrv9009/adrv9371x/fmcomms2:Drop usage of ad_iobuf on non-bidirectional IOs
Some projects use the ad_iobuf on IOs that are not bidirectional
producing synthesis warnings.

The change fixes warnings like:
[Synth 8-6104] Input port 'gpio_bd_i' has an internal driver
[Synth 8-6104] Input port 'gpio_status' has an internal driver
2018-08-10 17:00:11 +03:00
Laszlo Nagy fa7c85a9eb all: Drive undriven input signals, complete interface
- connect unused GPIO inputs to loopback
- connect unconnected inputs to zero
- complete interface for system_wrapper instantiated in all system_top

fixes incomplet portlist WARNING [Synth 8-350]
fixes undriven inputs WARNING [Synth 8-3295]

The change excludes the generated system.v and Xilinx files.
2018-08-10 17:00:11 +03:00
Laszlo Nagy 059933b9c1 fmcadc4: Fix chip selects for ada4961 c,d channels
Chip selects for ada4961 C,D were always active since they were not
driven correctly.
2018-08-10 17:00:11 +03:00
AndreiGrozav ebae8bf8c1 Remove interrupts from system_top for all xilinx projects
- remove interrupts from system_top
- for all suported carriers:
	- remove all interrupt bd pins
	- connect to GND all initial unconnected interrupt pins
- update ad_cpu_interrupt procedure to disconnect a interrupt from GND
before connectiong it to another pin.
2018-08-10 10:10:58 +03:00
Istvan Csomortani e97d707f24 adi_tquest: Improve the timing report generation
If the analysis type is not defined the report_timing command will run
just a setup analysis.

Run an analysis report for all the four analysis type.
2018-08-08 15:09:19 +03:00
Istvan Csomortani 66bf92ec9f axi_gpreg: Use the common ad_rst constraints 2018-08-06 21:24:41 +03:00
AndreiGrozav 22ac59c4cf scripts/adi_project.tcl: Overrides the default individual msg limit to 2000 2018-08-06 18:18:13 +03:00
Istvan Csomortani 1388554faa adi_board.tcl: Update the VCC/GND instance generation
Just one VCC or GND xlconstant will be generated for each width. This
way we can avoid having a lot of xlconstant instances with the same
configuration.
2018-08-06 10:14:14 +03:00
Laszlo Nagy 085c0ed0da fmcadc5: remove SYSREF from IOB
The SYSREF for RX is generated internally,
disable the IOB attribute from it to avoid critical warnings.
2018-07-26 12:33:25 +03:00
AndreiGrozav 74288cf9cb axi_hdmi_tx: Added INTERFACE parameter for selecting the interface type
Update all carriers/projects bd for configurable video interface:
- common zc702, zc706, zed
- adrv9361z7035/ccfmc_lvds
- imageon
2018-07-24 15:56:22 +03:00
AndreiGrozav 235636a337 fmcomms5_zc702: Enable AXI_SLICE for the DMA
This will increase the timing margin for the design
2018-07-18 18:19:30 +03:00
AndreiGrozav 74a24c4edd fmcomms2/common: Use DDS cordic on 14 bit atan LUT 2018-07-18 18:19:30 +03:00
Lars-Peter Clausen 9b01b9f37c adi_board.tcl: ad_xcvrcon: Add support for sparse PHY to link connections
Some FMC boards do utilize more than one transceiver quad but do not
necessarily use all transceivers in a quad. On such board is the
AD9694-500EBZ. Which uses two transceivers each in two adjacent quads.

This board can not be supported by instantiating a util_adxcvr with only 4
lanes. Since those 4 lanes would be packed into the same quad. Instead it
it is necessary to instantiate a util_adxcvr with 6 lanes. 4 lanes for the
first quad and 2 for the second.

To still to be able to connect such a util_adxcvr to a link layer with only
4 lanes allow to specify sparse lane mappings. A sparse mapping can have
less lanes than the util_adxcvr and some lanes will be left unconnected.

For example for the AD9694-500EBZ the lane mapping looks like the following:

  ad_xcvrcon util_ad9694_xcvr axi_ad9694_xcvr ad9694_jesd {0 1 4 5} rx_device_clk

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-07-18 10:36:26 +02:00
Lars-Peter Clausen 2f002bab5c adi_board.tcl: ad_xcvrcon: Add option to specify device clock
Sometimes the output clock of the transceiver should not be used for the
device clock.

E.g. for deterministic latency with no uncertainty the device clock needs
to be sourced directly from a clock or transceiver reference clock input
pin.

Add an option to the ad_xcvrcon command to specify the device clock.

In case the same device clock is used for multiple JESD204 links, e.g. a TX
and a RX link only one reset generator is created.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-07-18 10:36:26 +02:00
Laszlo Nagy e2c75c015f axi_dmac: add tlast to the axis interface for Intel
This change adds the TLAST signal to the AXI streaming interface
of the source side for Intel targets.
Xilinx based designs already have this since the tlast is part of the
interface definition.

In order to make the signal optional and let the tool connect a
default value to the it, the USE_TLAST_SRC/DEST parameter is
added to the configuration UI. This conditions the tlast port on
the interface of the DMAC.

Xilinx handles the optional signals much better so the parameter
is not required there.
2018-07-06 16:30:30 +03:00
Adrian Costina ed5c5e55a0 usrpe31x: Remove interrupt connections from system_top 2018-07-06 13:15:59 +03:00
Adrian Costina 03fa46f2fc usrpe31x: Add the second channel 2018-07-06 13:15:59 +03:00
Istvan Csomortani da54677101 usrpe31x: Initial commit
This project was moved from master into 'usrpe31x' feature branch.

To see the old commits, checkout the dev_prj_2018_r1 tag.
2018-07-06 13:15:59 +03:00
Adrian Costina 41e717ec2c adrv9009: Added option for enabling the second observation channel 2018-06-29 11:10:39 +03:00
Adrian Costina 171093eca4 Move GTM projects to gtm_projects branch 2018-06-15 16:28:40 +03:00
Adrian Costina 6e7b19c944 Remove projects we don't support anymore 2018-06-15 16:17:48 +03:00
Adrian Costina 6bcbee9a42 motcon2_fmc: Add additional clock constraints and set delays for ethernet 2018-06-14 16:06:43 +03:00
Adrian Costina 5b222dba02 motcon2_fmc: Connect GPO pins to controller 1 2018-06-14 16:06:38 +03:00
Adrian Costina e2df6b75c2 motcon2_fmc: Sync transfer start for the current monitor DMAs
There are a maximum of 3 channels enabled for the path, sync start is required
2018-06-14 16:06:24 +03:00
Adrian Costina 091bbfa2d3 motcon2_fmc: Ethernet MDIO set to EMIO 2018-06-14 16:06:17 +03:00
Adrian Costina 2975e9a360 motcon2_fmc: Update to revision C 2018-06-14 16:06:07 +03:00
Lars-Peter Clausen dd912e1fb8 adi_tquest.tcl: Check recovery and and removal timing
In addition to setup and hold also check recovery and removal, they are
just as important.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-06-13 10:12:40 +02:00
Adrian Costina e982232d75 adrv9009: Increased DMA clock frequency to ~333 MHz, by enabling AXI SLICES for DMAs 2018-06-12 23:53:56 +03:00
Adrian Costina f3ac5d3ad3 adrv9009: Increase all DMAs MAX_BYTES_PER_BURST to 256 2018-06-12 23:53:56 +03:00
Adrian Costina 801351d93c adrv9009: Increase sys_dma_clk to 325MHz. At 333 MHz, there are timing violations 2018-06-12 23:53:56 +03:00
Adrian Costina cc18f76e3b adrv9009: Reduced DAC FIFO size, as it's not useful for real applications and the memory can be used in other parts of the design 2018-06-12 23:53:56 +03:00
Adrian Costina 65c765eb33 adrv9009: Increase DMA FIFO sizes 2018-06-12 23:53:56 +03:00
Adrian Costina ee60549dfc daq3: ZCU102: Fix AXI_ADXCVR IPs XCVR_TYPE parameter 2018-06-08 13:56:22 +03:00
Istvan Csomortani deb366d169 daq2|3: Set up OPTIMIZATION_MODE to improve timing
There are random timing violations on the A10GX board using the
DAQ3 and DAQ2 projects.

Setting the synthesis/implementation strategy to "HIGH PERFORMANCE
EFFORT" increases the success rate of the timing closure significantly.
2018-06-06 08:33:20 +01:00
Laszlo Nagy bcba21da71 zcu102: updated IOSTANDARD of Bank 44 IOs to match VCCO 3.3V 2018-06-05 08:52:50 +01:00
Istvan Csomortani 5a257ce3c5 fmcomms5: Delete unused GPIO lines from system top
In the system top of the FMCOMMS5 projects, there are several GPIO lines, which
can not find in the constraint file, respectively gpio_open_15_15,
gpio_open_44_44 and gpio_45_45.

These are floating GPIO pins, as their names suggest. Delete all these wires and
update IOBUF instances.
2018-05-30 09:55:04 +03:00
Laszlo Nagy 1bd65da29f fmcjesdadc1: increase DMAC FIFO size
The DMAC FIFO ocasionally overflow, increased it's size to give more time
the MM interface to move out the data.
2018-05-23 13:10:12 +01:00
Adrian Costina 4999a52f87 adrv9009: Removed ZC706 based project 2018-05-14 11:36:31 +03:00