Commit Graph

2454 Commits (3192807f2220113e881b8df7baa38512e21eb0ff)

Author SHA1 Message Date
Istvan Csomortani 75d1379618 axi_laser_driver: Initial commit
The laser driver contains the axi_pulse_gen's IP and an additional
register map which controls/monitor the laser driver enable control line
and the over temperature warning line (OTW).

It also contains an interrupt logic, which allows to generate an
interrupt in function of the generated pulse or incoming OTW signal.

The IPs register maps looks as follow:

0x00 - axi_pulse_gen register map
0x80 - axi_laser_driver register map
  0x80 - DRIVER_ENABLE
  0x84 - DRIVER_OTW
  0x88 - EXT_CLK_COUNTER
  0xA0 - IRQ_MASK
  0xA4 - IRQ_SOURCE
  0xA8 - IRQ_PENDING
  0xAC - SEQUENCER_CONTROL
         0 - SEQUENCER_ENABLE
         1 - AUTO_SEQUENCER_ENABLED
  0xB0 - SEQUENCER_SYNC_OFFSET
  0xB4 - AUTO_SEQUENCE
         [ 1: 0] - CHANNEL_SEL_0
         [ 5: 4] - CHANNEL_SEL_1
         [ 9: 8] - CHANNEL_SEL_2
         [13:12] - CHANNEL_SEL_3
  0xB8 - MANUAL_SEQUENCE
         [ 1: 0] - MANUAL_CHANNEL_SEL

Current interrupt sources scheme is:
    - bit 0 : pulse (triggered by the level of the pulse)
    - bit 1 : OTW_N enter (triggered by positive edge of the OTW_N)
    - bit 2 : OTW_N exit (triggered by the level of the pulse)

Generate a reset signal before the pulse which can be used to reset
various IP's of the data path (eg. pack/cpack). This can help to clear out the
internal buffers and registers of these IP, starting clean at the moment when
the actual pulse arrives.

The sequencer has an auto and a manual mode, and can be set to custom
sequences of the TIA channel selection lines sate.

The sequencer in auto mode is synchronized to the pulse, it will change
its state before a generated pulse which will drive the lasers. The
offset between the sequencer beat and the laser driver pulse can be
modified through an AXI register.
2019-08-08 14:26:07 +03:00
Istvan Csomortani d4200aee9a axi_pulse_gen_regmap: Rename the clk output to clk_out 2019-08-08 14:26:07 +03:00
Istvan Csomortani f1403aa593 axi_pulse_gen: Update constraint file
- add missing false paths
 - change the bus skew constraint to a false path, for some reason the
   tool does not change the path's requirement after a set_bus_skew
   constraint
2019-08-08 14:26:07 +03:00
Istvan Csomortani 3a7d0698a8 axi_pulse_gen: Registers should be placed at front of the register space
Because this register map will be integrated into other IPs too, make
sure that the registers are places in the absolute front of the register
space.
2019-08-08 14:26:07 +03:00
Istvan Csomortani 723f5cddfc util_pulse_gen: Expose the internal counter
Expose the internal counter so we can synchronize external signals to,
or relative to, the generated pulse.
2019-08-08 14:26:07 +03:00
Istvan Csomortani 544e2b8ad0 util_pulse_gen: Pulse should not be generated if module is in reset 2019-08-08 14:26:07 +03:00
Istvan Csomortani 75e4c844ba util_pulse_gen: Optimise design in order to improve timing 2019-08-08 14:26:07 +03:00
Arpadi 0680e44330 system_id: deployed ip 2019-08-06 16:53:11 +03:00
Sergiu Arpadi 4fe5f007cb system_id: added axi_sysid ip core and tcl 2019-08-06 16:53:11 +03:00
Arpadi ab3d43be71 up_axi.v: fixed bus width definition
fixed axi_dma_regmap.v bus width missmatch
2019-08-06 13:45:54 +03:00
Adrian Costina f2d2092297 axi_dacfifo: Add don't touch for the constraints to apply 2019-08-01 18:15:45 +03:00
AndreiGrozav c3739b1f30 Fix copy-paste typo in *_ip.tcl
- axi_ad9162
- axi_ad9434
- axi_ad9625
- axi_hdmi_tx
2019-07-29 15:37:30 +03:00
Arpadi fe09acaa2f up_axi_update: ADDRESS_WIDTH parameter is now a localparam
ADDRESS_WIDTH is now AXI_ADDRESS_WIDTH - 2;
up_axi instantiations will set AXI_ADDRESS_WIDTH instead of ADDRESS_WIDTH;
2019-07-26 11:58:58 +03:00
Istvan Csomortani fa610d36c6 ad_ghdl_dir: Fix global variable name
In #PR318 the global variable $ad_phdl_dir name were changed to
$ad_ghdl_dir.
2019-07-23 10:29:37 +01:00
Istvan Csomortani 6a721c0bf0 adi_env: Update system level environment variable definition
Our internal repository was changed from phdl to ghdl. Update the
adi_env.tcl scripts and other scripts, which depends on the $ad_ghdl_dir
variable. This way the tools will see all the internal IPs too.
2019-07-22 11:00:45 +03:00
Istvan Csomortani 3031ec3bdd adi_jesd204: Move some leftover files to intel directory
These file were left in the old library directory, move them to the new
library/intel directory.
2019-07-10 10:57:12 +01:00
Laszlo Nagy 1f1b2b4fa3 axi_dmac:axi_dmac_ip: Fix AXI Stream signals bundle
The unused AXI stream signals have to be added to the AXIS interface so
they don't hang loose on the IP in the block design.
2019-07-08 16:08:06 +03:00
Istvan Csomortani bb8912b766 axi_hdmi_tx: Update parameter name 2019-06-29 06:53:51 +03:00
Istvan Csomortani 76620bc890 avl_adxcvr: Rename variables with alt_* pre-fix
- alt_sys_clk -> sys_clk
  - alt_xcvr_rst -> xcvr_rst
  - alt_ref_clk -> ref_clk
  - alt_fpll_rst_cntrol -> fpll_rst_control
  - alt_core_pll -> core_pll
  - alt_core_clk -> core_clk
  - alt_rst_cntrol -> rst_control
  - alt_lane_pll -> lane_pll
  - alt_ip -> jesd204_ip
  - alt_xphy -> avl_xphy
  - alt_phy_* -> phy_*
2019-06-29 06:53:51 +03:00
Istvan Csomortani 6a42f54b1e axi_ad9361/intel: Rename varibles with alt_* pre-fix 2019-06-29 06:53:51 +03:00
Istvan Csomortani 0f7a3b953a scripts/adi_ip_intel: Rename the ad_alt_intf to ad_interface 2019-06-29 06:53:51 +03:00
Istvan Csomortani 04ce10a570 cosmetics: Change Altera to Intel in comments 2019-06-29 06:53:51 +03:00
Istvan Csomortani 2f0dbe6151 intel_mem_asym: Rename the alt_mem_asym to intel_mem_asym 2019-06-29 06:53:51 +03:00
Istvan Csomortani 1e074726db intel_serde: Rename alt_serdes to intel_serdes 2019-06-29 06:53:51 +03:00
Istvan Csomortani b0fbe1bb57 util_clkdiv: Seperate the IP source into an intel and xilinx version 2019-06-29 06:53:51 +03:00
Istvan Csomortani 84bd50d437 alt_ifconv: Remove unused IP 2019-06-29 06:53:51 +03:00
Istvan Csomortani d5e5fcf17a alt_mul: Remove unused IP 2019-06-29 06:53:51 +03:00
Istvan Csomortani 5329458a62 library/scripts: Rename adi_ip_alt.tcl to adi_ip_intel.tcl 2019-06-29 06:53:51 +03:00
Istvan Csomortani 363494ab9c library/scripts: Rename adi_ip.tcl to adi_ip_xilinx.tcl 2019-06-29 06:53:51 +03:00
Istvan Csomortani 79b6ba29ce all: Rename altera to intel 2019-06-29 06:53:51 +03:00
Istvan Csomortani d79fa179a3 spi_engine: Fix sync_bit instances 2019-06-28 11:18:29 +03:00
Sergiu Arpadi ba4a915af0 ad40xx/zed: fixed system_bd
spi_engine_execution: fixed sdo default
2019-06-28 11:18:29 +03:00
Istvan Csomortani 42b14f341a axi_spi_engine: Generate false paths only on ASYNC_CLK mode 2019-06-28 11:18:29 +03:00
Istvan Csomortani f4de1fecdc spi_engine_execution: Add an additional register stage for the physical SPI
The main reason is to improve timing when the SPI clock is more than
50 MHz. (the SPI Engine's spi_clk is more than 100MHz)
2019-06-28 11:18:29 +03:00
Istvan Csomortani 77ffa1f8ac util_dec256sinc24b: Fix the accumulator
Do a similar fix as for the decimation stage. (ab2788)
2019-06-28 11:18:29 +03:00
Istvan Csomortani 158b018f58 spi_execution: Improve timing by defining resets for the shift registers 2019-06-28 11:18:29 +03:00
Istvan Csomortani d802ece39e spi_engine: Reindent execution module source code 2019-06-28 11:18:29 +03:00
Istvan Csomortani 9ab88f1200 ad40xx: Initial commit 2019-06-28 11:18:29 +03:00
Istvan Csomortani 94f8d1b424 util_axis_upscale: Sign extension must be done separately for each channel 2019-06-28 11:18:29 +03:00
Istvan Csomortani 5f8269da03 spi_egine: Add a new register for dynamic transfer length configuration 2019-06-28 11:18:29 +03:00
Istvan Csomortani 40fbb37d6f spi_engine: Add additional synchronization FIFO's to axi_spi_engine
Add additional synchronization FIFOs to several interfaces of the
axi_spi_engine module, to prevent metastability and timing issues in
case when the system clock and the SPI clock are asynchronous.
2019-06-28 11:18:29 +03:00
Istvan Csomortani 91801bfe0d spi_engine: Update the ad_rst instance 2019-06-28 11:18:29 +03:00
Istvan Csomortani 68c1f92066 spi_engine: Add a CDC fifo for the SYNC interface too 2019-06-28 11:18:29 +03:00
Istvan Csomortani a19f6197cc spi_engine: Fix indentation of axi_spi_engine.v 2019-06-28 11:18:29 +03:00
Istvan Csomortani b81c8373e5 spi_engine: In read only mode SDO line should stay in its default level 2019-06-28 11:18:29 +03:00
Istvan Csomortani 85bbf95c57 spi_engine/offload: SDI_READY should be asserted while offload is inactive 2019-06-28 11:18:29 +03:00
Istvan Csomortani 746f457ef9 spi_engine: Software reset should reset the offload control registers too 2019-06-28 11:18:29 +03:00
Istvan Csomortani 19655b8092 spi_engine: Define SDO default state
There are devices where the SDO default state, between transactions, is
not GND, rather VCC.

Define a parameter, which can be used to set the default state of the
SDO line.
2019-06-28 11:18:29 +03:00
Istvan Csomortani 45a08a004d spi_engine:execution: Set default SDI driver value for all ports 2019-06-28 11:18:29 +03:00
Istvan Csomortani 8fb6fb329e util_dec256sinc24b: Fix the differentiator
Move the subtraction outside of the always block. In this way we're not adding
an additional delay element on to the output of the differentiator,
which brakes the transfer function of the filter.
2019-06-28 11:18:29 +03:00
Istvan Csomortani a15afa6c03 util_dec256sinc24b: Avoid generated clock from logic
Do not use word_clk, create a clock enable signal instead.
2019-06-28 11:18:29 +03:00
Istvan Csomortani 59ce663479 util_dec256sinc24b: Fix resets 2019-06-28 11:18:29 +03:00
Istvan Csomortani 6668accc96 ad7405 : Initial commit
This project is an inital version of the ADuM7701 (CMOS) or AD7405 (LVDS)
reference board.
2019-06-28 11:18:29 +03:00
Istvan Csomortani 65fea6c4c0 ad_ip_jesd204_tpl_dac: Fix up_axi instantiation
This patch will fix the following warning:

[Synth 8-689] width (16) of port connection 'up_axi_awaddr'
does not match port width (12) of module 'up_axi'
2019-06-27 13:47:00 +03:00
Laszlo Nagy acf6d618dd util_clkdiv: fix for multiple instances
Vivado propagates and auto derives the clocks, however if multiple
instances of this components are used the names of the propagated clock
change while the constraint file has fixed name which will match only
the clocks from the first instance letting the second instance of the
clock div without exception.
2019-06-27 10:33:51 +03:00
Laszlo Nagy fd6a395347 axi_fmcadc5_sync: rename generated spi clock
Rename the clock so it won't conflict with the main spi clock name.
2019-06-26 16:10:07 +03:00
AndreiGrozav 1c99fde06b axi_ad9361: Fix Intel interface - technology encoding update 2019-06-25 15:40:51 +03:00
AndreiGrozav 01081c93e8 axi_ad9361: Fix the interface for Intel devices
Use missing MIMO_ENABLE parameter, which will insert
and additional de-skew logic to prevent timing issues coming from
the clock skew differences of two or multiple AD9361.
2019-06-25 15:40:51 +03:00
Adrian Costina 81bcf9f6fc util_adxcvr: Cleanup whitespaces for GTY4 instantiations 2019-06-25 15:35:49 +03:00
Sergiu Arpadi 369974f2e7 axi_fan_control: updated ip
fixed tacho evaluation bug; updated fsm;
2019-06-14 17:08:38 +03:00
Istvan Csomortani 92a0e8eb1e util_adcfifo: Fix SDC cosntraints 2019-06-13 10:59:43 +03:00
Istvan Csomortani 78b14f9803 axi_ad9625: Fix the interface instance
The axi_ad9625_if does not have a DELAY_REFCLK_FREQUENCY parameter.
2019-06-13 10:59:43 +03:00
Istvan Csomortani 20b0c92a1f iodelay: Expose the REFCLK_FREQUENCY parameter 2019-06-11 18:13:06 +03:00
Istvan Csomortani c4c87c7c7a axi_ad9361: Fix the _hw.tcl script
This will fix an error introduced by 48d2c9d3 "axi_ad9361: Define a MIMO enabled
parameter"
2019-06-11 12:39:20 +01:00
Istvan Csomortani 93b2254ff5 axi_ad9361: Fix for 'Define a MIMO enabled parameter' 2019-06-10 14:48:17 +01:00
Istvan Csomortani 48d2c9d36f axi_ad9361: Define a MIMO enabled parameter
Define a MIMO_ENABLE parameter for the core, which will insert
and additional de-skew logic to prevent timing issues coming from
the clock skew differences of two or multiple AD9361.
2019-06-10 15:16:47 +03:00
Istvan Csomortani 70b7d69ff8 whitespace: Delete all trailing white spaces 2019-06-07 10:20:15 +03:00
Laszlo Nagy 90f9b2c36a avl_dacfifo: add missing constraint 2019-06-06 11:45:05 +03:00
Istvan Csomortani 4d966500a8 adi_ip_alt.tcl: Add comments to all proc 2019-05-31 10:32:40 +03:00
Istvan Csomortani f2b3b7f493 adi_ip_alt.tcl: Delete deprecated procs 2019-05-31 10:32:40 +03:00
Istvan Csomortani 17afb4d9c5 adi_ip.tcl: Fix adi_add_multi_bus proc
The loop should iterate through the number of interfaces defined by the
$num attribute,
2019-05-31 10:32:40 +03:00
Istvan Csomortani bd43b565ce adi_ip.tcl: Add comments to all proc
Add doxygen support for all proc. Description of the used layout can be
find at http://www.doxygen.nl/manual/docblocks.html#tclblocks
2019-05-31 10:32:40 +03:00
Laszlo Nagy 70d7840c2b axi_fmcadc5_sync: define spi clock constraint
Create the spi clock based on input clock for the worst case scenario.
2019-05-30 14:55:11 +03:00
Istvan Csomortani 87bb76934f makefile: Update util_adcfifo 2019-05-29 10:23:24 +03:00
Istvan Csomortani ba36c9cd57 makefile: Add axi_fan_control to library 2019-05-29 10:23:24 +03:00
Istvan Csomortani 3f7f2f9c9f util_adcfifo: Fix the address generation and read logic 2019-05-28 08:48:16 +03:00
Laszlo Nagy 945d6910e7 axi_dmac: version bump for minor patches 2019-05-24 11:11:08 +03:00
Laszlo Nagy ae027d467e axi_dmac: clear measured transfer length when core disabled
When core is disabled it clears all its status registers. The transfer length
register should not fall out from this rule.
2019-05-24 11:11:08 +03:00
Laszlo Nagy 01a2bab978 axi_dmac: fix transfer length reporting cyclic mode
Let the measured transfer length to be cleared at the end of each
transfer, other case in cyclic mode the counter will overflow and will
not present any useful information.
2019-05-24 11:11:08 +03:00
Laszlo Nagy 42a7e87cb3 axi_dmac: patch xfer_request
Once xfer_request is set the DMA must accept samples in the same clock
cycle if the fifo_wr_en signal is asserted.

If the req_valid asserts faster than the ID gets synchronized over the
the xfer request asserts without being ready to accept data.
This can lead to overflow assertion when using a FIFO like interface.
2019-05-24 11:11:08 +03:00
Laszlo Nagy 6fae37504b axi_dmac: patch for partial transfers support
This patch addresses the following issue:

  In case of transfers with multiple segments, if TLAST asserts on the last
beat of a non-last segment while more descriptors are queued up,
the completions for the queued segments may be missed causing timeout in
processes that wait for transfer completions.
2019-05-24 11:11:08 +03:00
Laszlo Nagy 5e1100ee77 axi_dmac: patch for partial 2D transfer support
This patch addresses the following issue:

  In 2D mode when consecutive partial transfers occur, and the latter is
very short, will interfere with the completion mechanism of the first
transfer leading to uncompleted segments and unreported partial
transfers.
2019-05-24 11:11:08 +03:00
Adrian Costina a0d738e1a9 util_adxcvr: Add GTH parameters for line rate of 15Gbps 2019-05-24 11:05:36 +03:00
Laszlo Nagy 9832c87144 jesd204:tpl: add missing dependencies for Intel 2019-05-24 11:04:46 +03:00
Istvan Csomortani 157afcbc33 tb_base: Fix various test benches
The tb_base.v verilog files does not contain a full module definition,
just some plain test code. In general the files is sourced inside the
test bench main module. As is, defining a timescale in these files will
generate an error, because timescale directive can not be inside a
module.

Delete all the timescale directive from these files.
2019-05-17 11:20:48 +03:00
Laszlo Nagy b90c2e79dc jesd204_rx: add parameter for input pipeline stages
Pipeline stages must be implemented on register so placer can spread it
cross the device. Use the shreg_extract attribute to avoid SRL
inference.
2019-05-16 13:29:34 +03:00
Laszlo Nagy 96769c92bb util_upack2: bundle AXIS signals into bus for Intel 2019-05-16 13:27:19 +03:00
Laszlo Nagy 9273cde33f util_adcfifo/util_dacfifo: bundle AXIS signals into bus for Intel 2019-05-16 13:27:19 +03:00
Laszlo Nagy eedb2ce0f4 avl_dacfifo: bundle AXIS signals into bus 2019-05-16 13:27:19 +03:00
Laszlo Nagy dd952ddad1 axi_dmac: bundle AXI Stream signals into bus for Intel
Add signals that are optional by standard but required by the
axi4stream interface definition. Make them selectable by parameters.
2019-05-16 13:27:19 +03:00
Laszlo Nagy 7f16f823ff Revert "axi_dmac: add tlast to the axis interface for Intel"
This reverts commit e2c75c015f.
2019-05-16 13:27:19 +03:00
Laszlo Nagy 92d87c2d60 jesd204/scripts: fix indentation 2019-05-16 13:22:55 +03:00
Laszlo Nagy cf258ace83 jesd204/scripts: TPL add support for M=1
When only one converter is used there is no need for concatenation and
slicer cores. In that case the TPL will connect to port 0 from the
application layer.
2019-05-16 13:22:55 +03:00
Adrian Costina 168e1951ee library: Add `timescale to modules that are missing it 2019-05-15 15:37:44 +03:00
Laszlo Nagy f45408d6a9 util_adxcvr: Expose GTY4 parameters required for 15Gbps link
These parameters must be overwritten when the link is at 15Gbps.
The parameters have a GTY4_ prefix since the same parameters are shared
between GTY4 and GTH4 having different default values.
2019-05-09 15:33:15 +03:00
Laszlo Nagy 572089657a axi_dmac: infer interrupt line for Xilinx projects
The interrupt controller from Microblaze based projects requires that
all its inputs have attributes which define the sensitivity of the
interrupt line. Other case it defaults to EDGE_RISING which is not the
case for DMAC, leading to incorrect interrupt reporting and handling in
case of such projects.
2019-04-25 08:25:02 +03:00
Adrian Costina c32b4b02f3 sync_bits: Change I/O names of wires "in" and "out" for VHDL users 2019-04-23 18:03:23 +03:00
Laszlo Nagy 5b13e205b9 axi_mc_controller:axi_mc_current_monitor: define generated clocks in IP constraints file for better OOC integration 2019-04-22 10:27:16 +03:00
Laszlo Nagy 01748d4364 jesd204:axi_jesd204_tx: set OOC default clock constraints 2019-04-22 10:27:16 +03:00
Laszlo Nagy 4264a7a0dd jesd204:axi_jesd204_rx: set OOC default clock constraints 2019-04-22 10:27:16 +03:00
Laszlo Nagy 0cc07a20c8 util_clkdiv: set OOC default clock constraints 2019-04-22 10:27:16 +03:00
Laszlo Nagy e59e133663 util_dacfifo: set OOC default clock constraints
Out of Context constraints are needed for timing driven synthesis as for
avoiding critical warnings due clock queries.
The memory from the FIFO is inferred in different ways for high clock
speeds. Assume the highest frequency for all projects.
2019-04-22 10:27:16 +03:00
Laszlo Nagy dc78ee4982 axi_adc_decimate: fix dependencies 2019-04-22 10:27:16 +03:00
Istvan Csomortani dcdcbc9378 Revert "axi_dmac: assert xfer_request only when ready"
This reverts commit 9d6f3de448.
2019-04-18 16:15:55 +03:00
Sergiu Arpadi c7098a9d49 axi_fan_control: Initial commit 2019-04-15 13:06:37 +03:00
Istvan Csomortani 42d2738a30 axi/util_adxcvr: Add GTYE4 transceiver support 2019-04-12 16:19:54 +03:00
AndreiGrozav e1f0b301d3 Tools version upgrade
Vivado 2018.2 -> Vivado 2018.3
Quartus 18.0  -> Quartus 18.1
2019-04-12 10:48:50 +03:00
AndreiGrozav 23841478c6 Remove library/scripts/common_bd.tcl
Remove the script from the file list of the IPs that previously used it.
axi_clkgen: Add independent adi_auto_assign_device_spec proc
2019-04-09 16:07:14 +03:00
AndreiGrozav 7dcaaea04e library: Update scripts/adi_ad_ip.tcl and IPs
Fix library makefiles dep list using generic vendor info reg

Combine adi_int_bd_tcl with adi_auto_fill_bd_tcl procedure.
This change will simplify the process of generating makefiles for each library.
Removing the bd.tcl script from the adi_ip_files list will remove it from the
make dependency list.
2019-04-09 16:07:14 +03:00
Edward Kigwana 036dc92b55 up_axi: Remove dead code.
Signed-off-by: Edward Kigwana <ekigwana@scires.com>
2019-04-09 14:27:31 +03:00
AndreiGrozav 4ae5a6d3d8 library/IPs: Auto-generate bd.tcl Update
Remove all bd.tcl and respecting the previous commit, update *_ip.tcl to
auto-generate bd.tcl for:

  - axi_ad5766/axi_ad5766_ip.tcl
  - axi_ad6676/axi_ad6676_ip.tcl
  - axi_ad9122/axi_ad9122_ip.tcl
  - axi_ad9144/axi_ad9144_ip.tcl
  - axi_ad9152/axi_ad9152_ip.tcl
  - axi_ad9162/axi_ad9162_ip.tcl
  - axi_ad9250/axi_ad9250_ip.tcl
  - axi_ad9265/axi_ad9265_ip.tcl
  - axi_ad9361/axi_ad9361_ip.tcl
  - axi_ad9371/axi_ad9371_ip.tcl
  - axi_ad9434/axi_ad9434_ip.tcl
  - axi_ad9467/axi_ad9467_ip.tcl
  - axi_ad9625/axi_ad9625_ip.tcl
  - axi_ad9671/axi_ad9671_ip.tcl
  - axi_ad9680/axi_ad9680_ip.tcl
  - axi_ad9684/axi_ad9684_ip.tcl
  - axi_ad9739a/axi_ad9739a_ip.tcl
  - axi_ad9963/axi_ad9963_ip.tcl
  - axi_adrv9009/axi_adrv9009_ip.tcl
  - axi_fmcadc5_sync/axi_fmcadc5_sync_ip.tcl
  - axi_hdmi_tx/axi_hdmi_tx_ip.tcl
  - xilinx/axi_adxcvr/Makefile
  - xilinx/axi_adxcvr/axi_adxcvr_ip.tcl
  - xilinx/util_adxcvr/Makefile
  - xilinx/util_adxcvr/util_adxcvr_ip.tcl
2019-03-30 11:26:11 +02:00
AndreiGrozav 99412a503e library/scripts/*xilinx*: Auto-generate bd.tcl
Having a bd.tcl script in every IP is redundant.

adi_ip.tcl:
 - add adi_init_bd_tcl - creates a blanch bd.tcl and a
parameters temporary_case_dependencies.mk when compiling an IP.
Its main purpose is to generate the bd.tcl, which will be included in
the IP's file-set.
 - adi_auto_fill_bd_tcl will populate the empty bd.tcl based on the
top IP parameters and the presence of these parameters in
auto_set_param_list and auto_set_param_list_overwritable lists.
This task can not be performed by the first described procedure since
the file-set is not yet defined.

adi_xilinx_device_info_enc.tcl:
Split auto_set_param_list_overwritable from auto_set_param_list. As
the name states, some of the parameters are overwritable, this will help
when generating the bd.tcl script.

library.mk:
Include the temporary_case_dependencies.mk if it exists in the
IP root folder. The mentioned *.mk file contains non generic
dependencies for makefiles like targets to clean.
2019-03-30 11:26:11 +02:00
AndreiGrozav f4dda7f2d3 Remove unused script 2019-03-30 11:26:11 +02:00
AndreiGrozav f29e91a440 adi_intel_device_info_enc.tcl: Add all known intel supported packages 2019-03-30 11:26:11 +02:00
AndreiGrozav 7dcb2050c7 dev info parameter update: Increase pcore version 2019-03-30 11:26:11 +02:00
AndreiGrozav ceb08feee2 Add license header on tcl files 2019-03-30 11:26:11 +02:00
AndreiGrozav 66823682b6 Add FPGA info parameters flow
Common basic steps:
- Include/create infrastructure:

   * Intel:
       - require quartus::device package
       - set_module_property VALIDATION_CALLBACK info_param_validate

   * Xilinx
       - add bd.tcl, containing init{} procedure. The init procedure will be
         called when the IP will be instantiated into the block design.
       - add to the xilinx_blockdiagram file group the bd.tcl and common_bd.tcl
       - create GUI files

- add parameters in *_ip.tcl and *_hw.tcl (adi_add_auto_fpga_spec_params)
- add/propagate the info parameters through the IP verilog files

axi_clkgen
util_adxcvr
ad_ip_jesd204_tpl_adc
ad_ip_jesd204_tpl_dac
axi_ad5766
axi_ad6676
axi_ad9122
axi_ad9144
axi_ad9152
axi_ad9162
axi_ad9250
axi_ad9265
axi_ad9680
axi_ad9361
axi_ad9371
axi_adrv9009
axi_ad9739a
axi_ad9434
axi_ad9467
axi_ad9684
axi_ad9963
axi_ad9625
axi_ad9671
axi_hdmi_tx
axi_fmcadc5_sync
2019-03-30 11:26:11 +02:00
AndreiGrozav dffbbfd7d1 library/scripts: Add auto dev spec parameters
Xilinx:
When calling adi_auto_fpga_spec_params in the x_ip.tcl, parameters like
- FPGA_TECHNOLOGY
- FPGA_FAMILY
- SPEED_GRADE
- DEV_PACKAGE
- XCVR_TYPE
- FPGA_VOLTAGE
will be automatically detected and constrained to predefined pairs of values
from adi_xilinx_device_info_env.tcl

The parameters specified in the blobk diagram of the IP(bd.tcl), will be
automatically assign when the IP is added to a block design.

The "adi_auto_assign_device_spec $cellpath" is called in the init
hook (bd.tcl).
https://www.xilinx.com/products/technology/high-speed-serial.html

Intel:
Info parameters are set in the VALIDATION_CALLBACK according to
adi_intel_device_info_env.tcl
2019-03-30 11:26:11 +02:00
Adrian Costina 8340d4c89d axi_jesd204_common: Fix dependancies so that the IP can be generated Out Of Context 2019-03-21 15:36:57 +02:00
Istvan Csomortani 04af519af8 axi_adxcvr: Re-indent ports 2019-03-21 14:30:39 +02:00
Istvan Csomortani 845c369c6b axi_adcvr: Add initial value for reg port definition 2019-03-21 14:30:39 +02:00
Istvan Csomortani 8996044978 axi_adxcvr: Fix warning related to up_es_reset
Fix the following warning:

WARNING: [Synth 8-2611] redeclaration of ANSI port up_es_reset is not allowed

Also make sure, that in all configurations, the register has a diver.
2019-03-21 14:30:39 +02:00
Istvan Csomortani 59713f96ab util_tdd_sync: Fix util_pulse_gen instantiation 2019-03-21 07:28:18 +00:00
Istvan Csomortani a337774dfa ad_ip_jesd204_tpl_dac: Add 8 bit resolution support 2019-03-20 15:51:28 +02:00
Istvan Csomortani e3e96177c4 ad_ip_jesd204_tpl_adc: Add 8 bit resolution support
Add support for 8 bit resolution for the transport layer.

Fix parameter BITS_PER_SAMPLES propagation to all the internal modules, in
several cases this variable was hard coded to 16.
2019-03-20 15:51:28 +02:00
Istvan Csomortani ac4d78b95d ad_datafmt: Add support for 8 bit data width 2019-03-20 15:51:28 +02:00
sarpadi 2f68c546f1
Merge pull request #244 from analogdevicesinc/axi_i2s_adi_update
axi_i2s_adi: fixed xdc
2019-03-20 13:42:23 +02:00
Istvan Csomortani 0e7b38ebcf axi_pulse_gen: Initial commit
The axi_pulse_gen is a generic PWM generator, which can be configured
through an AXI Memory Mapped interface.

The current register map look like follows:

  0x00 - VERSION
  0x04 - ID
  0x08 - SCRATCH
  0x0C - IDENTIFICATION - 0x504c5347 which stands for 'PLSG' in ASCII
  0x10 - CONFIGURATION - contains reset and load bits
  0x14 - PULSE_PERIOD
  0x18 - PULSE_WIDTH

Also update all the other modules, which instantiate the util_pulse_gen.
2019-03-20 08:21:22 +00:00
Istvan Csomortani f15ed8475e util_pulse_gen: Change the counter to a down-counter
To prevent the case, when after an invalid configuration, the generated
output PWM signal is constant HIGH, change the counter to a
down-counter. In this way the pulse will be placed at the end of the
PWM period, and if the configured width value is higher than the
configured period the output signal will be constant LOW.
2019-03-20 08:21:08 +00:00
Istvan Csomortani 2d7b189ba3 util_pulse_gen: Add an input configuration port for pulse width attribute 2019-03-19 16:33:10 +00:00
Sergiu.Arpadi 0e333bf5ae axi_i2s_adi: fixed xdc
ip now sets the xdc to late so that the timing constraints are set in the correct context
2019-03-18 13:58:28 +00:00
Laszlo Nagy a3ce8c5ca6 axi_rd_wr_combiner: Add rlast to the AXI MM interface
The DMAC is relying on the rlast signal that marks the end of a burst.
2019-02-21 17:09:53 +02:00
Laszlo Nagy c10c4d4f5e up_dac_common: fix address decoding
Patch the typo introduced in a previous commit while attempting the
address space reduction.
2019-02-19 15:38:45 +02:00
AndreiGrozav 1c8172de7f axi_adc_trigger: Cosmetic update
Use localparam DW = 15 - SIGN_BITS
2019-02-18 13:39:24 +02:00
AndreiGrozav 44e20d095c axi_adc_trigger: Fix triggering jitter effect 2019-02-18 13:39:24 +02:00
AndreiGrozav 2ec578c216 axi_hdmi_tx: Update file sources for Intel designs 2019-02-12 10:43:46 +02:00
AndreiGrozav fae4d478d4 ad_csc: Generalize for CrYCB 2 RGB conversion 2019-02-12 10:43:46 +02:00
AndreiGrozav 74eacc2369 ad_csc(RGB2CrYCb): use signed multiplication. 2019-02-12 10:43:46 +02:00
AndreiGrozav 265781f29a axi_hdmi: Let the tools assign the csc resources
Write code to pipeline data path for better DSP utilization on the
color space conversion.
In the old method the addition operations were performed outside the
DSPs
2019-02-12 10:43:46 +02:00
Adrian Costina 47f7894881 util_adxcvr: Initial commit for QPLL1 support (GTH3 and GTH4) 2019-02-11 17:20:08 +02:00
Laszlo Nagy ca1ba6a6fe axi_ad9144/axi_ad9152: patch up_tpl_common dependency 2019-02-01 08:28:28 +00:00
Istvan Csomortani b2d86bab47 util_axis_fifo: Fix the FIFO level generation in ASYNC mode
The FIFO functions in 'first fall through' mode, adjust the fifo level
generation so it take into account the valid data which sits on the bus,
waiting for ready, too.
2019-01-29 11:38:28 +02:00
Laszlo Nagy b221718bfe jesd204:up_tpl_common: reduce and move address space
Limit the tpl register space to 128 locations mapped to 128-255 in the COMMON_ID segment.
2019-01-23 17:44:33 +02:00
Laszlo Nagy 93df754800 up_adc_common/up_dac_common: reduce address space to half
Limit the adc/dac common space to 128 registers mapped 0-127 in the COMMON_ID segment.
2019-01-23 17:44:33 +02:00
Laszlo Nagy cf593d5a40 jesd204_tpl: addresses cleanup
The TPL has an address space of 12 bits while the legacy subcomponents
have 16 bits. Update the module for a better readability.
2019-01-23 17:44:33 +02:00
Laszlo Nagy 560e9b9e52 jesd204_tpl: expose jesd parameters to software
This change will allow software to identify the available JESD framer/deframer
settings from the transport layer.
2019-01-23 17:44:33 +02:00
Laszlo Nagy c6c825c90a jesd204/tb: support for ModelSim and Xsim
Adding support for ModelSim and Vivado Xsim.

Usage:
  export SIMULATOR=modelsim
    or
  export SIMULATOR=xsim
2019-01-21 10:33:30 +02:00
Adrian Costina b052e40637 ad_ip_jesd204_tpl: Fix chanmax reporting for both ADC and DAC 2019-01-16 11:40:17 +02:00
Laszlo Nagy 3d7a376f8b Makefile: update makefiles 2018-12-21 17:32:48 +02:00
Laszlo Nagy a65bafb056 ad_ip_jesd204_tpl_dac: expose OCTETS_PER_BEAT parameter 2018-12-21 17:32:48 +02:00