what are the things to keep in mind when interfacing two digital devices, e.g FPGA with a dual shock controller or CPLD with a PS/2 Mouse, Microcontroller with an FPGA, FPGA with an external RAM.
One thing we need to make sure of is that the voltage levels are compatible for simplex communications. The output voltage of transmitter is compatible with input voltage of reciever. But what about impedances on both sides and board skews? How are things different for duplex communication?
There are different types of logic families and different type of circuits that generate outputs and take inputs with open collector being one of them.
Putting it simply, when interfacing 2 digital circuits, what things besides voltage levels will you need to take into consideration such that the interface does not damage the devices and works correctly.