Commit Graph

1843 Commits (610a2377305e54f650563812dd1de08667ba691d)

Author SHA1 Message Date
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