CoSynth Synthesizer

The CoSynth Synthesizer is a tool for the creation of FPGA-accelerated systems directly from existing software algorithms.

Once currently deployed embedded PCs do not provide enough performance anymore, there are two options: A faster, but expensive and energy-consuming CPU as replacement, or integration of coprocessors such as DSP, GPU, or FPGA. Since these special processors require a special design process, high costs for experts or ready-made solutions were required so far.

Now, FPGA development can be made in a standard software process using the CoSynth Synthesizer. Usual programs, written in C/C++, are prepared for parallel computation on FPGAs by the use of the C++ library SystemC. Everything up to this point is thus still a pure software design. It can be simulated on all PCs and developed, tested, and optimized with common software development tools. As a last step, the CoSynth Synthesizer automatically generates the hardware description required for the FPGA implementation directly from the software model. Function and timing specifications are exactly reproduced, such that the previously tested properties of the system are preserved by the hardware.

In combination with the contained IP cores, resources on the FPGAs are optimally integrated into the system. This also includes local memory and busses, interfaces to the CPUs, and other I/Os. All these components are designed at software layer and automatically mapped to the hardware. This guarantees a very efficient, fast and less error prone HW/SW development. Design times are reduced to less than a quarter of commonly used design processes. This holds especially for the conversion of existing software solutions into hardware accelerated systems. The main applications domains are automotive industry, industrial automation, aerospace, and medical electronics.

CoSynth Synthesizer can be licensed for use in your design center. The tool is prepared for integration into an existing design process, instead of replacing it. Compatibility with tools from e.g. Xilinx, Altera, and Synopsys is provided. The design process is based on a virtual prototype of the whole system, defined in C++ and SystemC. CoSynth’s own high level synthesis tool automatically generates the necessary VHDL hardware description from the software model, as well as the interfaces between hardware and software. The foundations of the CoSynth methodology have been established in several European research projects. Successful implementations of the flow at industrial partners from automotive and telecommunications industries have shown the applicability. The main advantages are:

  • Concurrent development of hardware and software in a common model
  • Integration of software engineering methods for hardware development
  • Use of C-based languages (C/C++, SystemC, TLM)
  • Automatic generation of hardware/software interfaces
  • Automatic synthesis of hardware implementations (high level synthesis)
  • Easy integration of legacy IP cores (VHDL and Verilog)
  • Fast exploration of hardware/software partitions and communication infrastructure