IP cores

[ Jump to english part ]

Für spezifische Zwecke setzen wir gerne FPGAs ein:

  • Schnelle synchrone Bild-Vorverarbeitung, Videokompression
  • Spezielle DSP-Anwendungen, Rechenbeschleuniger
  • Komplett anpassbare SoC-Designs (embedded Videoprocessing)
  • Reliable Computing / Safety (verifizierbare State machines)

IP-Core Übersicht:

  • cCAP: konfigurierbare Applikationsprozessoren
  • Cottonpicken Engine: DSP-Beschleuniger-Pipeline für Video-Applikationen (Debayer, Filterkernels, Matrizen)
  • JPEG Encoder:
    • L1: ‘one lane multiplexed’ Pipeline für YUV420 Video
    • L2: ‘two lane simultaneous’ Pipeline für YUV422 oder multi channel monochrome Anwendungen

cCAP: massgeschneiderte Applikationsprozessoren

Eigene Prozessoren entwickeln? Ein Ding der Unmöglichkeit?

Wir haben es trotzdem getan. Die nach einigen Anläufen 2014 neuentwickelte ZPUng-Architektur zeichnet sich durch Kompabilität zur bestehenden ZPU (mit Debugger, GCC-Support, usw.) aus und kann mit der bestehenden Toolchain verwendet werden. Die ZPUng-Architektur ist dank ihrer höchst einfachen Opcode-Struktur komplett verifizierbar. Korrekte Funktion von Programmcode ist somit beweisbar und kann komplett mit Anwendungsszenarien in die Simulation gesteckt werden.

Die 32-Bit ZPU-Architektur hat sich im Vergleich zu klassischen CPU-Ansätzen (Microblaze, lm32, avr) als höchst kompakt erwiesen: Ein komplettes Bare-Metal-System mit UDP/IP-Networking passt in ca. 10kB RAM, der CPU-Kern konsumiert unter 800 LUT-Elementen auf dem FPGA. Dafür ist die ZPU mit dem Minimal-Opcode-Set (konfigurierbar) etwas langsamer.

Momentan sind folgende System-On-Chip Referenzdesigns auf Anfrage verfügbar:

  • agathe: OpenSource-SoC mit Zealot CPU: Einfache Soft-CPU für FPGAs für Konfigurationsaufgaben
  • beatrix: SoC mit ZPUng core: Schnelle Soft-CPU mit Beschleuniger-Optionen
  • cranach: IoT-Lösung für kleine FPGAs (netpp-on-FPGA), optionaler Support für GigE

 

IP cores

Overview:

  • Cottonpicken Engine
  • JPEG Encoder IP
  • cCAP: customizeable application processors and System on Chip solutions for networking and video processing

Cottonpicken Engine

The Cottonpicken Engine is an in-house micro coded engine that has the following functionality:

  • Bayer pattern decoding into various formats (YUV 4:2:2, YUV 4:2:0, RGB, programmable delays)
  • 3×3, 5×5 filter kernels
  • Specific matrix operations, cascadeable

It is capable of running at full data clock (pixel clock) up to 150 MHz, typically (platform dependent).

The engine is only available as a closed source netlist object as part of a development package.

JPEG Encoder IP

We have developed our own, machine vision proof JPEG encoder which is available for third parties with partial source code licensing options (VHDL only). The supported pixel bit depth is up to 12 bits. For JPEG header generation, a SoC and DMA engine is typically required. The JPEG IP is available in two variants:

  • L1 monochrome multiplexed pipeline (150 MHz pixel clock on Spartan6)
  • L2 dual pipe simultaneous encoding for high quality YUV422, for example 1280×720@60fps (up to 100 MHz pixel clock)

Board supply packages for eval kits:

  • Spartan6 Gigabee module from Trenz electronic
  • Versa ECP5 development kit
  • HDR60 from Lattice semiconductor (license required)

Also, we can provide a simulator package as Linux Container or virtual machine. It can be used to test the virtualized encoder HDL with existing PNG images, see [ Link ]. This is a full bit accurate model to prove compliance to existing reference software algorithms.

Further resources on request:

  • Documentation [ HTML IP core developer reference ] [ L2 SoC PDF ]
  • Reference MJPEG network streaming solution (‘dombert’ SoC), now available again as bit file on HDR60
  • Example video captures [ MJPEG AVI 1024×768 or 1280×960 ]

cCAP SoC Reference designs

These System on Chip designs consist of a fully configureable CPU plus standard peripherals and can be customized with special interfaces. The CPU can be programmed with GCC and is accessed via ICE JTAG during development.

The MaSoCist build environment is a GNU make based toolchain to generate hardware, software, FPGA firmware and documentation using one make call. It makes heavy use of our in-house netpp-Technology powered gensoc  utility to create SoC designs using IP-XACT alike approaches.

It allows vendor specific designs and extensions without the need to OpenSource, therefore it is available in two license variants:

  • OpenSource GPL alike
  • Custom Vendor license under NDA

We maintain a number of predefined and well tested SoC configurations, see SoC reference designs overview.

Simulation models

Full simulation models are available for these IP cores that can be co-simulated with custom IP.

Examples can be found on the VirtualChip page.