The main aim of codesign is to be able to design a whole system without excessive preliminary constraints on the mapping or partitioning of the hardware and software parts. At present, given the availability of CAD tools and hardware devices, the sector which seems to offer most prospects of code-sign methodology application is that of embedded systems. This paper presents a codesign approach based on the formal technique called TTL. It shows how the synthesis of both the HW and SW modules described by TTL into RTL or C respectively can be performed thanks to a semantic based translation.