Перейти к содержанию
    

PRBS генератор на Verilog

Добрый день

 

Не подскажете где бы взять синтезируемый PRBS генератор на 32 разряда.

погуглил , но к сожалению не смог ничего найти (самому разбираться и писать лениво)

 

вот тут взял какуюто генерилку

http://www.easics.com/webtools/crctool

 

и слепил вот такой генератор из нее

 

но чую что не так всё должно быть ....

 

////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 1999-2008 Easics NV.
// This source file may be used and distributed without restriction
// provided that this copyright statement is not removed from the file
// and that any derivative work contains the original copyright notice
// and the associated disclaimer.
//
// THIS SOURCE FILE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS
// OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
// WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
//
// Purpose : synthesizable CRC function
//   * polynomial: (0 1 2 4 5 7 8 10 11 12 16 22 23 26 32)
//   * data width: 32
//
// Info : [email protected]
//        http://www.easics.com
////////////////////////////////////////////////////////////////////////////////
module CRC32_D32(
                  input         i_clk       ,
                  input         i_reset     ,
                  output [31:0] o_prbs      
                );
reg [31:0] curr_prbs;
wire[31:0] Data = curr_prbs;
wire[31:0] crc  = curr_prbs;
reg [31:0] d;
reg [31:0] c;
reg [31:0] newcrc;

always @(posedge i_clk or posedge i_reset)
  begin 
    if (i_reset)
      begin 
        curr_prbs <= 32'hffffffff;
      end 
    else 
      begin 
        curr_prbs <= newcrc;
      end 
  end 
assign o_prbs = curr_prbs;
  // polynomial: (0 1 2 4 5 7 8 10 11 12 16 22 23 26 32)
  // data width: 32
  // convention: the first serial bit is D[31]
