In my design I have microcontroller and MAX10. I have SPI and USART between these two. What is a good practice to protect these two circuits in case of mistake in pin configuration during writing software?
I cannot add high resistance due to parasitics (At least on SPI). I am thinking about buffer, but I do not have much room on the board. I think I can add resistors on USART since it will be low frequency.
In general, is a protection a common solution on the development boards or just designer should be careful?
If you have control of what parts are attached on each I/O line adding any kind of 'protection' is really not necessary.
That being said, I have several commercial FPGA development boards that have FPGA I/O pins that attach to user connectors.
Some of these boards have just a series resistor in the range of 22 to 47 ohms.
Others also have diode clamps to VCC and GND on each I/O line.
If you can't control what is connected this extra circuitry helps a bit (but it is not foolproof).
Thank you for your answer. In general what I mean is like connection between FPGA and Microcontroller. I suppose, that if both are push-pull, both configured (by accident) as outputs, first is high, second is low - that might be not fun for both of these ICs.
Before you interfacing between your FPGA and microcontroller, you have to make sure that the input of one is connected to the output of another. And you can't connect two inputs or two outputs together.