Commit Graph

2649 Commits (c7098a9d49568661def90ba8f890fa263e6ad46f)

Author SHA1 Message Date
Lars-Peter Clausen 1ea3ad28ae Add quiet mode to the Makefile system
The standard Makefile output is very noisy and it can be difficult to
filter the interesting information from this noise.

In quiet mode the standard Makefile output will be suppressed and instead a
short human readable description of the current task is shown.

E.g.
	> make adv7511.zed
	Building axi_clkgen library [library/axi_clkgen/axi_clkgen_ip.log] ... OK
	Building axi_hdmi_tx library [library/axi_hdmi_tx/axi_hdmi_tx_ip.log] ... OK
	Building axi_i2s_adi library [library/axi_i2s_adi/axi_i2s_adi_ip.log] ... OK
	Building axi_spdif_tx library [library/axi_spdif_tx/axi_spdif_tx_ip.log] ... OK
	Building util_i2c_mixer library [library/util_i2c_mixer/util_i2c_mixer_ip.log] ... OK
	Building adv7511_zed project [projects/adv7511/zed/adv7511_zed_vivado.log] ... OK

Quiet mode is enabled by default since it generates a more human readable
output. It can be disabled by passing VERBOSE=1 to make or setting the
VERBOSE environment variable to 1 before calling make.

E.g.
	> make adv7511.zed VERBOSE=1
	make[1]: Entering directory 'library/axi_clkgen'
	rm -rf *.cache *.data *.xpr *.log component.xml *.jou xgui
	*.ip_user_files *.srcs *.hw *.sim .Xil .timestamp_altera
	vivado -mode batch -source axi_clkgen_ip.tcl >> axi_clkgen_ip.log 2>&1
	...

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-04-11 15:09:54 +03:00
Lars-Peter Clausen 2b914d33c1 Move Altera IP core dependency tracking to library Makefiles
Currently the individual IP core dependencies are tracked inside the
library Makefile for Xilinx IPs and the project Makefiles only reference
the IP cores.

For Altera on the other hand the individual dependencies are tracked inside
the project Makefile. This leads to a lot of duplicated lists and also
means that the project Makefiles need to be regenerated when one of the IP
cores changes their files.

Change the Altera projects to a similar scheme than the Xilinx projects.
The projects themselves only reference the library as a whole as their
dependency while the library Makefile references the individual source
dependencies.

Since on Altera there is no target that has to be generated create a dummy
target called ".timestamp_altera" who's only purpose is to have a timestamp
that is greater or equal to the timestamp of all of the IP core files. This
means the project Makefile can have a dependency on this file and make sure
that the project will be rebuild if any of the files in the library
changes.

This patch contains quite a bit of churn, but hopefully it reduces the
amount of churn in the future when modifying Altera IP cores.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-04-11 15:09:54 +03:00
Lars-Peter Clausen b7f8345f17 library: Remove unreferenced files from IP file lists
Some IP core have files in their file list for common modules that are not
used by the IP itself. Remove those.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-04-11 15:09:54 +03:00
Istvan Csomortani 0f443f4779 project-*.mk Update CLEAN targets 2018-04-11 15:09:54 +03:00
Lars-Peter Clausen 89ad5f7836 Makefile: Change IP component dependency to component definition file
Currently the IP component dependency in the Makefile system is the Vivado
project file. The project file is only a intermediary product in producing
the IP component definition file.

If building the component definition file fails or the process is aborted
half way through it is possible that the Vivado project file for the IP
component exists, but the IP component definition file does not.

In this case there will be no attempt to build the IP component definition
file when building a project that has a dependency on the IP component.
Building the project will fail in this case.

To avoid this update the Makefile rules so that the IP component definition
file is used as the dependency. In this case the IP component will be
re-build if the component definition file does not exist, even if the
project file exists.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-04-11 15:09:54 +03:00
Lars-Peter Clausen b20714bae2 Regenerate project top-level Makefiles
Removes a lot of boilerplate code.

Using the new scheme it is possible to add new projects or sub-projects
without having to re-generate any existing Makefiles.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-04-11 15:09:54 +03:00
Lars-Peter Clausen 297940d5d9 Add shared project top-level Makefile
The project top-level Makefile accept the all, clean and clean-all targets
and forward them to their sub-projects.

Create a common Makefile include that can be used to implement this
behavior. The shared Makefile collects all sub-directories that have a
Makefile and then forwards the all, clean and clean-all targets to them.

This is implemented by creating virtual targets for each combination of
sub-project and all, clean, clean-all targets in the form of
"$project/all", ... These virtual sub-targets are then listed as the
prerequisites of the project top-level Makefile targets.

This means there is no longer a need to re-generate top-level Makefiles
when a new project or sub-project is added.

It will also allow to remove a lot of boilerplate code.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-04-11 15:09:54 +03:00
Lars-Peter Clausen 377247a434 Regenerate project Makefiles using the new shared Makefile includes
This reduces the amount of boilerplate code that is present in these
Makefiles by a lot.

It also makes it possible to update the Makefile rules in future without
having to re-generate all the Makefiles.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-04-11 15:09:54 +03:00
Lars-Peter Clausen 5272ed4eea Add common project Makefile for Xilinx projects
The project Makefiles for the Xilinx projects share most of their code. The
only difference is the list of project dependencies.

Create a file that has the common parts and can be included by the project
Makefiles.

This drastically reduces the size of the project Makefiles and also allows
to change the Makefile implementation without having to re-generate all
Makefiles.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-04-11 15:09:54 +03:00
Lars-Peter Clausen ec6128dd91 Add common project Makefile for Altera projects
The project Makefiles for the Altera projects share most of their code. The
only difference is the list of project dependencies.

