Hardware/Software Design of Digital Systems