Verilog:1位全加器不能在FPGA上运行

时间:2017-01-26 19:32:00

标签: verilog fpga spartan

使用Verilog和Xilinx ISE Webpack迈出宝宝的步骤,当按下任何开关时,闪烁到Mimas V2 Spartan 6时没有输出,任何人都可以看到我缺少的东西吗?

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

以下是我的约束:

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;

这是端口分配的电路板原理图:

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

它在仿真中工作,并且在实践中我发现如果我将任何输入组合设置为上拉,则LED输出正确的逻辑,但按下开关无效。我试过分配不同的开关。

如果我错过了一些有用的信息,请告诉我,这里是严肃的初学者(在Verilog和FPGA中)。

1 个答案:

答案 0 :(得分:3)

看起来你应该在这些输入上使用pullups而不是pulldowns。如果您查看原理图,按下按钮时信号将接地。因此,当没有按下按钮时,信号被下拉到逻辑0,当按下按钮时,信号接地到逻辑0。