WHAT YOU NEED TO KNOW ABOUT HARDWARE/SOFTWARE CO-DESIGN