Presentation is loading. Please wait.

Presentation is loading. Please wait.

C/VHDL Codesign for LHCb VELO zero-suppression algorithms Manfred Muecke, CERN.

Similar presentations


Presentation on theme: "C/VHDL Codesign for LHCb VELO zero-suppression algorithms Manfred Muecke, CERN."— Presentation transcript:

1 C/VHDL Codesign for LHCb VELO zero-suppression algorithms Manfred Muecke, CERN

2 C/VHDL Codesign Manfred Muecke page 2 Introduction – TELL1 36 values * 64 links * 1.1MHz * 10bit = 2.95GB/s 50.44 cluster * 1.1MHz * 2B = 106MB/s (L1 raw bandwidth w/o protocol overhead) DSP on 5 Altera Stratix EP1S25..evolving algorithms..at high data rates 64 links @ 40MHz or 24 fibers @ 1,2Gbps 2 (4) GBE copper links LHCb DAQ Interface Board (EPFL) x300

3 C/VHDL Codesign Manfred Muecke page 3 Motivation – Code Consistency System Simulation Framework (C++) DSP on FPGA parallel progress - how to guarantee consistency? FPGA Design (VHDL) DSP

4 C/VHDL Codesign Manfred Muecke page 4 Requirements to guarantee consistency, one of the two models has to be generated automatically.. ?  VHDL - syntesizeable VHDL - latency as design parameter - efficient resource usage ?  C - fast execution - simple integration/interface - fast execution - simple integration/interface

5 C/VHDL Codesign Manfred Muecke page 5 Chosen solution Confluence – a synchronous hardware generation language and compiler.cf.vhd.v.c.jhdl.nusmv Confluence Compiler + Code Generator.fnf Cf FNF

6 C/VHDL Codesign Manfred Muecke page 6 Confluence Open source project (www.confluent.org) www.confluent.org..functional language for synchronous systems..written in O’Caml..runs under Unix/Linux/Cygwin/.. synthesizable VHDL bit- and cycle-accurate C-model.vhd.c

7 C/VHDL Codesign Manfred Muecke page 7 FPGA Design (VHDL) DSP (VHDL) Common code base System Simulation Framework (C++) DSP on FPGA (C) DSP.cf X

8 C/VHDL Codesign Manfred Muecke page 8 Example - Linear Common Mode Suppression calculates mean, slope and deviation over 32 samples 40MHz data stream (x16/FPGA)

9 C/VHDL Codesign Manfred Muecke page 9 Measurements LCMS Handcoded VHDL Confluence  C C C C  VHDL Resources (LE, memory bits) 235 LEs, 7680 bits, 2 9bDSP - 329 LEs, 1088 bits, 6 9bDSP VHDL simulation time (ModelSim) 1 000 000 cycles P4 2,6GHz ~120s-~80s C runtime (gcc)-<1s-

10 C/VHDL Codesign Manfred Muecke page 10 Outlook Implementing further algorithms Integrating C model in VELO simulation automated checking of model consistency language features for DSP Other solutions/languages?

11 C/VHDL Codesign Manfred Muecke page 11 Links LHCb - http://lhcb-public.web.cern.ch http://lhcb-public.web.cern.ch TELL1 - http://lphe.epfl.ch/~ghaefeli Confluence - http://www.confluent.org http://www.confluent.org O’Caml - http://www.ocaml.org http://www.ocaml.org email - Manfred.Muecke_at_cern.ch

12 C/VHDL Codesign Manfred Muecke page 12 Thanks for your attention! Questions?

13 C/VHDL Codesign Manfred Muecke page 13 Algorithm  VHDL  IP-based source (Simulink) (Xilinx, TI, Synplicity DSP Synthesis, …) - vendor locked (MathWorks + TI/…) - limited/application-specific IP  Algorithmic source (behavioural synthesis) - on the go (Celoxica, Mentor Catapult C, Forte’s Cynthesizer) - SLDL efforts: SystemC, SystemVerilog -> no RTL control (latency) => as of now, we still have to code in VHDL/RTL (if we care about speed)!!

14 C/VHDL Codesign Manfred Muecke page 14 Confluence features Functional language (recursion) Dynamic typing (ports adapt) List type Vector type -> Hardware Purely synchronous Implicit Synchronization (clock, reset, enable)


Download ppt "C/VHDL Codesign for LHCb VELO zero-suppression algorithms Manfred Muecke, CERN."

Similar presentations


Ads by Google