Re: Re: CRC -16 component

Ravi Ranjan Kumar <raviranjan_kumar-HTy/[email protected]> Wed, 3 Mar 2004 22:48:52 -0500
Newsgroups gmane.org.handasarabia.nour
Message-ID <[email protected]>
Hi Jamil,
Please find my comments on the changes suggested by you in your
mail marked as "Ravi>>". Please mail me for any clarification on
this.
Thanks and Regards
-- Ravi Ranjan Kumar




________________________________________________
Get your own "800" number
Voicemail, fax, email, and a lot more
http://www.ureach.com/reg/tag


---- On Wed, 03 Mar 2004, Jamil Khatib ([email protected])
wrote:

 
 Dear all,
 I would like to thank you for all what you have done in this
project. It was
 interesting to see that some work are going on.
 
 I would like to make some explanations to the NOUR design
specifications document and some comments about your
interpretation of the design.
 
 - Since bluetooth works on 1MHz we have to process the system
at faster clock rate specially if we are going to make serial
processing to reduce the logic size. For that reason there is a
block that generates pulses at 1 MHz rate while the system is
going to operate at higher clock rate. We can in this way speed
up the operations of other parts  that are not dependant on the
inoput/output stream and use single clock in the system to
avoide multple clocks.

Ravi>>  My point was to devide the design in three parts.
           a. Data Path : Which work at the rx/tx clock.
              In tern saving power (since it is working at 
              lower frequency)and logic (pulse genarator is not 
              required, the logic to take care of the action on 
              pulses is not required).

           b. Controllers: Which controls the data flow and
              takes intelligent decisions. It will be running
              at the frequency that is required to support the 
              controller logic.

           c. The host interface: This perticular block contals 
              the wishbone master, slave, DMA, Buffers and 
              control and status registers. These blocks 
              will run at the frequency which is required to 
              support the data-rate on bluetooth.

If intention of the design is simpler then the approach suggeted
by you is very much applicable. But if the design needs to be
efficient in terms of power and gate-counts i my suggestion is
to go for the design approach taken in the latest CRC bloxk.


 - in the CRC block (and most Data path blocks) I supply two
data inputs and do multiplexing inside the block because I do
not want to make external multiplexors. Besides that this will
simplify the system controller so it can control only the blocks
not the muxs.
 
Ravi>> I was thinking from prespective of debugging the design
as a system. In this case we need to have more configuerablity
in terms of bypassing or pssing the data throught the datapth
elements selectivly. If we have the muxes outside each datapath
elements, it gives a better control over the controllabilty over
configueration of each of the data elements.

 I'll try in the coming days to read the documents and send my
comments.
 
 Best regards,
 Jamil Khatib
 
