A codesign methodology is proposed which is suitable for control-dominated systems
but can also be extended to more complex ones. Its main purpose is to optimize the
trade-off between hardware performance and software reprogrammability and
reconfigurability. The methodology proposed intends to cover the development of the
whole system. It deals in greater detail with the steps that can be made without the need
for any particular assumption regarding the target architecture. These steps concern
splitting up the specification of the system into a set of individually synthesizable
elements, and then grouping them for the subsequent mapping stage. In order to
decrease the complexity of each partitioning attempt, a two step algorithm is proposed,
thus permitting a wide exploration of possible solutions. The methodology is based on
the TTL language, an extension of the T-LOTOS Formal Description Technique which
provides a large amount of operators as well as a formal basis. Finally, an example
pointing out the complete design cycle, excepting the allocation stage is provided.