2017-01-26 4 views
1

Prendre des étapes avec Verilog et Xilinx ISE Webpack, clignotant cela à un Mimas V2 Spartan 6 ne donne aucune sortie lorsque des commutateurs sont enfoncés, quelqu'un peut-il voir ce que je manque ?Verilog: Adder complet 1-bit ne fonctionne pas sur FPGA

module OneBitFullAdder(
input wire ci, 
input wire a, 
input wire b, 
output wire sum, 
output wire co 
); 

assign co = (a&b)|(ci&(a^b)); 
assign sum = (a^b^ci); 

endmodule 

Voici mes contraintes:

NET "b" PULLDOWN; 
NET "a" PULLDOWN; 
NET "ci" PULLDOWN; 

NET "sum" LOC = T18; 
NET "b" LOC = L18; 
NET "a" LOC = M18; 
NET "ci" LOC = M16; 
NET "co" LOC = T17; 

Et voici le schéma de la carte pour l'allocation de port:

https://docs.numato.com/wp-content/uploads/2016/03/mimasv2-dipswitch.png

Il fonctionne en simulation et en pratique, je trouve la sortie LED la logique correcte si je mets n'importe quelle combinaison d'entrées à pull-up, mais appuyer sur les commutateurs n'a aucun effet. J'ai essayé d'allouer différents commutateurs.

Si j'ai manqué quelques informations qui vont aider, faites le moi savoir, débutant sérieux ici (à la fois Verilog et FPGA).

Répondre

2

On dirait que vous devriez utiliser des pullups au lieu de pulldowns sur ces entrées. Si vous regardez les schémas, les signaux sont mis à la terre lorsque vous appuyez sur les boutons. Ainsi, le signal est ramené à un 0 logique lorsque le bouton n'est pas enfoncé et mis à la terre à un 0 logique lorsqu'il est pressé.

+0

Je ressens aussi la même chose. Quelle est la raison de l'utilisation de pulldowns dans les entrées @GJFT? –

+0

Cela a effectivement résolu le problème. Mon raisonnement était le suivant: "pulldown = initialise as zero", qui serait alors très haut sur un pressostat, mais je peux maintenant voir pourquoi c'est faux. Merci d'avoir pris le temps de résoudre mon problème de débutant! – GJFT