Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Binary to gray conversion in FIFO pointer

Status
Not open for further replies.

muthuram1984

Newbie level 6
Joined
Feb 7, 2012
Messages
14
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,388
Hi,

We are using gray code value in Read and write pointers in FIFO to avoid the multi bit changing in single clock cycle,for example if you are using the async FIFO with the depth of 11 and width of 32bits. So now the write pointer will be reset to zero when it reaches the 10th location
so in gray code also the pointer value will be changed from 1111(10) to 0000(zero) which results multi bit change in the pointer reset condition.
So how it will be useful? here the purpose of using gray code is not useful? isnt it?

Please clarify me if i am wrong

Thanks
Muthu
 

Most FIFOs are using block ram with a 2^N depth. They work well with gray encoded data pointers.
 

Yes, for FIFOs which do not have depth 2^n, you will need special Gray counters. TO understand just write 3-bit Gray code from 000 to 111, you notice that it is a reflection around the center axis. You can use this property to design a Gray code that will skip some counts so that it can still maintain it property. Refer to this link for an excellent explanation:
h**p://asicdigitaldesign.wordpress.com/2008/06/09/non-power-of-2-gray-counter-design/
 
  • Like
Reactions: FvM

    FvM

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top