> On 3/1/2004, "Mohamed Salem" <[email protected]>
wrote:
> 
> >Dear All,
> >
> >This presents a detailed description of the CRC-16 component
> >functionality in the bit-stream processing of the bluetooth
baseband
> >datapath.
> >(This will be added to the HW spec. document on NOUR folder
on HA site)
> >-------------------
> >
> >Processing description:
> >------------
> >-The CRC-16 will process the data of the payload (user-data.)
in TX and
> >CRC-16 part in the received packet in RX direction.
> >
> >Note: Bluetooth Packet is composed of the following:
> >{Header, HEC, Payload, CRC-16 Value on USER-data }
> >
> >-Some definitions:
> >
> >Payload : User-data ; pure data coming from the upper
bluetooth layers
> >and stored in the TX-Buffers (at the Transmitter).
> >TX- Buffers : 32 bits width , read from buffer one bit at a
time.
> >The DPRAM technology is suitable to implement the TX/RX
buffers
> >according to this context) .. will be revisted later while
desiging the
> >buffers.
> >
> >-Main Function:
> >-The function of the CRC-16 is to evaluate the CRC-16 value
on the
> >payload(user-data) and append it to payload (TX)
> >Check for the CRC-16 value correctness in the recieved packet
and inform
> >whether it is passed check or failed(RX)
> >
> >-The CRC-16 implements the CCITT (X16 + X12 + X5 + 1)
> >
> >-The CRC-16 uses a 16 bit LFSR register which has particular
(Xoring)
> >for certain Flipflops outputs that are fedback to another FF
inputs of
> >the LFSR.Refer to figure 3 in HW specs on the NOUR folder on
HA site.
> >
> >-The  data is flowing to the block in serial fashion each
clock cycle of
> >1 MHZ of system clock.
> >
> >-The LFSR is initialized to ZEROS (seed-value) of the LFSR
using an
> >initialization input signal at the start of the system.
> >
> >-The system controller will enable the block for operation
before the
> >start of CRC -16 processing using an "enable" input signal.
> >
> >-At the end of payload (user-data) the main system controller
will
> >inform the CRC-16 by asserting a "drain" input signal high.
> >
> >-The drain signal should be asserted "1" for 16 clock
cycles.When
> >working on CRC-16 processing the drain signal should be
(zero) and the
> >output should be maintained to the value of the input data (
a 2-1 MUX
> >is used for that purpose )
> >
> >-The 16 clock cycles are enough to "Drain" the LFSR.Hence,
the CRC value
> >(16 bits)would be appended to the payload while TX operation.
> >
> >-In the RX direction, whenever the CRC part is checked and
verified the
> >content of the LFSR should be "Zeros" .Hence, the CRCMATCH
output signal
> >should be asserted high , indicating the CRC check
correctness.
> >
> >--- The signal description of the CRC-16 block :
> >
> >Input signals:
> >     txRxClk      : 1 MHz clock.
> >     sysReset_n   : Active low global reset signal
> >     txRxDataIn   : A multiplexed (txData: at the time of
> >                    transmit and rxData: at time of
reception)
> >                    data on which the block has to
> >                    calculate/check CRC-16
> >     init         : A pulse to initialize the LFSR of the
CRC-16
> >                    block ( This signal should be asserted
for
> >                    at least a clock period of txRxClk before
> >                    start of each transaction).
> >     drain        : This signal gets asserted in the transmit
> >                    direction only, when the data is over and
> >                    the calculated CRC-16 has to be appended,
> >                    it should be high of 16 clocks of txRxClk
in
> >                    turn draining all the 16 bits of CRC-16
> >                    LFSR.
> >     enableBlock  : It enables the LFSR to calculate/check
the
> >                    CRC-16. (I am not sure whether it is
> >                    required or not, but it's better to have
it.
> >                    if it is not required it will be tied to
> >                    "1".)
> >
> > Output signals:
> >
> >      txRxDataOut  : If the drain == "0"; it holds the value
> >                     of txRxDataIn.
> >                     If the drain == "1"; it holds CRC-16
> >                     calculated value.
> >       crcMatch    : Whenever the value of the LFSR is equal
to
> >                     "0", the crcMatch gets asserted. It is
> >                     receive controller's duty to sample it
at
> >                     the end of the packet, to know whether
> >                     CRC-16 has passed or not.
> >
> >Block-Diagram:
> >will be added to HW spec document on NOUR folder.
> >
>
>----------------------------------------------------------------------
> >The details of the CRC-16 component will be added to the
Bit-stream HW
> >spec. document. version 0.1
> >--------------------------------
> >By March 8th , the whole Architecture and explanation of the
baseband
> >datapath should be available in details on our spec. document
which is
> >going through the review and update process this week.
> >-----
> >Waiting for feedback and review ..
> >
> >Thanks all for your efforts ..
> >
> >Best Regards,
> >
> >	Mohamed A.Salem
> >
> >
> >
> >
> >--------------------------
> >NOUR Mailing List
> >Handasa Arabia Organization
> >http://www.handasarabia.org
> >[email protected]
> >
> >Message number 114
> 
> --------------------------
> NOUR Mailing List
> Handasa Arabia Organization
> http://www.handasarabia.org
> [email protected]
> 
> Message number 116
> 
> 
> 
> 


--------------------------
NOUR Mailing List
Handasa Arabia Organization
http://www.handasarabia.org
[email protected]

Message number 117