A hardware/software codesign approach for programmable IO devices
Kuan Jen Lin, Shih‐Hao Huang, Shih‐Wen Chen · 2005
This work presents a new HW/SW codesign approach for programmable controllers (ICs or IPs) managing IO devices. A novel cost function is defined to evaluate a device driver's performance and formulate its exact minimization as a zero-one integer linear programming problem. The cost function is used to explore the design trade-off between the code performance of a device driver and the number of programmable registers in an IO controller. This work proposes a heuristic algorithm based on the cost function, which iteratively minimizes the software cost until the hardware constraint is violated. The proposed algorithm was implemented in C language and evaluated with a set of real devices. Compared with original designs, the proposed approach can obtain design alternatives that reduce both software and hardware costs.