Create a file that has the common parts and can be included by the project
Makefiles.

This drastically reduces the size of the project Makefiles and also allows
to change the Makefile implementation without having to re-generate all
Makefiles.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-04-11 15:09:54 +03:00
Lars-Peter Clausen 8a2a394790 Remove unused projects/common/Makefile
This file only references a subdirect that no longer exists, but nothing
else.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-04-11 15:09:54 +03:00
Istvan Csomortani 318dcbb5d9 adrv9371x: Set up the defualt clock output control
The TX side runs on QPLL, and the RX and RX_OS runs on CPLL by default.
The OUTCLK frequency is the same as the REFCLK.

The main reason of this modification is that the links should come up
without any DPR access, after power up, using the default reference clock
configuration (122.88 MHz).
2018-04-11 15:09:54 +03:00
Istvan Csomortani 8b671fa7ae ad77681evb: Add upscaler to the data path 2018-04-11 15:09:54 +03:00
Istvan Csomortani e782ed06cb adaq7980: Expouse the ADC sampling rate in system_bd.tcl
This way the user do not need to modify the block design, just
set the required rate in system_bd.tcl.

This commit does not contain any functional changes.
2018-04-11 15:09:54 +03:00
AndreiGrozav 51380fbea4 daq3/kcu105: Define transceiver type as Ultrascale
When software configures the system it takes into account the transceiver type.
By default, the XCVR_TYPE is 0 for 7 Series.
2018-04-11 15:09:54 +03:00
Rejeesh Kutty 8e042193be DE10: Initial commit
These modifications were taken from the old dev branch.
2018-04-11 15:09:54 +03:00
Adrian Costina 8c964389f6 sidekiqz2: Initial commit 2018-04-11 15:09:54 +03:00
Istvan Csomortani 9a44ab921b adrv9371: Swap CSN lines to preserve consistency 2018-04-11 15:09:54 +03:00
Istvan Csomortani 7824f79fc0 adrv9371x:zcu102: Use explicit PACKAGE_PIN definitions for JESD204 lanes and reference clocks 2018-04-11 15:09:54 +03:00
Istvan Csomortani 425e803364 license: Fix a spelling mistake 2018-04-11 15:09:54 +03:00
Istvan Csomortani bd8c71c2ec adrv9371x:zcu102: Set DEVICE_TYPE to ultrascale 2018-04-11 15:09:54 +03:00
Istvan Csomortani d1b91c6019 fmcadc2: Delete redundant settings
This project has only receive paths, all transmit related setting of the
transceivers are redundant.
2018-04-11 15:09:54 +03:00
Istvan Csomortani f565818ab2 adi_xilinx_msg: eth_avb is not used by our designs 2018-04-11 15:09:54 +03:00
Rejeesh Kutty 72431ff952 a10soc: Connect AXI register reset 2018-04-11 15:09:54 +03:00
Adrian Costina c0184bce59 adrv9379: Fix lane assignment, according to schematic 2018-04-11 15:09:54 +03:00
AndreiGrozav 6f52ddb2c7 adrv936x: Fix Ethernet
Explicitly select MIO 52 and 53 pins to be part of MDIO port.
MIO_52_PIN (MDIO 0 Clock, Output)
MIO_53_PIN (MDIO 0 Data, Input/Output)
After the tool version change, this pins where by default connected
as MIO GPIOs.
2018-04-11 15:09:54 +03:00
AndreiGrozav 9877862517 fmcomms2/zc702: Fix implementation timing issues
Changed the tool strategies for synthesis and implementation.
2018-04-11 15:09:54 +03:00
AndreiGrozav 1a9497b5b6 daq3: Add parameters for default xcvr configuration
The default configuration should be:
  - line rate 12.33 Gbps
  - core clk 308 MHz
2018-04-11 15:09:54 +03:00
Laszlo Nagy 7f377454a8 daq2/fmcadc4/daq3: Disable the transfer start sync on the ADC DMA
Explicitly disable the "Transfer Start Synchronisation Support"
since the sync lines are not connected in this project.
If the sync input line (s_axi_user[0] or fifo_wr_sync) are not connected,
Vivado 2017.4.1 no longer connects them to the defaultValue defined
in the axi_dmac ip (1). Instead he uses the defaulValue field defined
in the interface definition which in case of both interfaces is 0;
2018-04-11 15:09:54 +03:00
Istvan Csomortani aa90d9a6e1 ad738x_zed: Fix SCLK's pin assignment 2018-04-11 15:09:54 +03:00
Istvan Csomortani 11ece90435 ad738x: Add system variables for configuration
- In system_bd define variable $adc_resolution, $adc_num_of_channels and
$adc_sampling_rate.
  - Add support for 12 and 14 bit resolution
2018-04-11 15:09:54 +03:00
Istvan Csomortani 53fa482837 ad7134_fmc: Initial commit 2018-04-11 15:09:54 +03:00
Adrian Costina c81254200f ad6676evb: Fix RX_DFE_LPM_CFG parameter, as the design is used in DFE mode
The parameter RX_DFE_LPM_CFG should be 0x954 for DFE and 0x904 in LPM
I've removed also QPLL_FBDIV parameter, as QPLL is not used in this design
2018-04-11 15:09:54 +03:00
Adrian Costina 9c8d4b9bdf fmcadc5: Fix RXCDR_CFG parameter
The default linux configuration is at lane rates under 6.6G and in LPM mode
2018-04-11 15:09:54 +03:00
Adrian Costina 62fcaa7836 fmcadc5: Remove xcvr configuration options that don't matter 2018-04-11 15:09:54 +03:00
Adrian Costina 98b58562d6 system_top: Non functional changes in system_tops to reduce warnings
Loop back the unused GPIO pins, and add all the SPI interface to system
wrapper instance.

