Commit Graph

1828 Commits (ab8256cf924bf1d6daa7b4f9807db22682a4b161)

Author SHA1 Message Date
Istvan Csomortani ab8256cf92 ad_tdd_control: Redesign the state machine to prevent timing failure. 2015-09-22 10:33:50 +03:00
Lars-Peter Clausen 052860cbc3 axi_dmac: Fix source pause signal
For the source controller use the pause signal that has been properly
transferred to the source clock domain rather than the pause signal from
the request clock domain.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-16 11:02:08 +02:00
Lars-Peter Clausen 5af371db6b axi_dmac: Generate per core instance constraint file
When having multiple DMA cores sharing the same constraint file Vivado
seems to apply the constraints from the first core to all the other cores
when re-running synthesis and implementation from within the Vivado GUI.

This causes wrong timing constraints if the DMA cores have different
configurations. To avoid this issue use a TTCL template that generates a
custom constraint file for each DMA core instance.

This also allows us to drop the asynchronous clock detection hack from the
constraint file and move it to the template and only generate the CDC
constraints if the clock domains are asynchronous.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-15 19:54:33 +02:00
Lars-Peter Clausen 522f30ce21 adi_ip.tcl: Add helper function to add TTCL files to a core
Add a helper function which allows to add TTCL templates files to a core.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-15 19:00:56 +02:00
Adrian Costina 7c896ba5f8 axi_ad9361: Fixed constraints definition 2015-09-14 18:20:30 +03:00
Lars-Peter Clausen c00a6af4db usdrx1: Add DDR FIFO
The converters on the usdrx1 generate 2.5GB/s. This more than we can
transport over the HP interconnects to the system memory.

Add a dedicated DDR FIFO to design which can be used to buffer the data
before it is transferred to the main memory.

Also increase the interconnect clock rate from 100MHz to 200MHz and the DMA
FIFO size from 4 to 8, so we can transfer the captured data faster to the
main memory.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-01 11:21:45 +02:00
Lars-Peter Clausen b73430d7ee usdrx1: Add overflow flag to ILA
It's useful to know if and when a overflow happens.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-01 11:21:45 +02:00
Lars-Peter Clausen b7de542e26 usdrx1: Disable SYNC_TRANSFER_START for the DMA
There is no sync signal in this design, so the flag needs to be set to 0.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-09-01 11:21:45 +02:00
Lars-Peter Clausen 37c14e782d axi_dmac: Disable dummy AXI ports for Xilinx IPI
The memory mapped AXI interfaces for the AXI-DMAC are uni-directional.
Which means they are either write-only or read-only. Unfortunately the
Altera tools can't handle this, so we had to add dummy signals for the
other direction.

The Xilinx tools on the other hand handle uni-directional AXI interfaces
and in fact IPI can do a better job and use less resources when creating
the AXI interconnects when it knows that the interface is uni-directional.
So always disable the dummy ports for the IPI package.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-08-20 18:12:10 +02:00
Paul Cercueil 114d48d4e1 axi_dmac: Fix a bug occuring on transfers < one beat
Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>
2015-08-19 10:23:06 +02:00
Adrian Costina f5de5ca487 usdrx1: Fixed jesd core parameters. Fixed synchronization mechanism 2015-08-19 10:12:24 +03:00
Istvan Csomortani 50d1a6dcca Merge branch 'master' into hdl_2015_r1 2015-08-17 10:45:05 +03:00
Istvan Csomortani 17b2a9f121 Merge branch 'master'
Merge master into release to sync the index files. The two changes are just mode changes. There aren't any functional changes in this commit!
2015-08-17 10:09:07 +03:00
Adrian Costina 4643dab62d Merge branch 'hdl_2015_r1'
Conflicts:
	projects/ad9671_fmc/common/ad9671_fmc_bd.tcl
	projects/ad9671_fmc/zc706/system_top.v
	projects/cftl_std/zed/system_project.tcl
	projects/motcon1_fmc/zed/system_project.tcl
	projects/motcon2_fmc/zed/system_project.tcl
	projects/motcon2_fmc/zed/system_top.v
