Моя цель - кодировать сумматор BCD в Verilog с помощью ворот. У меня есть некоторые проблемы:
1- Как я могу выбрать биты из первых выходов "четырехбитного сумматора". Моя сумма S
. После того, как я использовал S
в первом сумматоре, могу ли я выбрать биты, такие как S[0]
, или есть другой способ?
2- Как я могу указать входные данные, особенно если у меня есть модуль для four_bit_adder
и он принимает один элемент типа A
(4 бита)? Я попытался указать некоторые биты, но не смог с этим справиться.
Например, A[3]
и A[1]
должны быть 0 или 1 в некоторых ситуациях, но мой модуль принимает один элемент.
Моя пробная версия ниже:
`include "four_bit_adder.v"
module bcd_adder(S,A,B,Cin);
input [3:0]A,B;
input Cin;
output [3:0]S;
wire [2:0]connectors;
//four_bit_adder(S,Cout,A,B,Cin);
four_bit_adder F_A1(S,Cout,A,B,Cin);
and(connectors[0],S[3],S[2]);
and(connectors[1],S[3],S[1]);
or(connectors[2],connectors[1],connectors[0],Cout);
//four_bit_adder F_A2();
endmodule