Commit Graph

2364 Commits (b5dfdcfb8447fbae72aefe04d389fef38d941847)

Author SHA1 Message Date
Istvan Csomortani 14a058195d avl_dacfifo: Add avl_dacfifo_byteenable_coder
Define and integrate avl_dacfifo_byteenabke_coder module,
which generates the byteenable signal for the avalon interface.
2017-05-25 15:12:14 +03:00
Istvan Csomortani 81fa65cd51 avl_dacfifo: Few cosmetic changes on avl_dacfifo_wr
+ avl_write_transfer_done_s is a redundant net
 + specify the net state explicitly on if statements
 + to define the edge of avl_mem_fetch_wr_address signal,
its register and its second sync register should be used
2017-05-25 15:12:13 +03:00
Istvan Csomortani 398619d866 avl_dacfifo: Add support for MEM_RATIO 32 2017-05-25 15:12:13 +03:00
Istvan Csomortani a1539a62b7 avl_dacfifo: Integrate util_delay into dac_xfer_out path
The ad_mem_asym memory read interface has a 3 clock cycle delay, from the
moment of the address change until a valid data arrives on the bus;
because the dac_xfer_out is going to validate the outgoing samples (in conjunction
with the DAC VALID, which is free a running signal), this module will compensate
this delay, to prevent duplicated samples in the beginning of the
transaction.
2017-05-25 15:12:13 +03:00
Istvan Csomortani 6d52034abb avl_dacfifo: dma_ready was muxed incorrectly 2017-05-25 15:12:12 +03:00
Istvan Csomortani da68705fee avl_dacfifo: Fix the avalon address switch 2017-05-25 15:12:12 +03:00
Istvan Csomortani 04f397f688 avl_dacfifo: Fix a few control signals
+ avl_last_transfer depends on the avl_xfer_req state
  + avl_xfer_req will be asserted after the last avalon write
transfer
2017-05-25 15:12:12 +03:00
Istvan Csomortani 8f9cadb017 avl_dacfifo: Fix the avl_write generation
The asymetric memory has a 3 clock cycle delay on its read
interface, therefor the minimum distance between two consecutive
avalon write should be 3.
2017-05-25 15:12:11 +03:00
Istvan Csomortani 0f1e51ac98 avl_dacfifo: Fix alv_mem_readen generation 2017-05-25 15:12:11 +03:00
Istvan Csomortani f456ebc6f0 avl_dacfifo: Few cosmetic changes on avl_dacfifo_wr
+ all net names should have a *_s postfix
  + avl_burstcount is a constant 1, no need for an additional
register for it
  + all CDC should have two synchronization register, add
avl_last_beat_req_m2
2017-05-25 15:12:11 +03:00
Istvan Csomortani 6ea87d094e util_delay: Initial commit
Generic module to introduce a fix N cycle delay into a datapath.
2017-05-25 15:12:10 +03:00
Istvan Csomortani 9a6dc36289 avl_dacfifo: Fix indentation for acl_dacfifo.v 2017-05-25 15:12:10 +03:00
Istvan Csomortani 7666c9f0d2 avl_dacfifo: Add a parameter AVL_ADDRESS_WIDTH 2017-05-25 15:12:10 +03:00
Istvan Csomortani 6dbbe2f1ca altera/ad_mem_asym: Fix grounded bus for marco instance
The "'b0" constant will be translate as a 32 bit width vector by
ModelSim, and will throw a buswidth mismatch error. Tie the data_b
bus to zero, using its width parameter.
2017-05-25 15:12:09 +03:00
Lars-Peter Clausen d883aabcc1 adi_ip.tcl: Use analog.com for interface vendor
Currently the scripts use 'analog.com' as the vendor property for IP cores,
but 'ADI' for interfaces.

Make things consistent by using 'analog.com' for both interfaces as well
as IP cores.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-24 18:10:15 +02:00
Lars-Peter Clausen 7020f94968 interfaces: Add dependencies to rule
Make sure that the XML files are re-build when any of the scripts that are
used to generated it are modified.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-24 18:10:15 +02:00
Lars-Peter Clausen 5ba1c4fef3 interfaces: Simplify Makefile
All the rules to generate the XML files are the same. Reduce the number of
rules by useing wildcard matching for the rule target.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-24 18:09:52 +02:00
Adrian Costina 229829e4dc axi_ad9963: Add scale only correction option 2017-05-24 15:55:45 +03:00
Adrian Costina c7df3e8ae9 ad_iqcor: Add scale only correction option 2017-05-24 15:54:58 +03:00
Lars-Peter Clausen 1202286c3d Add ADI JESD204 link layer cores
The ADI JESD204 link layer cores are a implementation of the JESD204 link
layer. They are responsible for handling the control signals (like SYNC and
SYSREF) and controlling the link state machine as well as performing
per-lane (de-)scrambling and character replacement.

Architecturally the cores are separated into two components.

1) Protocol processing cores (jesd204_rx, jesd204_tx). These cores take
care of the JESD204 protocol handling. They have configuration and status
ports that allows to configure their behaviour and monitor the current
state. The processing cores run entirely in the lane_rate/40 clock domain.

They have a upstream and a downstream port that accept and generate raw PHY
level data and transport level payload data (which is which depends on the
direction of the core).

2) Configuration interface cores (axi_jesd204_rx, axi_jesd204_tx). The
configuration interface cores provide a register map interface that allow
access to the to the configuration and status interfaces of the processing
cores. The configuration cores are responsible for implementing the clock
domain crossing between the lane_rate/40 and register map clock domain.

These new cores are compatible to all ADI converter products using the
JESD204 interface.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Lars-Peter Clausen aba62d96c9 util_cdc: Add multi-bit data synchronization module
The sync_data module can be used to continuously transfer multi-bit signals
like status signals safely from the source to the destination clock
domain. A transfer takes 2 source and 2 destination clock cycles. It is not
guaranteed that all transitions on the source side will be visible on the
target side if the signal is changing faster than this. Logic using this
block should be aware of it. The primary intention is for it to be used for
slowly changing status signals.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Lars-Peter Clausen ab381825da util_cdc: Add event synchronizer
The event synchronizer can be used to safely transfer 1-bit 1-clock cycle
event signals from one clock domain to another.

For each event recorded in the source domain it is guaranteed that a event
will be generated in the target domain at a later point in time. It is
possible though that multiple events in the source domain will be coalesced
into a single event in the target domain if events are generated faster
than they can be transferred.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Lars-Peter Clausen 01aea161fa Create CDC helper library
Move the CDC helper modules to a dedicated helper modules. This makes it
possible to reference them without having to use file paths that go outside
of the referencing project's directory.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Lars-Peter Clausen ed23eb950e adi_ip.pl: adi_ip_properties_lite: Set core name to the specified name
Currently the name of the newly created IP core is automatically inferred
from the top-level module. This works fine if there is only one top-level
IP. But for an IP core that is a collection of helper modules this fails.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Lars-Peter Clausen 19636e8c55 adi_ip.tcl: adi_add_bus_clock: Set polarity depending on the reset name suffix
Currently the polarity of the reset signal is always set to negative.
Change this so that the polarity is selected on the suffix of the name. If
it ends with a 'n' or 'N' the polarity will be negative, otherwise it will
be positive.

This allows this function to be used with reset signals that have positive
polarity.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Lars-Peter Clausen 341a695163 adi_ip.pl: Add support for creating multi busses
This patch adds a helper function that allows to create multiple ports for
a single set of underlying signals. This is useful when the number of ports
is a configuration parameter. It sort of allows the emulation of port
arrays without having to have on set of input/output signals for each port,
instead the signals are shared by all ports.

The following snippet illustrates how this can for example be used to
generate multiple AXI-Streaming ports from a single set of signals.

<verilog>
	module #(
		parameter NUM_PORTS = 2
	) (
		input [NUM_PORTS*32-1:0] data,
		input [NUM_PORTS-1:0] valid,
		output [NUM_PORTS-1:0] ready,
	);
	...
	endmodule
</verilog>

<tcl>
	adi_add_multi_bus 8 "data" "slave" \
		"xilinx.com:interface:axis_rtl:1.0" \
		"xilinx.com:interface:axis:1.0" \
		[list \
			{ "data" "TDATA" 32} \
			{ "valid" "TVALID" 1} \
			{ "ready" "TREADY" 1} \
	  ] \
	  "NUM_PORTS > {i})"
</tcl>

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Lars-Peter Clausen e4a4a7a1b8 adi_ip.tcl: Set processing order of IP core constraint files back to late
Commit 2f023437b4 ("adi_ip- remove adi_ip_constraints") changed the
default processing order of IP core constraint files from late to normal.

This is problematic because some IP core constraint files try to access
clocks that are that are generated by different files with the normal
processing order level. These clock may or may not be available to the IP
core constraint file depending on the (random) order in which the files
were processed.

To avoid this issue change the default processing order back to late.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Lars-Peter Clausen 55cc5515ad adi_ip.tcl: Use analog.com for interface vendor
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Lars-Peter Clausen 3d8e05ac17 up_clock_mon: Make counter width configurable
The clock monitor reports the ratio of the clock frequencies of a known
reference clock and a monitored unknown clock. The frequency ratio is
reported in a 16.16 fixed-point format.

This means that it is possible to detect clocks that are 65535 times faster
than the reference clock. For a reference clock of 100 MHz that is 6.5 THz
and even if the reference clock is running at only 1 MHz it is still 65
GHz, a clock rate much faster than what we'd ever expect in a FPGA.

Add a configuration option to the clock monitor that allows to reduce the
number of integer bits of ratio. This allows to reduce the utilization
while still being able to cover all realistic clock frequencies.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Lars-Peter Clausen 1ecc5aaffc up_clock_mon: Detect stopped clock
Currently when the monitored clock stops the clock monitor retains the old
frequency ratio value and there is no way to detect that the clock has
stopped and the reported value is indistinguishable form a clock still
running at the right rate.

If a full iteration as elapsed on the monitoring side and there is no
indication that the counter on the monitored side has started running set
the reported clock ratio value to 0 to indicate that the clock has stopped.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Lars-Peter Clausen 139876d28a up_clock_mon: Remove extra hold register
Currently the clock monitor features a hold register in the monitored clock
domain. This old register is used to store a instantaneous copy of the
counter register. The value in the old register is then transferred to the
monitoring domain. Since the counter is continuously counting it is not
possible to directly transfer it since that might result in inconsistent
data.

Instead stop the counter and hold the registers stable for a duration that
is long enough for the monitoring domain to correctly capture the value.
Once the value has been transferred the counter is reset and restarted for
the next iteration.

This allows to eliminate the hold register, which slightly reduces
utilization.

The externally visible behaviour is identical before and after the patch.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Lars-Peter Clausen 696305360c interfaces: Add dependencies to rule
Make sure that the XML files are re-build when any of the scripts that are
used to generated it are modified.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Lars-Peter Clausen a44420fa8f interfaces: Simplify Makefile
All the rules to generate the XML files are the same. Reduce the number of
rules by useing wildcard matching for the rule target.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-23 11:16:07 +02:00
Rejeesh Kutty 0930c486d2 axi_hdmi_rx- move data to an iob 2017-05-19 16:25:54 -04:00
Lars-Peter Clausen 858065d49b library: Sort Makefile
Sort the entries in the library Makefile alphabetical. Keeping it ordered
makes it easier to track changes compared to randomly reshuffling it
every time a new entry is added.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-19 15:33:26 +02:00
Rejeesh Kutty 393577c911 util_adxcvr- 2016.4 gthe4 updates 2017-05-18 14:49:18 -04:00
Rejeesh Kutty 80a3f45b9f alt_mul- qsys replacement 2017-05-18 10:38:48 -04:00
Rejeesh Kutty 598bd7e226 resolving conflicts 2017-05-17 16:18:53 -04:00
Rejeesh Kutty 6649b23bc8 alt-mem-asym - replace mega function cores 2017-05-17 16:13:26 -04:00
Rejeesh Kutty 828c2406cb adi-ip-alt allow changing device family 2017-05-17 16:13:26 -04:00
Rejeesh Kutty bea72232a3 alt_mem_asym- qsys component 2017-05-17 16:13:26 -04:00
Istvan Csomortani fe140a054f license: Fix VHDL license header 2017-05-17 18:28:06 +03:00
AndreiGrozav 70e3dd00ff scripts: Update required tool versions 2017-05-17 16:45:20 +03:00
Lars-Peter Clausen bf44f357fe Fix VHDL files license header, second try
While VHDL uses -- for comments uris still use //.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-17 15:25:08 +02:00
Lars-Peter Clausen 5ee9480142 Fix VHDL files license header
VHDL uses '--' for comments rather than '//'.

Also remove left over old license headers.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-05-17 15:21:06 +02:00
AndreiGrozav 18bc5465df axi_usb_fx3: Add missing ports 2017-05-17 14:48:28 +03:00
Istvan Csomortani 9055774795 all: Update license for all hdl source files
All the hdl (verilog and vhdl) source files were updated. If a file did not
have any license, it was added into it. Files, which were generated by
a tool (like Matlab) or were took over from other source (like opencores.org),
were unchanged.

New license looks as follows:

Copyright 2014 - 2017 (c) Analog Devices, Inc. All rights reserved.

Each core or library found in this collection may have its own licensing terms.
The user should keep this in in mind while exploring these cores.

Redistribution and use in source and binary forms,
with or without modification of this file, are permitted under the terms of either
 (at the option of the user):

  1. The GNU General Public License version 2 as published by the
     Free Software Foundation, which can be found in the top level directory, or at:
https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html

OR

  2.  An ADI specific BSD license as noted in the top level directory, or on-line at:
https://github.com/analogdevicesinc/hdl/blob/dev/LICENSE
2017-05-17 11:52:08 +03:00
AndreiGrozav 857ad45d57 util_fir_int: Force 1/8 filter input data rate 2017-05-16 19:35:24 +03:00
AndreiGrozav 3f5d930cde axi_adc_decimate/cic_decim: Fix clk_enable warning
- fix clk_enable zero replication warning
2017-05-16 19:35:24 +03:00
AndreiGrozav fd7db4fcf3 util_tdd_sync: add missing ports 2017-05-16 19:35:24 +03:00
AndreiGrozav cf3737122b Remove duplicare wire declaration
-Introduced by updating to verilog-2001
2017-05-16 19:35:24 +03:00
AndreiGrozav 41e25e7c96 Add missing ad_serdes_out interface ports 2017-05-16 19:35:24 +03:00
Adrian Costina 0c5dabe358 axi_ad9963: Update constraints as adc_common and dac_common paths have been renamed 2017-05-15 18:59:09 +03:00
Adrian Costina ce4f9bf906 up_dac_common: rename internal signals 2017-05-15 18:58:26 +03:00
Rejeesh Kutty ebeebdddf0 altera- infer latest versions 2017-05-12 13:40:14 -04:00
Rejeesh Kutty c728299e71 altera- default to latest version 2017-05-12 13:25:17 -04:00
Rejeesh Kutty ecfa15bfce version check- change to critical warning 2017-05-12 09:51:48 -04:00
AndreiGrozav e4ae391237 axi adc cores: Add missing ports to up_adc_common instance 2017-05-12 13:39:05 +03:00
AndreiGrozav 0e1e507541 axi dac cores: Add missing ports to up_dac_common instance 2017-05-12 13:37:34 +03:00
Rejeesh Kutty d93a6d062e fmcadc5-sync: added a convenience timer 2017-05-11 12:39:39 -04:00
Istvan Csomortani 8e7b577c94 axi_ad5766: Add missing ports to up_dac_common instance 2017-05-11 17:25:31 +03:00
Istvan Csomortani 6e5d965211 axi_ad5766: sdo_mem size is 3 2017-05-11 17:25:31 +03:00
Istvan Csomortani 7968ca64a6 axi_ad5766: Delete redundant parameters 2017-05-11 17:25:31 +03:00
Istvan Csomortani e327166cf2 axi_generic_adc: Update port names for up_adc_common instance 2017-05-11 11:00:24 +03:00
Rejeesh Kutty 039ae9ae92 fmcadc5- syntax/port name fixes 2017-05-10 16:30:15 -04:00
Rejeesh Kutty fea6eb68be up_adc_common- port name changes 2017-05-10 14:45:17 -04:00
Rejeesh Kutty c2dd991736 axi_fmcadc5- sign-extend and interleave (core is too late) 2017-05-10 14:33:56 -04:00
Rejeesh Kutty 78435ebbb7 ad9625- add an option to control cs monitoring 2017-05-10 14:33:56 -04:00
Rejeesh Kutty d374f5b091 library/up_adc_common- add sref sync option 2017-05-10 14:33:56 -04:00
Rejeesh Kutty 61bbfb2c82 library/axi_fmcadc5_sync- remove dependecy on adc-core (driver shows up late) 2017-05-10 14:33:56 -04:00
AndreiGrozav c44de7021a axi_ad9739a: Fix DDS set frequency
- DDS out frequency was 4 times greater than the desired frequency
2017-05-10 17:39:00 +03:00
Istvan Csomortani 5fe008d887 axi_ad9371: Update dac_clk_ratio to 2
DAC sampling frequency is two times of the JESD204
core clock.
2017-05-10 11:12:45 +03:00
Rejeesh Kutty b6e9c92f46 axi_fmcadc5_sync- raw inputs & constraint fixes 2017-05-08 10:29:06 -04:00
Rejeesh Kutty 391a14be7a hdlmake.pl updates 2017-05-04 13:59:47 -04:00
Rejeesh Kutty 1bd444b47f axi_fmcadc5_sync- calcor added 2017-05-04 13:58:35 -04:00
AndreiGrozav f93a003ed1 axi_ad9434: Fix input data rate 2017-05-04 16:43:09 +03:00
Istvan Csomortani 6387b53266 ad77681evb: Initial commit 2017-05-04 12:19:11 +03:00
Istvan Csomortani 3ba57582bb spi_engine_offload: Add a CDC module for trigger reception
There are devices which have a asynchronous data ready signal. (asynchronous
with the spi clock) The CDC stages can be enabled by setting up
the ASYNC_TRIG parameter.
2017-05-04 12:14:06 +03:00
Istvan Csomortani 07956cfe66 spi_engine: Define parameter inside the module statement
Part of the effort to update all verilog files to use the
ANSI-C style port list in module definitions. (verilog-2001)
2017-05-04 12:13:47 +03:00
Rejeesh Kutty d29f420ffa axi_fmcadc5_sync: add a calibration signal generation 2017-04-28 11:13:24 -04:00
Rejeesh Kutty 956753ca9c hdlmake- updates 2017-04-27 15:11:01 -04:00
Rejeesh Kutty 0cb2316cb9 fmcadc5-sync- add ldo psync 2017-04-27 13:26:17 -04:00
Istvan Csomortani 49ef9a589b axi_ad5766: Fix parameter name for up_dac_common 2017-04-27 13:55:16 +03:00
Istvan Csomortani 4e15a21b79 spi_engine_interconnect: Delete dependency defined for S1_CTRL interface
The S1_CTRL interface is not dependent of the number of SDI lines.
2017-04-27 11:28:25 +03:00
Istvan Csomortani 4ceed4d373 util_pulse_gen: Add Makefile 2017-04-27 11:28:25 +03:00
Istvan Csomortani 18a671cdb7 spi_engine: Expose DATA_WIDTH to software
The value of DATA_WIDTH can be read back from register 0x44
The DATA_WIDTH will define the size of a word in a transaction.
2017-04-27 11:28:24 +03:00
Istvan Csomortani 801fb2281e util_pulse_gen: The valid period is stored in pulse_period_d 2017-04-27 11:28:24 +03:00
Istvan Csomortani fbccb377cc adaq7980: Add an trigger generator for SPI offload 2017-04-27 11:28:23 +03:00
Istvan Csomortani a4c422ac4c spi_engine_execution: Define port dependencies for SDI ports 2017-04-27 11:28:21 +03:00
Istvan Csomortani 045cb96744 axi_spi_engine: Define ports dependencies for up_* interface
The up_* interface ports are active just if the MM_IF_TYPE is UP_FIFO.
2017-04-27 11:27:35 +03:00
Istvan Csomortani 9cd218eb90 up_dac_common: Increase datawidth of dac_datarate
In case of high precision devices with just a simple SPI interface
for control and data, the effective data rate can be significatly
lower than the SPI clock, and more importantly there isn't any relation
between the two clock domain.
The rate is defined by a SOT (start of transfer) generator, which
initiates a SPI transfer. Taking the fact that the generator runs
on system clock (100 MHz), and the device can require smaller rate (in kHz domain),
the 7 bit dac_datarate register is just too small.

