Skip to content

Chip to chip communication

Baktiiar Kukanov edited this page Apr 25, 2017 · 36 revisions

Introduction

We have Parallella and Liquit Router board, so we need to communicate Zynq (on Parallella) and Artix (LR) chips through GPIO's in order to access EMMC cards( which are placed on LR and connected to Artix FPGA) from Parallella side.

Implementation

Now as we see with 10 pins (5 LVDS) we couldn't make expected output/implementation. We can make simple design where we will transfer the signals of 1 eMMC controller (where it will be in SDR mode 4bit data bus and speed maybe just 10MB/s) which may not be needed in future, but this point will help us to see where we can go and how we can improve it.

Multiplexing rate 4:1 wires without LVDS: 1 wire SD_CLOCK + 1 wire RESET 1 lvds pair for output data 1 lvds pair for input data 2 lvds pair for TX/RX clock

To improve this simple design we may consider 2 ways:

1- We may require more LVDS

2- We may use some compressing techniques or something like this, this require some research on it (this option not promising effective solution)

Phases of eMMC HC SerDes:

  1. Test sending 1 eMMC HC's signals in SDR 4 bit mode (between parallella & LR)
  • Test simple loopback single line with Parallella (AXI GPIO) and LR(connect input&output with wire)
  • Test simple loopback single line with Parallella (OSERDES/ISERDES) and LR(connect input&output with wire)
  • Test simple loopback LVDS line with Parallella (PLL_base/OSERDES/ISERDES/OBUFDS/IBUFDS) and LR(connect input&output with IBUFDS/OBUFDS)
  • Test loopback on LVDS line with Parallella (PLL_base/OSERDES/ISERDES/OBUFDS/IBUFDS) and LR(IBUFDS/PLL_base/ISERDES/OSERDES/OBUFDS)
  • Test loopback for maximum speed on LVDS line with Parallella (PLL_base/OSERDES/ISERDES/OBUFDS/IBUFDS) and LR(IBUFDS/PLL_base/ISERDES/OSERDES/OBUFDS) -> working on 200Mhz in DDR mode with 8:1 serialization
  • Needed to send command line and sd_clock of eMMC
  • Needed to send data line of eMMC
  • Test and debug CMD line synchronization between the Parallella & LR's side of eMMC HC
    • SD clock and CMD line signals sync
    • ISERDES/OSERDES & CMD line output sync
    • eMMC connection pins signals test (Voltage, shortcut, etc)
  • Test and debug Data line synchronization between the Parallella & LR's side of eMMC HC
  • Put some identification mode where Artix board is present or not
  1. Know the limits of eMMC read/write performance, mining where we can minimize the eMMC HC signals
  • Maximum high speed -> 320 MHz on DDR mode of ISERDES/OSERDES 8:1 serialization
  • Needed to make some research how to synchronize the high speed with low speed (SerDes will work on high speed ~350Mhz and eMMC will work on 50Mhz), maybe using some FIFO's
  1. Make better eMMC LVDS communication where will be decided gaining storage space or performance
  2. In new design of LR increase the number of LVDS signals
  • The number of LVDS pairs increased into 7 pairs, where it 's 14 single line