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ū
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ū