Introduction : When an active process requires any external device for its proper execution, it makes a request for that device through some means.

If that particular device is free and readily available for its use, the process will go on normally and there will be no delay in the execution of that particular requesting process.

If in case the device requested by the process is temporarily unavailable for its use then, it introduces a delay in the execution of the process, thus increasing the number of clock cycles required for its execution.

A single process may request for its corresponding real device at a time or several requests may be made by several different processes for their particular external devices concurrently.

The latter is a worst case wherein many processes may be left unserved resulting in ambiguity or may be served after a certain delay when the device becomes available for its use.

To avoid such a delay the software version/simulators of the real devices can be developed and made use of as the emulators for the real/external devices whenever they are unavailable.

Even though such simulators are not fully capable of serving the full functionality as the real device for a process, it helps in reducing the delay and thus aids in faster execution of the process.

These simulators will be opened on the serial channels of the computer and routed appropriately.

Here a question arises. What if the serial channel of the corresponding simulator is also unavailable? The flexibility here is that the simulator of any real device can be opened on any of the serial channels/ports in the computer.

This results in no ambiguities, no delays even if many active processes requests for the real or simulators at the same time, as we can use any number of serial ports, creating them virtually, if not available physically in a computer.

To achieve such a scheme a routing and switching logic is required to select between various external devices or their simulators based on their availability.

The external or simulator thus selected must be routed to the appropriate channel at the output side on which the request was made by the requesting process. To achieve such interface, a routing logic must be developed.

To develop such a logical interface we make use of Complex Programmable Logic Device (CPLD) which will be programmed as per the logic required.

Please find the following attachments"Simulator Switching Card seminar report/pdf/ppt download" here.