Automated Interface Hw/Sw co-design

Introduction

In the co-design of hardware and software, a common task is the specification of (message-based) interfaces between several functions.

For example: An application transmits data another application, via its datalink and physical layer (see figure). The receiving application has to interpret the received data, and perform actions based on the received data.

When both applications are in same hardware or software domain, the same VHDL-package or C-Header can be used by both applications.  However, when the domains differ, manual translation between the domains has to be carried out.

Or: An application talks to a register or memory map. The memory map contains addresses, and bit-fields for each type of register. The hardware that implements this interface, and the software talking to it must be comply to the same interface specification. Usually a manual translation of a specification document to C-code and VHDL.

 

The manual translation poses a challenge: How to keep the interfaces in-sync and up-to-date?

What it does

This tools consolidates the design of such an interface into a single point of maintenance.

Based on a relational database, code is generated that defines an interface in both HW and SW domains. It translates field messages and formats into C-stuctures and VHDL-records and types.

Outputs

VHDL package (.vhd)

C header file (.h)

Text document (.doc, .html), for example (a short message):

More Information

For more information, see the contact page on this website.