View Single Post
  #4 (permalink)  
Old 12-31-2003, 03:18 PM
T. Irmen
Guest
 
Posts: n/a
Default Re: parallel scrambler implementation

mmmh, thats a serial implementation and not readable also :-)

Happy new year!

Thomas


"jussi l" <[email protected]> schrieb im Newsbeitrag
news:bstucl$1hn$[email protected]..
> Hi,
>
> Just wanted to show, how to do these LFSRs in somewhat more readable. I

dont
> remember what was the polynominal for the register below, but I think you
> get the picture...
>
> Regards and happy new year,
> juza
>
> process (CLK1, Reset)
> begin
> if Reset = '1' then
> LFSR_1 <= S1;
> elsif CLK1'event and CLK1 = '1' then
> if ena_falling = '1' then
> LFSR_1(0) <= LFSR_1(1) xor LFSR_1(2) xor LFSR_1(4) xor
> LFSR_1(15);
> LFSR_1(15 downto 1) <= LFSR_1(14 downto 0);
> end if;
> end if;
> end process;
>
> "T. Irmen" <[email protected]> wrote in message

news:bsrlq7$7du$[email protected]..
> > Hi,
> >
> > my poly is G(x)= 1 + x^39 + x^58
> > and my databuswith ist 64bit.
> >
> > And thatīs my implementation:
> > ( scramble_1s is the history of the scrambler, data_0 the data input,

and
> > scrambled_s is current scrambling result )
> >
> > scramble: process(scrambled_s,data_0,scrambled1_s)
> > variable scrambled_v : std_logic_vector(63 downto 0);
> > begin
> > if CLK'event and CLK = '1' then
> > for i in 0 to 17 loop
> > scrambled_v(i) := scrambled_v(7+i) XOR scrambled_v(46+i) XOR

data_0(i);
> > end loop;
> > for i in 18 to 56 loop
> > scrambled_v(i) := scrambled_v(7+i) XOR scrambled1_s(i-18) XOR

> data_0(i);
> > end loop;
> > for i in 57 to 63 loop
> > scrambled_v(i) := scrambled1_s(i-57) XOR scrambled1_s(i-18) XOR
> > data_0(i);
> > end loop;
> > scrambled_s <= scrambled_v;
> > end if;
> > end process scramble;
> >
> > Something goes wrong here, donīt know what :-)
> >
> > any suggestions?
> >
> > thanks,
> > thomas
> >
> >

>
>



Reply With Quote