Services

Overview

We offer consulting and design services in the area of hardware and software development.

Our main expertise is the development of ASIC and FPGA firmware. The key competence is the development of algorihm accelerators, especially in the domain of image processing and computer vision.

We have a long history of successfull ASIC and FPGA design projects and support our customers in all phases of the development. 

Areas of expertise are

  • Realtime Embedded Vision
  • Image processing, computer vision, pattern recognition, artificial intelligence
  • ASIC/FPGA design and verification
  • Development and optimisation of algorithms, especially for FPGAs and ASICs
  • GPU development, embedded GPU modules (NVidia Jetson, Xavier, …)
  • Computer graphics
  • Digital signal processing
  • Computer architecture, system modeling
  • Embedded systems
  • Realtime processing
  • Parallel programming
  • Hardware/PCB development
  • Embedded Linux, driver development
  • Functional safety (for example ISO26262)

System engineering, architecture and algorithm development

  • Project management and planning
  • Requirements engineering
  • Analysis of algorithms and system requirements
  • Development of computing architectures
  • Partitioning of systems into hardware and software, Hardware/Software Co-Design

Hardware Development

ASIC and FPGA Design

  • Architecture development
  • Implementation in VHDL, Verilog and HLS (High Level Synthesis)
  • Timing and IO constraints, static timing analysis, timing closure
  • Assessment and optimisation of the design flow
  • Design flow for parallel FPGA and ASIC development on a common code base
  • Development according to automotive standards

Functional Verification

  • Metric driven verification
  • SystemVerilog, OVM, UVM
  • Transaction based modeling and BFMs (Bus functional models)
  • Formal verification, assertions, static property checking
  • Application of emulators for simulation acceleration
  • Code and functional coverage
  • Random constraint based stimulus generation
  • Regression testing
  • Fault injection

Software Development

We offer software development services mainly in the context of computer vision and embedded systems.

  • Concept development and software design
  • Embedded firmware development
  • Software test development
  • Software integration and debugging

Embedded vision, image processing and computer vision

We have a long history of successfull projects in the area of computer vision and image processing, especially with applications in realtime capable embedded systems.

In the following you find an overview of our expertise and algorithms we implemented

Realtime image processing and vision (also with FPGAs and custom ASICs)

  • Object recognition
    • Several state of the art algorithms
    • Deep Learning, CNNs, DNNs
  • Scene analysis
    • SLAM, visual odometry, tracking
    • Optical flow
    • Object clustering, motion detection
    • 3D-Reconstruction, Structure-from-Motion
  • Stereo-cameras
    • Preprocessing (Filtering, color conversion, image rectification)
    • Stereo-Matching
    • Camera calibration (mono/stereo)

3D-Reconstruction / Camera calibration

  • Some implemented algorithms:
    • Bundle-Adjustment: closed computation of point clouds and camera parameters from image collections
    • Camera calibration

Medical image processing

  • Implementation of algorithms for near realtime 3D-reconstruction of medical image data from computer tomographs and C-arms on FPGAs
  • Implementation of several algorithms for image preprocessing pipelines

System integration and embedded systems

We offer complete development of embedded systems, consisting of FPGAs, processors and operating systems. For the operating system we have set up an embedded Linux on a FPGA-SoC including driver development for seamless integration of FPGA function blocks into the overall system.

Tools & Hardware platforms

Depending on the application we choose the suitable development tools and hardware plattform. In the following some of the tools and hardware plattforms we frequently used are listed.

General

  • Several version management and issue/bug tracking systems
  • Doors

Hardware

  • Xilinx Vivado, ISE
  • Altera Quartus
  • Mentor Graphics Modelsim, Questasim, Questa Formal, Veloce Emulator
  • SpyGlass
  • PCB design: Altium desginer, Eagle

FPGA Devices

  • Xilinx Zynq-7000 and Zynq UltraScale+ MPSoC series
  • Xilinx Spartan-6, Virtex
  • Altera Stratix, Cyclone V
  • Lattice

Software

  • Programming languages
    • C/C++
    • Perl, Python
  • Libraries
    • STL, Boost
    • OpenCV
    • OpenMP, MPI (Message Passing Interface)
    • VTK (Visualisation Toolkit)
    • Windows programming (MFC, SDK)
    • OpenGL, CUDA