Non-Blocking Hardware Coding for Embedded Systems