2017-01-26 18 views
1

Принимая детские шаги с Verilog и Xilinx ISE Webpack, мигающий это на Mimas V2 Spartan 6, не дает выхода при нажатии любых переключателей, может ли кто-нибудь увидеть, что мне не хватает ?Verilog: 1-битный полный сумматор не будет работать на 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 

Вот мои ограничения:

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

Он работает в моделировании, так и на практике я нашел выход светодиодов правильная логика, если я устанавливаю любую комбинацию входов для подтягивания, но нажатие переключателей не влияет. Я попытался выделить разные ключи.

Если я пропустил некоторую информацию, которая поможет, сообщите мне, серьезный новичок здесь (в Verilog и FPGA).

ответ

2

Похоже, вы должны использовать pullups вместо выпадающих списков на этих входах. Если вы посмотрите на схемы, сигналы будут заземлены при нажатии кнопок. Таким образом, сигнал сбрасывается до логического 0, когда кнопка не нажимается и заземляется до логического 0 при нажатии.

+0

Я также чувствую то же самое. В чем причина использования выпадающих списков на входах @GJFT? –

+0

Это действительно решило проблему. Мое мышление было по принципу «pulldown = initialise as zero», которое затем включалось бы нажатием переключателя, но теперь я могу понять, почему это неправильно. Спасибо, что нашли время, чтобы решить мою проблему с новичком! – GJFT