TFE02: Hardware software codesign with embedded systems
# Estimation and partitioning
__Architecture exploration__ is the process of mapping out the hardware composition of a system. This is typically done at an early stage and may include a choice of processors, application specific hardware (such as ASICs), reprogrammable hardware (such as FPGAs) and memories.
## Partitioning
Following architecture exploration is typically __partitioning__, where functionality of the application is grouped. The groups are mapped onto architectural components.
# Multiprocessors and accelerators
# Instruction set extensions
# On-chip communication architechtures
# Implementing embedded systems
# Retargetable compilers
# High Level Synthesis