Research: Hardware-software Codesign