Для нашего школьного проекта я пытаюсь использовать линейный сдвиговый регистр обратной связи для генерации псевдослучайных чисел на оборудовании (семь сегментов). Я написал LFSR и семисегментный модуль, однако мне трудно подключить два модуля друг к другу. Проект синтезируется, но на диаграмме HDL нет связи между LFSR и семисегментным модулем. Ниже приведен код.Подключение 4-разрядного регистра сдвига к входу 4 бит в другом модуле в Verilog
//main module
module expo(input clock, reset,
output a,b,c,d,e,f,g
);
wire [3:0]connect, clk, a,b,c,d,e,f,g;
LFSR_4_bit lfsr(
.clock(clock),
.LFSR(connect)
);
seven_seg seven(
.in(connect),
.reset(reset),
.a(a),
.b(b),
.c(c),
.d(d),
.e(e),
.f(f),
.g(g)
);
endmodule
//LFSR module
module LFSR_4_bit(
input clock,
output reg[3:0]LFSR = 15
);
wire feedback = LFSR[4];
always @(posedge clock)
begin
LFSR[0] <= feedback;
LFSR[1] <= LFSR[0];
LFSR[2] <= LFSR[1];
LFSR[3] <= LFSR[2]^feedback;
LFSR[4] <= LFSR[3];
end
endmodule
//input and output for seven seg module
module sevenseg(
input reset,
input[3:0] in, //the 4 inputs for each display
output a, b, c, d, e, f, g, //the individual LED output for the seven segment along with the digital point
output [3:0] an // the 4 bit enable signal
);
Спасибо за помощь.
Я думаю, что начальные утверждения обычно используются для внедрения тестовых стендов и не синтезируются. – aaamourao
И сигнал сброса заставит ваш LFSR генерировать одну и ту же последовательность чисел при каждом включении. – aaamourao
@dasho lfsr, как ожидается, будут давать такую же последовательность при включении поэтому они являются псевдослучайными. Исходные утверждения являются синтезируемыми и используются для установки значений по умолчанию для fpgas. – Morgan