Therefor increasing to 16 bit.
2017-04-27 11:24:08 +03:00
Istvan Csomortani a2c20551a2 axi_ad5766: Add Makefiles for the core 2017-04-27 11:22:31 +03:00
Istvan Csomortani eba22892b8 axi_ad5766: Preserve consistent coding style 2017-04-27 11:21:15 +03:00
Istvan Csomortani d061104a3c util_pulse_gen: Add configuration interface for 'pulse period'. 2017-04-27 11:21:12 +03:00
Istvan Csomortani 825d46259b interface: Update spi_engine_offload_ctrl definition
Because of the new AD5766 offload module, SDO lines are
defined as 'optional'.
2017-04-27 11:19:22 +03:00
Istvan Csomortani 5c5baf3abf spi_engine: Fix CMD_FIFO_VALID generation
Because of the memory map interface mux, up_waddr_s should be used,
when cmd_fifo_in_valid is generated.
2017-04-27 11:19:20 +03:00
Istvan Csomortani 29f0ce36bb axi_ad5766: Initial commit
This core can be used in conjunction with the SPI_ENGINE, will work
as an offload module, forwarding a data stream to the SPI excecution,
received from a DMA.
2017-04-27 11:16:23 +03:00
Istvan Csomortani fb6e0d3efb spi_engine: Add dependency for unused interfaces 2017-04-27 11:16:19 +03:00
Rejeesh Kutty 5d6b018b2b ad9162- add iq swap 2017-04-26 20:54:47 -04:00
Istvan Csomortani 85a647eda8 axi_ad9361: Fix ad_cmos_out instantiations
This is a patch for 3627b89
2017-04-26 10:39:54 +03:00
Adrian Costina 7cff12107e hdlmake: Fix util_clkdiv Makefile issue. sort library master Makefile 2017-04-26 09:58:17 +03:00
Rejeesh Kutty cfd4e006b3 hdlmake updates 2017-04-25 15:46:26 -04:00
Rejeesh Kutty 804df251a6 axi_fmcadc5_sync- updates 2017-04-25 11:35:37 -04:00
Rejeesh Kutty 81570ada75 axi_fmcadc5_sync- updates 2017-04-25 11:35:37 -04:00
Rejeesh Kutty c248d5ac6a fmcadc5-sync- try sync in hdl 2017-04-25 11:35:37 -04:00
Istvan Csomortani 468965a792 altera/ad_cmos_in: Define supported DEVICE_TYPE options 2017-04-25 12:07:33 +03:00
Istvan Csomortani 52305f74c8 altera/ad_cmos_in|out: Delete redundant parameter 2017-04-25 12:06:33 +03:00
Istvan Csomortani 77eafbcccd avl_dacfifo: Update constarint file 2017-04-25 12:03:46 +03:00
Istvan Csomortani 1ef3fd4668 avl_dacfifo: Fix read/write address switching 2017-04-25 12:03:22 +03:00
Istvan Csomortani 3627b892c3 xilinx/ad_cmos_in|out: Delete redundant parameter
The LVCMOS standard is a single ended IO standard. The SINGLE_ENDED
parameter is redundant in this case.
2017-04-25 11:02:35 +03:00
Istvan Csomortani 4f4ca84813 axi_dacfifo: Fix Makefile 2017-04-24 11:46:29 +03:00
Istvan Csomortani 4007df2094 avl_dacfifo: Update constraints 2017-04-21 17:25:46 +03:00
Istvan Csomortani 89b3f45fff avl_dacfifo: Use the ad_mem_asym for altera 2017-04-21 17:25:46 +03:00
Istvan Csomortani b7bfa2d91f avl_dacfifo: Delete redundant file 2017-04-21 17:25:46 +03:00
Istvan Csomortani 180a80493b avl_dacfifo: Initial commit 2017-04-21 13:26:37 +03:00
Istvan Csomortani 5fe7a1b100 axi_dacfifo: Move the axi_dac_fifo_bypass module to util_dac_fifo_bypass 2017-04-21 13:23:03 +03:00
Istvan Csomortani 50e6fac5dd axi_hdmi_tx: Fix assignment type
The general rule of thumb is to use nonblocking assignments for
sequential always blocks.
2017-04-21 09:35:34 +03:00
Lars-Peter Clausen f319d1b5d4 axi_clkgen: Propagate clock settings to output pins
Calculate the output clock frequencies based on the input clock frequencies
and the default divider settings and configure the output clock pins
accordingly. This allows connected peripherals to infer the frequency of
the clock.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-20 20:36:33 +02:00
Lars-Peter Clausen af913863d4 axi_clkgen: Infer CLKIN period
Instead of having to manually specify the input clock period infer the
values from the block design. This means that less configuration parameters
need to be changed if the clock input frequency changes.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-20 20:36:15 +02:00
Lars-Peter Clausen fdedc9568c axi_clkgen: Add interface definitions for clock inputs/outputs
Add interface definition for the input and output clocks. This will allow
the tools to recognize them as clocks and enable things like clock
frequency propagation.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-20 19:55:57 +02:00
Lars-Peter Clausen 15ce8cc356 axi_clkgen: Add enable parameters for secondary clock inputs/outputs
The secondary clock inputs and outputs of the axi_clkgen are rarely used.
Add enable parameters that need to be explicitly set before they are
available. This allows to hide the secondary clock pins when they are not
used in the block design.

There are currently no projects which use the secondary clock inputs or
outputs so there is no need to set these new parameters anywhere.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-20 19:55:57 +02:00
Lars-Peter Clausen 886c818b72 axi_clkgen: Add type hints for parameters
Vivado infers the type of floating point type parameters as integer if the
value can be expressed as an integer (i.e. decimal places are 0). To
correctly infer them as floating point parameters add types to the
parameter declaration.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-20 19:55:56 +02:00
Lars-Peter Clausen 844521c7b1 axi_clkgen: Remove unused parameters for third clock output
The axi_clkgen has no no third clock output, no need to have parameters to
configure it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-20 19:55:33 +02:00
Istvan Csomortani ba6802409b axi_ad9434: ad_serdes_clk instantiation should reflect all important configurations 2017-04-20 18:52:06 +03:00
Istvan Csomortani 5b164ad4fa ad_serdes_in: Fix generate block 2017-04-20 18:50:00 +03:00
Istvan Csomortani faa5e3d667 ad_serdes_clk: Fix generate block 2017-04-20 18:49:00 +03:00
Istvan Csomortani f0da125a4e ad_mmcm_drp: Fix generate block
Can not be multiple 'if' statements inside a generate block. If there are
multiple cases use if/esle statement, but always should be one single
if/else inside a generate.
2017-04-20 18:43:37 +03:00
Istvan Csomortani 52f0eeff23 axi_ad9434: Port redeclaration as a wire is not allowed 2017-04-20 14:33:13 +03:00
Istvan Csomortani 5294e238d2 axi_ad9250: Port redeclaration as a wire is not allowed 2017-04-20 10:50:21 +03:00
Istvan Csomortani 6ab8624a06 axi_ad9625: Port redeclaration as a wire is not allowed 2017-04-20 10:49:24 +03:00
Lars-Peter Clausen 9f55a703cc axi_dmac: post_propagate(): Handle mappings with multiple address segments
When a mapping has multiple address segments we need to consider all of
them to calculate the required address width.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-19 13:47:02 +02:00
Lars-Peter Clausen 5084e4a8f7 axi_dmac: post_propagate(): Handle address segments with offsets
The address width needs to be large enough to be able to address the
largest possible address. This means the in addition to the address segment
range the specified offset also needs to be considered to calculate the
address width.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-19 13:47:02 +02:00
Istvan Csomortani db0cd63ed3 axi_ad9361: Fix Warning[Synth 8-2611]
In Verilog-2001 standard, redeclaration of an output port as a wire
is not allowed.
2017-04-19 13:52:13 +03:00
Istvan Csomortani 931758b70c ad_tdd_control: Optimize the burst_counter logic
The tdd_burst_counter should be in reset if the tdd_cstate
is not ON. (tdd counter is inactive)
2017-04-19 12:02:31 +03:00
Adrian Costina ac5efc9adc library: axi_i2s_adi, axi_spdif_rx, axi_spdif_tx, util_axis_fifo rename ports to lowercase 2017-04-18 12:17:41 +02:00
Lars-Peter Clausen 8549420af5 axi_dmac: Remove reset from up_rdata and gate when unused
up_rdata is qualified by the up_rack signal. There is no need to reset it
since by the time the signal is read the reset value has already been
overwritten anyway.

Also gate the up_rdata registers if no read operation is in progress. In
this case any changes would be ignored anyway.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:41 +02:00
Lars-Peter Clausen 6ed684714e axi_dmac: Add missing reset for cyclic and xlast flags
Make sure the cyclic and xlast flag registers are covered by the reset signal.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:41 +02:00
Lars-Peter Clausen f0e8b7adec axi_adc_trigger: Reduce AXI address width
The axi_adc_trigger does not use the full width of the AXI interface
address. It only responds to register access in the first 32 registers.

Reduce the size of the AXI address to 7 bit accordingly. This allows the
scripts to correctly infer the internal register map size which will cause
the interconnect to filter out access to these unused register.

This slightly reduces utilization by getting rid of some pipeline
registers.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:41 +02:00
Lars-Peter Clausen 837b2c02e2 axi_adc_decimate: Reduce AXI address width
The axi_adc_decimate does not use the full width of the AXI interface
address. It only responds to register access in the first 32 registers.

Reduce the size of the AXI address to 7 bit accordingly. This allows the
scripts to correctly infer the internal register map size which will cause
the interconnect to filter out access to these unused register.

This slightly reduces utilization by getting rid of some pipeline
registers.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:41 +02:00
Lars-Peter Clausen 53c8ece8f8 axi_dac_interpolate: Reduce AXI address width
The axi_dac_interpolate does not use the full width of the AXI interface
address. It only responds to register access in the first 32 registers.

Reduce the size of the AXI address to 7 bit accordingly. This allows the
scripts to correctly infer the internal register map size which will cause
the interconnect to filter out access to these unused register.

This slightly reduces utilization by getting rid of some pipeline
registers.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:41 +02:00
Lars-Peter Clausen b24f93a8bd axi_logic_analyzer: Reduce AXI address width
The axi_logic_analyzer does not use the full width of the AXI interface
address. It only responds to register access in the first 32 registers.

Reduce the size of the AXI address to 7 bit accordingly. This allows the
scripts to correctly infer the internal register map size which will cause
the interconnect to filter out access to these unused register.

This slightly reduces utilization by getting rid of some pipeline
registers.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen d64bd4cec1 axi_dmac: Reduce AXI address width
The AXI DMAC peripheral only uses 11-bit of the register map interface
address. Reducing the signal width to this value allows the scripts to
correctly infer the size of the register map.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 9550c7f352 up_axi: Allow to configure AXI address width
Not all peripherals need the full address space. To be able to infer the
size of the address space of a peripheral allow the size of the AXI address
signals to be configurable rather than hardcoding its width to 32 bit.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 9f382d56c6 scripts/adi_ip.pl: Infer register map range from address width
Currently the register map range of a peripheral is hardcoded to 64k. Not
all peripherals need that much space though and reducing the size of the
address can reduce the amount of logic required, both in the interconnect
as well as in the peripheral.

Let adi_ip_properties() infer the size of the register map from the number
of bits of the address when creating the register map.

For backwards compatibility limit the register map size to 64k since
currently peripherals have a address width of 32 bits, event if they use
less.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 77399ec7aa axi_logic_analyzer: Add missing reset wire declaration
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Adrian Costina 021226bace util_var_fifo: Assign data_out and data_out_valid based on fifo_active
- fixed fifo_active assignments
2017-04-18 12:17:40 +02:00
Adrian Costina f761bf9bab util_var_fifo: Disable BRAMs if the depth of the FIFO is 0. 2017-04-18 12:17:40 +02:00
Adrian Costina 20a223be99 util_var_fifo: Move BRAM outside of the core so that it can be generated using Xilinx IP 2017-04-18 12:17:40 +02:00
Adrian Costina d43ba5d26e axi_ad9963: Integrated ADC/DAC clock enables 2017-04-18 12:17:40 +02:00
Adrian Costina 118dd18ba0 up_dac_common: Added clock enable control for the DAC cores 2017-04-18 12:17:40 +02:00
Adrian Costina 2296ef5882 up_adc_common: Added clock enable control for the ADC cores 2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 4e0d68fde8 axi_dmac: Configure AXI address width according to the mapped address space
Currently the AXI address width of the DMA is always 32-bit. But not all
address spaces are so large that they require 32-bit to address all memory.

Extract the size of the address space that the DMA is connected too and
configure reduce the address size to the minimum required to address the
full address space.

This slightly reduces utilization.

If no mapped address space can be found the default of 32 bits is used for
the address.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 3ab1e392c5 axi_ad9963: Disable delay_clk port when IODELAYs are unused
The delay_clk is only used internally when the IODELAYs are enabled. This
means the port has no function when the IODELAYs are disabled so hide the
port in that case.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen f869ac9ed2 scripts/adi_ip.tcl: adi_set_ports_dependency(): Allow to specify tie-off value
Typically when a port has a enablement dependency it also should have a
tie-off value to the port is connected to when disabled.

Make it possible to specify this tie-off value when calling
adi_set_ports_dependency().

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 508a783f39 axi_dac_interpolate: Register output mux signal
The output data mux is used to bypass the filter when it is not used. Which
setting is used for the mux depends on the 3-bit filter_mask signal.
Registering the control logic into a single bit signal reduces the amount
of routing resources required. Since changing the filter_mask settings is
asynchronous to the processing anyway the extra clock cycle delay
introduced by this change does not affect behaviour.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 834fcb7e27 axi_dac_interpolate: Reduce filter_mask signal width
Only the lower 3 bits of the filter_mask signal are used, no need to keep
the other bits around.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 9c2c50728c axi_dac_interpolate: Move processing pipeline to own sub-module
Move the processing pipeline of the axi_adc_decimate core to its own
sub-module. This makes it easier to simulate the processing independent of
the register map.

Also since the filter is two instances of the same logic, one for each
channel, let the new sub-module model one channel and instantiate it twice.
This allows to change the implementation without having to change the same
code twice.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen a02a763139 axi_adc_decimate: Do proper sign extension in bypass mode
The output data of the decimation block is 16-bit signed. Properly sign
extend the 12-bit input signal when the filter is bypassed.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 19ca0b3073 axi_adc_decimate: Gate unused filter parts
The minimum number of bits required for the adders in a CIC filter depends
on the decimation rate. Higher decimation factors require more bits. This
means for a multirate filter the size of the logic structures is determined
by the highest supported rate.

The current implementation of the filter always uses all bits of the
structure to compute the results, that means even when running with the
lowest decimation factor all the bits that are required for the highest
decimation factor are used. This will work fine as additional bits do not
affect the output of the filter.

This patch implements dynamic partial gating of the filter structure based
on the selected decimation factor. Bits that are not required for a certain
rates are gated and the carry bits are masked from propagating through the
adder chain. This results in significant power savings at smaller
decimation factors.

This means that the filter itself is now using more power the higher the
decimation rate. But this is offset by the reduced data output rate running
subsequent processing stages at a lower rate and reducing power consumption
there. This results in a more or less flat power profile regardless of
decimation factor.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 17dff9ce90 util_cic: Allow partial gating of CIC comb and int stages
Allow to split a CIC int or comb block into multiple stages and be able to
dynamically gate some of the stages. Also prevent carry propagation in
gated stages to keep the adder output constant.

This is useful for multi-rate filter where not all bits are needed all the
time.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 3e7325b29a axi_adc_decimate: Re-implemented FIR filter
The minimum decimation rate of the CIC block is five, this means data
arrives at the FIR filter at most every five clock cycles. The decimation
rate of the filter is two so the filter produces an output at most every
ten clock cycles. This allows for ten clock cycles to compute the result.

The current implementation of the filter uses a fully pipelined
architecture with one multiplier for each coefficient. Which then do work
for one clock cycle and sit idle for the next nine clock cycles.

Rework the filter to be sequential reducing the number of required
multipliers to one. In addition exploit the symmetric structure of the
filter to make use of the preadder reducing the required multiply
operations by two.

This significantly reduces the logic utilization of the filter as well as
moderately reduces power consumption.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 737418a1b0 axi_adc_decimate: Use sequential processing for CIC comb stage
The minimum decimation of the CIC block is 5. This means new data arrives
at the comb stages at most every 5 clock cycles. Rather than letting the
logic sit idle during those 4 extra cycles use it to sequentially process
the comb stages of the filter. This reduces the logic utilization of the
filter by quite a bit.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen a64e94a109 axi_adc_decimate: Register output mux control signal
The output data mux is used to bypass the filter when it is not used. Which
setting is used for the mux depends on the 3-bit filter_mask signal.
Registering the control logic into a single bit signal reduces the amount
of routing resources required. Since changing the filter_mask settings is
asynchronous to the processing anyway the extra clock cycle delay
introduced by this change does not affect behaviour.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 00c215ae69 axi_adc_decimate: Re-implement CIC filter
Re-implement the CIC using the basic building blocks from the util_cic
library.

This new implementation is structurally equivalent to the previous version,
but will be used as a platform for implementing changes that will improve
area and power consumtion of the filter

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 450c5ac74a Add CIC filter helper module
Add a helper module that provides the building blocks of a CIC filter.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen f1edcb02ac axi_adc_decimate: Reduce filter_mask register size
Only the 3 lower bits of the filter_mask register are used. No need to keep the other bits around.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:40 +02:00
Lars-Peter Clausen 927508404e axi_adc_decimate: Move processing pipeline to own sub-module
Move the processing pipeline of the axi_adc_decimate core to its own
sub-module. This makes it easier to simulate the processing independent of
the register map.
2017-04-18 12:17:40 +02:00
Adrian Costina 8ba86cb75c axi_logic_analyzer: Allow changing data pins direction to output only after data is available from the DMA or if the output is set from a register for that specific pin 2017-04-18 12:17:40 +02:00
Adrian Costina 8476d9d59a axi_logic_analyzer: Allow only data[0] to be used as alternative clock.
- drive all logic on clk_out instead of clk
2017-04-18 12:17:39 +02:00
Adrian Costina 3c13aa49eb axi_ad9963: Changed TX path from serdes to ddr.
- remove delay control related logic
2017-04-18 12:17:39 +02:00
Lars-Peter Clausen 77b453ac0d axi_dmac: Make debug register optional
The debug registers are useful during development but are rarely used in a
production design. Add a option that allows to disable them, this reduces
the resource utilization of the DMAC.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:39 +02:00
Lars-Peter Clausen 547dc04857 axi_ad9963: Sign extend ADC data when processing is bypassed
Match the behaviour of the processing data path and sign extend the output
data to 16-bit.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:39 +02:00
Lars-Peter Clausen a0e30a2211 util_axis_fifo: Improve clock gating of registers and BRAM
Currently the BRAM and data registers in the util_axis_data are ungated
when the FIFO is ready to receive data. This good for high-performance
since it reduces the number of control signals. But it is bad from a power
point of view since it causes additional reads and writes.

Change the core gate the BRAM and data register if either the consumer is
not ready to accept data or the producer has no data to offer.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:39 +02:00
Lars-Peter Clausen 72cdd846b0 axi_ad9963: Allow to disable the IDELAYs on the ADC data path
Not all designs need the IDELAYs. Disabling them can reduce power consumption of the system.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:39 +02:00
Lars-Peter Clausen 09ffe42603 ad_lvds_in: Allow to disable IDELAY
The IDELAY is not always required, but it eats up power when instantiated. Allow to disable it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:39 +02:00
Lars-Peter Clausen 45f87b46c2 ad_lvds_in: Use "SAME_EDGE" mode
Currently the IDDRs are configured in SAME_EDGE_PIPELINED mode, but then
the negative data is delayed by an additional clock cycle. This is the same
behaviour as using the IDDR in SAME_EDGE mode.

Switching to SAME_EDGE mode removes extra pipelining registers while
maintaining the same behaviour.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:39 +02:00
Lars-Peter Clausen 0e2b47e517 axi_adc_trigger: Temporarily disable trigger reporting in register map
The current implementation doesn't quite work right when the interface
clock is slower than the trigger clock and also causes timing issues.
Disable it temporarily until a proper CDC transfer is implemented.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:39 +02:00
Adrian Costina be6fa287fa axi_dac_interpolate: Make dac_reset external 2017-04-18 12:17:39 +02:00
Adrian Costina 7227e74444 axi_adc_decimate: Make adc_reset external 2017-04-18 12:17:39 +02:00
Adrian Costina 094872619d axi_ad9963: Separated adc/dac clock and reset 2017-04-18 12:17:39 +02:00
Adrian Costina 9f8fd5c922 axi_ad9963: updated tx path
- removed pll for power saving, added serdes circuitry instead
2017-04-18 12:17:39 +02:00
Adrian Costina fc7f2ef11b ad_serdes_out: allow selection between DDR/SDR configuration and output single ended data 2017-04-18 12:17:39 +02:00
Adrian Costina 166a4c53d5 ad_serdes_clk: allow for single ended clock input, made BUFR_DIVIDE configurable 2017-04-18 12:17:39 +02:00
Lars-Peter Clausen 71469490c6 Add a helper module to combine a AXI read-only and a AXI write-only interface into a read-write interface
The read and write interfaces of a AXI bus are independent other than that
they use the same clock. Yet when connecting a single read-only and a
single write-only interface to a Xilinx AXI interconnect it instantiates
arbitration logic between the two interfaces. This is dead logic and
unnecessarily utilizes the FPGAs resources.

Introduce a new helper module that takes a read-only and a write-only AXI
interface and combines them into a single read-write interface. The only
restriction here is that all three interfaces need to use the same clock.

This module is useful for systems which feature a read DMA and a write DMA.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:39 +02:00
Lars-Peter Clausen 3e0b337eae axi_ad9963: Remove extra pipeline stages on register read path
The register read logic is not that complicated that it needs two extra
pipeline stages. It can easily be condensed into a single combinatorial and
still meet timing with large margins.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:39 +02:00
Lars-Peter Clausen 64dfa0432d axi_ad9963: Disable unused features of the register map
Disable registers in the register map which are not needed for this core.
This reduces the utilization of the core.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:39 +02:00
Lars-Peter Clausen 957730c421 up_dac_common: Allow to disable GPIO registers
Not all peripherals use the GPIO register settings, but the registers still
take up a fair amount of space in the register map. Add options to allow to
disable them when not needed. This helps to reduce the utilization for
peripherals where these features are not needed.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:39 +02:00
Lars-Peter Clausen 0ae0da488b up_adc_common: Allow to disable GPIO and START_CODE registers
Not all peripherals use the GPIO and START_CODE register settings, but the
registers still take up a fair amount of space in the register map. Add
options to allow to disable them when not needed. This helps to reduce the
utilization for peripherals where these features are not needed.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-04-18 12:17:38 +02:00
Istvan Csomortani 1c23cf4621 all: Update verilog files to verilog-2001 2017-04-13 11:59:55 +03:00
Istvan Csomortani 3f0633aadc spi_engine: Fix CMD_FIFO_VALID generation
Because of the memory map interface mux, up_waddr_s and up_wreq_s should be
used, when cmd_fifo_in_valid is generated.
2017-04-12 14:57:22 +02:00
Istvan Csomortani c1bdfca4c3 library: Delete all adi_ip_constraint process call 2017-04-06 12:36:47 +03:00
Istvan Csomortani c637d848bb util_clkdiv: constraints should be applied LATE for this core 2017-04-03 18:14:29 +03:00
Istvan Csomortani e0efbe210e constraints: constraint files should be specified at adi_ip_files 2017-04-03 18:12:28 +03:00
Rejeesh Kutty 2f023437b4 adi_ip- remove adi_ip_constraints 2017-04-02 10:42:51 -04:00
Rejeesh Kutty d916697263 adi_ip- a little rearrangement 2017-04-01 09:04:35 -04:00
Istvan Csomortani fd56b5a6d3 axi_ad9122: Update constraint files 2017-03-31 10:13:42 +03:00
Istvan Csomortani c46989e4e8 Makefile: Update Makefiles for libraries 2017-03-30 18:33:22 +03:00
Lars-Peter Clausen 495d2f3056 axi_dmac: Propagate awlen/arlen width through the core
Depending on whether the core is configured for AXI4 or AXI3 mode the width
of the awlen/arlen signal is either 8 or 4 bit. At the moment this is only
considered in top-level module and all other modules use 8 bit internally.
This causes warnings about truncated signals in AXI3 mode, to resolve this
forward the width of the signal through the core.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-03-30 17:19:38 +02:00
Istvan Csomortani ebfed4b24b ad_axi_ip_constr.xdc: Delete file 2017-03-30 16:16:02 +03:00
Istvan Csomortani 873fbfd6d7 library: Update scripts with new constraints
Update all IPs tcl scripts with the new constraints files.
Refer to commit 335fef0.
2017-03-30 16:16:02 +03:00
Istvan Csomortani 31a5c674f2 fmcomms2: Update constraints file paths 2017-03-30 16:16:02 +03:00
Istvan Csomortani 8ba6012b6b restructure: Move xilinx specific constraints to /library/xilinx/common/ 2017-03-30 16:16:02 +03:00
Lars-Peter Clausen 983e56d72c ad9963: Remove localparams from module parameter list
Declaring local parameters in the module parameter list is not valid
verilog. For some reasons Vivado accepts it nevertheless so the code has
worked so far. But this is not true for other tools, so move the local
parameter definitions inside the module body.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-03-30 11:40:28 +02:00
Istvan Csomortani 1d448f0013 adi_ip: Set up SCOPE_TO_REF for xdc and save the core 2017-03-29 18:40:24 +03:00
Istvan Csomortani ea7e93d27f fmcomms2: Use the new constriants from 335fef0 2017-03-29 18:36:09 +03:00
Istvan Csomortani 335fef0f42 ad_axi_ip_constr: Split up this constraint file into separate files
For experimentation, to solve a constraint scoping issue, split up the
ad_axi_ip_constraint file into separate constraints file, in function
of there parent module.
2017-03-29 18:31:40 +03:00
Rejeesh Kutty 2419b3626b ad9684- fix sdc typo 2017-03-23 12:49:44 -04:00
Rejeesh Kutty ae0f4672b2 daq1/a10gx- fix project to compile 2017-03-23 09:46:40 -04:00
Rejeesh Kutty 8063ba2b66 make updates 2017-03-20 16:05:18 -04:00
Rejeesh Kutty c277b39796 arradio/c5soc- critical warnings fix 2017-03-20 12:14:13 -04:00
Adrian Costina cd0701513a axi_logic_analyzer: Added an additional delay to the trigger, to be similar with the analog path 2017-03-14 18:00:42 +02:00
Lars-Peter Clausen 3c7f73a880 axi_dmac: Fix dummy port enablement dependency
It seems that in the latest version a constant of "0" is no longer a valid
enablement dependency and "false" has be used instead.

Not setting the enablement dependency correctly results in the AXI port to
be assumed to be read-write rather than just read or write. This will
generate unnecessary logic for example in interconnects to which the DMA
controller is connected.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-03-14 16:03:25 +01:00
Adrian Costina d7edd71aef axi_logic_analyzer: Triggering changes on valid data 2017-03-14 15:25:00 +02:00
Rejeesh Kutty 1ef064ac03 axi_ad9361- add receive init delay 2017-03-13 16:28:38 -04:00
Rejeesh Kutty b0e88eb5ff axi_ad9361- add receive init delay 2017-03-13 16:28:24 -04:00
Rejeesh Kutty 0ae79ca7ac move/rename - delay script belongs to ad9361 2017-03-10 12:44:32 -05:00
Adrian Costina ce6b0cc7f3 util_fir_dec: Changed output rounding mode to Symmetric rounding to Zero
This removes the added DC component that was introduced by the previous rounding mode
2017-03-09 16:33:17 +02:00
Adrian Costina eb946b54cc util_fir_int: Shifted data so that the amplitude at the output of the filter is the same with the input 2017-03-08 14:29:26 +02:00
Istvan Csomortani 660dddf1e8 util_dacfifo: Define constraints for bypass 2017-03-07 16:14:46 +02:00
Rejeesh Kutty 7559d23873 util_dacfifo/constraints- false paths for bypass 2017-03-06 10:33:07 -05:00
Istvan Csomortani 7478777d8d axi_dacfifo: Match the ports with util_dacfifo 2017-03-03 18:46:16 +02:00
Istvan Csomortani 760228d676 util_dacfifo: Update the util_dacfifo
Fix bypass and undate the general functionality. If bypass enabled
the FIFO will function as a normal CDC FIFO.
2017-03-03 18:43:36 +02:00
Rejeesh Kutty e0d4607692 adcfifo- asym_mem primitive changes 2017-03-01 15:55:56 -05:00
Rejeesh Kutty 3586397f57 altera/common- add asymmetric fifo 2017-03-01 15:35:04 -05:00
Rejeesh Kutty 9c65166e26 ad9371- missing net declarations 2017-02-28 13:31:23 -05:00
Rejeesh Kutty 104e9dfcdc adc/dac-fifo altera cores 2017-02-28 13:30:50 -05:00
Rejeesh Kutty 0d231935ef library/util_dacfifo- match bypass port with axi_dacfifo 2017-02-27 16:06:39 -05:00
Istvan Csomortani 1d6ddacfd6 axi_ip_constr: Fix constraints
The filter for CDC registers were too generic, and a few non-CDC
register were set as asynchronous register.
2017-02-27 16:25:09 +02:00
Adrian Costina 1c8e63cb68 axi_adc_trigger: Added triggered register 2017-02-27 14:26:19 +02:00
Adrian Costina 37a1c98c12 axi_logic_analyzer: Switched from BUFGMUX to BUFGMUX_CTRL for glitch free clock switching 2017-02-27 14:19:54 +02:00
Istvan Csomortani 11623e79be axi_dacfifo: Fix clock for read address generation 2017-02-24 15:47:04 +02:00
Istvan Csomortani 3e596347fd axi_dacfifo: Delete unused wires 2017-02-24 15:45:51 +02:00
Istvan Csomortani ac2e5a9dac constraints: Update constraints
Xilinx recommends that all synchronizer flip-flops have
their ASYNC_REG property set to true in order to preserve the
synchronizer cells through any logic optimization during synthesis
and implementation.
2017-02-24 13:43:32 +02:00
Istvan Csomortani f326c03ff3 axi_dacfifo: Define constraint for bypass
The bypass module currently is supported, when the DMA data width
is equal with the DAC data width.
The dac_data output is enabled with dac_valid.
2017-02-24 12:35:42 +02:00
Istvan Csomortani b9d3039568 axi_dacfifo: Register the dac_valid signals 2017-02-24 12:34:58 +02:00
Istvan Csomortani debc6e2066 axi_dacfifo: Data from DMA is validated with dma_ready too 2017-02-24 12:32:25 +02:00
Istvan Csomortani dfcd5214a0 axi_dacfifo: axi_dvalid should come from dacfifo_rd module 2017-02-24 12:28:46 +02:00
Istvan Csomortani 6b90054343 axi_ad9361: Define CDC constraint for tdd_sync 2017-02-24 11:24:07 +02:00
Istvan Csomortani 1fce57f6c3 axi_dacfifo: Redesign the bypass functionality 2017-02-23 17:32:31 +02:00
Adrian Costina 573959c826 Makefiles: fixed axi_adxcvr/util_adxcvr Makefiles to include interfaces dependancy 2017-02-23 16:16:34 +02:00
Istvan Csomortani d820d3d245 util_sync_constr: Preserve 1bit CDCs with ASYNC_REG true 2017-02-23 11:44:01 +02:00
Istvan Csomortani 94bda1d415 axi_ad9361: Preserve 1bit CDCs with ASYNC_REG true 2017-02-23 11:43:10 +02:00
Istvan Csomortani 2da7dd4079 axi_ip_constr: Update constraints
Xilinx recommends that all synchronizer flip-flops have
their ASYNC_REG property set to true in order to preserve the
synchronizer cells through any logic optimization during synthesis
and implementation.
2017-02-23 11:33:25 +02:00
Istvan Csomortani 2b354af876 axi_ad9361_tdd: Register the tdd_sync_cntr output 2017-02-23 11:31:23 +02:00
Istvan Csomortani e3ac341aad axi_dacfifo: Fix constraints 2017-02-21 14:45:18 +02:00
Istvan Csomortani 981a61bf16 axi_dacfifo: Clean up the axi_dacfifo_wr.v module 2017-02-17 18:40:02 +02:00
Istvan Csomortani f10866e4c3 axi_*fifo: Delete/replace AXI_BYTE_WIDTH parameter 2017-02-16 19:54:41 +02:00
Istvan Csomortani 95a4ea20c8 axi_dacfifo: Delete redundant parameter BYPASS_EN 2017-02-16 19:53:44 +02:00
Adrian Costina 358aa48c76 axi_adc_decimate: Fix assignment width 2017-02-15 11:38:43 +02:00
Adrian Costina c6ee76421b axi_usb_fx3: Fixed clock domain association 2017-02-14 11:48:07 +02:00
Adrian Costina 7c86b038ef util_fir_int: manually request data at 1/8 clock frequency 2017-02-13 18:05:59 +02:00
Istvan Csomortani 5fa6dba333 Make: Update Makefiles 2017-02-10 16:32:58 +02:00
Istvan Csomortani 0dae754f2d axi_adxcvr: Add rparam register to Altera XCVR 2017-02-10 16:19:17 +02:00
Istvan Csomortani 24daffcf5c spi_engine: Set up default driver value for input ports 2017-02-07 12:30:46 +02:00
Istvan Csomortani 47db0d80fe axi_ad7616: Set up default driver value for input ports 2017-02-07 12:29:21 +02:00
Rejeesh Kutty a57fb5f82f library/ad9122- constraints clean-up 2017-02-02 14:21:41 -05:00
Rejeesh Kutty 1e54b5230f axi_adxcvr- add m_axi associated clock 2017-02-02 11:17:56 -05:00
Rejeesh Kutty 806d19febc axi_adxcvr- add primitive info read 2017-02-01 13:38:29 -05:00
Rejeesh Kutty 1c9d8c4e7c axi_adxcvr- add primitive info read 2017-02-01 13:35:02 -05:00
Adrian Costina 1df6178ab8 library: Update common Makefile 2017-01-31 16:44:32 +02:00
Adrian Costina 7387df9d13 util_var_fifo: Initial commit 2017-01-31 16:26:45 +02:00
Adrian Costina b9c94f63a5 util_extract: Initial commit 2017-01-31 16:26:05 +02:00
Adrian Costina 6604cc7322 axi_logic_analyzer: Initial commit 2017-01-31 16:23:56 +02:00
Adrian Costina 9c975211da axi_dac_interpolate: Initial commit 2017-01-31 16:22:49 +02:00
Adrian Costina 4a7232cbcb axi_adc_decimate: Initial commit 2017-01-31 16:21:39 +02:00
Adrian Costina 35b97abc6d axi_adc_trigger: Initial commit 2017-01-31 16:20:13 +02:00
Adrian Costina fb945ac51c axi_ad9963: Initial commit 2017-01-31 16:18:58 +02:00
Istvan Csomortani d5af828b9c Merge branch 'dev' into hdl_2016_r2 2017-01-30 17:10:05 +02:00
Rejeesh Kutty db924953bb altera- warnings about init values 2017-01-30 10:01:28 -05:00
Lars-Peter Clausen eb8a3fff3c axi_dmac: Set IP core name and description
Add a human readable name and descriptor for the AXI DMAC core.This string
will appear in various places e.g. like the IP catalog. This is a purely
cosmetic change.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-01-30 13:58:48 +01:00
Lars-Peter Clausen 3dd736fe8c axi_dmac: Add identification register
Add a register to the AXI DMAC register map which functions has a
identification register. The register contains the unique value of "DMAC"
(0x444d4143) and allows software to identify whether the peripheral mapped
at a certain address is an axi_dmac peripheral.