The following system_top modules were changed:
  - ad738x_fmc
  - ad7616_sdz
  - ad77681evb
  - ad77681evb
  - ad7768evb
  - ad9739a_fmc
  - ad9434
  - adrv9739
  - fmcadc5
  - ad6676evb
  - ad9265
  - ad5766
  - fmcomms5
  - m2k
2018-04-11 15:09:54 +03:00
AndreiGrozav 502989c25f jesd_rst_gen:constraints: Remove invalid false path definitions
The constraint where added to remove timing problems on the reset path.

The constraint paths do not match anymore. The resets are used in a synchronous
way so we don't need the timing exceptions anyway.

Projects affected by this change:
  - daq3
  - adrv9739
  - ad6676evb
  - fmcadc5
  - daq2/kcu105
  - fmcadc2
  - adrv9371x
  - fmcomms11/zc706
  - fmcjesdadc1
2018-04-11 15:09:54 +03:00
Istvan Csomortani 2356694a50 kc705/vc707/kcu105: Fix axi_spi related critical warning
By default every base design has a SPI interface (hard or soft). In
case of soft IPs (xilinx), the input registers of the interface by default have
the IOB attribute set to TRUE. If the interface are not used, the tool will
generate a critical warning, stating that IOB registers are not connected to
an IO buffer.
The following constraints are disabling the above setup for every base
design, which using a soft SPI IP.
2018-04-11 15:09:54 +03:00
Laszlo Nagy fe2b43ddd9 base:constraint: Setting Configuration Bank Voltage Select
Set the properties to mirror the hardware configuration so
the Vivado tools can provide warnings if there are any conflicts
between configuration pin settings, such as an IOSTANDARD
on a multi-function configuration pin that conflicts with the
configuration voltage.
see:
https://www.xilinx.com/support/documentation/user_guides/ug570-ultrascale-configuration.pdf

The following base constraints were updated:
 - kcu105
 - kc705
 - vc707
 - ac701
2018-04-11 15:09:54 +03:00
AndreiGrozav 57a61f0635 scripts:adi_project: Update ZCU102 device package and board files
ZCU102 is a fairly new board and gets additional support in 2017.4.
2018-04-11 15:09:54 +03:00
AndreiGrozav dd8d6f90ee zcu102:all_projects: Delete required version tcl variable
All the ZCU102 projects will use the default tool version.
This setup was a temporary exception for hdl_2017_r1 release.
2018-04-11 15:09:54 +03:00
Istvan Csomortani 0026617033 scripts:adi_project: Use default strategies for synth and impl
To reduce compilation time use default stratagies for synthesis and
implementation. If a project will require custom strategies, enable it
just for that particular project.

This modification will affect both Intel and Xilinx projects.
2018-04-11 15:09:54 +03:00
Istvan Csomortani 7c04e36656 scripts: Message severity changes on Vivado
Vivado sometimes generates semi-valid or invalid warnings and critical warnings.
In the past these messages were silenced, by changing its message severity.
These setups were scattered in multiple scripts. This commit is an attempt
to centralize it and make it more maintainable and easier to review it.
2018-04-11 15:09:54 +03:00
Istvan Csomortani 47e95fc4a9 scripts: Update tools for the next release
The next supported tool versions are:
  + Vivado 2017.4.1
  + Quartus 17.1
2018-04-11 15:09:54 +03:00
Istvan Csomortani 3e18291d39 usb_fx3: Delete unused project 2018-04-11 15:09:54 +03:00
Istvan Csomortani 377848ef52 cftl: Delete unused projects and libraries 2018-04-11 15:09:54 +03:00
Istvan Csomortani a740b6012f Make: Use $(MAKE) for recursive make commands
This commit should resolve the issue #64.

Recursive make commands should always use the variable MAKE, not the explicit
command name ‘make’.
2018-03-07 07:40:19 +00:00
Lars-Peter Clausen 041e448083 ad6676: Fix OUT_CLK_SEL configuration
The script specifies the OUT_CLK_SEL and SYS_CLK_SEL parameter values as
binary numbers. But the tools will interpret them as decimal number
resulting in the wrong selection for OUT_CLK_SEL. Specify the parameter
values as decimal values to avoid this.

This is not a critical issue since software will overwrite this setting at
system boot-up. But it should be fixed anyway.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-02-16 13:32:50 +01:00
Lars-Peter Clausen 8b6d69747b fmcjesdadc1: Fix OUT_CLK_SEL configuration
The script specifies the OUT_CLK_SEL and SYS_CLK_SEL parameter values as
binary numbers. But the tools will interpret them as decimal number
resulting in the wrong selection for OUT_CLK_SEL. Specify the parameter
values as decimal values to avoid this.

This is not a critical issue since software will overwrite this setting at
system boot-up. But it should be fixed anyway.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-02-16 13:32:50 +01:00
Lars-Peter Clausen ce8bcfd192 fmcjesdadc1: Remove wire that is a redeclaration of a port
Fixes the following warning:
	[Synth 8-2611] redeclaration of ansi port rx_sysref is not allowed

This is a leftover of commit 1c23cf4621 ("all: Update verilog files to
verilog-2001").

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-02-16 13:32:26 +01:00
Lars-Peter Clausen 271731ebc8 fmcomms5: Remove wires that are redeclarations of ports
Fixes the following warnings:
	[Synth 8-2611] redeclaration of ansi port txnrx_0 is not allowed
	[Synth 8-2611] redeclaration of ansi port enable_0 is not allowed
	[Synth 8-2611] redeclaration of ansi port enable_1 is not allowed
	[Synth 8-2611] redeclaration of ansi port txnrx_1 is not allowed

This is a leftover of commit 1c23cf4621 ("all: Update verilog files to
verilog-2001").

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-02-16 13:32:26 +01:00
AndreiGrozav 8403ff17ec adrv9371x/kcu105: Use ultrascale type primitives in axi_clkgen IP 2018-02-13 17:33:38 +02:00
AndreiGrozav 2302d3516d adrv9371x:kcu105: Update transceiver configuration 2018-02-13 17:33:38 +02:00
Adrian Costina 73ef0fb48c adrv9371x: kcu105: Fix transceiver and clock placement 2018-02-13 17:33:38 +02:00
Istvan Csomortani bf3ba4426c fmcomms11: Update the SPI IO definitions 2018-01-29 18:48:31 +02:00
Istvan Csomortani 55b4603e60 fmcomms11: Update the clock tree
- one single reference clock for both rx and tx channels
  - delete the SYSREF inputs
  - update the IO location of the usr_clk
2018-01-29 18:44:15 +02:00
Istvan Csomortani ff562e7165 fmcomms11: Delete trailing whitespaces 2018-01-29 17:46:54 +02:00
Michael Hennerich 2e59a70cdd adrv9371: Increase FCLK2 to 200MHz to support max sampling rates
This fixes an issue seen when using 307.2 MSPS on the Observation RX.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
2018-01-09 15:20:06 +01:00
Istvan Csomortani 3b4aaec926 daq2: Data underflow of DAC FIFO is monitored by the device core 2017-12-09 10:52:05 +00:00
Adrian Costina 386febaa7e fmcadc5: Allow JESD reset from the ADC core, useful for synchronization 2017-11-29 16:03:00 +02:00
Adrian Costina 3e565bc03c fmcadc5: Disable constraints for jesd sysref in order to remove critical warning 2017-11-24 14:48:38 +02:00
AndreiGrozav ec324652aa daq2_zcu102: Fix typo 2017-11-20 18:02:22 +02:00
AndreiGrozav a23c640180 Require Vivado 2017.2.1 for all zcu102 projects 2017-11-20 15:36:51 +00:00
AndreiGrozav f1e51a8b89 adrv9371x_zcu102: Fix rx_div_clk constraint placement 2017-11-20 15:36:51 +00:00
Adrian Costina 7759bfdf96 fmcadc5: Update make 2017-11-20 15:16:30 +02:00
Adrian Costina c07fefcbd7 fmcadc5: Update to the ADI JESD interface 2017-11-20 15:12:47 +02:00
Adrian Costina b54dab33e0 Make: Update makefiles 2017-11-20 14:27:39 +02:00
AndreiGrozav 76cec098d1 daq2, daq3: zcu102: Update constraints
Differential pins ignored by the tool
2017-11-15 10:47:01 +02:00
Lars-Peter Clausen 8fa50a0cb4 daq2: Set correct transceiver type for UltraScale projects
Make sure that the axi_adxcvr instances are configured with the same
transceiver type as the util_adxcvr.

This is necessary for software to be able to detect the transceiver type
and support dynamic reconfiguration.

It is also necessary for correct eye scan support in the axi_adxcvr block.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-11-14 14:31:03 +01:00
Lars-Peter Clausen 46acdadb92 adrv9371x: Set correct transceiver type for UltraScale projects
Make sure that the axi_adxcvr instances are configured with the same
transceiver type as the util_adxcvr.

This is necessary for software to be able to detect the transceiver type
and support dynamic reconfiguration.

It is also necessary for correct eye scan support in the axi_adxcvr block.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-11-14 14:31:03 +01:00
Lars-Peter Clausen caac2ce588 adrv9371x: zcu102: Fix lane mapping
Fix the location assignment of the transceiver blocks to get the correct
lane mapping.

Note that the comments indicating the expected lane mapping are correct,
but the actual transceiver location assignments were not.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-11-14 14:31:03 +01:00
Lars-Peter Clausen f181e037cc adrv9371x: zcu102: Fix QPLL feedback divider
The external reference clock runs at 122.88 MHz by default. This means that
the QPLL feedback divider needs to be set to 80 so that the VCO is inside
the locking range (9.8 GHz - 16.375 GHz).

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-11-14 14:31:03 +01:00
Adrian Costina 45f2fbf3c0 fmcjesdadc1: Update A10GX/A10SOC projects to the ADI JESD framework 2017-11-08 14:35:18 +02:00
AndreiGrozav 514e54287c zcu102 constraints description/cosmetic updates 2017-11-08 10:38:39 +02:00
AndreiGrozav 22808fa03c zcu102: Update to rev 1.0 2017-11-08 10:33:12 +02:00
Istvan Csomortani 7062785947 fmcomms2: Connect dac data underflow
DAC data underflow from the DMA, was not connected to anything. This
signal should be connected to the util_rfifo, which will forward it to
the device core.
2017-11-06 10:29:34 +00:00
Adrian Costina f692d7bc40 daq3: Disable start synchronization for the ADC DMA
The ADC FIFO does not provide any sync output and for two channels it's not needed
2017-11-01 09:31:19 +02:00
Adrian Costina 2b4b9d7bab daq2: Disable start synchronization for the ADC DMA 2017-10-31 17:16:08 +02:00
Istvan Csomortani e3ea51ade3 avl_dacfifo: Refactor the fifo
+ Build both the read and write logic around an FSM
 + Consistent naming of registers and wires
 + Add support for burst lenghts higher than one, current burst lenght
is 64
 + Fix all the bugs, and make it work (first bring up with
adrv9371x/a10soc)
2017-10-31 14:30:06 +00:00
Michael Hennerich 5b9e4cb692 daq2/zcu102: Pin Swap for ZCU102 Rev1.0
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
2017-10-30 11:09:20 +00:00
Adrian Costina 22df03f9a4 daq3: A10GX, overconstrained failing paths 2017-10-28 08:21:50 +01:00
Adrian Costina fe1adb6e4f daq3: A10GX, updated to the ADI JESD204
- changed lane rate to 12.33Gbps
- added dac fifo
2017-10-25 14:45:27 +01:00
Adrian Costina de5a21af80 daq2: A10GX, added additional interconnect pipelining 2017-10-23 16:39:58 +01:00
Matt Fornero e8bab0b45f adi_env: Normalize environment variables
If the ADI_HDL_DIR or ADI_PHDL_DIR are set on Windows platforms, an
invalid TCL character (e.g. backslash) may be used as a file separator,
causing issues with the build / library scripts.

Normalize the paths before using them as global TCL variables.
2017-10-23 12:15:14 +01:00
Adrian Costina 37323e3444 adrv9371x: A10GX, added extra pipelining in the interconnect in order to improve timing 2017-10-20 13:46:22 +01:00
Adrian Costina aa6af4e522 daq2: A10GX, added extra pipelining in the interconnect in order to improve timing 2017-10-20 13:45:05 +01:00
Adrian Costina 083962450a daq2: A10GX, connect dac_fifo_bypass to gpio 2017-10-19 16:07:18 +03:00
Adrian Costina e43056455c daq2: A10SOC, added dac fifo 2017-10-12 14:16:05 +03:00
Adrian Costina 72d9c1c6f2 daq2: A10GX, added dac fifo 2017-10-11 12:52:15 +03:00
Istvan Csomortani d9acdb8092 usdrx1/a10gx: Add external flash support 2017-10-06 08:47:24 +01:00
Istvan Csomortani baf8ec09a3 fmcjesdadc1/a10gx: Add external flash support 2017-10-06 08:46:22 +01:00
Istvan Csomortani df70a6605c daq3/a10gx: Add external falsh support 2017-10-06 08:45:33 +01:00
Istvan Csomortani be4e02aed9 adrv9371x/a10gx: Add external flash support 2017-10-06 08:43:58 +01:00
Adrian Costina d690a614c1 a10gx: Force all used tiles to high speed, in order to improve timing 2017-10-04 16:16:00 +01:00
AndreiGrozav 03e744f0f1 daq1_zed: Lower the adc and daq clock to 450MHz
The FPGA fabric on zedboard is a -1 speadgrade (max bufg clk 464MHz)
2017-10-04 13:01:14 +01:00
AndreiGrozav 7a3c4ab81f arradio: Changed ADC DMA buswidth connection to the DDR to 128 bits
This fixes the bandwidth issue when data is streamed from the DDR and the system works at 61.44 MSPS
2017-10-04 13:01:14 +01:00
STEVE KRAVATSKY ee01ea3736 daq2/a10gx: Add cfi_flash to qsys
+ Add cfi_flash to qsys
   + Set nios reset vector to cfi_flash
2017-10-04 11:30:29 +01:00
Istvan Csomortani a33f3178c2 adrv9371x/a10soc: For receive paths SYNC_TRANSFER must be enabled 2017-10-04 11:29:09 +01:00
Istvan Csomortani 899b8436ad arradio: Fix the last incorrect merge 2017-10-03 09:15:45 +01:00
Istvan Csomortani 89bd8b44d4 Merge branch 'dev' into hdl_2017_r1 2017-09-26 07:42:19 +01:00
AndreiGrozav 256dd87dd2 common/microzed: Enable PS CLK1 = 200MHz 2017-09-25 15:16:58 +03:00
Istvan Csomortani 07f3295638 common/a10soc: Update configuration for emif plddr4 IP 2017-09-25 08:57:26 +01:00
Istvan Csomortani 700ed156ab [axi|avl]_dacfifo: Create a separate bypass module for altera/xilinx 2017-09-25 08:56:40 +01:00
AndreiGrozav 3a47567f9c common/a10gx: Chance SPI frequency from 128KHz to 10 MHz 2017-09-19 18:01:18 +03:00
Adrian Costina cafa811c74 adrv9379: Change the DMA clock to 250 2017-09-11 16:52:44 +03:00
Rejeesh Kutty 58572d746c arradio/c5soc- rd10102013_979 fix 2017-09-05 12:52:41 -04:00
Lars-Peter Clausen c3aa3e8a9c adrv9371: a10soc: Whitespace cleanup
Remove some extra end-of-line whitespace.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-09-05 13:47:49 +02:00
Rejeesh Kutty 6736aaeca1 arradio- add control/status ports 2017-09-01 14:39:18 -04:00
Rejeesh Kutty bb73e7a40f arradio- add control/status ports 2017-09-01 14:39:18 -04:00
Adrian Costina 6ce4494002 adrv9379: Initial commit 2017-09-01 17:28:04 +03:00
Adrian Costina cb2fd6af73 dm2k: Drive the ADC DMA valid from the trigger extracting core 2017-08-30 18:28:52 +03:00
Rejeesh Kutty 5bc927ff94 adrv9364/ccbox- input rf protection 2017-08-25 13:30:46 -04:00
Rejeesh Kutty dc0a71920c adrv9361/ccbox- sort gpio - accidental multiple drivers 2017-08-25 13:30:46 -04:00
Rejeesh Kutty fd8b524953 adrv9361-ccbox/ccfmc- adl5904/gpio updates 2017-08-25 11:23:56 -04:00
Rejeesh Kutty 4050f5ae58 adrv9361- add adl5904 2017-08-24 15:47:17 -04:00
Lars-Peter Clausen e4988aa131 adrv9371x: altera: Convert to ADI JESD204
Convert the ADRV9371 project for Intel/Altera platforms to the ADI JESD204
framework.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-08-24 17:55:10 +02:00
AndreiGrozav d05ed29212 adrv9371x_zcu102: Initial commit 2017-08-22 15:48:03 +03:00
AndreiGrozav c0da4e6192 adrv9371x_kcu105: Initial commit 2017-08-22 15:41:49 +03:00
AndreiGrozav 1d67036305 adrv9371x/common: Remove ila_adc and ila_os_adc 2017-08-22 15:37:59 +03:00
AndreiGrozav 6fa45bb378 adrv9371x/common: Fix axi_ad9371_dacfifo/dac_rst assignamen 2017-08-22 15:37:59 +03:00
AndreiGrozav a64998c3ff adrv9371x: Separate ps7 assignaments from common
Move the assignaments/connections for ps7 from common/adrv9371_bd
to zc706/system_bd
2017-08-22 15:37:59 +03:00
AndreiGrozav b7ce81686a common/zcu102: Fix ps8 ref clock 0 frequency assignament 2017-08-22 15:37:59 +03:00
AndreiGrozav 41e247d426 common/zcu102: Add gpio_t connections 2017-08-22 15:37:59 +03:00
Istvan Csomortani 7fa8498b3a adrv9371x: DAC_FIFO should get the dma_rst from sys_dma_rstgen 2017-08-22 09:16:21 +01:00
Istvan Csomortani b0b79013f7 fmcomms11: Connect data underflow to the core 2017-08-22 09:16:21 +01:00
Lars-Peter Clausen d5eedf8356 daq2: Add support for Arria10 SoC platform
Add support for the AD-FMCDAQ2-EBZ on the Arria10 SoC development board platform.

In its default configuration the Arria10 SoC development board is not fully
compatible with the AD-FMCDAQ2-EBZ and a slight rework is necessary,
changing the position of four 0 Ohm resistors:

  R610: DNI -> R0
  R611: DNI -> R0
  R612: R0 -> DNI
  R613: R0 -> DNI
  R620: DNI -> R0
  R632: DNI -> R0
  R621: R0 -> DNI
  R633: R0 -> DNI

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-08-21 11:21:42 +02:00
Lars-Peter Clausen 17d3e3c64b daq2: daq2_qsys.tcl: Convert to ADI JESD204
Convert the DAQ2 project for Intel/Altera platforms to the ADI JESD204
framework.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-08-21 11:21:42 +02:00
Lars-Peter Clausen ce88b8ba91 daq2: daq2_qsys.tcl: Rework peripheral addresses
Rework the peripheral address to match the updated semantics of
ad_cpu_interconnect, which expects that the addresses are in the range of
0x00010000 - 0x001fffff. This includes updating the base addresses as well
as compressing the used address range to fit into the 2Mb window.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-08-21 11:21:42 +02:00
Istvan Csomortani c843a16797 microzed: Add a secondary 200 MHz clock for PS7 2017-08-18 10:14:21 +03:00
Rejeesh Kutty cd07ee80aa hdlmake.pl - updates 2017-08-09 14:09:14 -04:00
Rejeesh Kutty 4ef784b609 fmcomms2/zc702- pmod1 udc, pmod2 gpio 2017-08-09 14:08:47 -04:00
Rejeesh Kutty 6cee492d96 fmcomms5/zc702- pmods as gpios 2017-08-09 14:07:58 -04:00
Rejeesh Kutty 90af9a8f8c adv7511/zc702- pmods as gpios 2017-08-09 14:07:31 -04:00
Rejeesh Kutty c632f4463f projects/zc702- free pmod gpio for customization 2017-08-09 14:06:26 -04:00
Rejeesh Kutty b9683aab40 adrv936x- readme updates 2017-08-08 15:18:43 -04:00
Rejeesh Kutty b118c6874e adrv936x- readme updates 2017-08-08 15:14:16 -04:00
Rejeesh Kutty 8778986416 adrv936x- readme updates 2017-08-08 15:11:44 -04:00
rejeesh kutty 77275713e9 Update README.md 2017-08-08 14:09:37 -04:00
Rejeesh Kutty 1c386d4d34 hdlmake.pl- updates 2017-08-07 16:09:20 -04:00
Lars-Peter Clausen 28801f2f37 common: a10soc: Use correct DDR memory reference clock type
The DDR memory reference clock on the A10SoC development board is
differential. Currently the EMIF core it is configured for single-ended
configuration, which causes it to generate incorrect IOSTANDARD
constraints. Those incorrect constraints get overwritten again in
system_assign.tcl, so things are working, but this generates a warning when
building the design

Configure the EMIF core correctly and remove the manual constraint overwrite since
they are no longer necessary.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-08-07 17:42:17 +02:00
Rejeesh Kutty 15c3c96512 ad9361- clkdiv to util_ad9361_divclk 2017-08-07 11:25:55 -04:00
Rejeesh Kutty e4d71c99a6 fmcomms5- bd- data flow format 2017-08-07 11:25:55 -04:00
Istvan Csomortani d5d305ec79 fmcadc2: Fix connection between a db port and a net
The block design port should always be the first argument of the
ad_connect process call.
2017-08-07 17:00:01 +03:00
Rejeesh Kutty d0503536a8 adrv936x- bd.tcl in data flow format 2017-08-04 13:48:22 -04:00
Istvan Csomortani da6adc5477 ad738x_fmc: Supported sample rate is 3MSPS 2017-08-04 15:08:37 +03:00
Istvan Csomortani cff31e242a ad738x_fmc: Configuration update/fix
Configure the spi_engine exectution module to support two
SDI lines for the SPI interface. Clean up the system_top.v.
2017-08-04 14:50:06 +03:00
Istvan Csomortani f933a4cbcd ad738x_fmc: Initial commit 2017-08-04 14:49:17 +03:00
Adrian Costina 5c252783e7 m2k: Move ADC hardware gain correction from the AD9963 IP to AXI_ADC_DECIMATE IP 2017-08-04 14:29:27 +03:00
Rejeesh Kutty cf25aeacf5 fmcomms2_bd- keep data flow format 2017-08-03 13:41:26 -04:00
Lars-Peter Clausen 7eba8326dd common: a10soc: Mark external reset as asynchronous
There is no guarantee that the external reset de-assertion is synchronous
to the sys_clk, yet the clock bridge marks the reset de-assertion as
synchronized to the clock. This can cause recovery or removal timing
violations for the registers affected by this reset signal and potentially
bring the system into an invalid state after the reset is de-asserted.

Mark the reset as not synchronized to the clock signal, this will make sure
that Qsys inserts the proper reset synchronizers where required.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-08-03 17:57:58 +02:00
Lars-Peter Clausen 69a23ecde3 avl_adxcvr: Simplify TX lane mapping
Currently the TX lane mapping is implemented by having to connect tx_phy_s_* to
the tx_ip_s_* and the tx_phy_d_* to the tx_ip_d_* signals in the system
qsys file in the desired order.

Re-work things so that instead the lane mapping is provided through the
TX_LANE_MAP parameter. The parameter specifies in which order logical lanes
are mapped onto the physical lanes.

The appropriate connections are than made inside the core according to this
parameter rather than having to manually connect the signals externally.

In order to generate a 1-to-1 mapping the TX_LANE_MAP parameter can be left
empty.

This change slightly reduces the boiler-plate code that is necessary to
setup the transceiver.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-08-03 17:57:58 +02:00
Adrian Costina 83c1e555b1 m2k: Enable correction for the interpolation module 2017-08-03 17:24:26 +03:00
Istvan Csomortani 7cdb11cc34 axi_ad9361: Update the PPS receiver module
+ Add a HDL parameter for the PPS receiver module :
PPS_RECEIVER_ENABLE. By default the module is disabled.
  + Add the CMOS_OR_LVDS_N and PPS_RECEIVER_ENABLE into the CONFIG
register
  + Define a pps_status read only register, which will be asserted, if the free
running counter reach a certain fixed threshold. (2^28) The register can
be deasserted by an incomming PPS only.
2017-08-02 16:38:23 +01:00
Lars-Peter Clausen 9c38fb81fb adi_project_alt.tcl: Disable a few warnings generated by standard components
Some of the standard Quartus components (especially the Merlin cores) generate
quite a few synthesis warnings. Lets assume these are false positives and
disable the warnings.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-08-01 15:18:40 +02:00
Rejeesh Kutty 0bc5a80c0c adrv9364- ps_intr_11 used for pps 2017-07-31 09:48:33 -04:00
Rejeesh Kutty 207f00a752 projects/ remove upack dma_xfer_in 2017-07-31 09:12:05 -04:00
Rejeesh Kutty 9f9955a84c hdlmake.pl updates 2017-07-31 09:02:12 -04:00
Rejeesh Kutty 19015a8199 adrv9361x/- ps_intr_11 used for pps 2017-07-31 09:00:44 -04:00
AndreiGrozav febdbe8dcb daq3/zcu102: Initial commit 2017-07-31 14:26:23 +03:00
AndreiGrozav 6b897dabe5 daq1_zed: Initial commit 2017-07-31 14:26:23 +03:00
Adrian Costina 977d730134 A10GX: Update DDR3 configuration 2017-07-31 08:37:34 +01:00
Rejeesh Kutty 6d788ebb3a arradio- remove dma_xfer_in from upack 2017-07-28 16:19:24 -04:00
Lars-Peter Clausen d7e87a60a9 Remove executable flag from non-executable files
All of these files are source code and are not executable standalone.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-28 17:56:07 +02:00
Lars-Peter Clausen f0655e63a6 avl_adxcvr: Derive PLL and core clock frequency from lane rate
The PLL frequency must be half of the lane rate and the core clock rate
must be lane rate divided by 40. There is no other option, otherwise things
wont work.

Instead of having to manually specify PLL and core clock frequency derive
them in the transceiver script. This reduces the risk of accidental
misconfiguration.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-28 15:11:08 +02:00
Lars-Peter Clausen 2c83cfff7e common: a10soc: Set IO standard for differential signal negative side
While things seem to work fine with only specifying the the IO standard for
the positive side of differential signals Quartus will issue a warning
about incomplete constraints if the IO standard is not specified for the
the neagtive side as well. To avoid these warnings add the missing
constraints.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-28 15:11:08 +02:00
Lars-Peter Clausen 5ffd1e1bac common: a10soc: Fix gpio_bd_i constraints
Fix a copy and paste error and specify the IO_STANDARD for all gpio_bd_i
rather than twice for half of them.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-28 15:11:08 +02:00
Adrian Costina 53ca4f6ac9 arradio: Changed ADC DMA buswidth connection to the DDR to 128 bits
This fixes the bandwidth issue when data is streamed from the DDR and the system works at 61.44 MSPS
2017-07-28 10:11:55 +01:00
Istvan Csomortani 2abc7278bf adrv9364z7020: Connect the gps_pps signal to the receiver 2017-07-28 08:08:27 +01:00
Istvan Csomortani be5f2ad80f adrv9361z7035: Connect the gps_pps signal to the receiver 2017-07-28 08:03:33 +01:00
Adrian Costina 31143cb893 arradio: Changed clock domain of the ADC and DAC path to half the interface clock 2017-07-27 13:40:41 +01:00
Adrian Costina 5a98e727f2 A10GX: Update DDR3 configuration 2017-07-27 12:38:14 +01:00
Rejeesh Kutty 0aafd049c9 hdlmake.pl- remove ad_lvds 2017-07-26 10:32:44 -04:00
Rejeesh Kutty 893af8d3e6 library & projects- ad_lvds/ad_data replace 2017-07-26 10:31:48 -04:00
Rejeesh Kutty d4820dd55a library- remove ad_cmos_* 2017-07-26 10:20:39 -04:00
Rejeesh Kutty c15db8b74e ad77681evb/zed: ad_lvds-ad_data replace 2017-07-26 10:18:26 -04:00
Rejeesh Kutty 3eeba8273a hdlmake.pl/fmcomms2- updates 2017-07-24 16:33:40 -04:00
AndreiGrozav eb113c8698 fmcomms2_kcu105: Initial commit 2017-07-24 18:45:48 +03:00
Nick Pillitteri 6e188d694d ZCU102: SPI assign chip selects individually
Otherwise, Vivado 2016.4 sets all of the CSNs equal to CSN0. This fix is needed to get the FMCOMMS5 working properly on the ZCU102 (#36)
2017-07-24 15:31:56 +01:00
Lars-Peter Clausen fb557701a7 common: a10soc: Avoid unnecessary DMA clock domain crossing bridge insertion
Both the sys_hps.f2sdram_clock and the sys_dma_clk.clk signal are in the
same clock domain. They are both driven by the same clock. And even though
qsys is capable of detecting this it seems qsys interconnect is not able to
infer this and inserts a extra clock domain crossing bridge between the DMA
and the HPS AXI system memory interface.

To avoid this connect the sys_dma_clk.clk to the sys_hps.f2sdram_clock so
that all components are driven by the same qsys clock signal.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-24 15:28:45 +01:00
Lars-Peter Clausen 374c49ff48 axi_dmac: axi_dmac_hw.tcl: Automatically detect clock domains
Qsys allows to query to query the clock domain that is associated with a
clock input of a peripheral. This allows to automatically detect whether
the different clocks of the DMAC are asynchronous and CDC logic needs to be
inserted or not.

Auto-detection has the advantages that the configuration parameters don't
need to be set manually and the optional configuration will be choose
automatically. There is also less chance of error of leaving the settings
in a wrong configuration when e.g. the clock domains change.

In case the auto-detection should ever fail configuration options that
provide a manual overwrite are added as well.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-24 16:06:37 +02:00
Rejeesh Kutty 8b31fe73e0 hdlmake.pl updates 2017-07-21 10:37:56 -04:00
Nick Pillitteri 2d64d43475 ZCU102: SPI assign chip selects individually
Otherwise, Vivado 2016.4 sets all of the CSNs equal to CSN0. This fix is needed to get the FMCOMMS5 working properly on the ZCU102 (#36)
2017-07-21 09:22:10 +01:00
Rejeesh Kutty a8ade15173 hdlmake.pl - updates 2017-07-20 15:11:21 -04:00
Rejeesh Kutty d132ed45cd arradio- timing violations fix 2017-07-20 15:08:21 -04:00
Lars-Peter Clausen 669a2da735 common: a10soc: Avoid unnecessary DMA clock domain crossing bridge insertion
Both the sys_hps.f2sdram_clock and the sys_dma_clk.clk signal are in the
same clock domain. They are both driven by the same clock. And even though
qsys is capable of detecting this it seems qsys interconnect is not able to
infer this and inserts a extra clock domain crossing bridge between the DMA
and the HPS AXI system memory interface.

To avoid this connect the sys_dma_clk.clk to the sys_hps.f2sdram_clock so
that all components are driven by the same qsys clock signal.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-20 19:45:27 +02:00
Rejeesh Kutty 3ef00475bc arradio/c5soc- clocking changes 2017-07-20 13:05:07 -04:00
Rejeesh Kutty f3ad2e24c1 rfsom2/ccbox- rtc int 2017-07-20 09:25:09 -04:00
Rejeesh Kutty 8c60a2a850 rfsom/ccbox- rtc int 2017-07-20 09:22:45 -04:00
Rejeesh Kutty c11d7d9fda rfsom2/ccbox- tsw s5 fix 2017-07-19 14:23:54 -04:00
Rejeesh Kutty d969b9ea9f rfsom2/ccbox- tsw updates 2017-07-18 13:53:44 -04:00
Rejeesh Kutty becc3e8628 rfsom/ccbox- tsw updates 2017-07-18 13:51:37 -04:00
Lars-Peter Clausen 2e173201d4 daq2: daq2_qsys.tcl: Use sys_dma_clk
Use the sys_dma_clk clock module for clock and reset signals of the data
path, rather than using the A10GX specific sys_ddr3_cntrl signals. This
enables compatibility for all Altera/Intel platforms.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-17 17:38:20 +02:00
Adrian Costina 711cb66985 adrv9371x: Write parameter as hexa value to clear Vivados ambiguity between decimal and binary 2017-07-14 10:20:57 +03:00
Istvan Csomortani 98cf18dd51 daq3/zc706: Fix system_top instantiation
Delete used interrupt ports: the ps_intr_10 and ps_intr_11 is used by
the jesd cores.
2017-07-06 13:29:09 +01:00
Istvan Csomortani b4a25223fa plddr3_dacfifo_bd: Increase the AXI burst length to max
Increase AXI burst length to maximum value, to support higher
data rates.
2017-07-06 10:15:06 +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
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