//  function [31:0] nextCRC32_D32;
always @(*)
  begin 
    d = Data;
    c = crc;
    newcrc[ 0] = d[31] ^ d[30] ^ d[29] ^ d[28] ^ d[26] ^ d[25] ^ d[24] ^ d[16] ^ d[12] ^ d[10] ^ d[9] ^ d[6] ^ d[0] ^ c[0] ^ c[6] ^ c[9] ^ c[10] ^ c[12] ^ c[16] ^ c[24] ^ c[25] ^ c[26] ^ c[28] ^ c[29] ^ c[30] ^ c[31];
    newcrc[ 1] = d[28] ^ d[27] ^ d[24] ^ d[17] ^ d[16] ^ d[13] ^ d[12] ^ d[11] ^ d[9] ^ d[7] ^ d[6] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[6] ^ c[7] ^ c[9] ^ c[11] ^ c[12] ^ c[13] ^ c[16] ^ c[17] ^ c[24] ^ c[27] ^ c[28];
    newcrc[ 2] = d[31] ^ d[30] ^ d[26] ^ d[24] ^ d[18] ^ d[17] ^ d[16] ^ d[14] ^ d[13] ^ d[9] ^ d[8] ^ d[7] ^ d[6] ^ d[2] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[2] ^ c[6] ^ c[7] ^ c[8] ^ c[9] ^ c[13] ^ c[14] ^ c[16] ^ c[17] ^ c[18] ^ c[24] ^ c[26] ^ c[30] ^ c[31];
    newcrc[ 3] = d[31] ^ d[27] ^ d[25] ^ d[19] ^ d[18] ^ d[17] ^ d[15] ^ d[14] ^ d[10] ^ d[9] ^ d[8] ^ d[7] ^ d[3] ^ d[2] ^ d[1] ^ c[1] ^ c[2] ^ c[3] ^ c[7] ^ c[8] ^ c[9] ^ c[10] ^ c[14] ^ c[15] ^ c[17] ^ c[18] ^ c[19] ^ c[25] ^ c[27] ^ c[31];
    newcrc[ 4] = d[31] ^ d[30] ^ d[29] ^ d[25] ^ d[24] ^ d[20] ^ d[19] ^ d[18] ^ d[15] ^ d[12] ^ d[11] ^ d[8] ^ d[6] ^ d[4] ^ d[3] ^ d[2] ^ d[0] ^ c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[8] ^ c[11] ^ c[12] ^ c[15] ^ c[18] ^ c[19] ^ c[20] ^ c[24] ^ c[25] ^ c[29] ^ c[30] ^ c[31];
    newcrc[ 5] = d[29] ^ d[28] ^ d[24] ^ d[21] ^ d[20] ^ d[19] ^ d[13] ^ d[10] ^ d[7] ^ d[6] ^ d[5] ^ d[4] ^ d[3] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ^ c[10] ^ c[13] ^ c[19] ^ c[20] ^ c[21] ^ c[24] ^ c[28] ^ c[29];
    newcrc[ 6] = d[30] ^ d[29] ^ d[25] ^ d[22] ^ d[21] ^ d[20] ^ d[14] ^ d[11] ^ d[8] ^ d[7] ^ d[6] ^ d[5] ^ d[4] ^ d[2] ^ d[1] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ^ c[8] ^ c[11] ^ c[14] ^ c[20] ^ c[21] ^ c[22] ^ c[25] ^ c[29] ^ c[30];
    newcrc[ 7] = d[29] ^ d[28] ^ d[25] ^ d[24] ^ d[23] ^ d[22] ^ d[21] ^ d[16] ^ d[15] ^ d[10] ^ d[8] ^ d[7] ^ d[5] ^ d[3] ^ d[2] ^ d[0] ^ c[0] ^ c[2] ^ c[3] ^ c[5] ^ c[7] ^ c[8] ^ c[10] ^ c[15] ^ c[16] ^ c[21] ^ c[22] ^ c[23] ^ c[24] ^ c[25] ^ c[28] ^ c[29];
    newcrc[ 8] = d[31] ^ d[28] ^ d[23] ^ d[22] ^ d[17] ^ d[12] ^ d[11] ^ d[10] ^ d[8] ^ d[4] ^ d[3] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[8] ^ c[10] ^ c[11] ^ c[12] ^ c[17] ^ c[22] ^ c[23] ^ c[28] ^ c[31];
    newcrc[ 9] = d[29] ^ d[24] ^ d[23] ^ d[18] ^ d[13] ^ d[12] ^ d[11] ^ d[9] ^ d[5] ^ d[4] ^ d[2] ^ d[1] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[9] ^ c[11] ^ c[12] ^ c[13] ^ c[18] ^ c[23] ^ c[24] ^ c[29];
    newcrc[10] = d[31] ^ d[29] ^ d[28] ^ d[26] ^ d[19] ^ d[16] ^ d[14] ^ d[13] ^ d[9] ^ d[5] ^ d[3] ^ d[2] ^ d[0] ^ c[0] ^ c[2] ^ c[3] ^ c[5] ^ c[9] ^ c[13] ^ c[14] ^ c[16] ^ c[19] ^ c[26] ^ c[28] ^ c[29] ^ c[31];
    newcrc[11] = d[31] ^ d[28] ^ d[27] ^ d[26] ^ d[25] ^ d[24] ^ d[20] ^ d[17] ^ d[16] ^ d[15] ^ d[14] ^ d[12] ^ d[9] ^ d[4] ^ d[3] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[9] ^ c[12] ^ c[14] ^ c[15] ^ c[16] ^ c[17] ^ c[20] ^ c[24] ^ c[25] ^ c[26] ^ c[27] ^ c[28] ^ c[31];
    newcrc[12] = d[31] ^ d[30] ^ d[27] ^ d[24] ^ d[21] ^ d[18] ^ d[17] ^ d[15] ^ d[13] ^ d[12] ^ d[9] ^ d[6] ^ d[5] ^ d[4] ^ d[2] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[6] ^ c[9] ^ c[12] ^ c[13] ^ c[15] ^ c[17] ^ c[18] ^ c[21] ^ c[24] ^ c[27] ^ c[30] ^ c[31];
    newcrc[13] = d[31] ^ d[28] ^ d[25] ^ d[22] ^ d[19] ^ d[18] ^ d[16] ^ d[14] ^ d[13] ^ d[10] ^ d[7] ^ d[6] ^ d[5] ^ d[3] ^ d[2] ^ d[1] ^ c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[6] ^ c[7] ^ c[10] ^ c[13] ^ c[14] ^ c[16] ^ c[18] ^ c[19] ^ c[22] ^ c[25] ^ c[28] ^ c[31];
    newcrc[14] = d[29] ^ d[26] ^ d[23] ^ d[20] ^ d[19] ^ d[17] ^ d[15] ^ d[14] ^ d[11] ^ d[8] ^ d[7] ^ d[6] ^ d[4] ^ d[3] ^ d[2] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[7] ^ c[8] ^ c[11] ^ c[14] ^ c[15] ^ c[17] ^ c[19] ^ c[20] ^ c[23] ^ c[26] ^ c[29];
    newcrc[15] = d[30] ^ d[27] ^ d[24] ^ d[21] ^ d[20] ^ d[18] ^ d[16] ^ d[15] ^ d[12] ^ d[9] ^ d[8] ^ d[7] ^ d[5] ^ d[4] ^ d[3] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ^ c[8] ^ c[9] ^ c[12] ^ c[15] ^ c[16] ^ c[18] ^ c[20] ^ c[21] ^ c[24] ^ c[27] ^ c[30];
    newcrc[16] = d[30] ^ d[29] ^ d[26] ^ d[24] ^ d[22] ^ d[21] ^ d[19] ^ d[17] ^ d[13] ^ d[12] ^ d[8] ^ d[5] ^ d[4] ^ d[0] ^ c[0] ^ c[4] ^ c[5] ^ c[8] ^ c[12] ^ c[13] ^ c[17] ^ c[19] ^ c[21] ^ c[22] ^ c[24] ^ c[26] ^ c[29] ^ c[30];
    newcrc[17] = d[31] ^ d[30] ^ d[27] ^ d[25] ^ d[23] ^ d[22] ^ d[20] ^ d[18] ^ d[14] ^ d[13] ^ d[9] ^ d[6] ^ d[5] ^ d[1] ^ c[1] ^ c[5] ^ c[6] ^ c[9] ^ c[13] ^ c[14] ^ c[18] ^ c[20] ^ c[22] ^ c[23] ^ c[25] ^ c[27] ^ c[30] ^ c[31];
    newcrc[18] = d[31] ^ d[28] ^ d[26] ^ d[24] ^ d[23] ^ d[21] ^ d[19] ^ d[15] ^ d[14] ^ d[10] ^ d[7] ^ d[6] ^ d[2] ^ c[2] ^ c[6] ^ c[7] ^ c[10] ^ c[14] ^ c[15] ^ c[19] ^ c[21] ^ c[23] ^ c[24] ^ c[26] ^ c[28] ^ c[31];
    newcrc[19] = d[29] ^ d[27] ^ d[25] ^ d[24] ^ d[22] ^ d[20] ^ d[16] ^ d[15] ^ d[11] ^ d[8] ^ d[7] ^ d[3] ^ c[3] ^ c[7] ^ c[8] ^ c[11] ^ c[15] ^ c[16] ^ c[20] ^ c[22] ^ c[24] ^ c[25] ^ c[27] ^ c[29];
    newcrc[20] = d[30] ^ d[28] ^ d[26] ^ d[25] ^ d[23] ^ d[21] ^ d[17] ^ d[16] ^ d[12] ^ d[9] ^ d[8] ^ d[4] ^ c[4] ^ c[8] ^ c[9] ^ c[12] ^ c[16] ^ c[17] ^ c[21] ^ c[23] ^ c[25] ^ c[26] ^ c[28] ^ c[30];
    newcrc[21] = d[31] ^ d[29] ^ d[27] ^ d[26] ^ d[24] ^ d[22] ^ d[18] ^ d[17] ^ d[13] ^ d[10] ^ d[9] ^ d[5] ^ c[5] ^ c[9] ^ c[10] ^ c[13] ^ c[17] ^ c[18] ^ c[22] ^ c[24] ^ c[26] ^ c[27] ^ c[29] ^ c[31];
    newcrc[22] = d[31] ^ d[29] ^ d[27] ^ d[26] ^ d[24] ^ d[23] ^ d[19] ^ d[18] ^ d[16] ^ d[14] ^ d[12] ^ d[11] ^ d[9] ^ d[0] ^ c[0] ^ c[9] ^ c[11] ^ c[12] ^ c[14] ^ c[16] ^ c[18] ^ c[19] ^ c[23] ^ c[24] ^ c[26] ^ c[27] ^ c[29] ^ c[31];
    newcrc[23] = d[31] ^ d[29] ^ d[27] ^ d[26] ^ d[20] ^ d[19] ^ d[17] ^ d[16] ^ d[15] ^ d[13] ^ d[9] ^ d[6] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[6] ^ c[9] ^ c[13] ^ c[15] ^ c[16] ^ c[17] ^ c[19] ^ c[20] ^ c[26] ^ c[27] ^ c[29] ^ c[31];
    newcrc[24] = d[30] ^ d[28] ^ d[27] ^ d[21] ^ d[20] ^ d[18] ^ d[17] ^ d[16] ^ d[14] ^ d[10] ^ d[7] ^ d[2] ^ d[1] ^ c[1] ^ c[2] ^ c[7] ^ c[10] ^ c[14] ^ c[16] ^ c[17] ^ c[18] ^ c[20] ^ c[21] ^ c[27] ^ c[28] ^ c[30];
    newcrc[25] = d[31] ^ d[29] ^ d[28] ^ d[22] ^ d[21] ^ d[19] ^ d[18] ^ d[17] ^ d[15] ^ d[11] ^ d[8] ^ d[3] ^ d[2] ^ c[2] ^ c[3] ^ c[8] ^ c[11] ^ c[15] ^ c[17] ^ c[18] ^ c[19] ^ c[21] ^ c[22] ^ c[28] ^ c[29] ^ c[31];
    newcrc[26] = d[31] ^ d[28] ^ d[26] ^ d[25] ^ d[24] ^ d[23] ^ d[22] ^ d[20] ^ d[19] ^ d[18] ^ d[10] ^ d[6] ^ d[4] ^ d[3] ^ d[0] ^ c[0] ^ c[3] ^ c[4] ^ c[6] ^ c[10] ^ c[18] ^ c[19] ^ c[20] ^ c[22] ^ c[23] ^ c[24] ^ c[25] ^ c[26] ^ c[28] ^ c[31];
    newcrc[27] = d[29] ^ d[27] ^ d[26] ^ d[25] ^ d[24] ^ d[23] ^ d[21] ^ d[20] ^ d[19] ^ d[11] ^ d[7] ^ d[5] ^ d[4] ^ d[1] ^ c[1] ^ c[4] ^ c[5] ^ c[7] ^ c[11] ^ c[19] ^ c[20] ^ c[21] ^ c[23] ^ c[24] ^ c[25] ^ c[26] ^ c[27] ^ c[29];
    newcrc[28] = d[30] ^ d[28] ^ d[27] ^ d[26] ^ d[25] ^ d[24] ^ d[22] ^ d[21] ^ d[20] ^ d[12] ^ d[8] ^ d[6] ^ d[5] ^ d[2] ^ c[2] ^ c[5] ^ c[6] ^ c[8] ^ c[12] ^ c[20] ^ c[21] ^ c[22] ^ c[24] ^ c[25] ^ c[26] ^ c[27] ^ c[28] ^ c[30];
    newcrc[29] = d[31] ^ d[29] ^ d[28] ^ d[27] ^ d[26] ^ d[25] ^ d[23] ^ d[22] ^ d[21] ^ d[13] ^ d[9] ^ d[7] ^ d[6] ^ d[3] ^ c[3] ^ c[6] ^ c[7] ^ c[9] ^ c[13] ^ c[21] ^ c[22] ^ c[23] ^ c[25] ^ c[26] ^ c[27] ^ c[28] ^ c[29] ^ c[31];
    newcrc[30] = d[30] ^ d[29] ^ d[28] ^ d[27] ^ d[26] ^ d[24] ^ d[23] ^ d[22] ^ d[14] ^ d[10] ^ d[8] ^ d[7] ^ d[4] ^ c[4] ^ c[7] ^ c[8] ^ c[10] ^ c[14] ^ c[22] ^ c[23] ^ c[24] ^ c[26] ^ c[27] ^ c[28] ^ c[29] ^ c[30];
    newcrc[31] = d[31] ^ d[30] ^ d[29] ^ d[28] ^ d[27] ^ d[25] ^ d[24] ^ d[23] ^ d[15] ^ d[11] ^ d[9] ^ d[8] ^ d[5] ^ c[5] ^ c[8] ^ c[9] ^ c[11] ^ c[15] ^ c[23] ^ c[24] ^ c[25] ^ c[27] ^ c[28] ^ c[29] ^ c[30] ^ c[31];
  end

