Changes between Initial Version and Version 1 of DosiFirmware


Ignore:
Timestamp:
Nov 8, 2013, 10:17:53 AM (9 years ago)
Author:
Eric Hazen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DosiFirmware

    v1 v1  
     1Back to [[Roblyer_dDOSI]]
     2
     3The DOSI system consists of:
     4
     5* One [http://ohm.bu.edu/~hazen/DataSheets/National/ADC12D1800RFRB.pdf ADC12D1800RFRB]
     6* Up to six [http://www.analog.com/en/rfif-components/direct-digital-synthesis-dds/ad9910/products/EVAL-AD9910/eb.html AD9910/eb]
     7* One [http://ohm.bu.edu/~hazen/Roblyer/AdapterBoardDescriptionV2.pdf Custom FPGA board]
     8
     9This page describes the firmware requirements for the custom FPGA board.  Referring to the first page of the FPGA board document, ADC data is received from the FPGA board continuously (once it is initialized) on four groups of 12 LVDS pairs, each at 450MHz DDR (900Mb/s).  There are a few LVDS control signals which may or may not be important (see ADC12D1800RFRB documentation above).  These signals are received by the main FPGA (U2) on the PCB.  Also connected to this FPGA is an SFP fiber transceiver which provides a Gigabit Ethernet (GbE) interface.
     10
     11A second FPGA (U1) provides control signals for all the DDS boards.  Four I/Os are routed between the two FPGAs to be used as a simple serial communications interface.  Both FPGAs are the same type, Xilinx Spartan-6LXT P/N XC6SLX45T-FGG484.
     12
     13The firmware may be developed in two phases.
     14
     15== Phase 1 Firmware ==
     16
     17''''General requirements'''
     18
     19* Provide GbE computer interface for control and readout (suggest use of IPBus).
     20* Receive DDR data from ADC and buffer in BRAM
     21
     22* Provide efficient GbE readout of buffered data
     23* Provide a serial interface to access registers on the DDS boards
     24* Provide a parallel interface to control other I/Os on DDS (PROFILE[[2:0]]
     25
     26The functions are partitioned as follows between the two FPGAs:
     27
     28''''U2 (Main FPGA)'''
     29
     30* GbE interface
     31* DDR data receiver and buffers
     32* Master for simple serial interface to U1
     33
     34''''U1 (Slave FPGA)'''
     35
     36* Slave for simple serial interface from U1
     37* For each of (6) DDS boards:
     38 * Serial interface to AD9910
     39 * Parallel interface for frequency setting
     40 * Control/readback of misc. control signals
     41
     42''''Memory'''
     43
     44* 4k samples on two channels.  Received as 4X 12-bit streams (two streams per ADC channel) so 1K DDR clocks per WF.
     45* 4k x 12 WF requires (4) 2k x 9 BRAMs, so 8 BRAMS needed per 2-channel capture cycle. 
     46* LX45T FPGA has 116 BRAMS.  Could store i.e. 12X capture cycles (96 BRAMs) and use remainder for IPBus buffering.
     47
     48''''Register Layout'''
     49
     50Present one capture cycle as 4k 32-bit words with two channels side-by-side in word
     51Operate as FIFO like DCC/AMC13 partitioned memory with "page advance" register to go to next waveform.
     52
     53
     54*
     55
     56===  Current Version  ===
     57
     58* [http://physics.bu.edu/~wusx/download/DOSI/ DOSI firmware]
     59