1
對於我們的學校項目,我試圖使用線性反饋移位寄存器在硬件(七段)上進行僞隨機數生成。我寫了LFSR和七段模塊,但是我無法將兩個模塊相互連接起來。該項目合成,但HDL圖不顯示LFSR和七段模塊之間的任何連接。以下是代碼。在Verilog中將4位移位寄存器輸出連接到另一個模塊中的4位輸入
//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