Commit Graph

513 Commits (a8d4c916c1d29d69b80b5abea698b7b667397f69)

Author SHA1 Message Date
Lars-Peter Clausen dfc22fc7de axi_i2s_adi: Overhaul CDC
* Generate a separate synchronous reset for the data clock domain.
* Add missing stage to toggle synchronizers.
* Give a common prefix to CDC elements and add the proper constraints to the
  XDC file
* Remove some unnecessary resets

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-16 17:48:28 +02:00
Lars-Peter Clausen 8289262807 axi_spdif_tx: CDC overhaul
Use common prefix for CDC elements and add the proper constraints to the XDC
file. And add a missing stage to the toggle synchronizers.

Also drop a some unnecessary resets.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-16 17:48:28 +02:00
Lars-Peter Clausen 9183f2287a axi_spdif_tx: Use adi_ip_constraints
Use adi_ip_constraints to add the constraints file instead of open-coding
it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-16 17:48:28 +02:00
Lars-Peter Clausen bfd84edc46 adi_ip.tcl: adi_ip_constraints: Add support for VHDL projects
Match both xilinx_verilogsynthesis and xilinx_vhdlsynthesis when getting the
file group.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-16 17:48:28 +02:00
Lars-Peter Clausen 7c97e192f2 dma_fifo: Simplify FIFO WE condition
The only time we must not write to the FIFO is when it is full as this will
overwrite the first sample.  Under all other conditions it is ok to write
data. If that data is invalid it will be overwritten when valid arrives.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-16 17:48:22 +02:00
Adrian Costina 374f82e7de makefiles: The clean command for library won't remove the xml files, except for component.xml.
Updated also the dmac dependencies
2015-04-16 11:53:27 +03:00
Lars-Peter Clausen 34aa0cfda2 Partially revert "axi_dmac: Set proper constraints"
This partially reverts commit f51c941c2d. The
commit accidentally removed the HDMI core constraints.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-16 10:01:19 +02:00
Lars-Peter Clausen f13666cd81 ad9361: axi_dmac_constr: Fix typo 2015-04-16 10:01:19 +02:00
Lars-Peter Clausen f51c941c2d axi_dmac: Set proper constraints
Instead of just marking all clock domains as asynchronous set the
appropriate constraints for each CDC path.

For single-bit synchronizers use set_false_path to not constraint the path
at at all.

For multi-bit synchronizers as used for gray counters use set_max_delay with
the source clock period domain to make sure that the signal skew will not
exceed one clock period. Otherwise one bit might overtake another and the
synchronizer no longer works correctly.

For multi-bit synchronizers implemented with hold registers use
set_max_delay with the target clock period to make sure that the skew does
not get to large, otherwise we might violate setup and hold time.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-15 17:20:26 +02:00
Lars-Peter Clausen b14721b8ae library: Use common prefix for CDC signal names
Use a common naming scheme for CDC signals to make it easier to create
constraints for them.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-15 17:20:22 +02:00
Lars-Peter Clausen c9206433b5 adi_ip.tcl: Allow to specify processing order for adi_ip_constraints
In order to be able to use get_clocks in a constraint file the constraint
file needs to run after the constraint file that creates the clock. Allow to
specify the processing order when adding a constraint file to a core.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-15 17:20:15 +02:00
Lars-Peter Clausen 24df683a2a axi_dmac: Disable src_response_fifo for now
The result of the src_response_fifo is currently not used so disable it for
now.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-15 17:20:12 +02:00
Lars-Peter Clausen 4062aa2860 util_axis_fifo: Fix reset signal
Some of the synchronizers were using the wrong reset signal, fix this.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-15 17:20:11 +02:00
Lars-Peter Clausen 762fa3290b util_axis_fifo: Add room and level outputs
Add a room output on the input side that reports how many free entries the
FIFO has and a level output on the output side that reports how many valid
entries are in the FIFO.

Note that the level output is only accurate if the output of the FIFO is not
registered, otherwise it might be off by one.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-15 17:20:09 +02:00
Lars-Peter Clausen ae4e7a0c37 util_axis_fifo: Add option to disable registered output
Add a option to specify whether the FIFO should have a registered output
stage or not. This is useful if the user wants to implement that stage
itself.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-15 17:20:08 +02:00
Lars-Peter Clausen f6594e276e Bring back AXIS FIFO as a separate module
Bring back the AXIS FIFO as a separate module instead of embedding it into
the DMAC module. This makes it possible to use it in other modules outside
of the DMAC.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-15 17:20:06 +02:00
Lars-Peter Clausen 8fc4b0630e util_axis_resize: Fix typo
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-15 17:20:04 +02:00
Rejeesh Kutty cb98e3e151 adcfifo: unused process 2015-04-13 13:31:50 -04:00
Adrian Costina 95e41e50a6 axi_dmac: Make all clocks asynchronous 2015-04-11 12:04:55 +03:00
Adrian Costina 7d22399860 util_axis_resize: Fixed makefile 2015-04-09 18:06:56 +03:00
Adrian Costina e9bd4b3512 axi_dmac: Updated altera core dependency, changed fifo files location 2015-04-09 17:58:21 +03:00
Adrian Costina 780455d68c Makefile: Updated makefiles. Added makefiles for altera 2015-04-09 17:57:06 +03:00
Istvan Csomortani b7d8e38c94 util_dacfifo: General update
+ Clean out the code, delete unnecessary flops
+ Add support for channel count (C_CH_CNT)
+ FIFO write (data from DMAC/upack) : valid just when xfer_req is asserted, address is free running, new xfer_req resets the address
+ FIFO read (data to DAC) : free running, reads to max address
2015-04-09 11:43:37 +03:00
Lars-Peter Clausen 668b8bda62 util_axis_resize: Add support for specifying the endianness
Add support for specifying whether the lsb of the larger bus are mapped to
the first or the last beat on the smaller bus.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-08 15:55:17 +02:00
Lars-Peter Clausen f1eb1c6064 util_axis_resize: Add support for non power-of-two ratios
Update the axi_repack core so it can handle non power-of-two ratios between
the input and output stream width. The ratio still needs to be a integer
though.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-08 15:55:17 +02:00
Lars-Peter Clausen b6458f9aab axi_dmac: Move axi_repack block to its own module
Move the axi_repack block to its own module. This allows it to use it
outside of the DMA controller.

Also rename it to util_axis_resize to better reflect its function.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-08 15:55:17 +02:00
Lars-Peter Clausen 8a47d0f94b adi_ip: Add helper function to add dependency to a IP core
Add a helper function that allows to add dependencies to IP cores to the
current IP core, this makes it possible to use a module from the other IP
without having to add the file itself to the current core.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-08 15:52:41 +02:00
Lars-Peter Clausen 88abf98bd6 adi_env.tcl: Make default ad_hdl_dir path detection more robust
Instead of using a path relative to the current working directory use a path
relative to the location of the adi_env.tcl script.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-08 14:43:56 +02:00
Lars-Peter Clausen bdaad46704 axi_dmac: Remove up_write signal
up_write is just an alias for up_wreq these days. Just always use the later
and remove the former.
2015-04-08 14:43:56 +02:00
Lars-Peter Clausen 98609527e3 axi_i2s: Add I2S interface definition
Using interface definitions makes it possible to group pins of a peripheral
into a interface pins. This allows us to use connect_bd_intf_net to connect
all pins of the interface instead of having to manually call connect_bd_net
for each for the pins.

Using interface pins also unclutters the connections in the Vivado block
design view a bit.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-08 13:29:25 +02:00
Lars-Peter Clausen 86e6f67d4b util_i2c_mixer: Add I2C interface
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-08 13:29:25 +02:00
Lars-Peter Clausen fa696adc98 util_dac_unpack: Add fifo_wr interface
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-08 13:29:25 +02:00
Lars-Peter Clausen 978f41cbe8 util_adc_pack: Add fifo_wr interface
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-08 13:29:25 +02:00
Lars-Peter Clausen 6ba0667939 axi_dmac: Add fifo_wr/fifo_rd interfaces
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-08 13:29:25 +02:00
Lars-Peter Clausen c82b186610 Add interface definitions for the fifo_rd and fifo_wr interfaces
Using interface definitions makes it possible to group pins of a peripheral
into a interface pins. This allows us to use connect_bd_intf_net to connect
all pins of the interface instead of having to manually call connect_bd_net
for each for the pins.

