§ Верхний уровень
1/* 2 * Генератор 32-х битных случайных чисел 3 * marsohod.org/projects/proekty-dlya-platy-marsokhod3/325-random-gen 4 */ 5 6wire [31:0] rnd; 7 8rand32 RANDOM32 9( 10 .clock (clk), // 100 Mhz 11 .rnd (rnd) // 32 bit 12);
§ rand32.v
1module rand32 2( 3 input wire clock, 4 output reg [31:0] rnd 5); 6 7initial rnd = 32'h00000001; 8 9// Следующий бит случайности 10wire next_bit = rnd[31] ^ rnd[30] ^ rnd[29] ^ rnd[27] ^ rnd[25] ^ rnd[0]; 11 12// Генератор 13always @(posedge clock) rnd <= { next_bit, rnd[31:1] }; 14 15endmodule