endmodule

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость tolikpuhovich
Добрый день

Не подскажете где бы взять синтезируемый PRBS генератор на 32 разряда.

погуглил , но к сожалению не смог ничего найти (самому разбираться и писать лениво)

opencores

Титце-Шенка можно почитать еще, Хоровица-Хилла...

А вообще - причем здесь CRC?

 
`timescale 1ns / 1ps
module prbsgen(CLK, EN, RST, PRBSOUT);
   input      CLK;
   input      EN;
   input      RST;
   output     PRBSOUT;
   
   reg [31:0] x;
   
   assign PRBSOUT = x[0];
      
   always @(posedge CLK or negedge RST)
      if (RST == 1'b0)
         x <= 32'h55555555;
      else 
      if (EN==1)
      begin
         x[0] <= x[31] ^ x[28];
         x[31:1] <= x[30:0];
      end
endmodule

 

Или я не о том?

 

Попутно - если для Xilinx, то рекомендую еще почитать xapp211 "PN Generators Using the SRL Macro".

Изменено пользователем tolikpuhovich

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...А вообще - причем здесь CRC?

Так при том, что используя напильник, можно из той генерилки выпилять себе вполне сносный PRBS :biggrin:

Но я бы загружал в генератор не заранее известное число а что нибудь из ADC, если есть, или мусор из DRAM после старта. В общем максимально приближённый к реальности "random", хотя тут конечно от задачи зависит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость tolikpuhovich
Так при том, что используя напильник, можно из той генерилки выпилять себе вполне сносный PRBS :biggrin:
"Это же не наш метод!" ©

 

Но я бы загружал в генератор не заранее известное число а что нибудь из ADC, если есть, или мусор из DRAM после старта. В общем максимально приближённый к реальности "random"
Тут все от задачи зависит. Может он BERT делает... А может ПЛИС колоду карт тасует :)

Поправьте, если не прав.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообщето если память мне не изменяет, хороший генератор должен иметь период в 2^n с нормальным распределением.

помоему одной простой операцией xor не обойтись (могу сильно ошибаться)

потому то я и хотел найти уже готовый и проверенный.

 

слишком глубоко разбираться с теорией как-то нет времени сейчас потому и спросил - может уже есть готовое

 

поробую ознакомится с опенкоре проектом - спасибо за линк

 

module prbs23x1_gen(
input wire clk,
input wire noise,
input wire reset,
output wire prbs_out
);
reg [22:0] col  /* synthesis dont_merge preserve*/;
wire      fb;
always@(posedge clk or posedge reset)
begin
    if(reset)
        begin
            col<=23'b1111_1111_1111_1111_1111_111;
        end
    else
        begin
            col<={fb,col[22:1]};
        end
end
assign fb=col[4]^col[22];
assign prbs_out=col[22] | noise;

endmodule

 

вот что в опенкорах ... мда ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообщето если память мне не изменяет, хороший генератор должен иметь период в 2^n с нормальным распределением.

помоему одной простой операцией xor не обойтись (могу сильно ошибаться)

потому то я и хотел найти уже готовый и проверенный.

 

слишком глубоко разбираться с теорией как-то нет времени сейчас потому и спросил - может уже есть готовое

 

поробую ознакомится с опенкоре проектом - спасибо за линк

 

module prbs23x1_gen(
input wire clk,
input wire noise,
input wire reset,
output wire prbs_out
);
reg [22:0] col  /* synthesis dont_merge preserve*/;
wire      fb;
always@(posedge clk or posedge reset)
begin
     if(reset)
         begin
             col<=23'b1111_1111_1111_1111_1111_111;
         end
     else
         begin
             col<={fb,col[22:1]};
         end
end
assign fb=col[4]^col[22];
assign prbs_out=col[22] | noise;

endmodule

 

вот что в опенкорах ... мда ...

 

М-последовательности не дают нормального распределения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простейший способ сделать что-либо близкое к нормальному распределению - воспользоваться предельной теоремой теории вероятности.

Грубо говоря, сгенерить десяток ненормальных случайных величин и сложить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость tolikpuhovich

Может тогда пошукать тот же опенкорс в разделе Crypto core?

RC4 Вам подойдет?

 

Блин - википедию почитал, аж страшно стало :) - "большинство из них разработано для военных целей и держатся в секрете" ... даже от самих военных :)

 

 

Простейший способ сделать что-либо близкое к нормальному распределению - воспользоваться предельной теоремой теории вероятности.

Грубо говоря, сгенерить десяток ненормальных случайных величин и сложить.

Попутно хочу поинтересоваться - а как понимать "нормальное распределение" для двоичной (битовой 0/1) последовательности? Как оно будет от равномерного отличаться?

А то знаете бывает, что люди "нормальный шум" и "белый шум" считают синонимами... Поэтому вот и интересуюсь.

Изменено пользователем tolikpuhovich

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попутно хочу поинтересоваться - а как понимать "нормальное распределение" для двоичной (битовой 0/1) последовательности? Как оно будет от равномерного отличаться?

А то знаете бывает, что люди "нормальный шум" и "белый шум" считают синонимами... Поэтому вот и интересуюсь.

Насколько я понял, человеку нужны 32-битные случайные числа. Само собой нормальное распределение не для двоичной последовательности :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость tolikpuhovich
Насколько я понял, человеку нужны 32-битные случайные числа. Само собой нормальное распределение не для двоичной последовательности :)

Насколько я понял из названия темы (PRBS генератор на Verilog) - человеку нужен PRBS генератор, а не PRNG генератор. В противном случае - извините. :)

Вообщем то и мой "опус" о нормальном и белом шуме не к Вам относился - к топикстартеру :) (ни и, видимо, к victor-у)

Изменено пользователем tolikpuhovich

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

to arexol, а в матлабе нельзя что-нибудь подобное сгенерить? Я в свое время генератор AWGN прям оттуда синтезировал и вставлял в спартан3, снимал чипскопом и массив загонял опять в матлаб - спектр в полосе равномерным был (более или менее).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько я понял из названия темы (PRBS генератор на Verilog) - человеку нужен PRBS генератор, а не PRNG генератор. В противном случае - извините. :)

Вообщем то и мой "опус" о нормальном и белом шуме не к Вам относился - к топикстартеру :) (ни и, видимо, к victor-у)

 

Тут возьни на 12 сообщений - и только потому что кто-то чего-то додумывает за автора топика.

Открою тайну дла RAK-а: Нормального шума не существует, существует нормальное распределение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость tolikpuhovich
Открою тайну дла RAK-а: Нормального шума не существует, существует нормальное распределение.
А мужики-то не знают! :)

Есть все признаки существования термина "нормальный шум". И я знаю ЧТО это означает. Тайны Вы мне не открыли.

 

Тут возьни на 12 сообщений - и только потому что кто-то чего-то додумывает за автора топика.
Дык я вроде из фразы "PRBS генератор на Verilog" скрытого смысла не искал.

 

Victor®, я абсолютно без наездов и подколов просто прошу, чтобы Вы чобъяснили - что Вы имели ввиду, когда сказали

М-последовательности не дают нормального распределения
и все...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 R.A.K.

Я так думаю Victor® имелл виду их склонность/свойство генерировать больше единиц чем нулей на заданном интервале :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...