Using interface pins also unclutters the connections in the Vivado block
design view a bit.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-08 13:29:25 +02:00
Lars-Peter Clausen 11cc18be79 adi_ip.tcl: Initialize ip_repo_paths
Initialize ip_repo_paths so that when building a peripheral we have access to the interface definitions stored in the repository.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-08 13:29:25 +02:00
Lars-Peter Clausen d17cd22ef1 adi_ip.tcl: Allow to directly specify the vlnv string for adi_add_bus()
Modify the adi_add_bus() function to take the full vlnv strings instead of just the bus type.

This makes the function more flexible and e.g. allows to handle buses from other vendors.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-04-08 13:29:25 +02:00
Rejeesh Kutty 0d0c15df98 axi_adcfifo: fix file names 2015-04-07 16:40:52 -04:00
Rejeesh Kutty 5f8e9a74ea makefile: updated 2015-04-07 16:32:01 -04:00
Rejeesh Kutty 922ea7fb34 util_sync_reset: removed 2015-04-07 16:28:05 -04:00
Rejeesh Kutty 6d0a2bf64c axi_adcfifo: added 2015-04-07 16:21:39 -04:00
Rejeesh Kutty e73e563a02 util_adcfifo_axi: removed 2015-04-07 16:16:51 -04:00
Rejeesh Kutty 712becd57f adcfifo: axi version 2015-04-07 16:16:17 -04:00
Rejeesh Kutty 4f7f109056 util_adcfifo: added 2015-04-07 16:08:38 -04:00
Rejeesh Kutty dfaa6f6571 fifo2s: removed 2015-04-07 16:01:36 -04:00
Rejeesh Kutty 3c316efbc5 fifo2dac: removed 2015-04-07 16:01:21 -04:00
Rejeesh Kutty 69cadd46ed adcfifo_axi: added 2015-04-07 16:00:47 -04:00
Rejeesh Kutty 056d6bbf40 dacfifo: added 2015-04-07 15:55:29 -04:00
Rejeesh Kutty 99c124e708 fifo2f: removed 2015-04-07 15:53:22 -04:00
Rejeesh Kutty 9098e3ebca fifo: removed 2015-04-07 15:52:31 -04:00
Rejeesh Kutty 86a70b3054 adcfifo: added 2015-04-07 15:43:02 -04:00
Rejeesh Kutty 7224ca1f0c dma: moved 2015-04-07 15:35:47 -04:00
Istvan Csomortani 9fa3131858 axi_fifo2dac: Initial commit
BRAM fifo for high speed DACs
2015-04-07 17:46:36 +03:00
Adrian Costina de2c3764d6 util_upack: Updated IP, added upack_valid and dma_xfer_in/dac_xfer_out ports. 2015-04-07 16:55:25 +03:00
Rejeesh Kutty 8af60576cd dma: constraints 2015-04-06 13:38:31 -04:00
Adrian Costina f79a152958 Makefiles: updated all makefiles adding clean functionality 2015-04-03 11:57:54 +03:00
Rejeesh Kutty ba2e635918 makefile: added 2015-04-01 16:28:20 -04:00
Rejeesh Kutty 2f41aebaa9 makefile: added 2015-04-01 16:28:19 -04:00
Rejeesh Kutty a5f937a96d makefile: added 2015-04-01 16:28:18 -04:00
Rejeesh Kutty 8b09fedae9 makefile: added 2015-04-01 16:28:16 -04:00
Rejeesh Kutty 64601272da makefile: added 2015-04-01 16:28:15 -04:00
Rejeesh Kutty e0c7ad802a makefile: added 2015-04-01 16:28:14 -04:00
Rejeesh Kutty b0db485e0d makefile: added 2015-04-01 16:28:13 -04:00
Rejeesh Kutty a10c7a4245 makefile: added 2015-04-01 16:28:11 -04:00
Rejeesh Kutty afb7115b2f makefile: added 2015-04-01 16:28:10 -04:00
Rejeesh Kutty 90298816e4 makefile: added 2015-04-01 16:28:09 -04:00
Rejeesh Kutty 96c81013ac makefile: added 2015-04-01 16:28:08 -04:00
Rejeesh Kutty 20280fecbe makefile: added 2015-04-01 16:28:06 -04:00
Rejeesh Kutty 8ec8c966b1 makefile: added 2015-04-01 16:28:05 -04:00
Rejeesh Kutty 63efcbf4ca makefile: added 2015-04-01 16:28:04 -04:00
Rejeesh Kutty 1d3129a600 makefile: added 2015-04-01 16:28:03 -04:00
Rejeesh Kutty 00411a53da makefile: added 2015-04-01 16:28:01 -04:00
Rejeesh Kutty 15c25ac45b makefile: added 2015-04-01 16:28:00 -04:00
Rejeesh Kutty a63d4ae65c makefile: added 2015-04-01 16:27:59 -04:00
Rejeesh Kutty 4222b35292 makefile: added 2015-04-01 16:27:58 -04:00
Rejeesh Kutty 9ced8643c6 makefile: added 2015-04-01 16:27:56 -04:00
Rejeesh Kutty 109a38e0e8 makefile: added 2015-04-01 16:27:55 -04:00
Rejeesh Kutty 871460016d makefile: added 2015-04-01 16:27:54 -04:00
Rejeesh Kutty c0a4c6e046 makefile: added 2015-04-01 16:27:52 -04:00
Rejeesh Kutty 5a5ffb7745 makefile: added 2015-04-01 16:27:51 -04:00
Rejeesh Kutty 54ee0a0273 makefile: added 2015-04-01 16:27:50 -04:00
Rejeesh Kutty 3dbbb4e5bb makefile: added 2015-04-01 16:27:49 -04:00
Rejeesh Kutty 566e8d7fd3 makefile: added 2015-04-01 16:27:47 -04:00
Rejeesh Kutty 500f71af2f makefile: added 2015-04-01 16:27:46 -04:00
Rejeesh Kutty 4e7538fc8b makefile: added 2015-04-01 16:27:45 -04:00
Rejeesh Kutty 13a40af558 makefile: added 2015-04-01 16:27:44 -04:00
Rejeesh Kutty 36b629dab1 makefile: added 2015-04-01 16:27:42 -04:00
Rejeesh Kutty 856220e9e9 makefile: added 2015-04-01 16:27:41 -04:00
Rejeesh Kutty 43f5025ecd makefile: added 2015-04-01 16:27:40 -04:00
Rejeesh Kutty 5b18d12c23 makefile: added 2015-04-01 16:27:39 -04:00
Rejeesh Kutty f20ab424f7 makefile: added 2015-04-01 16:27:37 -04:00
Rejeesh Kutty 4ab17615ce makefile: added 2015-04-01 16:27:36 -04:00
Rejeesh Kutty 234d4ae7f3 makefile: added 2015-04-01 16:27:35 -04:00
Rejeesh Kutty 55406b7a61 makefile: added 2015-04-01 16:27:34 -04:00
Rejeesh Kutty 6cff03390c makefile: added 2015-04-01 16:27:32 -04:00
Rejeesh Kutty a97fc603f8 makefile: added 2015-04-01 16:27:31 -04:00
Rejeesh Kutty 35205c43a1 makefile: added 2015-04-01 16:27:30 -04:00
Rejeesh Kutty 1b5737968a makefile: added 2015-04-01 16:27:29 -04:00
Rejeesh Kutty 6ac43fe516 makefile: added 2015-04-01 16:27:27 -04:00
Rejeesh Kutty c2e626d0b6 axi_hdmi_tx: es split 2015-04-01 15:08:24 -04:00