Luis Garcia, Andres Cicuttin, Maria Liz Crespo, Kasun Sameera - - PowerPoint PPT Presentation

luis garcia andres cicuttin maria liz crespo kasun
SMART_READER_LITE
LIVE PREVIEW

Luis Garcia, Andres Cicuttin, Maria Liz Crespo, Kasun Sameera - - PowerPoint PPT Presentation

Desig sign for r Port rtabil ilit ity of f Reconfig igurable le In Instrumentatio ion Base sed on Programmable le Systems-on on-Chip ip Luis Garcia, Andres Cicuttin, Maria Liz Crespo, Kasun Sameera Manatunga, (ICTP,Italy) Rodrigo


slide-1
SLIDE 1

Desig

sign for r Port rtabil ilit ity of f Reconfig igurable le In Instrumentatio ion Base sed on Programmable le Systems-on

  • n-Chip

ip

Andres Cicuttin ICTP – MLAB Multidisciplinary Laboratory of The Abdus Salam International Centre for Theoretical Physics Trieste, Italy

  • A. Cicuttin, ICTP. SPL2019

1 Luis Garcia, Andres Cicuttin, Maria Liz Crespo, Kasun Sameera Manatunga, (ICTP,Italy) Rodrigo Melo, Bruno Valinotti, (INTI, Argentina) Stefano Levorato (INFN, Italy)

slide-2
SLIDE 2

Emulated Instruments Virtual Instrument Reconfigurable Instrument

Reconfigurable Virtual Instrumentation

  • A. Cicuttin, ICTP. SPL2019

2

slide-3
SLIDE 3

Reconfigurable Virtual Instrumentation

Transient recorder Function generator Oscilloscope Multimeter Spectrum Analyzer

  • A. Cicuttin, ICTP. SPL2019

3

slide-4
SLIDE 4
  • A. Cicuttin, ICTP. SPL2019

4

slide-5
SLIDE 5

Hardware modularity and porting across different platforms

  • A. Cicuttin, ICTP. SPL2019

5

slide-6
SLIDE 6

Portability among different FMC Carriers of instrumentation based on dedicated hardware modules

6

  • A. Cicuttin,
  • ICTP. SPL2019

FMC carriers FMC modules

slide-7
SLIDE 7

Port 1 controller

* * *

Port 2 controller Port M controller

* * *

External Hardware Controller N External Hardware Controller 2 External Hardware Controller 1

  • A. Cicuttin, ICTP. SPL2019

A poss ssible FPGA Glo lobal Architecture for r RVI

Dual Port Memory FIFO IN FIFO OUT Registers

PC Communication block

PC  FPGA communication

* * *

Instrument N Core Instrument 2 Core Instrument 1 Core External Memory Controller RVI Bus

High Speed Connections

Status Instructions Parameters

RVI CONTROLLER

With DMA capabilities Miscellaneous and Debugging Facilities Controller

7

slide-8
SLIDE 8

RICH-1

DOLINA PC de Control del RICH (Ethernet) 8 Redes TDM de DSP BORA-0 BORA-11 BORA-12 BORA-23 Fibra desde TCS Pixel (0,0) Pixel (287, 287) 24 192 tarjetas BORA Fibras Opticas Cámara Fibras Opticas Cámara 7 Cámara 6 Cámara 5 Cámara 4 Cámara 3 Cámara 2 Cámara 1 Cámara 0 PCI

Global Architecture of a distributed instrumentation

  • A. Cicuttin, ICTP. SPL2019

DAQ System Ring Imaging Cherenkov Detector COMPASS Experiment CERN, 2004. Pixels : ~ 80000 Ave trigger rate: ~ 100KHz Dead time: ~ 1 us Max data rate: ~ 100GB/s 8

slide-9
SLIDE 9

Dolina, Side B

Dolina, Side A Da Data movement th through dis istr trib ibuted in instr trumentation

TDP RAMs uP PCI Bus FIFOs FPGA DSPs

  • A. Cicuttin, ICTP. SPL2019

9

slide-10
SLIDE 10

Reconfigurable Instrumentation based on SoC FPGA Global Architecture

  • A. Cicuttin, ICTP. SPL2019

10

SoC FPGA Time Critical External Hardware FPGA uP PC FPGA-uP communication block Non Time Critical External Hardware External Memory Middleware Ext HW Controllers

slide-11
SLIDE 11

Native or Wishbone interface

FPGA2uP FIFOs uP2FPGA FIFOs True Dual Port RAM Memory Mapped AXI Lite/ AXI Full/ AXI Stream

FPGA

External Hardware Interface Native or Wishbone interface User Core Logic Design Registers

External DDR RAM Memory Controller

uP

Control Registers/ FIFOs and True Dual Port RAM FPGA – uP Communication SW (uP) uP–PC Communication SW

User Core Program

Reconfigurable Virtual Instrumentation Based on a single SoC FPGA Typical Global Architecture

  • A. Cicuttin, ICTP. SPL2019

11

uP – PC Communication SW (uP) Virtual consoles & Control Computing

PC

FMC Connector External Hardware (Application specific) Input/outp ut signals External RAM Memory Controller External RAM Memory Controller

slide-12
SLIDE 12

Native or Wishbone interface FIFOs FPGA2Rout FIFOs Rout2FPGA

FPGA

Registers True Dual Port RAM Reserved area Reserved area UDMA controller

CommBlock

Native or Wishbone interface

FPGA  FPGA

Native or Wishbone interface FIFOs FPGA2uP FIFOs uP2FPGA Memory Mapped AXI Lite / Full / Stream

FPGA