This is useful for detecting cases where the specified address contains an
error or is incorrect.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-01-30 13:58:48 +01:00
Adrian Costina 3f3a8bd267 library: forced ad_mem module to be implemented in BRAM for Xilinx devices 2017-01-25 18:12:04 +02:00
Rejeesh Kutty c8b638e182 ad9152- add prbs generators 2017-01-23 10:31:57 -05:00
Rejeesh Kutty a2b2ebbed2 ad_lvds_in- ultrascale/ultrascale+ sim device mess 2017-01-21 20:54:21 -05:00
Rejeesh Kutty afcd11da87 adxcvr- add parameters for xcvr config 2017-01-19 12:40:26 -05:00
Istvan Csomortani 746b97dd96 xilin/axi_adxcvr: Fix clock and reset nets[C 2017-01-19 15:46:16 +02:00
Istvan Csomortani 57bd6acd0f library: Update make file 2017-01-19 15:27:31 +02:00
Istvan Csomortani d3ed417f49 axi_adxcvr: Update the packaging script to fix infer mm issues
- Change the clock and reset port name of the AXI slave interface
to s_axi_aclk and s_axi_aresetn. This way we can use the adi_ip_properties
process to infer the interface.
  - Define an address space reference to the m_axi interface.
2017-01-19 15:16:04 +02:00
Istvan Csomortani 7a7a294865 axi_dmac: Fix memory map infer issues
Define an address space reference to the m_dest_axi and
m_src_axi interfaces.
2017-01-19 15:09:07 +02:00
Istvan Csomortani a7bd4e6e82 scripts/adi_ip: Update the adi_ip_properties process
- Add a process, which automaticaly infer AXI memory mapped
interfaces (adi_ip_infer_mm_interfaces)
  - Add missign line breaks to the 'set_propery supported_families'
command
  - Fix the deletion of pre-infered memory maps
2017-01-19 15:06:47 +02:00
Adrian Costina 61afd106b5 util_clkdiv: Keep as valid only settings common for 7Series and Ultrascale 2017-01-18 11:56:24 +02:00
Adrian Costina 61ee24f26a util_clkdiv: Make the clock division parametrizable and changed C_SIM_DEVICE to SIM_DEVICE 2017-01-16 14:37:26 +02:00
Adrian Costina 4b2602437f util_clkdiv: Added Ultrascale support and switch to BUFGMUX_CTRL for glitch free switching 2017-01-13 13:54:07 +02:00
Istvan Csomortani 1f7d19688a Update Makefile 2017-01-12 15:58:32 +02:00
Istvan Csomortani b59549053c scripts/adi_ip: Fix adi_ip_infer_interfaces process
This patch is a complementary fix of 8b8c37 patch. And fix
all the 'infer interface' issues.

The adi_ip_infer_interfaces process was renamed to
adi_ip_infer_streaming_interfaces. Now the process just do
what its name suggest.

Affected cores were axi_dmac, axi_spdif_rx, axi_spdif_tx, axi_i2s_adi
and axi_usb_fx3. All these cores scripts were updated.
2017-01-12 12:15:33 +02:00
Adrian Costina 9b29941c77 util_clkdiv: Add constraint file 2017-01-11 18:11:53 +02:00
Adrian Costina c78c9cf633 util_fir_int: Updated coefficient file 2016-12-21 10:06:56 +02:00
Rejeesh Kutty c0a2ef1ac4 library- altera power up warnings 2016-12-20 16:18:15 -05:00
Istvan Csomortani ce47cf8d30 ad_sysref_gen: Fix sysref generation
Toggle sysref output just if the sysref_en is asserted.
2016-12-19 18:02:49 +02:00
Istvan Csomortani a228c05bd3 common: Add a SYSREF generation module
The SYSREF generator is using a simple free running counter,
which runs on the JESD204 core clock. The period can be
configured using a parameter, it must respect the constraints
defined by the JESD204 standard.
The generator can be enabled through a GPIO line.
2016-12-17 11:12:10 +02:00
Istvan Csomortani 596d0fa3fb axi_ad9122: Add a constraint for a false path 2016-12-16 12:07:40 +00:00
Istvan Csomortani a00d9870be axi_ip_constr: Fix constraints
Modify a contraint for a false path, so it will be applied to
up_delay_cntr module too.
2016-12-16 12:01:38 +00:00
Istvan Csomortani 99f72a9b3b util_gtlb: this core is obsoleted
The util_gtlb core is obsoleted by xilinx/axi_xcvrlb
2016-12-12 14:23:47 +02:00
Istvan Csomortani 5c8dde8483 util_jesd_gt: this core is obsoleted
The util_jesd_gt core is obsoleted by xilinx/util_adxcvr and altera/avl_adxcvr
2016-12-12 14:15:38 +02:00
Adrian Costina 8ebc8fe4e2 updated makefiles 2016-12-09 23:06:41 +02:00
Rejeesh Kutty 854cd44026 ad9671- xcvr interface changes 2016-12-08 16:05:23 -05:00
Istvan Csomortani 977e6d9189 adi_ip_alt: Fix some typo 2016-12-06 15:24:21 +02:00
Istvan Csomortani 7876c8ffa4 axi_ad9684: Add loaden and phase ports for altera support 2016-12-06 15:24:20 +02:00
Istvan Csomortani a7d3df8757 axi_ad9684: Update hw tcl script for altera 2016-12-06 15:24:20 +02:00
Istvan Csomortani b0a5be8565 axi_ad9122: Add loaden port for altera support 2016-12-06 15:24:20 +02:00
Istvan Csomortani cedca30cd6 axi_ad9122: Update hw tcl script for altera 2016-12-06 15:24:19 +02:00
Istvan Csomortani 0715c962f1 altera/ad_serdes: Fix net alignment for rx_out at ad_serdes_in 2016-12-06 15:24:19 +02:00
Istvan Csomortani 6cf9df50e3 altera/ad_serdes: Define DEVICE_FAMILY in hw script 2016-12-06 15:24:18 +02:00
Istvan Csomortani 8b8c37e2e2 scripts/adi_ip: Remove AXIMM inference from adi_ip_infer_interfaces
The AXI Memory Map interface is infered in the adi_ip_properties process.
Infer it again in the adi_ip_infer_interfaces brakes the flow,
the tool will not find the cell's address segment, so there will not be
any address space assigned to the AXI interface.
Affected cores were axi_i2s_adi and axi_spdif_tx.
2016-12-05 14:33:39 +02:00
Lars-Peter Clausen 753f4bd06e axi_intr_monitor: Slightly modify counter start points
Start the counter_to_interrupt_cnt counter when the counter_to_interrupt
value is written to the register map. This gives applications better
control over when the counter starts counting.

Also start the counter_from_interrupt on the rising edge of the interrupt
signal to avoid bogus values.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2016-12-02 20:09:29 +01:00
Lars-Peter Clausen 334ce5ddc0 axi_intr_monitor: Fully register IRQ output signal
The IRQ signal goes to a asynchronous domain. In order to avoid glitches to
be observed in that domain make sure that the output signal is fully
registered.

This means that the IRQ signal is no longer mask when the control enable
bit is not set. Instead modify the code to clear the interrupt when the
control enable bit is not set. This turns it into a true reset for the
internal state.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2016-12-02 19:28:13 +01:00
Rejeesh Kutty 170c781d02 hdlmake.pl- updates 2016-12-01 13:52:11 -05:00
Rejeesh Kutty 95a2e02800 library/makefile- updates 2016-12-01 13:47:02 -05:00
Adrian Costina 609b01f9e4 util_clkdiv: Added division by 2 option 2016-11-24 16:01:37 +02:00
Adrian Costina 91ee4394e4 axi_intr_monitor: Initial commit 2016-11-24 15:19:36 +02:00
Istvan Csomortani f03675cdab axi_dmac: ID_WIDTH must be clog2(FIFO_SIZE*2) 2016-11-24 13:20:45 +02:00
Istvan Csomortani c705623101 axi_dmac: Fix port connection and port width mismatch 2016-11-24 12:01:45 +02:00
Rejeesh Kutty 862bd7ef2c daq3/zc706- xcvr changes 2016-11-23 15:02:20 -05:00
Rejeesh Kutty 025420d6f8 library/axi_xcvrlb- xcvr changes 2016-11-23 12:00:13 -05:00
Rejeesh Kutty 8f562fd069 xcvr updates- board procedure 2016-11-22 14:43:36 -05:00
Rejeesh Kutty 2ea997c3d5 interfaces- remove channel based pll reset 2016-11-22 11:34:29 -05:00
Rejeesh Kutty 3dbed492b3 util_adxcvr: expose cpll/qpll as it is 2016-11-22 11:32:37 -05:00
Rejeesh Kutty 3cbe735bd8 util_adxcvr: regenerate from script 2016-11-22 11:21:04 -05:00
Rejeesh Kutty c57ffc9364 axi_adxcvr- separate pll reset from channels 2016-11-22 11:12:54 -05:00
Istvan Csomortani b9795c7033 xilinx/util_adxcvr: Update enablement dependencies 2016-11-22 17:33:40 +02:00
Lars-Peter Clausen 2f2570fcac axi_i2s: Remove incorrectly inferred interfaces
Remove interfaces that were incorrectly inferred by the tools.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2016-11-18 15:01:29 +01:00
Lars-Peter Clausen 43c74bf55c axi_i2s: Tie-off optional inputs
Tie-off all optional inputs to 0 so that they are driven to a defined value
when not used.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2016-11-18 15:01:26 +01:00
Lars-Peter Clausen 26907ef1fd axi_i2s: Remove duplicated clock interface association
The I2S interface has a clock associated to it twice, this will generate a
critical warning when using the core, so remove one of them.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2016-11-18 15:01:24 +01:00
Rejeesh Kutty b85a282748 fmcomms11- lane swap 2016-11-16 10:26:47 -05:00
AndreiGrozav 9d6c93a5d8 Fix warnings 2016-11-14 15:17:15 +02:00
Istvan Csomortani 12d6e46ae7 clean: Delete deprecated source files
The axi_jesd_gt was repleaced by axi_adxcvr IP, which is located
at library/xilinx and library/altera.
The axi_jesd_xcvr was an early version of axi_adxcvr.
The register map is moved to the IP's directory.
2016-11-14 10:43:46 +02:00
Adrian Costina c80033cb1b util_fir_int: removed s_axis_data_tvalid and updated sdrstk 2016-11-11 17:52:19 +02:00
Adrian Costina 6f4dc92dd2 util_fir_int: Fix channel data assignment 2016-11-11 15:46:17 +02:00
Adrian Costina 64d1d54ec0 util_fir_int: Update filter, as it's used with ad9361 in CMOS mode 2016-11-10 17:45:03 +02:00
Adrian Costina 66098b7ae7 util_fir_dec: Update filter, as it's used with ad9361 in CMOS mode 2016-11-10 17:43:04 +02:00
Istvan Csomortani 6073cdded4 axi_ad9250: Tie rx_valid to ground 2016-11-10 10:52:37 +02:00
Istvan Csomortani 8845aeb6ab axi_ad9250: Add missing file to Make and script 2016-11-10 10:48:46 +02:00
Istvan Csomortani 8493bd4329 axi_ad6676: Update the core, sof interface added 2016-11-10 10:39:33 +02:00
Rejeesh Kutty 0b58a2a1db avl_adxcvr- sysclk frequency 2016-11-09 09:21:07 -05:00
Rejeesh Kutty 48ee720901 avl_adxcvr- a5 requires single transceiver controller 2016-11-08 15:20:01 -05:00
Rejeesh Kutty a58597c13a ad9250 - build fixes 2016-11-08 15:17:54 -05:00
Rejeesh Kutty d7357d781b axi_ad9250 - avalon/axi streaming + sof 2016-11-04 15:30:39 -04:00
Rejeesh Kutty ee9c8b884d avlxcvr- add arria v support 2016-11-04 15:01:19 -04:00
Adrian Costina 9dc7f16d80 axi_usb_fx3: Added zero length packet capability 2016-11-03 15:29:56 +02:00
Rejeesh Kutty 1e0fed82f7 alt_serdes- a10 ddio fixes 2016-11-01 12:41:25 -04:00
Istvan Csomortani 5eff357568 up_tdd_cntrl: Fix memory map register writes 2016-11-01 10:06:57 +02:00
Rejeesh Kutty 9f4c5f8060 arradio/ad9361- updates 2016-10-31 15:34:32 -04:00
Rejeesh Kutty b94cc8afb1 altera- cmos cores 2016-10-31 13:13:48 -04:00
Rejeesh Kutty e0459df0f3 altera -c5 qsys alternative 2016-10-31 11:18:27 -04:00
Rejeesh Kutty cc75fa3dfe altera- java/tcl mess handling 2016-10-31 10:54:07 -04:00
Rejeesh Kutty a9d03af771 altera- serdes changes 2016-10-28 14:09:18 -04:00
Adrian Costina f2e12cc88f util_fir_dec: Shifted the output data to the left so that the amplitude remains
constant
2016-10-28 15:18:36 +03:00
Adrian Costina d9b756e7ad util_fir_int: Shifted the output data to the left so that the amplitude remains constant 2016-10-28 15:17:30 +03:00
Adrian Costina 30314e4492 library: Added util_fir_int and util_fir_dec interpolation/decimation filters 2016-10-27 19:31:50 +03:00
Rejeesh Kutty 8107514dde altera/common- ad_serdes_clk 2016-10-27 09:41:10 -04:00
Rejeesh Kutty f7e3703b98 axi_ad9371- avalon-s interfaces 2016-10-27 09:25:00 -04:00
AndreiGrozav 6f611e0d10 altera/alt_serdes: Add support for Cyclone V 2016-10-25 20:32:51 +03:00
AndreiGrozav 08cef5a745 axi_ad9361: Add Cyclone V SERDES support 2016-10-25 20:24:17 +03:00
Rejeesh Kutty 5731ba3300 fmcomms11- xcvr updates 2016-10-24 09:51:40 -04:00
Istvan Csomortani de0c487195 axi_ad9684: Add Altera support for the core 2016-10-24 11:43:22 +03:00
Istvan Csomortani 3f3606d318 axi_ad9122: Add Altera support for the core 2016-10-24 11:43:12 +03:00
Istvan Csomortani aa46de5e5e adi_ip_alt: Add ad_generate_module_inst proc
Add a tcl process, which can be used to generate custom module
names during the generation phase. This will be used to create
different ad_serdes_clk module, in case when independent IOPLLs are
needed for TX and RX.
2016-10-24 11:43:00 +03:00
Istvan Csomortani 707038937a alt_serdes: Add additional parameters
Add additional parameters to keep the top of ad_serdes_* modules
consistant through differente carriers.
2016-10-24 11:42:43 +03:00
Istvan Csomortani 8dbfe9258f axi_ad9162: Delete duplicated port 2016-10-21 13:47:01 +03:00
Rejeesh Kutty 0beecea02d util_adxcvr- ultrascale updates 2016-10-19 13:06:10 -04:00
Lars-Peter Clausen 72c05e8635 axi_dmac: Fix constraints for ultrascale
Replace "PRIMITIVE_SUBGROUP == flop" with "IS_SEQUENTIAL" as the former is
series7 specific while the later works on all platforms. This fixes the
axi_dmac timing constraints for ultrascale based platforms.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2016-10-19 14:00:54 +02:00
Istvan Csomortani ecc0addb8c scripts/adi_ip_alt.tcl: Script is case insensitive for its arguments 2016-10-18 11:25:06 +03:00
Rejeesh Kutty bf949f1a88 axi_xcvrlb- xcvr updates 2016-10-17 16:16:57 -04:00
Rejeesh Kutty 1b3fcb5863 util_adxcvr- parameter defaults 2016-10-17 16:10:57 -04:00
AndreiGrozav a026d44435 axi_generic_adc: Add missing up_adc_common connections 2016-10-12 13:20:26 +03:00
AndreiGrozav b543402051 axi_mc_current_monitor: Add missing up_axi connection 2016-10-12 13:20:26 +03:00
AndreiGrozav 91995c082d axi_ad9684: Fixed up_drp_*data width 2016-10-12 13:20:26 +03:00
AndreiGrozav a505d304af Add up_dac_common missing connections 2016-10-12 13:20:26 +03:00
AndreiGrozav 43ee917d53 Add up_dac_channel missing connections 2016-10-12 13:20:26 +03:00
AndreiGrozav 1131be91ed axi_ad9361: Makefile update 2016-10-11 23:34:13 +03:00
AndreiGrozav b7767aa18f xilinx/axi_ad9361_lvds_if: Remove ila 2016-10-11 18:13:45 +03:00
AndreiGrozav 2d93d787ab altera/ad_cdfilter: Update interface to Verilog 2001 standard 2016-10-11 17:59:21 +03:00
AndreiGrozav 369dad60b0 axi_ad9361: Add Altera SERDES interface support 2016-10-11 17:59:19 +03:00
AndreiGrozav ae47895666 altera/alt_serdes: Fixed SERDES 4 factor initialization 2016-10-11 17:59:17 +03:00
AndreiGrozav d41945f568 altera/ad_serdes: Add support for any SERDES factor less than 8 2016-10-11 17:59:14 +03:00
AndreiGrozav 52194f0fea axi_ad9361: Add DRP connection to the interface module 2016-10-11 17:59:12 +03:00
AndreiGrozav 7194d2eccc axi_ad9361: Grup interfaces to add support for more carriers 2016-10-11 17:58:49 +03:00
Rejeesh Kutty cc6ca4f0f2 ad_lvds_in- ultrascale sim device 2016-10-10 10:39:47 -04:00
Adrian Costina 121b341b45 axi_spdif_rx: Fixed version register issue. Added sampled_data to sensitivity list 2016-10-10 17:30:13 +03:00
Istvan Csomortani ff980551e6 ad_serdes: SERDES_FACTOR handover missing
In modules ad_serdes_in/ad_serdes_out the handover of the parameter
SERDES_FACTOR did not exist, causing unwanted behavioral in case of
factors less than 8.
SERDES_FACTOR must be hand over to DATA_WIDTH parameter of the SERDES
primitive.
2016-10-10 16:38:42 +03:00
Istvan Csomortani f34aa67029 axi_hdmi: Fix a typo 2016-10-10 16:22:18 +03:00
Istvan Csomortani 15f36af4c2 axi_ad9152: Update core to support Altera platforms 2016-10-10 16:21:49 +03:00
Adrian Costina 111adac825 axi_usb_fx3: Updated core
- trig signal will reset state machine
- slrd_n delay will be absorbed by the axi_usb_fx3_if module, when Xilinx DMA is not ready to receive data during a packet
- fx32dma_eop signals when the FX3 DMA buffer should be empty. slrd_n set high and sloe_n set low for another two clock cycles
- eot_fx32dma signals the interface that the packet has been fully transfered. No need for watermark signals
- added length_fx32dma and length_dma2fx3 as requested
2016-10-10 10:33:37 +03:00
Rejeesh Kutty 39fdf11ef3 util_adxcvr- rx/tx clocks 2016-10-05 13:53:02 -04:00
Istvan Csomortani 7ec93ce8e0 util_adxcvr: Fix some typo
GTHE4_CHANNEL is instantiated in case of XCVR_TYPE == 2
2016-10-05 17:42:12 +03:00
Istvan Csomortani 4f587d2e48 util_adxcvr: Delete trailing whitespaces 2016-10-05 17:41:40 +03:00
Istvan Csomortani 1b9d2d434c axi_ad9361_tdd: Delete unused register 2016-10-05 17:41:08 +03:00
Adrian Costina ddceff2b5c axi_usb_fx3: Updated header/footer signature 2016-10-04 16:11:24 +03:00
Rejeesh Kutty 48dd4880a3 util_adxcvr- ultrascale+ initial commit 2016-10-03 16:11:45 -04:00
Rejeesh Kutty 0e8551545c util_adxcvr- ultrascale+ initial commit 2016-10-03 16:11:45 -04:00
Rejeesh Kutty b4652650e4 util_adxcvr- xcvr_type parameter 2016-10-03 16:11:45 -04:00
Rejeesh Kutty 63ddcf1e26 util_adxcvr- synthesis warnings fix 2016-10-03 16:11:45 -04:00
Adrian Costina 8e0dc859af axi_usb_fx3: Update
- added 1 clock delay for slrd_n signal
- rearrange databytes
2016-10-03 15:17:01 +03:00
Istvan Csomortani 43b3761b80 axi_ad9361: Flop the tx and rx valid 2016-10-03 12:24:04 +03:00
Istvan Csomortani 8e25bc01b3 all: Change tab to double space
Occasional file parsing and restructuring become a pain, if tabs exists
in code. General rule of the repos is tab always a double space.
2016-10-01 18:13:42 +03:00
Rejeesh Kutty 6b956066ef xilinx/ad_lvds*- ultrascale+ 2016-09-30 11:55:10 -04:00
Rejeesh Kutty e9105faae1 library/scripts- add beta devices 2016-09-30 11:55:10 -04:00
Costina c072c2f89a util_clkdiv: Add IP 2016-09-30 17:13:51 +03:00
Rejeesh Kutty 7290bcc81a hdlmake- updates 2016-09-29 11:50:58 -04:00
Rejeesh Kutty ffec95f220 ad9371- xcvr updates 2016-09-29 11:50:58 -04:00
Rejeesh Kutty b4fac96aad axi_ad9361- independent disables 2016-09-28 15:45:27 -04:00
Istvan Csomortani f7fb3ccaca axi_ad9361: Change the data path gating
Bring up the datapath gating from the TDD controller module.
2016-09-28 16:36:13 +03:00
Istvan Csomortani df485d7878 axi_ad9684: Fix the PN9 PRBS sequence monitor 2016-09-28 10:47:16 +03:00
Rejeesh Kutty 9defccef70 dacfifo- axi address map fixes 2016-09-27 14:48:23 -04:00
Rejeesh Kutty c98e2e95dd ad9162- xcvr updates 2016-09-26 15:21:45 -04:00
Rejeesh Kutty 692cb10fb2 ad9625- xcvr updates 2016-09-26 15:21:11 -04:00
Istvan Csomortani ad16aec101 axi_ad9684: Fix SERDES modules 2016-09-26 11:14:35 +03:00
Rejeesh Kutty f6c7aa9005 library- dac parameter changes 2016-09-23 16:15:59 -04:00
Rejeesh Kutty 1a11e28821 ad9361- dac data path split 2016-09-23 16:13:46 -04:00
Rejeesh Kutty 6735333aea common- dac data path split 2016-09-23 16:13:24 -04:00
Rejeesh Kutty 6837143110 library/ adc parameter changes 2016-09-23 13:44:47 -04:00
Rejeesh Kutty 7be6168b2e ad9361- adc data path split 2016-09-23 13:42:14 -04:00
Rejeesh Kutty 8729af1b91 common- adc- data path disable split 2016-09-23 13:40:35 -04:00
Rejeesh Kutty 78f7384150 ad9361- vivado synthesis warnings fix 2016-09-22 13:41:18 -04:00
Istvan Csomortani 2b6eb1d65e up_drp: Revert some bit locations
Linuxe drivers are checking the drp_locked status even if the
core does not contains a clock generation/managment module. To
not break all the designs, revert all the status and control bits to
there old locations.
2016-09-22 16:32:42 +03:00
Rejeesh Kutty 21b5e9c634 hdlmake- updates 2016-09-21 11:56:03 -04:00
Rejeesh Kutty 0def596b43 axi_xcvrlb- updates 2016-09-21 11:04:22 -04:00
Rejeesh Kutty d497a7b0ae axi_xcvrlb- constraints 2016-09-21 11:04:22 -04:00
Istvan Csomortani a21b9fe8ff up_drp: Fix up_drp_wr 2016-09-21 17:55:58 +03:00
Istvan Csomortani 64cd7dc002 axi_ad9122: Update core to the new DRP interface 2016-09-21 16:09:55 +03:00
Istvan Csomortani bae839acd4 axi_ad9739a: Update core to the new DRP interface 2016-09-21 15:23:08 +03:00
Istvan Csomortani 781702c1b9 axi_ad9434: Update the core to the new DRP interface 2016-09-21 15:12:59 +03:00
Istvan Csomortani 913eafed48 up_drp : Update the DRP interface to support Altera platforms 2016-09-21 15:00:45 +03:00
Dragos Bogdan 10408b8c88 up_tdd_cntrl: Set PCORE version to 1.00.a 2016-09-21 10:27:28 +03:00
Rejeesh Kutty 1860d72df6 axi_xcvrlb- updates 2016-09-19 12:39:59 -04:00
Rejeesh Kutty 5592c2780e axi_xcvrlb- loopback version 2016-09-19 12:39:59 -04:00
Istvan Csomortani 38f1521861 xilinx/ad_serdes_in : Fix some typos 2016-09-19 16:02:52 +03:00
Istvan Csomortani ff0f659a33 xilinx/ad_serdes_clk : Rename parameter MMCM_DEVICE_TYPE to DEVICE_TYPE 2016-09-19 16:02:06 +03:00
Istvan Csomortani 2159f78c80 axi_ad9361: Delete invalid assignment of a generated wire 2016-09-16 17:38:08 +03:00
Istvan Csomortani 6510f92c12 ad_serdes : Cosmetic changes 2016-09-16 14:45:39 +03:00
AndreiGrozav 13a35f7a2a altera/ad_serdes_clk: The IO_PLL reset is active heigh 2016-09-16 14:20:39 +03:00
Istvan Csomortani 858ea09048 altera/ad_serdes_in: Fix some typos 2016-09-16 10:56:16 +03:00
Rejeesh Kutty a2d15acb89 ad_serdes- altera/xilinx sync 2016-09-15 13:33:55 -04:00
Rejeesh Kutty 63696c1a28 alt_serdes- data-width parameter 2016-09-15 11:12:18 -04:00
Rejeesh Kutty 02dfd2d2e2 altera/ad_serdes_out- sample transmit order 2016-09-15 10:28:34 -04:00
Rejeesh Kutty 5986f45cba altera/ad_serdes_out- updates 2016-09-15 09:38:11 -04:00
Istvan Csomortani 16ee1336c3 Makefile: Update make files 2016-09-15 11:41:06 +03:00
Istvan Csomortani 3b0c1e02fc axi_dacfifo: Move IP to library/xilinx 2016-09-15 11:38:16 +03:00
Istvan Csomortani 3cbbc771a8 axi_adcfifo: Move IP to library/xilinx 2016-09-15 11:36:47 +03:00
Rejeesh Kutty fe133a7c39 v2001- parameter defines 2016-09-14 15:47:45 -04:00
Rejeesh Kutty 16046a984c alt_serdes- updates 2016-09-14 12:05:48 -04:00
Rejeesh Kutty 4a6b554c0a ad_serdes- updates 2016-09-14 11:12:53 -04:00
Adrian Costina 343056b674 axi_usb_fx3: Update IP to work with 2016.2 2016-09-14 15:40:42 +03:00
Rejeesh Kutty a0318ae868 ad_serdes_clk- syntax errors 2016-09-13 14:02:11 -04:00
Istvan Csomortani 734b39a8ed alt_serdes: Fix some issues in the _hw.tcl script 2016-09-13 17:42:51 +03:00
Rejeesh Kutty bced17a16f axi_ad9144- qsys updates 2016-09-12 14:57:50 -04:00
Rejeesh Kutty 01b7662e05 axi_ad9680- qsys updates 2016-09-12 14:57:50 -04:00
Rejeesh Kutty c6998dd396 scripts- altera conduit 2016-09-12 14:57:50 -04:00
Rejeesh Kutty 73ebf1225c axi_adxcvr- ip/phy split 2016-09-12 14:57:50 -04:00
Rejeesh Kutty 21545ee83f avl_adxcvr- ip/phy split 2016-09-12 14:57:50 -04:00
Rejeesh Kutty 8718b7f477 avl_adxphy- ip/phy split 2016-09-12 14:57:50 -04:00
Rejeesh Kutty d30ffdb7e9 avl_adxcfg- ip/phy split 2016-09-12 14:57:50 -04:00
Rejeesh Kutty 9159e31244 axi_adxcvr- compile fixes 2016-09-12 14:57:50 -04:00
Rejeesh Kutty 5a309d8863 avl_adxphy- split 2016-09-12 14:57:50 -04:00
Rejeesh Kutty 2a34f9baa8 alt-serdes, in & out 2016-09-12 11:45:23 -04:00
Rejeesh Kutty 9e0c39a71b alt_serdes_clk- changes 2016-09-12 10:30:28 -04:00
Istvan Csomortani f4be0524b4 altera/common: Add SERDES related modules 2016-09-09 18:04:41 +03:00
Istvan Csomortani a183e51a12 axi_ad9361: Add parameter R1_MODE_EN
R1_MODE_EN can disable the second I/Q channel of the core. This way
the user can save resources by cutting down the size of the core.
2016-09-09 16:34:11 +03:00
Istvan Csomortani e42206e510 axi_ad9361: Add a TDD enable/disable parameter 2016-09-09 14:38:28 +03:00
Istvan Csomortani be41a8bcaa axi_ad9361: Delete debug ports of the tdd module 2016-09-09 14:38:28 +03:00
AndreiGrozav bbcf2a3ec3 axi_ad9434/axi_ad9434_constr: Change constraint file to resolve critical warning 2016-09-01 17:16:59 +03:00
Rejeesh Kutty 4ae084ee32 avl_adxcvr- compile fixes 2016-09-01 10:06:28 -04:00
Rejeesh Kutty 5544e3cf10 axi_adxcvr- compile fixes 2016-09-01 10:06:28 -04:00
Rejeesh Kutty 230f1526c0 avl_adxcfg- compile fixes 2016-09-01 10:06:28 -04:00
Rejeesh Kutty b7ea2efa87 altera- xcvr cores 2016-08-29 15:18:48 -04:00
Rejeesh Kutty 9799599eee library/ad9361- add dac clk sel 2016-08-26 10:31:00 -04:00
Rejeesh Kutty 74bc498a6d library/common- added dac clock select 2016-08-26 10:31:00 -04:00
Shrutika Redkar 10b9a0e52f upadated xcvr ips 2016-08-17 15:51:55 -04:00
Adrian Costina 6a8ca8107a common: Added common ad_dcfilter stub for altera. 2016-08-16 17:37:16 +03:00
Rejeesh Kutty e754f0a46a up_axi- writes dropped by delayed w-responses 2016-08-14 11:21:19 -04:00
Rejeesh Kutty 3427965cd2 adxcvr- add u-gth bufg 2016-08-11 10:00:41 -04:00
Rejeesh Kutty bb9cb86f34 adc/dac- fifo constraints 2016-08-11 10:00:41 -04:00
Shrutika Redkar 829e4155ca modified transceiver configuration files 2016-08-10 14:59:38 -04:00
Shrutika Redkar b8f4e1c0aa updated 9680 hdl files(to resolve a critical warning) 2016-08-10 14:50:31 -04:00
Istvan Csomortani ccf1c56b33 util_upack: Patch up the description of Altera IP 2016-08-08 16:39:56 +03:00
Istvan Csomortani e9ac4a5a0e util_rfifo: Patch up the description of Altera IP 2016-08-08 16:39:25 +03:00
Istvan Csomortani 0cd608a7e2 lib_refactoring: Update Make files 2016-08-08 16:38:38 +03:00
Istvan Csomortani aad8c265bc lib_refactoring: Fix path for CMOS sources 2016-08-08 15:07:54 +03:00
Istvan Csomortani 1d33d7d7ee lib_refactoring: Move the CMOS interface modules to ~/library/xilinx/common 2016-08-08 15:07:42 +03:00
Istvan Csomortani df36902713 lib_refactoring: Fix path of the IO macros 2016-08-08 15:07:19 +03:00
Istvan Csomortani 90ac7b7ac9 lib_refactoring: Move all Altera module to library/altera/common
Move all Altera modules to library/altera/common, delete the
deprecated wrapper files
2016-08-08 15:07:01 +03:00
Istvan Csomortani cb9af99c5d lib_refactoring: Add ad_mul.v for Altera 2016-08-08 15:06:48 +03:00
Istvan Csomortani b806fa3b42 lib_refactoring: Move all the Xilinx common modules to library/xilinx/common 2016-08-08 15:06:10 +03:00
Adrian Costina 5faf4c4976 cleanup: Don't need Makefiles specific to xilinx/altera libraries. Top Makefile covers them 2016-08-05 16:27:52 +03:00
Adrian Costina d60bce654c Makefiles: Updated Makefiles so they run correctly with gnuwin32 tools 2016-08-05 15:16:04 +03:00
Rejeesh Kutty cb23ba8bb7 make- script needs update 2016-08-04 14:17:04 -04:00
Rejeesh Kutty e42b4ea378 hdlmake- updates 2016-08-04 13:28:25 -04:00
Rejeesh Kutty 2b7c976be5 xcvr- altera/xilinx split 2016-08-04 13:26:10 -04:00
Lars-Peter Clausen cba53774ca axi_dmac: Don't add CDC constraints when all clocks are synchronous
When all clocks are synchronous there are no synchronizers and the
constraint for the CDC registers can't find any cells which generates a
warning. To avoid this don't add CDC constraints when all the clocks are
synchronous.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2016-08-02 19:30:24 +02:00
Adrian Costina aece3f5555 axi_ad9680: Update IP core
- added signals so that AD9680 can be connected to altera's xcvr core through an avalon streaming sink
- added DEVICE_TYPE parameter in _hw.tcl, set to 1 for altera
2016-08-01 15:05:30 +03:00
Istvan Csomortani a0ae791395 hdl-vivado-2016.2: Update axi_jesd_gt
Infer AXI bus interfaces separately.
2016-08-01 13:53:18 +03:00
Istvan Csomortani fbe3d75eb0 cosmetics: Delete trailing whitespace characters 2016-08-01 13:46:46 +03:00
Matthew Fornero b99117e686 up_axi: Same cycle BVALID/READY fails on Altera
The Qsys interconnect does not handle the assertion of BVALID on the
same cycle as [A]WREADY. Add a single cycle of delay to prevent
deadlocks.

Similar to:
2817ccdb22
("up_axi: altera can not handle same clock assertion of arready and rvalid")

Signed-off-by: Matthew Fornero <matt.fornero@mathworks.com>
2016-08-01 12:17:10 +03:00
Istvan Csomortani 58b220ba81 ad_tdd_control: Add an on/off switch to the receive datapath
For a more robust control, add an on/off switch to the receive datapath too,
in order to filter out transition noises.
2016-08-01 11:49:27 +03:00
Rejeesh Kutty 7988d2c7a2 adi_ip: remove duplicated errored auto address maps & interfaces 2016-07-29 12:32:19 -04:00
Shrutika Redkar 4aa506de8d adxcvr- added a space? 2016-07-29 09:38:08 -04:00
Shrutika Redkar 71dad14e0e axi_adcfifo- disable auto infer mess-up 2016-07-29 09:37:17 -04:00
Shrutika Redkar 39ff059ef6 hdl-vivado-2016.2- productivity decimated again! 2016-07-28 13:44:57 -04:00
Shrutika Redkar d5d61ff518 hdl-vivado-2016.2- productivity decimated again! 2016-07-28 13:44:57 -04:00
Shrutika Redkar 52b544bb66 hdl-vivado-2016.2- auto infer bus interfaces 2016-07-28 13:44:57 -04:00
Shrutika Redkar 3384d384d3 hdl-vivado-2016.2- infer bus interfaces separately 2016-07-28 13:44:57 -04:00
Shrutika Redkar c316f0dfea ad9144- synthesis warnings fix 2016-07-28 13:44:57 -04:00
Shrutika Redkar 8a2734b43e up_dac_common- typo- unf register reset 2016-07-28 13:44:57 -04:00
Shrutika Redkar 6ebb32a194 library axi-slave missing protection signal added 2016-07-22 12:54:27 -04:00
Rejeesh Kutty 39a5534e00 hdlmake- updates 2016-07-21 16:10:38 -04:00
Rejeesh Kutty 5c91e41da8 ad9680- sof + sample delineation 2016-07-21 16:09:33 -04:00
Rejeesh Kutty db6d5f509f library/common- xcvr interface logic 2016-07-21 16:09:33 -04:00
Rejeesh Kutty 75864f0ce5 util_adxcvr- add constraints file 2016-07-21 16:09:33 -04:00
Rejeesh Kutty 1435c5f7f7 util_adxcvr- add clock buffers, rst-done, rate on usrclk 2016-07-21 16:09:33 -04:00
Rejeesh Kutty 8e04e70791 axi_adxcvr- status output for jesd ip 2016-07-21 16:09:33 -04:00
Rejeesh Kutty 1f25d7f637 axi_adxcvr- self-disable based on num of lanes 2016-07-21 16:09:33 -04:00
Rejeesh Kutty c797a579f1 util_adxcvr- rstdone on usrclk2 2016-07-21 16:09:33 -04:00
Rejeesh Kutty ced36f6159 up-dac- support iq mode 2016-07-21 11:58:03 -04:00
Rejeesh Kutty 3a1ecb7463 ad9162- support iq mode 2016-07-21 11:58:03 -04:00
Istvan Csomortani 040f72d172 ad_mul_u16: Delete unused module 2016-07-20 14:17:04 +03:00
Istvan Csomortani 2dd6bb0cb8 up_drp_cntrl: Delete unused module 2016-07-20 14:17:04 +03:00
Istvan Csomortani af9915b060 up_axis_dma_*: Delete unused modules 2016-07-20 14:17:04 +03:00
Istvan Csomortani df43ca9332 ad_axis_dma_*: Delete unused modules 2016-07-20 14:17:04 +03:00
Istvan Csomortani 46b00aea2d util_adc_pack: Delete unused IP core 2016-07-20 14:17:04 +03:00
Istvan Csomortani 8902a31ca6 util_dac_unpack: Delete unused IP core 2016-07-20 14:17:04 +03:00
Istvan Csomortani 634924246a axi_jesd_xcvr: Delete Makefile
This core is an Altera core only, no need for Makefile.
2016-07-20 14:17:04 +03:00
Istvan Csomortani 74c220d79e make: Update Make files 2016-07-20 14:17:04 +03:00
Istvan Csomortani b9a5bb3549 axi_dacfifo: Optimize the AXI read logic
Save the valid AXI beats number of the last AXI transaction, and the valid
DMA beats number of the last AXI beat, so the read back logic can use this
data and prevent to feel up the CDC memory with invalid samples. Also in
this way the end of the read back cycle get a more robust control: no more
duplicated samples at the end of the buffer.
2016-07-20 11:49:06 +03:00
Istvan Csomortani e46990e508 axi_dacfifo: Cosmetic changes
Rename a few registers and fix indentation.
2016-07-20 11:49:06 +03:00
Istvan Csomortani b48401175a axi_dacfifo: Optimize the AXI write logic 2016-07-20 11:49:06 +03:00
Rejeesh Kutty 74f45cff24 axi-ad9625: fix clock ratio to match sampling clock 2016-07-19 16:21:13 -04:00
Rejeesh Kutty 1df942b752 rfifo- buffer 1 seg before read 2016-07-12 10:24:22 -04:00
Rejeesh Kutty 4f0d7bd6eb util_wfifo: read after write is complete 2016-07-11 09:59:31 -04:00
Rejeesh Kutty 832efdc99c hdlmake updates 2016-07-08 13:58:56 -04:00
Rejeesh Kutty 7a03d44e4e adxcvr- clock buffers are removed 2016-07-08 13:57:27 -04:00
Rejeesh Kutty 20ac95b1ec adxcvr- initial commit 2016-07-08 13:57:27 -04:00
Rejeesh Kutty 48762519b5 make updates 2016-07-06 15:02:00 -04:00
Istvan Csomortani 427cc84bb2 axi_ad7616: Rename the physical interface signals to rx_*
No functional modification.
2016-07-01 14:45:23 +03:00
Shrutika Redkar d931b2ee64 ad9162 core verilog files 2016-06-30 10:24:01 -04:00
Istvan Csomortani 8d558b2538 make: Update Make files 2016-06-29 14:50:07 +03:00
Istvan Csomortani 18e28b01fd axi_ad7616: Add burst counter to the parallel interface
With this counter the parallel logic supports the burst sequencer.
2016-06-29 14:17:28 +03:00
Istvan Csomortani e6494b9a74 axi_ad7616: Change the DMA interface type to Write FIFO 2016-06-29 14:11:02 +03:00
Istvan Csomortani 64633e519c Merge remote-tracking branch 'origin/dev_ad7616' into dev 2016-06-29 12:32:39 +03:00
Istvan Csomortani cdf01a492e library/axi_dacfifo: Update the bypass logic
The bypass logic is located between the AXI read controller and the
DAC CDC fifo. When the bypass is enabled the DMAC destination interface
must be clocked with the PL_DDR controller's ui_clk. This way it can easily
switch between the AXI read's stream and DMAC's stream interface.
2016-06-22 12:24:54 +03:00
Rejeesh Kutty def47dd536 interfaces: added xcvr interfaces 2016-06-17 12:00:15 -04:00
Rejeesh Kutty 36fbf4fc42 util_adxcvr: shared xcvr cores 2016-06-17 11:59:42 -04:00
Rejeesh Kutty 87cf13b0ef util_adxcvr- system verilog interfaces 2016-06-16 16:41:43 -04:00
Rejeesh Kutty 80ce7aeb66 util_adxcvr- updates 2016-06-16 16:40:57 -04:00
Istvan Csomortani 7c762f63a8 library/axi_dacfifo: Fix the control logic of the write side
Fix the control logic for the AXI write transactions.
2016-06-15 13:49:00 +03:00
Istvan Csomortani d5ce137c55 library/axi_dacfifo: Fix reset for a few registers 2016-06-15 13:49:00 +03:00
Istvan Csomortani 10090a296e library/axi_dacfifo: Cosmetic changes
Rename a few registers and improve consistency.
2016-06-15 13:49:00 +03:00
Rejeesh Kutty 7485d27d37 ad9361/altera- device-family variable 2016-06-14 12:28:13 -04:00
Rejeesh Kutty 5d437083cc ad9361/altera- a10+ only 2016-06-14 12:19:54 -04:00
Rejeesh Kutty dc45287b14 util_adxcvr- added 2016-06-14 12:19:18 -04:00
AndreiGrozav c19ed4c8ef axi_hdmi_tx_core: Fixed embedded sync synchronization signals 2016-06-14 14:30:28 +03:00
AndreiGrozav aee38e1cc9 up_hdmi_tx: Fixed data path width 2016-06-14 14:27:03 +03:00
Shrutika Redkar 27fd5f5bdc modified prbs7 and prbs15 gereration code 2016-06-13 14:44:03 -04:00
Shrutika Redkar 83dd7e91c4 deleted pn23 and pn 31, data width yet to be modified 2016-06-13 14:44:03 -04:00
Istvan Csomortani 341b7badee library/scripts: Remove all autogenerated interface in adi_ip_properties_lite
There are a few IP, which is configured by using just the adi_ip_properties_lite
process, therefor the remove_all_bus_interface will be called in the end of that
process, to make sure that all the autogenerated interfaces are deleted during the
IP properties setup.
2016-06-10 15:08:05 +03:00
Istvan Csomortani 9d1ae436b1 common/util_pulse_gen: Rename the ad_tdd_sync module 2016-06-09 10:07:47 +03:00
AndreiGrozav abe837e608 util_rfifo: Set an offset for the write addres 2016-06-02 17:34:29 +03:00
Rejeesh Kutty c293c04634 hdl make updates 2016-06-01 13:53:09 -04:00
Rejeesh Kutty 3832f2669e axi_jesd_xcvr: support tx/rx disable 2016-06-01 13:48:51 -04:00
Rejeesh Kutty 54f398cc36 ad9371-hw- add dsp slice 2016-06-01 13:48:51 -04:00
Istvan Csomortani e1495b89f9 axi_dacfifo: Cosmetic changes 2016-05-27 14:13:55 +03:00
Istvan Csomortani c724c027c4 axi_dacfifo: Fix the synchronizers 2016-05-27 14:13:55 +03:00
Istvan Csomortani 183c67aca0 axi_dacfifo: Update the axi write controller
Do some refactoring and add a DMA beat counter.
2016-05-27 14:13:55 +03:00
Istvan Csomortani 8caa783f5c axi_dacfifo: Update the constraints 2016-05-27 14:13:55 +03:00
Istvan Csomortani 3b6a36e3e2 axi_dacfifo: Increase the ASYM_MEM depth in the DAC side
Increase the asymetric memory depth on the DAC side. Increase the
data width of the grey coder and decoder.
The controller fills up the CDC memory with three AXI burst, to prevent
underflow on the wrap arounds.
2016-05-27 14:13:55 +03:00
Istvan Csomortani c8d4f956e7 axi_dacfifo: Update the read back logic
Update the readback logic of the FIFO. The controller uses a
relative address counter, which counts the DMA beats. The readback
logic uses the last value of that counter to define the wrapping
address. The aditional data from the last AXI burst, if there is any,
will be dropped.
2016-05-27 14:13:55 +03:00
Istvan Csomortani 88e0cfec42 axi_dacfifo: The AXI read and write have the same properties
AXI read and AXI write channel have the same SIZE and LENGTH.
2016-05-27 14:13:55 +03:00
Istvan Csomortani aca3038919 axi_dacfifo: No overflow for DAC 2016-05-27 14:13:55 +03:00
Istvan Csomortani 81ade7f26c axi_dacfifo: Fix resets
DMA side: axi_resetn is used to reset the address counters
DAC side: GT tx_rst is used to reset the last_address register
2016-05-27 14:13:55 +03:00
Istvan Csomortani 578376c8fe axi_dacfifo: Add bypass logic 2016-05-27 14:13:55 +03:00
AndreiGrozav f10c1e6e93 axi_hdmi_tx: Remove hdmi_full_range register 2016-05-27 14:04:40 +03:00
Rejeesh Kutty 05ac271aff daq3/a10gx- qsys modifications 2016-05-24 03:15:24 -04:00
Rejeesh Kutty d254fa841b library- altera updates 2016-05-23 10:55:07 -04:00
Rejeesh Kutty 3f00614bc7 axi_jesd_xcvr: rx/tx only select 2016-05-20 16:13:36 -04:00
Rejeesh Kutty f1a603a3b1 ad9371- altera ip 2016-05-20 15:16:36 -04:00
Rejeesh Kutty 09520709b0 make updates 2016-05-20 12:35:45 -04:00
Rejeesh Kutty b5b05bb9d1 axi_ad9371: added 2016-05-20 11:41:54 -04:00
Rejeesh Kutty bf0b90229a rfifo/wfifo- qsys ip 2016-05-18 13:24:13 -04:00
Rejeesh Kutty 7fdaee186c upack/cpack- qsys ip 2016-05-18 13:24:13 -04:00
Rejeesh Kutty a262eb7ab3 ad9361- output-rst - associated-rst issue? 2016-05-18 13:24:13 -04:00
Rejeesh Kutty e15893444c upack- fix interface names 2016-05-18 13:24:13 -04:00
Rejeesh Kutty 285cbc7225 xfifo- fix sdc/xdc names 2016-05-18 13:24:13 -04:00
Rejeesh Kutty d7f0bd1b76 ad9361- add reset sink 2016-05-18 13:24:13 -04:00
Rejeesh Kutty bb4ed42a93 ad9361- add missing wires 2016-05-18 13:24:13 -04:00
AndreiGrozav 42b0fabd40 axi_hdmi_tx_core: Fixed data path 2016-05-17 14:41:18 +03:00
Rejeesh Kutty 68329de738 ad9361- interface updates 2016-05-16 12:19:38 -04:00
Rejeesh Kutty 421c0519f4 util_rfifo- updates 2016-05-16 12:19:38 -04:00
Rejeesh Kutty e05204a86d util_cpack: interface updates 2016-05-16 12:19:38 -04:00
Rejeesh Kutty 6bc05fc844 ad_*_in: register post-iob 2016-05-16 12:19:38 -04:00
Rejeesh Kutty cd7c9c99ed ad_*_clk: altera-pll not supported by qsys flow 2016-05-16 12:19:38 -04:00
Rejeesh Kutty 4fbff45e27 util_wfifo- updates 2016-05-16 12:19:38 -04:00
Rejeesh Kutty f515885fc4 util_wfifo: altera ip 2016-05-16 12:19:38 -04:00
Rejeesh Kutty 58a2a3259c util_rfifo: updates 2016-05-16 12:19:38 -04:00
Rejeesh Kutty 82d43783f1 util_rfifo: altera ip 2016-05-16 12:19:38 -04:00
Rejeesh Kutty 31671bf9d5 util_rfifo: constraints 2016-05-16 12:19:38 -04:00
Rejeesh Kutty aadb220a3f zcu102- updates 2016-05-10 15:40:41 -04:00
Rejeesh Kutty 3871d3ce2b ad9361-c5/a10 - updates 2016-05-09 13:54:08 -04:00
Rejeesh Kutty 9cd6e2da51 quartus-mess- altddio direct instantiation 2016-05-09 13:54:08 -04:00
AndreiGrozav 726ddb6e93 ad_lvds_clk: Fixed assignment mismatched 2016-05-09 10:32:18 +03:00
Istvan Csomortani b0538a03a2 Make: Update 2016-05-06 16:44:24 +03:00
AndreiGrozav b36c722ec9 up_hdmi_tx: Discard the standard default values
Restore the base functionality of the core. Changing the data format
will not set by default its standard maximum and minimum data clipping
ranges.
2016-05-05 13:41:46 +03:00
AndreiGrozav 68d83def01 axi_hdmi_tx_core: Fixed data path 2016-05-05 13:32:25 +03:00
AndreiGrozav 0d2dc2c62b axi_hdmi_tx: Fixed data bus width 2016-05-05 13:26:59 +03:00
Rejeesh Kutty bdfa383622 library/axi_ad9361: tdd false paths 2016-05-04 13:42:12 -04:00
Rejeesh Kutty ef6c99ecab library/axi_ad9361: hw component updates 2016-05-04 13:42:12 -04:00
Rejeesh Kutty 3b5e44e37d library/axi_ad9361: mmcm rst for plls 2016-05-04 13:42:12 -04:00
Rejeesh Kutty 16a13b2023 library/axi_ad9361: add rst/locked to clock 2016-05-04 13:42:11 -04:00
Rejeesh Kutty 1aac44b0d9 library: ad_*clk- rst/locked 2016-05-04 13:42:11 -04:00
Rejeesh Kutty d82ca5dc3c library/common- altera variations 2016-05-04 13:42:11 -04:00
AndreiGrozav b6b68e9ab7 axi_jesd_gt: Split the constraint file
-split axi_jesd_gt_constr.xdc file in rx, tx and common constraint files
-updated tcl script
2016-05-04 19:32:06 +03:00
István Csomortáni 583bafd17a axi_ad7616: Add a new register for IF_TYPE
Add an additional new read only register at 0x03 address for the interface type. This way the software can verify the actual interface mode.
2016-05-04 16:14:29 +03:00
Rejeesh Kutty 385ed31a45 make files update 2016-04-29 10:17:35 -04:00
Rejeesh Kutty 3f5e1e1203 ad9361- dev_if module name change 2016-04-29 10:17:35 -04:00
Rejeesh Kutty 89f5d2394e altera- clock variations 2016-04-29 10:17:35 -04:00
Rejeesh Kutty 243d3e6e41 ad9361- a10soc sdc files 2016-04-29 10:17:35 -04:00
Rejeesh Kutty aa2aa902bf ad9361- a10soc updates 2016-04-29 10:17:35 -04:00
Rejeesh Kutty f411d29e30 ad9361- a10soc changes 2016-04-29 10:17:35 -04:00
Rejeesh Kutty 3563c2212c common/altera- removed dcfilt/mul 2016-04-29 10:17:35 -04:00
Rejeesh Kutty 0260280db1 common/altera- data path 2016-04-29 10:17:35 -04:00
Rejeesh Kutty ed62101308 common/altera: primitives 2016-04-29 10:17:35 -04:00
Rejeesh Kutty 779d014750 ad9361-common alt/xil interface 2016-04-29 10:17:35 -04:00
Istvan Csomortani 7ec4c00f9f axi_ad7616: DMA is always ready 2016-04-29 16:36:33 +03:00
Istvan Csomortani 427f85959c axi_ad7616: Fix the AXI stream interface 2016-04-29 16:34:34 +03:00
Istvan Csomortani 33199263e1 axi_ad7616: Delete burst_length register
This was an unnecessary feature of the hdl core.
2016-04-29 16:28:48 +03:00
Istvan Csomortani d5d7c12f0e axi_ad7616: Fix the register map 2016-04-25 11:36:39 +03:00
Istvan Csomortani 2ccdd426ec axi_ad7616: Fix the rd_db_valid generation and do some cosmetic changes. 2016-04-25 11:28:22 +03:00
Istvan Csomortani ad227c1af0 up_axi: Wait more to a valid read acknowledge. 2016-04-25 10:34:17 +03:00
Rejeesh Kutty e9b199959a library/adcfifo- constraints update 2016-04-20 15:57:25 -04:00
AndreiGrozav 679d471d75 Merge branch 'hdl_2016_r1' into dev
hdl_2016_r1 contains IP core upgrades to Vivado 2015.4.2 and hdmi_tx improvements.
2016-04-19 18:05:50 +03:00
Adrian Costina d7d8b2cf1c axi_usb_fx3: Integrated actual GPIF II interface, with 2 address lines 2016-04-19 14:38:26 +03:00
Istvan Csomortani e855ef38f4 axi_dacfifo: Initial commit
AXI DAC fifo, which use the PL side DDR memory. The minimum data granularity is 1kbyte.
2016-04-19 11:28:33 +03:00
Istvan Csomortani 42cd05ab19 ad_mem_asym: Add support for more ratios.
Supported ratios: 1:1/1:2/1:4/1:8/2:1/4:1/8:1
2016-04-19 11:18:30 +03:00
AndreiGrozav 6fe41ebb08 axi_hdmi_tx: Upgrade hdmi clipping process
-added two registers that control the clipping ranges (0x01a and 0x01b)
-extend clipping process for all output data formats
2016-04-12 22:01:07 +03:00
Istvan Csomortani 69d721526a util_dacfifo: Add constraints file 2016-04-12 13:21:50 +03:00
Istvan Csomortani 255b0ebd40 util_dacfifo: Add dac_xfer_out control
The dac_xfer_out control signal is asserted while the DAC reads back data. Should be connected to upack/dma_xfer_in.
2016-03-29 16:50:00 +03:00
AndreiGrozav b31cdac6bd util_gmii_to_rgmii: Updated to 2015.4
The Xilinx interface changed its name from gmii_rtl_1 to gmii_rt_1
2016-03-23 10:14:18 +02:00
Rejeesh Kutty 46eddd04be library: port updates on mmcm 2016-03-22 12:50:59 -04:00
Rejeesh Kutty de4da6726b axi_clkgen: port updates on mmcm 2016-03-22 12:50:59 -04:00
Rejeesh Kutty 74408881c6 axi_ad9122: optional clock out control 2016-03-22 12:50:59 -04:00
Rejeesh Kutty 65b2e51958 common/mmcm: add another clock 2016-03-22 12:50:59 -04:00
AndreiGrozav 769fecbe00 axi_i2s_adi: Fixed clock association 2016-03-21 20:18:45 +02:00
Istvan Csomortani 373481360b util_dacfifo: Add a bypass option to the FIFO 2016-03-21 14:14:43 +02:00
AndreiGrozav 6d277733d5 axi_spdif_rx: Fixed the clock association 2016-03-18 13:58:13 +02:00
AndreiGrozav 28990e362a axi_spdif_tx: Fixed the clock association 2016-03-18 13:31:06 +02:00
Istvan Csomortani 896c734792 Revert "foobar"
This reverts commit a3cb8cac45.
2016-03-18 13:23:02 +02:00
Istvan Csomortani a3cb8cac45 foobar 2016-03-18 11:51:13 +02:00
Istvan Csomortani 665bfbc991 axi_ad7616: Add M_AXIS_READY_ENABLE parameter
m_axis_ready can be driven by the DMA or can have a constant active state. By default is always one.
2016-03-15 18:38:55 +02:00
AndreiGrozav 9b2a106aa0 axi_jesd_gt: changed clock and reset naming to be consistent with the other projects 2016-03-15 11:20:31 +02:00
AndreiGrozav 06b7916303 axi_spdif_tx: changed adi_ip_properties_lite to adi_ip_properties, so that the axi interface can be inferred 2016-03-15 10:18:25 +02:00
AndreiGrozav ef05642e26 axi_spdif_rx: changed adi_ip_properties_lite to adi_ip_properties, so that the axi interface can be inferred 2016-03-15 10:14:05 +02:00
AndreiGrozav b3ed38107c axi_i2s_adi: changed adi_ip_properties lite to adi_ip_properties, so that the axi interface can be inferred 2016-03-15 10:12:45 +02:00
Rejeesh Kutty 8ecf5edaf8 ad9122- pat modes 2016-03-14 11:14:29 -04:00
AndreiGrozav 31cc91d1b9 adi_ip: Updated to 2014.4.2
- automatically infer clocks, resets, axim_mm and axis interfaces
2016-03-14 15:14:18 +02:00
Adrian Costina 33b265a742 Makefile: Update Makefiles 2016-03-14 09:31:17 +02:00
Istvan Csomortani 573146aa96 axi_ad7616: Fix the data width of the AXI stream interface 2016-03-10 16:38:53 +02:00
Lars-Peter Clausen 287770a201 axi_dmac: Fix tlast generation on AXI stream master
For the AXI stream interface we want to generate TLAST only at the end of
the transfer, rather than at the end of each burst.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2016-03-08 10:53:59 +01:00
Adrian Costina 2524f19ae0 Updated interfaces Makefile and Makefiles for the libraries that depend on it 2016-03-07 12:31:41 +02:00
Rejeesh Kutty 583ef82fd0 ad9361- cmos mode 2016-03-04 10:39:48 -05:00
Rejeesh Kutty 7a320a3d34 ad_lvds* - updates 2016-03-04 10:39:48 -05:00
Rejeesh Kutty 7d2939be92 ad9361- cmos mode initial commit 2016-03-04 10:39:48 -05:00
Adrian Costina 377461e0d4 Merge branch 'hdl_2015_r2' into dev 2016-02-19 14:15:27 +02:00
Rejeesh Kutty a8e9d72273 adc/dac - prefix parameters 2016-02-17 14:16:04 -05:00
Istvan Csomortani e1c5d6a8f7 axi_ad9684: Fix constraint file 2016-02-12 14:38:59 +02:00
Istvan Csomortani a747fad540 axi_ad9361: tx_valid must be controlled by the TDD controller 2016-02-12 14:33:34 +02:00
Istvan Csomortani e381d5170c util_tdd_sync: Update the synchronization interface
Simplify the synchronization interface, there is one signal line between the synchronization module and transceiver core.
2016-02-12 14:27:37 +02:00
Adrian Costina 0d67af370f util_upack: Fixed problem when dac valid isn't continuous from the DAC
In cases when the dac_valid_ from the DAC is not continuous, in some situations
there were two dac_valid pulses sent to the DMA.
2016-02-04 13:03:46 +02:00
Dragos Bogdan 3d3d1098b4 axi_ad7616: Default DATA_WIDTH is 8 bits 2016-01-28 16:02:01 +02:00
Istvan Csomortani 122667259f ad7616_sdz: Update Make file 2016-01-28 14:48:44 +02:00
Istvan Csomortani fbb0d368bf axi_ad7616: Add support for parallel interface 2016-01-28 12:37:22 +02:00
Istvan Csomortani cd43ebd8bc axi_ad7616: The OP_MODE parameter is no longer required 2016-01-26 11:05:33 +02:00
Istvan Csomortani 2a17ce275c axi_ad7616: Control inputs are controlled through GPIO
The following control inputs are controlled through GPIO: reset_n, seq_en, hw_rngsel, chsel, crcen, burst and os.
2016-01-25 17:50:50 +02:00
Istvan Csomortani 4b962e8d72 spi_engine: The width of the counters depend on the current DATA_WIDTH 2016-01-20 15:44:06 +02:00
Istvan Csomortani 4cc69c0cac axi_ad9684: Add Makefile 2016-01-19 18:32:11 +02:00
István Csomortáni c865dbf353 axi_ad9680: Fix channel instantiation 2016-01-19 12:49:45 +02:00
István Csomortáni df3eefdca1 axi_ad9434: Update constraint file 2016-01-19 12:43:05 +02:00
Istvan Csomortani d1e638349b ad_serdes_clk : The reference clock selection line should by tied to 1
Just the CLKIN1 is used in the MMCM.
2016-01-19 11:18:00 +02:00
Istvan Csomortani c6cfd1a2b6 axi_ad9684: Initial check in 2016-01-19 11:13:45 +02:00
István Csomortáni 4f2b999999 axi_ad9680: Q_OR_I_N is not used in this channel 2016-01-13 16:26:22 +02:00
István Csomortáni 838b558176 axi_ad9434: Fix adc_status
adc_status was not driven by anything. Should be driven by adc_status_m1.
2016-01-13 12:21:42 +02:00
István Csomortáni 2dcd9136aa axi_ad6676: Delete confusing comment 2016-01-13 10:20:18 +02:00
Istvan Csomortani c29dd8fad5 axi_ad7616: Fix Makefile 2015-12-21 19:39:58 +02:00
Istvan Csomortani 0b55325db9 axi_ad7616: Fix IP packaging script 2015-12-21 19:39:14 +02:00
Istvan Csomortani 17e7d1b86f ad7616: Add Makefiles 2015-12-21 17:09:42 +02:00
Istvan Csomortani 8ae9de8fba axi_ad7616: Update core
+ Both the data width and number of SDI lines are configurable
+ SER1W line is hardware configurable, it was removed from the IP
+ Add 'Hardware mode' support for the controller
2015-12-14 16:00:56 +02:00
Istvan Csomortani 4e57170384 spi_engine: Update SPI Engine frame work
+ data width and number of SDI lines are configurable
+ axi_spi_engine module can have two different type of memory map interface (S_AXI or UP)
2015-12-14 15:57:54 +02:00
Istvan Csomortani 29a0f27cd1 ad_edge_detect: Add a flop to output, reset is active high 2015-12-14 15:40:29 +02:00
Rejeesh Kutty 4c2d08a9be ad9152: altera syntax error 2015-12-11 12:49:00 -05:00
Rejeesh Kutty bc93910ee5 ad9152: qsys updates 2015-12-10 16:04:10 -05:00
Rejeesh Kutty ff1d98a0c7 ad9144: duplicate include 2015-12-10 16:02:35 -05:00
Rejeesh Kutty ce906989d5 ad9152: qsys ip 2015-12-10 09:46:31 -05:00
Istvan Csomortani 12c95b059d ad_tdd_control: Remove tdd_enable_synced control line
For a better timing and control, the valid control lines are gated with flops, instead of combinatorial logic.
This is the main reason why we do not need the tdd_enable_synced signal anymore. The out coming data is delayed by one clock cycle to keep data and control lines synced.
2015-12-03 11:16:28 +02:00
Adrian Costina 5cf45b2978 axi_clkgen: Added phase related parameters 2015-12-02 18:50:23 +02:00
Istvan Csomortani 36febf8591 Merge branch 'master' into dev
Conflicts:
	library/axi_ad9361/axi_ad9361_ip.tcl
	library/axi_dmac/Makefile
	library/axi_dmac/axi_dmac_constr.ttcl
	library/axi_dmac/axi_dmac_ip.tcl
	library/common/ad_tdd_control.v
	projects/daq2/common/daq2_bd.tcl
	projects/fmcjesdadc1/common/fmcjesdadc1_bd.tcl
	projects/fmcomms2/zc706pr/system_project.tcl
	projects/fmcomms2/zc706pr/system_top.v
	projects/usdrx1/common/usdrx1_bd.tcl

This merge was made, to recover any forgotten fixes from master,
before creating the new release branch. All conflicts were reviewed
and resolved.
2015-11-26 13:38:11 +02:00
Adrian Costina 667e49fe41 library: Axi_clkgen, added register for controlling the source clock.
Address is 0x11 /0x44.
With the default value, 0, clock 1 is selected. If set to 1, clock 2 is selected
2015-11-25 11:16:32 +02:00
Adrian Costina df58646925 util_adcfifo: Updated altera interface 2015-11-25 10:20:06 +02:00
Istvan Csomortani 593c486168 ad_tdd_control: The state machine goes from OFF to ON, when a valid sync is received 2015-11-24 15:15:53 +02:00
Istvan Csomortani c70be7391f ad_tdd_control: Avoid unnecessary reset on control lines
No need to reset for tdd_last_burst, it's value depends on the tdd_burst_counter.
2015-11-24 15:13:18 +02:00
Adrian Costina ee0617661e axi_ad9680: Updated altera interfaces, added FIFO conduits per channel 2015-11-24 11:45:12 +02:00
Adrian Costina f51871c1e4 axi_ad9144: Updated altera interfaces, added FIFO conduits per channel 2015-11-24 11:44:07 +02:00
Adrian Costina 76823f95fa axi_ad9250: Updated altera interfaces, added FIFO conduits per channel 2015-11-24 11:39:55 +02:00
Adrian Costina 275ec3d3a8 axi_ad9361: Updated altera interfaces, added FIFO conduits per channel 2015-11-24 11:21:08 +02:00
Adrian Costina 250f3c917b axi_ad9361: Removed old signals from the altera device interface module 2015-11-24 11:20:35 +02:00
Adrian Costina fb269f7a29 util_cpack: Updated altera interfaces
- DMA side, simplified naming
- ADC side, added FIFO conduit per channel
2015-11-24 11:18:18 +02:00
Adrian Costina e6de2ade78 util_upack: Updated altera interfaces
- DMA side, simplified naming
- DAC side, added FIFO conduit per channel
2015-11-24 11:17:02 +02:00
Adrian Costina c5ff1674c6 axi_dmac: Updated fifo interfaces for easier connectivity 2015-11-24 11:08:28 +02:00
Adrian Costina e5d2f5be06 util_upack: Cosmetic changes 2015-11-24 10:55:10 +02:00
Adrian Costina 985f2ca020 library: ad_rst, added comment so that the registers are not minimized away 2015-11-24 10:33:38 +02:00
Istvan Csomortani bdf9754971 util_tdd_sync: Sync signals output reg is a false path source 2015-11-17 09:42:05 +02:00
Istvan Csomortani 9ba8c059ce ad_tdd_sync: Fix reset value of the pulse_counter 2015-11-13 18:31:24 +02:00
Istvan Csomortani d6eae81bc1 axi_ad7616: Add the control module to the core, finish up SPI integration 2015-11-13 18:14:21 +02:00
Adrian Costina 3c27b3a4c5 ad_lvds_in: Add single ended option 2015-11-13 12:13:09 +02:00
Istvan Csomortani 952a491f59 axi_ad7616: Add spi engine to the core 2015-11-12 16:12:16 +02:00
Istvan Csomortani b17fec689e ad_tdd_control: An active sync pulse can NOT be a reset for the control lines
By reset the control lines (RF, VCO and DP) on an active sync pulse, can cause glitches on the ENABLE/TXNRX lines. The sync pulse resets just the TDD counter.
2015-11-11 11:13:33 +02:00
Istvan Csomortani fc0f4bc414 axi_ad9361: Delete the old sync generator from the core
+ Define two control signal for util_tdd_sync : tdd_sync_en and tdd_terminal_type
+ Delete to old ad_tdd_sync.v instances from the core
+ Update Make files
+ Update ad_tdd_control: add additional CDC logic for tdd_sync (the sync comes from another clock domain)
+ Update the ad_tdd_sync module: it's just a simple pulse generator, the pulse period is defined using a parameter, pulse width is fixed: 128 x clock cycle
+ Update TDD regmap: tdd sync period is no longer software defined
2015-11-11 11:06:19 +02:00
Istvan Csomortani a290611c09 util_tdd_sync: Initial commit
A synchronization signal generator for AD9361 running on TDD mode.
If the associated device is master, the module generates a pulse in a defined interval. Otherwise receives the sync signal from outside.
2015-11-11 10:46:11 +02:00
Istvan Csomortani e4927887fd spi_engine_offload: Add sync_bits to the IP files list 2015-11-10 13:35:15 +02:00
Istvan Csomortani 229cd079b9 spi_engine: Fix to support multiple SDI lines 2015-11-10 13:34:29 +02:00
Istvan Csomortani 64d1948ea0 axi_ad7616: Initial commit 2015-11-10 13:32:56 +02:00
Adrian Costina 5cc97c78d3 Makefiles: Update makefiles to include the nerw axi_gpreg / util_mfifo libraries 2015-11-10 09:32:50 +02:00
Adrian Costina e7fd964874 axi_clkgen: Added a second input clock option 2015-11-06 17:55:29 +02:00
Rejeesh Kutty 839e76996f axi_gpreg: added constraints 2015-11-05 11:28:37 -05:00
Rejeesh Kutty 482b740229 axi_gpreg: add buffer enable 2015-11-05 11:28:35 -05:00
Rejeesh Kutty 66d4f8fd58 util_gtlb: output receive/transmit clocks 2015-11-05 11:28:34 -05:00
Rejeesh Kutty 28bfeb442c util_gtlb- syntax error fixes 2015-11-05 11:28:31 -05:00
Adrian Costina 6d28a92b5b util_adcfifo: Added altera initial constraints file 2015-11-04 13:34:52 +02:00
Adrian Costina e8b84b3662 axi_dmac: Updated axis destination / source ports for altera component 2015-11-04 13:33:41 +02:00
Adrian Costina de53a61902 util_adcfifo: Put a limit on the read/write address from memory so there is no overflow
Added altera component
2015-11-04 13:31:50 +02:00
Adrian Costina 6cfc13a9dd common: Allow for the memory to be also symetrical 2015-11-04 13:28:02 +02:00
Rejeesh Kutty ad1cef1441 axi_gpreg: compile fixes 2015-11-03 14:29:00 -05:00
Rejeesh Kutty c8019b69fd axi_gpreg- added 2015-11-03 14:28:59 -05:00
Rejeesh Kutty 88f247a1de util_gtlb: use gpio 2015-11-03 14:28:57 -05:00
Istvan Csomortani cf58110a98 Merge branch 'dev' into dev_ad7616 2015-11-03 14:07:48 +02:00
Lars-Peter Clausen acd9efc528 axi_hdmi_tx: Add parameter to configure the output clock polarity
In order to maximize the window where it is safe to capture data we ideally
want to launch data on the opposite edge to which it is captured. Since the
edge on which data is captured depends on the connected device add a
parameter that allows to configure the launching edge.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-11-03 10:59:13 +01:00
Istvan Csomortani a147acd791 spi_engine: Add support for multiple SDI lines.
By changing the parameter called SDI_DATA_WIDTH the spi framework can support multiple SDI lines.
The supported number of SDI lines are: 1, 2, 3 and 4.
2015-11-02 18:42:55 +02:00
Rejeesh Kutty 88568c21e1 util_gtlb: updates for latest axi_jesd_gt 2015-10-30 18:47:36 -04:00
Rejeesh Kutty 2b6ae00a44 library: add mfifo 2015-10-27 14:52:02 -04:00
Rejeesh Kutty f1ed27105f library/common- reset fix 2015-10-23 14:32:35 -04:00
Adrian Costina 32b3cfd8b9 axi_usb_fx3: Initial commit of the core with interface stub 2015-10-23 13:27:00 +03:00
Adrian Costina 9d2b8809df Makefiles: Updated Makefiles 2015-10-23 10:44:27 +03:00
Istvan Csomortani 6fb56079ee library/util_gtlb: Add Makefile 2015-10-16 13:58:01 +03:00
Istvan Csomortani 8ecdb4a4ca library/tdd_control: Add common registers to the register map and fix init value of a register
+ Software in general needs to have access to the VERSION register.
+ tdd_sync_d3 registers init value should be 1'b0
2015-10-16 11:57:54 +03:00
Rejeesh Kutty 44568f1f64 util_jesd_gt: bad idea, it is needed for ipi 2015-10-15 11:13:08 -04:00
Rejeesh Kutty a6ff1b13fc util_jesd_gt- remove unused parameters 2015-10-15 10:46:07 -04:00
Istvan Csomortani c9a5057b93 library/prcfg : Split data bus to channels
Because of the new pack/upack modules on the data path, it makes more sense to split the data interface of the PR modules into separate channels.
The top module will supports max 4 channels.
2015-10-13 11:36:45 +03:00
Adrian Costina a753d506c5 axi_mc_controller: Removed channels, as no data needs to be streamed to DMA 2015-10-09 13:54:03 +03:00
Adrian Costina 694dbd3259 axi_mc_controller: Updated constraints 2015-10-09 13:53:13 +03:00
Adrian Costina 7c3646e863 axi_mc_current_monitor: Removed stub channel 2015-10-09 13:52:14 +03:00
Adrian Costina 99e6240126 axi_mc_current_monitor: Updated constraints 2015-10-09 13:51:15 +03:00
Adrian Costina d19d9c8fbc axi_mc_speed: Corrected maximum number of channels 2015-10-09 13:50:25 +03:00
Adrian Costina ce01185348 axi_mc_speed: Updated constraints 2015-10-09 13:50:08 +03:00
Adrian Costina 96d363849e ad_dds: Registered dds_scale so that Vivado can optimally map the dsp block 2015-10-09 13:43:14 +03:00
Adrian Costina df8ac2e726 axi_ad9671: Updated constraints 2015-10-09 13:15:55 +03:00
Adrian Costina 03b225a802 axi_ad9671: Fixed synchronization mechanism 2015-10-09 13:15:12 +03:00
Istvan Csomortani 8321d5a4fb util_dacfifo: Update read out method
Update the way how the fifo push out its content. By default the fifo pushes out all its content, if an xfer_last signal is received, the fifo saves the last write address, and reads out until the saved address.
2015-10-08 17:13:12 +03:00
Istvan Csomortani 1ebd38c514 util_dacfifo: Update read out method
Update the way how the fifo push out its content. By default the fifo pushes out all its content, if an xfer_last signal is received, the fifo saves the last write address, and reads out until the saved address.
2015-10-08 16:50:36 +03:00
Rejeesh Kutty cd9754afbe up_gt: separate pll resets to tx/rx 2015-10-02 13:58:30 -04:00
Rejeesh Kutty f3ffd5a63f up_gt: separate pll resets to tx/rx 2015-10-02 13:58:30 -04:00
Rejeesh Kutty 2b894bc13e up_gt: separate pll resets to tx/rx 2015-10-02 13:58:30 -04:00
Rejeesh Kutty 5c3f90a676 up_gt: separate pll resets to tx/rx 2015-10-02 13:58:30 -04:00
Rejeesh Kutty ba70c7a4ea ad9144- ip updates 2015-09-30 11:37:10 -04:00
Rejeesh Kutty 54fcf06eed ad9152- ip updates 2015-09-30 11:34:09 -04:00
Istvan Csomortani 81a1c21553 util_pmod_adc: Reset line changed to active low reset. 2015-09-30 12:33:46 +03:00
Istvan Csomortani 97a9ecfc9a axi_hdmi_rx: Update constraint file and fix reset line 2015-09-29 18:49:30 +03:00
Istvan Csomortani b765be568f up_gt_channel: Delete the register, which stores transceiver type
Transceiver type is stored in axi_jesd_gt/up_gt only.
2015-09-29 14:23:42 +03:00
Istvan Csomortani cffb2e6226 up_gt_channel: Move the VERSION register to up_gt_channel, in order to preserve its address 2015-09-29 14:19:52 +03:00
Istvan Csomortani a0ac0e912b up/ad_gt_common/channel: Cosmetic changes 2015-09-29 14:16:24 +03:00
Adrian Costina dff6c0df01 axi_ad9652: Updated with the latest constraints 2015-09-28 11:29:07 +03:00
Istvan Csomortani c03983ca54 ad_tdd_sync/control: Update TDD logic
+ Redesign the TDD counter FSM
+ Make the sync logic independent from the tdd control
2015-09-25 19:11:23 +03:00
Istvan Csomortani 07e2d281c0 Make: Update Make files 2015-09-25 19:11:21 +03:00
Istvan Csomortani 884973fdbb util_dacfifo: Cosmetic changes 2015-09-25 17:41:44 +03:00
Adrian Costina 2816812e0a axi_ad9625: Updated constraints and added adc reset port 2015-09-25 17:16:31 +03:00
Adrian Costina 37a4e976d6 axi_ad6676: Updated constraints 2015-09-25 17:02:42 +03:00
Adrian Costina 061f468fb1 axi_ad9250: Update library
- added adc reset port
- addded common constraints
2015-09-24 19:10:19 +03:00
Istvan Csomortani ebaebc54f7 axi_ad9680: Clock ratio is indicating a sampling clock ratio
The software can use this data to calculate the effective sampling clock, independent of the interface type.
2015-09-24 11:19:29 +03:00
Istvan Csomortani 9ad59c58db axi_ad9234: Clock ratio is indicating a sampling clock ratio
The software can use this data to calculate the effective sampling clock, independent of the interface type.
2015-09-24 11:19:18 +03:00
Istvan Csomortani 0b08250261 axi_ad9152: Clock ratio is indicating a sampling clock ratio
The software can use this data to calculate the effective sampling clock, independent of the interface type.
2015-09-24 11:19:08 +03:00
Istvan Csomortani 892755c084 axi_ad9144: Clock ratio is indicating a sampling clock ratio
The software can use this data to calculate the effective sampling clock, independent of the interface type.
2015-09-24 11:18:48 +03:00
Istvan Csomortani 5e082be963 axi_ad9680: Clock ratio is indicating a sampling clock ratio
The software can use this data to calculate the effective sampling clock, independent of the interface type.
2015-09-24 11:14:01 +03:00
Istvan Csomortani edb94ada8b axi_ad9234: Clock ratio is indicating a sampling clock ratio
The software can use this data to calculate the effective sampling clock, independent of the interface type.
2015-09-24 11:13:20 +03:00
Istvan Csomortani d45f49c062 axi_ad9152: Clock ratio is indicating a sampling clock ratio
The software can use this data to calculate the effective sampling clock, independent of the interface type.
2015-09-24 11:12:36 +03:00
Istvan Csomortani 0a4f43efea axi_ad9144: Clock ratio is indicating a sampling clock ratio
The software can use this data to calculate the effective sampling clock, independent of the interface type.
2015-09-24 11:11:29 +03:00
Istvan Csomortani 900db3d8ed util_wfifo: Fix reset related timing violation
The memory instance reset connected to ground, rather than connect to dout_rstn.
2015-09-23 16:36:33 +03:00
Istvan Csomortani 516c59523d util_wfifo: Cosmetic changes. 2015-09-23 16:36:31 +03:00
Istvan Csomortani 568333bbfc axi_dmac: Fix typo on ./bd/bd.tcl 2015-09-23 15:51:50 +03:00
Istvan Csomortani aa608e3907 axi_ad9467: Update constraints 2015-09-23 14:26:57 +03:00
Istvan Csomortani 0411ad2386 axi_ad9434: Update constraints 2015-09-23 14:26:55 +03:00
Istvan Csomortani ab8256cf92 ad_tdd_control: Redesign the state machine to prevent timing failure. 2015-09-22 10:33:50 +03:00
Lars-Peter Clausen cd93beb10f util_axis_fifo: Remove m_axis_addr_next output from the address modules
Remove m_axis_addr_next output from the address modules since it is no
longer used.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-21 17:58:01 +02:00
Lars-Peter Clausen 5c22e622de axi_dmac: Fix width for dest response FIFO
The width of the dest response FIFO is 1 bit not 3 bits.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-21 17:58:01 +02:00
Lars-Peter Clausen cfd57fc462 axi_dmac: Drive unused interface output ports with const value
Drive all output pins of the disabled interfaces with a constant value.
This avoids warnings from the tools about not driven output ports.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-21 17:58:01 +02:00
Lars-Peter Clausen fed14cf613 axi_dmac: Mark unused output ports explicitly as unconnected
Mark all unused output ports explicitly as explicitly. This makes it clear
that they are left unconnected on purpose and avoids warnings from the
tools about unconnected ports.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-21 17:58:01 +02:00
Lars-Peter Clausen a7f4b11624 axi_dmac: Beautify IPI GUI
Group the axi_dmac parameters by function and provide a human readable name
for the IPI GUI. This makes it easier to understand what parameter does
what when using the IPI GUI to configure the core.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-21 17:58:01 +02:00
Lars-Peter Clausen 5b5a4707d2 axi_dmac: Add validation values to IPI package
Add validation values for the different configuration parameters. This
enables the tools to check whether the configured value is valid and avoids
accidental misconfiguration.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-21 17:58:01 +02:00
Lars-Peter Clausen 104e49d515 axi_dmac: Remove unused address bits on AXI-Lite bus
The address width for the AXI-Lite configuration bus for the core is only
14 bit. Remove the upper unused bits from the public interface.

This allows infrastructure code to know about this and it might be able to
perform optimizations of the interconnect based on this.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-21 17:58:01 +02:00
Lars-Peter Clausen 89ceae3757 axi_dmac: Move m_axi_src interface clock and reset next to other signals
Move the clock and reset signals of the m_axi_src interface next to the
other signals in the module definition.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-18 15:28:24 +02:00
Lars-Peter Clausen 5aa11feb48 axi_dmac: Change BRAM REGCEB constraint to set_false_path
According to the documentation when using a BRAM block in SDP mode the
REGCEB pin is not used and should be connected to GND. The tools though
when inferring a BRAM connect REGCEB to the same signal REGCEA. This causes
issues with timing verification since the REGCEB pin is associated with the
write clock whereas the REGCEA pin is associated with the read clock.

Until this is fixed in the tools mark all paths to the REGCEB pin as false
paths.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-18 15:28:22 +02:00
Lars-Peter Clausen 4c51224696 axi_dmac: Configure AXI master bus properties according to core configuration
Configure the maximum burst size as well as the maximum number of active
requests on the AXI master interfaces according to the core configuration.
This allows connected slaves to know what kind of requests to expect and
allows them to configure themselves accordingly.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-18 15:27:19 +02:00
Lars-Peter Clausen 12fc6d1672 axi_dmac: Indicate that the core does not issue narrow AXI bursts
The axi_dmac core does not issue narrow AXI bursts. Indicate this by
setting the SUPPORTS_NARROW_BURST property to 0 on both AXI master
interfaces.

This allows connected slaves to know that they will not receive narrow
bursts, which allows them to disable support for it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-18 15:27:18 +02:00
Lars-Peter Clausen 5f307f862f axi_dmac: Use sane defaults for the AXI protocol type
The axi_dmac core generates requests which are both AXI3 and AXI4
compliant. This means it is possible to connect it to both a AXI3 or AXI4
slave port without needing a AXI protocol converter.  Unfortunately it is
not possible to declare a port as both AXI3 and AXI4 compliant, so the core
has the C_DMA_AXI_PROTCOL_SRC and C_DMA_AXI_PROTOCOL_DEST parameters, which
allow to configure the protocol type of the corresponding AXI master
interface. Currently the default is always AXI4.

But when being used on ZYNQ it is most likely that the AXI master interface
of the DMAC core ends up being connected to the AXI3, so change the default
to AXI3 if the core is instantiated in a ZYNQ design.

The default can still be overwritten by explicitly setting the
configuration property.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-18 15:27:17 +02:00
Lars-Peter Clausen f079b2193a axi_dmac: Add support for auto-detecting asynchronous clock configuration
Add support for querying the clock domains of the clock pins for the
axi_dmac controller. This allows the core to automatically figure out
whether its different parts run in different clock domains or not and setup
the configuration parameters accordingly.

Being able to auto-detect those configuration parameters makes the core
easier to use and also avoids accidental misconfiguration.

It is still possible to automatically overwrite the configuration
parameters by hand if necessary.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-18 15:27:15 +02:00
Lars-Peter Clausen 19f7d8500c adi_ip.tcl: Add support for adding bd files to a core
bd files can be used to automate certain tasks in IP integrator when the
core is instantiated. Add a helper command for adding such files to a core.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-18 15:27:14 +02:00