Hello
I'm currently playing with an Altera DE2-115 FPGA development board that a prof at my uni was so kind to lend me and I'm planning to try
to interface it to an external camera and use the SRAM which is on the dev board.
Question:
How do embedded designers/programmers make sure that devices communicating between each other where at least one device is 'soft' don't
have physical conflicts on bidirectional pins?
For example:
Let's say I'm trying to interface an FPGA to an SRAM chip. There are 16 pins which are the 'Data' pins and which are bidirectional, meaning
that I will be both reading and writing to them. My question is that if I by mistake (or due to a design bug)enable those pins on the FPGA as outputs and at the same time the SRAM tries to write data out on them then one (or both) of the devices will get damaged right?
Is there a specific methodic way to deal with this or is it just a 'triple check and simulate everything before implementing it' kind of thing? I guess you would use something like an FSM where you clearly define the behavior of the pins given the control states but still i'm a bit hesitant.
Thanks in advance.
I'm currently playing with an Altera DE2-115 FPGA development board that a prof at my uni was so kind to lend me and I'm planning to try
to interface it to an external camera and use the SRAM which is on the dev board.
Question:
How do embedded designers/programmers make sure that devices communicating between each other where at least one device is 'soft' don't
have physical conflicts on bidirectional pins?
For example:
Let's say I'm trying to interface an FPGA to an SRAM chip. There are 16 pins which are the 'Data' pins and which are bidirectional, meaning
that I will be both reading and writing to them. My question is that if I by mistake (or due to a design bug)enable those pins on the FPGA as outputs and at the same time the SRAM tries to write data out on them then one (or both) of the devices will get damaged right?
Is there a specific methodic way to deal with this or is it just a 'triple check and simulate everything before implementing it' kind of thing? I guess you would use something like an FSM where you clearly define the behavior of the pins given the control states but still i'm a bit hesitant.
Thanks in advance.