CoSynth ist ein Spin-Off des OFFIS - Institut für Informatik in Oldenburg. Das Unternehmen wurde im September 2010 von den ehemaligen OFFIS-Mitarbeitern Andreas Herrholz, Henning Kleen und Christian Stehno gemeinsam mit der OFFIS AG gegründet. Hauptanwendungsgebiete für die Dienstleistungen und Werkzeuge sind die Automobilbranche, Industrieautomatisierung, Luft- und Raumfahrt sowie Medizintechnik.
CoSynth bietet Kunden den Einsatz der Entwurfsmethoden und -werkzeuge im Rahmen folgender Entwicklungs- und Beratungsdienstleistungen:
- Entwicklung von FPGA- und ASIC-Designs
- Hardwarebeschleunigung
- System-on-Chip
- Platinenentwicklung
- Virtual Prototyping und Co-Simulationen (SystemC, Matlab/Simulink, VHDL, Verilog)
- Entwicklung von hardwarenaher Software (Firmware, RTOS)
- Beratung und Training in den Bereichen SystemC, TLM und ESL Design Flows
Darüber hinaus können die Entwicklungswerkzeuge für den Einsatz in den Entwicklungsabteilungen der Kunden lizenziert werden. Die Softwarewerkzeuge von CoSynth sind darauf ausgelegt, sich in existierende Entwurfsprozesse zu integrieren anstatt sie zu ersetzen. Sie können z.B. zusammen mit Entwicklungswerkzeugen der Firmen Xilinx, Altera und Synopsys eingesetzt werden und diese ergänzen.
Die CoSynth-Entwicklungsmethodik
Der Entwurfsprozess von CoSynth beginnt mit einem virtuellen Software-Prototyp des Gesamtsystems. Auf Basis der Programmiersprachen C++ und SystemC sowie einer eigenen Simulationsbibliothek werden Hardware und Software gemeinsam modelliert, simuliert und zyklengenau analysiert. Das firmeneigene Synthesewerkzeug erzeugt aus dem Softwaremodell die für die Weiterverarbeitung nötige Hardwarebeschreibung sowie die Schnittstellen zwischen Hardware- und Softwarekomponenten. Die Grundlagen der CoSynth-Entwicklungsmethodik wurden im Rahmen mehrerer Europäischer Forschungsprojekte am OFFIS entwickelt. Sie wurden bereits erfolgreich bei Industriepartnern aus den Bereichen Automobil- und Telekommunikations-Technik eingesetzt. Die wesentlichen Schwerpunkte der Technologie zusammengefasst:
- Gleichzeitige Entwicklung von Hardware und Software in gemeinsamen Modellen
- Einsatz von Software-Entwurfsmethoden für die Hardware-Entwicklung
- Nutzung von C-basierten Sprachen (C/C++, SystemC, TLM)
- Automatische Generierung von Hardware/Software-Schnittstellen
- Automatische Erzeugung von Hardware-Implementierungen (High Level-Synthese)
- Einfache Integration von Legacy IP-Cores (VHDL und Verilog)
- Schnelle Exploration von HW/SW-Partitionierungen und Kommunikationsinfrastruktur