Embedded Systems Design using FPGAs