FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > VHDL

VHDL comp.lang.vhdl newsgroup / Usenet

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 12-30-2003, 10:59 AM
T. Irmen
Guest
 
Posts: n/a
Default parallel scrambler implementation

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
  #2 (permalink)  
Old 12-30-2003, 01:20 PM
T. Irmen
Guest
 
Posts: n/a
Default Re: parallel scrambler implementation (solved)

Problem solved!

I used a generic prbs generator!

now it works fine :-)

Thomas

"T. Irmen" <tirmen@gmx.net> schrieb im Newsbeitrag
news:bsrlq7$7du$1@online.de...
> 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
  #3 (permalink)  
Old 12-31-2003, 07:40 AM
jussi l
Guest
 
Posts: n/a
Default Re: parallel scrambler implementation

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" <tirmen@gmx.net> wrote in message news:bsrlq7$7du$1@online.de...
> 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
  #4 (permalink)  
Old 12-31-2003, 02: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" <jusa@removethis.ee.tut.fi> schrieb im Newsbeitrag
news:bstucl$1hn$1@news.cc.tut.fi...
> 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" <tirmen@gmx.net> wrote in message

news:bsrlq7$7du$1@online.de...
> > 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
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How do I convert a polynomial into a parallel scrambler formula? Kris Neot FPGA 11 06-27-2005 04:01 AM
How do I convert a polynomial into a parallel scrambler formula? Kris Neot Verilog 4 06-27-2005 04:01 AM
How do I convert a polynomial into a parallel scrambler formula? Kris Neot FPGA 0 06-24-2005 02:57 AM
How do I convert a polynomial into a parallel scrambler formula? Kris Neot Verilog 0 06-24-2005 02:57 AM
Implementation of parallel 2D median filtering Andreas Verilog 0 12-02-2003 10:44 AM


All times are GMT +1. The time now is 03:44 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved