Commit Graph

5929 Commits (f8c82c611d9f200362f442fb49474dad3d6aec49)

Author SHA1 Message Date
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 a0f4adabd0 avl_adxcvr: Fix core clock bridge frequency
The clock bridge expects the clock rate to be specified in Hz, but
$m_coreclk_frequency is in MHz. Do the appropriate conversion.

Nothing seems to rely on the clock bridge reporting the correct frequency
at the moment, so this is only a cosmetic change.

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
Istvan Csomortani 6a84b8b5a1 license: Update old license headers 2017-07-28 12:53:58 +01:00
Istvan Csomortani 115c8f2ba6 license: Update old license headers 2017-07-28 12:47:14 +01: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
Adrian Costina 289b170dfd axi_ad9361: Fix altera lvds interface, reverting to an older working version 2017-07-28 10:09:17 +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
Istvan Csomortani 8ffc35735a axi_ad9361: ad_pps_receiver integration
The ad_pps_receiver is instantiated at the top of core.
The rcounter is placed into adc/dac_common registers space, at the
address 0x30 (word aligned).
The interrupt mask is placed into adc/dac_common, at the address 0x04
(word aligned). Because the core has an instance of both modules, the
interrupt masks are OR-ed together.
2017-07-28 07:57:13 +01:00
Istvan Csomortani c7304922d5 ad_pps_receiver: Initial commit
Add a module to receive 1PPS signal from a GPS module. The module has a
free running counter, which runs on the device's interface clock. The
counter value is latched into a register each time when a 1PPS arrives.
An interrupt signal is also generated in every 1PPS.
2017-07-28 07:46:58 +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 6882d8a59d util_clkdiv: Added altera version 2017-07-27 13:38:09 +01:00
Adrian Costina 5a98e727f2 A10GX: Update DDR3 configuration 2017-07-27 12:38:14 +01:00
Lars-Peter Clausen 367d2d58e7 jesd204: axi_jesd204_rx_regmap_tb: Check ILAS memory register
Add a check to RX register map to confirm that the ILAS memory registers
return the correct values after the ILAS data has been received.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-27 10:48:43 +02: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 f26c1de38a ad9361/xilinx/lvds_if- fix frame check 2017-07-25 16:37:01 -04:00
Rejeesh Kutty 704512f0d4 library/xilinx/common- add iodelay group 2017-07-25 10:22:52 -04:00
Rejeesh Kutty 3eeba8273a hdlmake.pl/fmcomms2- updates 2017-07-24 16:33:40 -04:00
Rejeesh Kutty ff50963c7f axi_ad9361- altera/xilinx reconcile- may be broken- do not use 2017-07-24 16:28:50 -04:00
Rejeesh Kutty b65802ee1e library/xilinx- lvds/cmos integration 2017-07-24 16:28:50 -04:00
AndreiGrozav eb113c8698 fmcomms2_kcu105: Initial commit 2017-07-24 18:45:48 +03:00
Rejeesh Kutty 206ea1f70a ad9361/xilinx- missing up_rstn 2017-07-24 15:52:00 +01: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
Rejeesh Kutty 247e540cf0 hdl/library- fix syntax errors/synthesis warnings 2017-07-24 15:31:22 +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 34e8309695 up_clock_mon: Explicitly truncate d_count during up_d_count assignment
The MSB of the d_count signal is used as a overflow marker to stop the
counter from incrementing in the monitored clock domain. It is not exported
through the register map and truncated when assigned to the up_d_count
signal.

Make the truncation explicit to make it clear that this is not a mistake
and to avoid warnings about implicit truncation.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-24 15:28:19 +01:00
Lars-Peter Clausen 9b37e441f4 jesd204: jesd204_up_common: Rename clock monitor instance to i_clock_mon
The generic Altera clock monitor constraints expect the instance to be
called i_clock_mon. Adjust the code accordingly.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-24 15:27:52 +01:00
Lars-Peter Clausen b03139e59e jesd204: jesd204_up_ilas_mem: Fix blocking assignment
In this particular case the behaviour is the same with non-blocking and
blocking assignments, but that could change if the code is modified in the
future. To avoid any potentially issue due to this consistently use
non-blocking assignments.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-24 15:27:22 +01:00
Lars-Peter Clausen 3339f68926 axi_dmac: axi_dmac_hw.tcl: Set read and write issuing capabilities
The axi_dmac can issue up to FIFO_SIZE read and write requests in parallel.
This is done in order to maximize throughput and compensate for for
latency.

Set the {read,write}IssuingCapability properties accordingly on the AXI
master interfaces. Otherwise qsys might decide to insert bridges that
artificially limit the number of requests, which in turn might affect
performance.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-24 15:27:02 +01:00
Lars-Peter Clausen 6f36d013d3 axi_dmac: axi_dmac_hw.tcl: Set default DMA_LENGTH_WIDTH to 24
This matches the default parameter of the HDL code.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-24 15:26:17 +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
Lars-Peter Clausen 4f009620b5 axi_dmac: axi_dmac_hw.tcl: Cleanup configuration parameters
Group configuration parameters by function, provide human readable labels
as well as specify the allowed ranges for each parameter.

This prevents accidental misconfiguration and also makes it easier to
inspect (or change) the configuration in the Qsys GUI.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-24 16:06:37 +02:00
Lars-Peter Clausen 63f280676a avl_adxcfg: Consistently use non-blocking assignments
In this particular case the behaviour is the same with non-blocking and
blocking assignments, but that could change if the code is modified in the
future. To avoid any potentially issue due to this consistently use
non-blocking assignments.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-24 16:06:00 +02:00
Lars-Peter Clausen bd8d676346 library: Use ad_ip_intf_s_axi were applicable
Use the ad_ip_intf_s_axi helper function to create the axi4lite slave
interface for memory mapped peripherals. This slightly reduces the amount
of boilerplate code in the peripheral's *hw.tcl

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-24 15:52:37 +02:00
Lars-Peter Clausen 7a04b4723b adi_ip_alt.tcl: ad_ip_intf_s_axi: Allow to specify AXI interface address width
The address width of the AXI interface depends on the size of the register
and can differ from peripheral to peripheral. Add a parameter to the
function that allows to specify the address width, this allows to use the
function for more peripherals.

Keep the current value of 16 bits as the default if the parameter is not
specified.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-24 15:21:52 +02:00
Lars-Peter Clausen e1e0406a49 altera: axi_adxcvr: Reduce register map interface address width
The axi_adxcvr register map only uses a single 4k page, make this explicit.

This will allow for tighter packaging in the limited available total
register map space.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-24 15:21:52 +02:00
Rejeesh Kutty 8b31fe73e0 hdlmake.pl updates 2017-07-21 10:37:56 -04:00
Rejeesh Kutty bc4526cc8a axi_ad9361/altera- add 10 support 2017-07-21 10:33:44 -04:00
Rejeesh Kutty 9b26763e3b ad9361/xilinx- missing up_rstn 2017-07-21 09:08:28 -04:00
Lars-Peter Clausen c1d6ee8f1b Partially revert "hdlmake.pl - updates"
This partially reverts commit a8ade15173.

Remove the nonsensical Makefile dependencies that got added by accident.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-07-21 15:06:22 +02:00
Adrian Costina afbce10ab9 axi_dac_interpolate: Added matlab file for interpolation filters 2017-07-21 14:37:27 +03:00
Adrian Costina bf810bcc4b axi_adc_decimate: Added matlab file for filters 2017-07-21 14:36:27 +03: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