J'essaie de connecter deux broches sur un FPGA Altera en utilisant le verilog.fpga assigner une broche inout à une broche d'entrée dans verilog
Plus précisément, je me connecte une broche inout
à une broche input
. J'ai l'erreur.
La broche "<nom>" a plusieurs pilotes
L'erreur est expliquée sur ce lien.
C'est la solution:
module multi_driver(inout o, input a, b, en);
// Input a directly drives the bidir pin w/o a tri-state condition
assign o = a;
// If en = 1 below, there will be an electrical conflict in the design.
// To avoid this possibility, the Quartus II software issues an error
assign o = (en) ? b : 1'bz;
endmodule
Quelqu'un pourrait-il expliquer ce que la ligne assign o = (en) ? b : 1'bz;
fait exactement?
Copie possible de [Opérateur d'interrogation Verilog (?)] (Http://stackoverflow.com/questions/12336139/verilog-question-mark-operator) –
Le code que vous avez mentionné n'est pas une solution, mais un exemple de code incorrect: "Par exemple, la conception suivante est synthétisée de manière incorrecte". – Qiu