Go Back   Velocity Reviews > Newsgroups > VHDL
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

VHDL - HDLC

 
Thread Tools Search this Thread
Old 12-19-2003, 09:46 PM   #1
Default HDLC


Does anyone know if there is a parallel implementation algorithm for
HDLC protocol? I know it is a serial protocol, however, if one wants
to deply it for a higher speed application, several hundred Mbps, it
would be nice to have a parallel implentation.

Thanks,
Yosi.


Yosi
  Reply With Quote
Old 12-19-2003, 10:51 PM   #2
Mike Treseler
 
Posts: n/a
Default Re: HDLC
Yosi wrote:
> Does anyone know if there is a parallel implementation algorithm for
> HDLC protocol? I know it is a serial protocol, however, if one wants
> to deply it for a higher speed application, several hundred Mbps, it
> would be nice to have a parallel implentation.


You can modify any logically serial process
for parallel data just by looping through
the procedure n times per
clock instead of just once.

Just because you have to check bit
boundaries for flag and and stuff sequences
doesn't mean that you are limited to
handling just one bit per clock.

This is analogous to the problem,
often discussed here,
of calculating an frame check value
for parallel instead of serial data.

-- Mike Treseler



Mike Treseler
  Reply With Quote
Old 12-22-2003, 02:01 AM   #3
Allan Herriman
 
Posts: n/a
Default Re: HDLC
On 19 Dec 2003 13:46:15 -0800, (Yosi) wrote:

>Does anyone know if there is a parallel implementation algorithm for
>HDLC protocol? I know it is a serial protocol, however, if one wants
>to deply it for a higher speed application, several hundred Mbps, it
>would be nice to have a parallel implentation.


As Mike said, this is possible and done frequently. I worked on a
10Gbps HDLC encoder in Virtex-E back in 2000. The entire design cycle
took six weeks (from saying "guys, we need an HDLC encoder" to the
completion of testing in the lab).
I know people who have designed HDLC encoders and decoders to work at
40Gpbs in Virtex-2.

Note that high speed HDLC uses byte stuffing rather than bit stuffing.
See ISO 3309 for details. See also RFC 2615 (which refers to RFC
1662).
http://www.apps.ietf.org/rfc/rfc1662.html

The biggest problem is dealing with the increase in bus width due to
stuffing. In the worst case (perhaps due to a denial of service
attack!) every byte will be stuffed and the amount of data per clock
doubles. I used a 128 bit bus (160MHz clock) in my 10Gbps design; I
think the 40Gbps design used a 512 bit bus (200MHz ? clock).

Note that your egress pipe can usually only handle a fixed data rate,
so the variable increase in bandwidth caused by stuffing implies that
you need to be able to throttle your data source.

The next biggest problem only happens if you are trying to achieve the
maximum possible packet rate. This requires that only a single flag
byte appear between packets, which means that the next packet must
start with a rotation which is determined by the amount of stuffing in
the current packet. Signals flow up and down the pipeline! Joy!
Still, most designs seem to work first time (it helps if you have a
good test bench that has lots of packets with different sizes,
stuffing and interpacket gaps).

Another gotcha: most HDLC applications seem to transmit bytes MSB
first. Ethernet does it the other way (just to be different). This
has implications for your CRC calculations, since CRCs are always
defined in terms of bit order on the line. The 32 bit HDLC polynomial
may be the same as the Ethernet one, but that doesn't mean that you
can necessarily reuse a parallel implementation code without some
thought.

Regards,
Allan.


Allan Herriman
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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

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

Similar Threads
Thread Thread Starter Forum Replies Last Post
A question on HDLC bit stuffing ferrero General Help Related Topics 0 05-16-2009 09:13 AM




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46