Что я пытаюсь сделать в уме, так это взять 8 1-битных входных данных и подсчитать единицы. Затем представьте эти единицы.
01010111 должен выводить 0101 (есть пять единиц на входе)
module 8to4 (in,out,hold,clk,reset);
input [7:0] in; //1 bit inputs
reg [7:0] hold; //possible use for case statement
output [3:0] out; //Shows the count of bits
always @(clk)
begin
out = in[0] + in[1] + in[2] + in[3] + in[4] + in[5] + in[6] + in[7]; //Adds the inputs from testbench and outputs it
end
endmodule
Вопросы:
- Это правильный способ иметь 8 1-битных входов? Или мне нужно объявить каждую переменную как один бит, например: input A, B, C, D, E, F, G, H;
- Если мой приведенный выше код близок к правильному, это правильный способ вывести количество единиц? Нужна ли мне выписка по делу?
Я действительно новичок в verilog, поэтому пока даже не хочу думать о тестовом стенде.