1. A method for designing an integrated circuit which controls a device when the integrated circuit is integrated into the device comprising: selecting a value for a control type parameter associated with an electronic device from a hierarchal classification database; selecting a value for a display type parameter associated with the electronic device from the hierarchal classification database; selecting a value for an input type parameter for the electronic device from the hierarchal classification database; selecting a value for an output type parameter for the electronic device from the hierarchal classification database; receiving the selected values for the control type, display type, input type and output type parameters into a memory of a processor programmed by software commands to design a hardware integrated circuit and associated operating software for controlling the hardware integrated circuit to control the electronic device; analyzing by the processor the selected values for the control type, display type, input type and output type parameters of the electronic device; outputting by the processor a hardware integrated circuit design based on the selection of input and output characteristics of the electronic device, the hardware integrated circuit including a communication bus for communicating with the electronic device; and outputting by the processor software programming commands to be .executed by the hardware integrated circuit for controlling the electronic device in accordance with the selection of categorized input and output characteristics of the electronic device through the communication bus of the hardware integrated circuit using a communication protocol compatible with the electronic device and the hardware integrated circuit.