2015-08-14 10:44:36 +03:00
Adrian Costina f08633c0d5 fmcomms2: Add GPIO to the c5soc project 2015-08-13 18:14:39 +03:00
Adrian Costina eaddde1ea4 README.md: Update to Quartus 15.0. Removed release candidate note 2015-08-13 11:55:23 +03:00
Adrian Costina ce26373e8a axi_ad9671: updated constraints to apply in all cases 2015-08-13 11:53:15 +03:00
Adrian Costina c200fc8019 usdrx1: Updated a5gt project to Quartus 15 2015-08-12 10:20:58 +03:00
Adrian Costina 0379279bd4 axi_ad9671: Fixed rx_sof pin name 2015-08-12 10:20:09 +03:00
Istvan Csomortani 489b31e929 ad9434_fmc: DMAC's destination clock must be more than or equal to adc_clk/4 (125 Mhz)
DMAC's destination clock set to 200Mhz
2015-08-10 18:00:24 +03:00
Adrian Costina afb9911b6e Makefiles: Updated makefiles 2015-08-06 19:50:50 +03:00
Istvan Csomortani 6104061d19 axi_ad9434: Fix the up interface for IO_DELAYs 2015-08-04 13:46:15 +03:00
Istvan Csomortani cfc4046821 fmcomms2: Add a synchronization interface for TDD mode.
Supported carrier are ZC706 and RFSOM.
The synchronization pulse is automatically generated by the master terminal, when TDD mode is enabled.
By default a terminal is slave, software must write  0x01 into TDD register 0x50.
2015-07-29 14:10:56 +03:00
Istvan Csomortani ed6bdf66bd axi_ad9361/tdd: Add new control signals to the TDD data flow control logic
Add tdd_gated_[tx/rx]_dmapath control bits to the TDD logic. With these control line, the user can choose between gated and free-running (like in FDD mode) data flow control.
2015-07-29 11:59:17 +03:00
Istvan Csomortani 05ba125694 ad_tdd_control: Connect the reset to all the flops 2015-07-29 11:56:40 +03:00
Adrian Costina 797d679c72 fmcomms2: Updated c5soc project with the latest cores. Tested with Quartus 15.0 2015-07-24 16:43:33 +03:00
Adrian Costina 623c3dc333 axi_ad9361: Updated altera core by including tdd related files. Removed deleted ports 2015-07-24 16:41:41 +03:00
Adrian Costina 816238bb6c fmcjesdadc:A5gt, decreased destination bus width for DMAs to 256. Increased DMA FIFO to 32
With lower buswidth, if all 4 channels are captured some samples are lost
With fifo size of 64, there are timing violations in the DMAC
With this configuration, 65536 samples could be captured from all 4 channels with no sample lost
Because of the DMAC destination bus is 256, the number of samples to be captured must be a multiple of 16, otherwise the system will freeze. This will be corrected in software
2015-07-24 15:31:19 +03:00
Adrian Costina 43946a54a4 axi_dmac: Added C_FIFO_SIZE parameter 2015-07-24 15:30:10 +03:00
Adrian Costina 3ea60bca5d fmcjesdadc1: a5gt, design working with quartus 15.0
- added cpack to the design
- removed 166 MHz clock as it is not needed. DMA destination is 512 bits
- removed clock bridge between DMA and DDR
2015-07-23 18:11:53 +03:00
Adrian Costina 3d1ffe7bd2 util_cpack: Added reset interface 2015-07-23 17:01:53 +03:00
Adrian Costina f7d28e0944 axi_dmac: Removed unneded constraints, as FMCJESDADC1 doesn't work correctly with them 2015-07-23 17:01:02 +03:00
Adrian Costina 41e9a34886 axi_ad9250: Changed Altera interface specification to be compatible with upack 2015-07-23 16:59:57 +03:00
Istvan Csomortani b325c0fc01 fmcomms2_zc702: Add SPI and GPIO interface for FREQCVT 2015-07-22 10:22:07 +03:00
Istvan Csomortani 3b3fe4e642 fmcomms2/FREQCVT : Update GPIOs
Add gpio_muxout_[tx/rx] GPIO lines and update SPI interface I/Os for the FREQCVT board
2015-07-15 15:34:45 +03:00
Adrian Costina a37932d881 fmcadc4: Changed the SPI CS address similar to previous version 2015-07-14 11:11:33 +03:00
Adrian Costina 30ea87e60b fmcadc4: Set explicit PCORE_ID for AD9680 2015-07-09 19:55:58 +03:00
Adrian Costina c972779217 motcon2_fmc: updated util_gmii_to_rgmii and motcon2_fmc project for improved performance of the ethernet
- removed the delay controller from the top file and added it inside the util_gmii_to_rgmii core
- removed delay related xdc constraints as they are not needed
2015-07-08 16:23:33 +03:00
Lars-Peter Clausen 5b2877b66f imageon_loopback: Use BUFIO for the HDMI clock buffer
Since we are just doing a loopback all the logic is contained within the
IO bank. By using a BUFIO instead of a BUFG we avoid having to route the
clock signal from the IO bank to the middle of the FPGA and back to the IO
bank. This reduces the skew between clock and the data signals and makes
sure that the we can use the same design over a range of different
resolutions without having to calibrate the delay.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-07-03 15:06:03 +02:00
Lars-Peter Clausen f5fc3a4d2f imageon_loopback: Invert transmit clock
The ADV7511 samples on the rising edge. Update the data on the falling
edge, this gives us a larger margin and improved signal stability.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-07-03 15:06:03 +02:00
Lars-Peter Clausen 10cc007c57 imageon_loopback: Create a clock for hdmi_rx_clock
Create a clock for the HDMI clock to make sure that the timing paths are
properly constraint.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-07-03 15:06:03 +02:00
Istvan Csomortani 32ae7c771a fmcomms2_ALL: Add/fix ENABLE/TXNRX control
Add ENABLE/TXNRX control for TDD, and preserve backward compatibility for pin control with GPIOs
2015-07-03 12:55:37 +03:00
Istvan Csomortani 5208ebedd5 Revert "fmcomms2_ALL: Preserve backward compatibility for ENABLE/TXNRX control"
This reverts commit 6b15704b70.
2015-07-03 10:20:50 +03:00
Lars-Peter Clausen 88f936cc86 imageon: Put HDMI input/output FF into the IOB
This gives us predictable delays as well as very small skew between the induvidual data lines.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-07-02 18:36:51 +02:00
Lars-Peter Clausen 94d1792aba Revert "imageon: Connect raw data to ILA"
This reverts commit 9e4fb2d048.

