Services

Overview

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

Our main area of 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.

Areas of expertise are

  • Embedded Vision
  • Image processing, computer vision, pattern recognition, artificial intelligence
  • Development and optimisation of algorithms, especially for FPGAs and ASICs
  • Computer graphics
  • Digital signal processing
  • ASIC/FPGA design and verification
  • 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
  • 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

  • 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 ISE, Vivado, PlanAhead, HLS
  • 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

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