2.02 - Генератор шума
После проверки формулы псевдорандома оформляем ее в отдельный модуль, чтобы в главном проекте собирать их в произвольном порядке. Один модуль однобитный. Второй по аналогии 8 битный.
module rnd1(clk, sout);
input wire clk;
output reg sout;
reg [30:0] d0;
initial
begin
d0 = 31'b0011010100100100110010101110010;
end
always @(posedge clk) begin
d0 <= { d0[30:0], d0[30] ^ d0[27] };
sout <= d0[5:5];
end
endmodule
https://soundcloud.com/vitasynth/vitasynth-saw-220-hz
PRBS7
reg [6:0] d; always @(posedge clk) begin d <= { d[5:0], d[6] ^ d[5] };end
PRBS23
reg [22:0] d; always @(posedge clk) begin d <= { d[22:0], d[22] ^ d[17] };end
PRBS31
reg [30:0] d; always @(posedge clk) begin d <= { d[30:0], d[30] ^ d[27] };end