arexol 0 21 сентября, 2012 Опубликовано 21 сентября, 2012 · Жалоба Добрый день Не подскажете где бы взять синтезируемый 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 21 сентября, 2012 Опубликовано 21 сентября, 2012 (изменено) · Жалоба Добрый день Не подскажете где бы взять синтезируемый 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". Изменено 21 сентября, 2012 пользователем tolikpuhovich Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 21 сентября, 2012 Опубликовано 21 сентября, 2012 · Жалоба ...А вообще - причем здесь CRC? Так при том, что используя напильник, можно из той генерилки выпилять себе вполне сносный PRBS Но я бы загружал в генератор не заранее известное число а что нибудь из ADC, если есть, или мусор из DRAM после старта. В общем максимально приближённый к реальности "random", хотя тут конечно от задачи зависит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость tolikpuhovich 21 сентября, 2012 Опубликовано 21 сентября, 2012 · Жалоба Так при том, что используя напильник, можно из той генерилки выпилять себе вполне сносный PRBS "Это же не наш метод!" © Но я бы загружал в генератор не заранее известное число а что нибудь из ADC, если есть, или мусор из DRAM после старта. В общем максимально приближённый к реальности "random"Тут все от задачи зависит. Может он BERT делает... А может ПЛИС колоду карт тасует :) Поправьте, если не прав. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arexol 0 21 сентября, 2012 Опубликовано 21 сентября, 2012 · Жалоба Вообщето если память мне не изменяет, хороший генератор должен иметь период в 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 вот что в опенкорах ... мда ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LV26 0 21 сентября, 2012 Опубликовано 21 сентября, 2012 · Жалоба Вообщето если память мне не изменяет, хороший генератор должен иметь период в 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 вот что в опенкорах ... мда ... М-последовательности не дают нормального распределения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
troiden 0 21 сентября, 2012 Опубликовано 21 сентября, 2012 · Жалоба Простейший способ сделать что-либо близкое к нормальному распределению - воспользоваться предельной теоремой теории вероятности. Грубо говоря, сгенерить десяток ненормальных случайных величин и сложить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость tolikpuhovich 21 сентября, 2012 Опубликовано 21 сентября, 2012 (изменено) · Жалоба Может тогда пошукать тот же опенкорс в разделе Crypto core? RC4 Вам подойдет? Блин - википедию почитал, аж страшно стало :) - "большинство из них разработано для военных целей и держатся в секрете" ... даже от самих военных :) Простейший способ сделать что-либо близкое к нормальному распределению - воспользоваться предельной теоремой теории вероятности. Грубо говоря, сгенерить десяток ненормальных случайных величин и сложить. Попутно хочу поинтересоваться - а как понимать "нормальное распределение" для двоичной (битовой 0/1) последовательности? Как оно будет от равномерного отличаться? А то знаете бывает, что люди "нормальный шум" и "белый шум" считают синонимами... Поэтому вот и интересуюсь. Изменено 21 сентября, 2012 пользователем tolikpuhovich Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
troiden 0 21 сентября, 2012 Опубликовано 21 сентября, 2012 · Жалоба Попутно хочу поинтересоваться - а как понимать "нормальное распределение" для двоичной (битовой 0/1) последовательности? Как оно будет от равномерного отличаться? А то знаете бывает, что люди "нормальный шум" и "белый шум" считают синонимами... Поэтому вот и интересуюсь. Насколько я понял, человеку нужны 32-битные случайные числа. Само собой нормальное распределение не для двоичной последовательности :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость tolikpuhovich 21 сентября, 2012 Опубликовано 21 сентября, 2012 (изменено) · Жалоба Насколько я понял, человеку нужны 32-битные случайные числа. Само собой нормальное распределение не для двоичной последовательности :) Насколько я понял из названия темы (PRBS генератор на Verilog) - человеку нужен PRBS генератор, а не PRNG генератор. В противном случае - извините. :) Вообщем то и мой "опус" о нормальном и белом шуме не к Вам относился - к топикстартеру :) (ни и, видимо, к victor-у) Изменено 21 сентября, 2012 пользователем tolikpuhovich Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 22 сентября, 2012 Опубликовано 22 сентября, 2012 · Жалоба to arexol, а в матлабе нельзя что-нибудь подобное сгенерить? Я в свое время генератор AWGN прям оттуда синтезировал и вставлял в спартан3, снимал чипскопом и массив загонял опять в матлаб - спектр в полосе равномерным был (более или менее). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость tolikpuhovich 22 сентября, 2012 Опубликовано 22 сентября, 2012 · Жалоба Можно еще посмотреть Altera Advanced Synthesis Cookbook. Там есть глава по теме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LV26 0 22 сентября, 2012 Опубликовано 22 сентября, 2012 · Жалоба Насколько я понял из названия темы (PRBS генератор на Verilog) - человеку нужен PRBS генератор, а не PRNG генератор. В противном случае - извините. :) Вообщем то и мой "опус" о нормальном и белом шуме не к Вам относился - к топикстартеру :) (ни и, видимо, к victor-у) Тут возьни на 12 сообщений - и только потому что кто-то чего-то додумывает за автора топика. Открою тайну дла RAK-а: Нормального шума не существует, существует нормальное распределение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость tolikpuhovich 22 сентября, 2012 Опубликовано 22 сентября, 2012 · Жалоба Открою тайну дла RAK-а: Нормального шума не существует, существует нормальное распределение. А мужики-то не знают! :) Есть все признаки существования термина "нормальный шум". И я знаю ЧТО это означает. Тайны Вы мне не открыли. Тут возьни на 12 сообщений - и только потому что кто-то чего-то додумывает за автора топика.Дык я вроде из фразы "PRBS генератор на Verilog" скрытого смысла не искал. Victor®, я абсолютно без наездов и подколов просто прошу, чтобы Вы чобъяснили - что Вы имели ввиду, когда сказали М-последовательности не дают нормального распределенияи все... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 22 сентября, 2012 Опубликовано 22 сентября, 2012 · Жалоба 2 R.A.K. Я так думаю Victor® имелл виду их склонность/свойство генерировать больше единиц чем нулей на заданном интервале :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться