**2. Programmable SoC structures and architectures: hardware and software codesign methodology**