Registers True Dual Port RAM Reserved area Reserved area

uP

UDMA controller

CommBlock

FPGA  uP

Router Flags/semaphores for logic protocols DMA instructions Payload data Standardized Data Packets

Reconfigurable Distributed Instrumentation Based on multiple SoC FPGA

  • A. Cicuttin, ICTP. SPL2019

12

slide-13
SLIDE 13

A block view of the Communication Block and memory mapping of the CB ports

  • A. Cicuttin, ICTP. SPL2019

13

slide-14
SLIDE 14

ComBlock: : Memory mapping on the uP side, and its connections with functional blocks implemented in the FPGA.

SoC Bus WB or Native interfaces

  • A. Cicuttin, ICTP. SPL2019

14

slide-15
SLIDE 15

Asynchronous timing diagram of a flags-based protocol for safe data transmission through the TDPRAM of the CB

A possible logical utilization of reserved registers for safe data transfer through TDP RAM

  • A. Cicuttin, ICTP. SPL2019

15

slide-16
SLIDE 16

uP-Subsystem

AXI Bus Custom connections with the FPGA-subsystem

Top level schematic: ComBlock and its connections

ComBlock

FPGA-Subsystem

  • A. Cicuttin, ICTP. SPL2019

16

slide-17
SLIDE 17

AXI Bus

Custom connections with the FPGA-subsystem

To external HW uP Subsystem FPGA subsystem ComBlock

Top level schematic: ComBlock and its connections

  • A. Cicuttin, ICTP. SPL2019

17

slide-18
SLIDE 18

Configuration wizard window for the ComBlock

(Vivado System Edition)

  • A. Cicuttin, ICTP. SPL2019

18

slide-19
SLIDE 19

Communication between the FPGA and uP subsystems

  • 1. Physical

Allows a simple utilization of the resources of the CB as storage elements.

  • 2. Logical

Includes a basic asynchronous logic protocol for a safe utilization of the ComBlock. It requires some reserved areas in the TDPRAM and some reserved registers.

  • 3. Systemic

Implements a high level protocol based on a set of complex instructions for Direct Memory Access (DMA). It provides transparent access from any domain to all resources mapped in a global memory mapping, including those that are not immediately accessible but that are directly accessible from the other domain. It requires a DMA machine in the FPGA, and a corresponding software routine in the uP. Each level corresponds to a communication layer. Each layer relays on the services offered by the immediate layer below, and provides services that can be used by the layer immediately above.

It can be implemented by mean of three different hierarchical levels:

  • A. Cicuttin, ICTP. SPL2019

19

slide-20
SLIDE 20

Resource utilization of the CB in different Devices

Family Name Slice LUTs Slice Registers F7 Muxes F8 Muxes Block RAM (kBytes) Zynq-7000 xc7z020 726

816 128 64 290.25

Spartan-7 xc7s100 726

816 128 64 290.25

Artix-7

xc7a200 726 816 128 64 290.25

Kintex UltraScale+ xcku15p 854

816 128 64 290.25

Virtex UltraScale+ xcvu13p 854

816 128 64 290.25

  • RESOURCE UTILIZATION OF THE CB IN XILINXFPGAS

Family Name ALMs Logic Registers Block RAM (kBytes) Cyclone V 5CSEMA5F31C6 764 563 290.25 Cyclone 10 LP 10CL006YU256A7G 1170 559 290.25

Cyclone IV GX

EP4CGX15BF14A7 1171 559 290.25

Cyclone IV E

EP4CE6E22A7 1170 559 290.25

  • RESOURCE UTILIZATION OF THE CB IN ALTERA FPGAS
  • A. Cicuttin, ICTP. SPL2019

20

slide-21
SLIDE 21

Resource usage of a high-speed data acquisition system without and with the communication block

Name Without Communication Block With Communication Block FPGA_ Subsystem uP_ Subsystem Others Total FPGA_ Subsystem uP_ Subsystem Communication _Block Total Slice LUTs 187 960 6691 7838 (14.73%) 186 1466 834 2486 (4.67%) Slice Registers 264 1244 12696 14204 (13.35%) 264 1957 884 3105 (2.92%) F7 Muxes 62 62 (0.23%) 62 128 190 (0.71%) F8 Muxes 0 (0%) 64 64 (0.48%) Block RAM Tile 66.5 66.5 (47.5%) 65 65 (46.43%)

  • A. Cicuttin, ICTP. SPL2019

21

slide-22
SLIDE 22

Conclusions

1. The proposed Communication Block is a general purpose and reusable IP which completely absorbs the complexities of the SoC Interconnection Bus in modern SoC FPGA devices. 2. FPGA and uP subsystems can efficiently communicate through a ComBlock without any significant loss in performance and without any penalty in resources utilization. 3. Migration of complex systems among different SoC FPGA families and vendors is easier when based on ComBlocks since it essentially requires the porting of the ComBlock only. 4. Most of the uP embedded software and FPGA subsystem designs can be ported with minimal effort, and with facilitated debugging and optimization. 5. Since each subsystem deals with the other subsystem by reading and writing in the memory locations of the ComBlock, this block provides an abstract view of one subsystem to the other interacting subsystem. 6. The use of a ComBlock imposes a structured design methodology by mean of an explicit separation of the work in the uP and FPGA domains. 7. The implicit ComBlock strategy could simplify concrete Hardware/Software partitioning and implementation of complex cooperative activities.

  • A. Cicuttin, ICTP. SPL2019

22

slide-23
SLIDE 23

Thank you for your attention!

  • A. Cicuttin, ICTP. SPL2019

23