Automatic Customization of Device Drivers for IP-cores Used with Assorted CPU Organizations