reikia kodo į Scrambler LFSR: Please help

A

aman_geek

Guest
Hi All,
Turiu parašyti Scrambler kodas verilog.Scrambler yra LFSR (linijinis Atsiliepimai Shift registras ").
23-bit daugianario už LFSR yra G (x) = x23 x21 x16 X8 X5 X2 1
Pagrindinė problema, aš susiduria suranda ir LFSR vertė po 8 serijos laikrodžiai (1 bit Advanced kiekvieną laikrodis).

Yra 2 dalykai čia:
1.Man reikia plakta vertė 8 bitų duomenų įvestis į Scrambler
2.Man reikia žinoti Kitas vertės LFSR po duomenų įvedimo į jį plakta visiškai
Kitas vertė LFSR bus gautos po 8 laikrodžius nuo įvesties duomenys yra 8 bitų

Aš už 16-bit daugianario g (x) = X16 kodas X5 x4 x3 1
Kodas yra toks:

//------------------------------------------------ ----------------------
/ / Funkcija data_scramble
/ / Ši funkcija kalbama kodavimo Duomenų baito pateikti kaip sąnaudas.
//------------------------------------------------ ----------------------
funkcija [7:0] data_scramble;
input [7:0] inbyte / / Duomenys plakta
reg [15:0] temp_new;
reg [15:0], temp;
reg [7:0] scrbyte / / Scrambled duomenys
pradėti

//------------------------------------------------ ----------------------
/ / Generavimas scrbyte (Scrambled duomenys)
//------------------------------------------------ ----------------------
/ / Parduotuvė dabartinis lfsr vertės temp kintamąjį
TEMP = lfsr_scr;

scrbyte [0] = inbyte [0] ^ Temp [15];
scrbyte [1] = inbyte [1] ^ Temp [14];
scrbyte [2] = inbyte [2] ^ Temp [13];
scrbyte [3] = inbyte [3] ^ Temp [12];
scrbyte [4] = inbyte [4] ^ Temp [11];
scrbyte [5] = inbyte [5] ^ Temp [10];
scrbyte [6] = inbyte [6] ^ Temp [9];
scrbyte [7] = inbyte [7] ^ Temp [8];

//------------------------------------------------ ----------------------
/ / Generavimas temp_new (LFSR vertė po 8 serijos laikrodžiai)
//------------------------------------------------ ----------------------
temp_new [0] = temp [8];
temp_new [1] = temp [9];
temp_new [2] = temp [10];
temp_new [3] = temp [11] ^ Temp [8];
temp_new [4] = temp [12] ^ Temp [9] ^ Temp [8];
temp_new [5] = temp [13] ^ Temp [10] ^ Temp [9] ^ Temp [8];
temp_new [6] = temp [14] ^ Temp [11] ^ Temp [10] ^ Temp [9];
temp_new [7] = temp [15] ^ Temp [12] ^ Temp [11] ^ Temp [10];
temp_new [8] = temp [0] ^ Temp [13] ^ Temp [12] ^ Temp [11];
temp_new [9] = temp [1] ^ Temp [14] ^ Temp [13] ^ Temp [12];
temp_new [10] = temp [2] ^ Temp [15] ^ Temp [14] ^ Temp [13];
temp_new [11] = temp [3] ^ Temp [15] ^ Temp [14];
temp_new [12] = temp [4] ^ Temp [15];
temp_new [13] = temp [5];
temp_new [14] = temp [6];
temp_new [15] = temp [7];
lfsr_scr = temp_new;
data_scramble = scrbyte;
pabaiga
endfunction / / data_scramble

Man reikia parašyti panašią kodas 23 bitų Scrambler daugianario aprašyta aukščiau.
Please help.

Ačiū

 
Patogus būdas yra naudoti standartinę (1 bitų poslinkio lfsr) funkcijos ir tegul Verilog kompiliatorių skaičiuoti iteracijos per 8 laikrodžiai.Priemonė yra pakankamai protingas, kad tai padaryti už jus.

 
Ei FVM,
Ar galite parengti apie tai ...
Ačiū .....Skelbimas po 2 minučių:Turiu visas verilog treniruokliai ne mano žinioje: ModelSim, VCS, NCVerilog, QuestaSim ....

 
Pirmasis žingsnis yra įrašyti Galois atsiliepimų formą savo 23-Bit LFSR kodą.
Antra yra sukurti už () iteracijos kilpą aplink jį ir pakartokite kodas 8 kartus.Blokavimo perleidimas turi būti naudojamos LFSR registre šiuo atveju.

 
Ačiū FVM .....
I'll try savo požiūrį ir grįžti prie šio pokalbio, jei man reikia daugiau pagalbos.

 
Yra internetinis įrankis, kuris gali generuoti Scrambler Verilog ar VHDL kodas.It's on http://outputlogic.com

Hope it helps

 

Welcome to EDABoard.com

Sponsor

Back
Top