This conflicts with moving the capture FF into the IOB.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-07-02 18:36:51 +02:00
Adrian Costina 04527f8b18 axi_mc_current_monitor: updated ad7401 driver to send unsigned data 2015-07-02 14:21:26 +03:00
Lars-Peter Clausen 3c6d19d33d axi_hdmi_tx_es: Drop strange port initializers
Those were added by mistake. It does not seem to be legal Verilog, but for
some reason Vivado accepts it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-07-01 18:43:51 +02:00
Lars-Peter Clausen 26b0ff9853 axi_hdmi_tx: Don't accidentally send control characters in embedded sync mode
ffff and 0000 are always reserved control characters when using embedded
syncs. So make sure that we never have them in the pixel data, even when
running in full-range mode.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-07-01 18:43:51 +02:00
Lars-Peter Clausen 6aee17da83 axi_hdmi_tx: Add control to bypass chroma sub-sampler
Add a control bit to the register map that allows to bypass the chroma
sub-sampler in the axi_hdmi_tx core. This is primarily interned to be used
to send the test-pattern directly to the HDMI transmitter without modifying
it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-07-01 18:43:51 +02:00
Lars-Peter Clausen 68cb6df366 imageon: Connect raw data to ILA
Connect the raw HDMI data as generated by the ADV7604 to the ILA. For
debugging it is quite useful to be able to compare the data before and
after conversion pipeline.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2015-07-01 18:43:51 +02:00