+ Post New Thread
Results 1 to 13 of 13
  1. #1
    Member level 1
    Points: 2,258, Level: 11
    Achievements:
    7 years registered

    Join Date
    May 2007
    Posts
    32
    Helped
    3 / 3
    Points
    2,258
    Level
    11

    Registers in FPGA fabric

    Hi,
    I am doing a project in which I need to use almost 65 registers, each one of 8 bit wide.
    Now the problem is, it will consume around 15% of my FPGA distributed fabric (7 series Zynq processor).
    These registers will be used for temporary data storage from some sensors.
    I am using VHDL for RTL entry.
    Is there any method that I can do this without spending that much space on FPGA? Actually overall space that this design is occupying is around 80% and these registers are contributing almost 15%, which I am not liking, as these buffer registers may be increased up to 200 in future expensions. And in that case I will have no other option, as other parts of the design are increasing as well.


    Cheers

    Tahirs

  2. #2
    Advanced Member level 5
    Points: 36,622, Level: 46
    Achievements:
    7 years registered

    Join Date
    Jun 2010
    Posts
    6,690
    Helped
    1950 / 1950
    Points
    36,622
    Level
    46

    Re: Registers in FPGA fabric

    Would it be possible to use a BRAM instead?
    But no, if you need to store data, especially for control registes, each bit needs a register. So the only way to reduce usage here is reduce the number of registers.



    •   AltAdvertisment

        
       

  3. #3
    Member level 1
    Points: 2,258, Level: 11
    Achievements:
    7 years registered

    Join Date
    May 2007
    Posts
    32
    Helped
    3 / 3
    Points
    2,258
    Level
    11

    Re: Registers in FPGA fabric

    Quote Originally Posted by TrickyDicky View Post
    Would it be possible to use a BRAM instead?
    But no, if you need to store data, especially for control registes, each bit needs a register. So the only way to reduce usage here is reduce the number of registers.
    Are there any dedicated multi-bit-registers available in FPGA fabric just like Block RAMs?



  4. #4
    Advanced Member level 5
    Points: 36,622, Level: 46
    Achievements:
    7 years registered

    Join Date
    Jun 2010
    Posts
    6,690
    Helped
    1950 / 1950
    Points
    36,622
    Level
    46

    Re: Registers in FPGA fabric

    Quote Originally Posted by tahirsengine View Post
    Are there any dedicated multi-bit-registers available in FPGA fabric just like Block RAMs?
    Registers are registers and rams are rams. They are not the same thing.



  5. #5
    Member level 1
    Points: 2,258, Level: 11
    Achievements:
    7 years registered

    Join Date
    May 2007
    Posts
    32
    Helped
    3 / 3
    Points
    2,258
    Level
    11

    Re: Registers in FPGA fabric

    Quote Originally Posted by TrickyDicky View Post
    Registers are registers and rams are rams. They are not the same thing.
    Let me rephrase: Are there any dedicated multi-bit-registers available in FPGA fabric?



    •   AltAdvertisment

        
       

  6. #6
    Advanced Member level 5
    Points: 36,622, Level: 46
    Achievements:
    7 years registered

    Join Date
    Jun 2010
    Posts
    6,690
    Helped
    1950 / 1950
    Points
    36,622
    Level
    46

    Re: Registers in FPGA fabric

    Quote Originally Posted by tahirsengine View Post
    Let me rephrase: Are there any dedicated multi-bit-registers available in FPGA fabric?
    Short answer no.
    Longer answer: they would be pretty pointless, as register logic already exists. A multi-bit-register would just be the same, and allow less flexability.



    •   AltAdvertisment

        
       

  7. #7
    Advanced Member level 1
    Points: 3,662, Level: 14

    Join Date
    Feb 2014
    Posts
    466
    Helped
    171 / 171
    Points
    3,662
    Level
    14

    Re: Registers in FPGA fabric

    Quote Originally Posted by tahirsengine View Post
    Let me rephrase: Are there any dedicated multi-bit-registers available in FPGA fabric?
    For better or worse FPGA's are quite uniform. It's an ocean of "LUTs" where LUTs are a combination of a register with logic. Most FPGA's have some number of RAMs, DSPs and big ones have SERDES but there isn't much else in terms of special functionality in there.

    FPGA designers have been at this for decades and there is a reason they've chosen the LUT structure - they've found its a good compromise of logic versus register count for most applications and I suspect its not too far off the mark even for you.

    For example presumably your registers are tied to actual functionality - that functionality can be implemented within the logic of the LUTs where the register resides.



  8. #8
    Member level 3
    Points: 492, Level: 4

    Join Date
    Dec 2017
    Location
    Bydgoszcz - Poland
    Posts
    62
    Helped
    11 / 11
    Points
    492
    Level
    4

    Re: Registers in FPGA fabric

    Hello,

    in such case maybe you should consider using Soft-Processor, or better the ARM CPU core from your Zynq.

    Regards



  9. #9
    Super Moderator
    Points: 247,272, Level: 100
    Awards:
    1st Helpful Member

    Join Date
    Jan 2008
    Location
    Bochum, Germany
    Posts
    42,990
    Helped
    13083 / 13083
    Points
    247,272
    Level
    100

    Re: Registers in FPGA fabric

    Replacing registers by block RAM is an effective method to improve resource. You gave very little information about the structure of your design, thus we can't know if it's applicable therein.



  10. #10
    Member level 1
    Points: 2,258, Level: 11
    Achievements:
    7 years registered

    Join Date
    May 2007
    Posts
    32
    Helped
    3 / 3
    Points
    2,258
    Level
    11

    Re: Registers in FPGA fabric

    Quote Originally Posted by asdf44 View Post
    For better or worse FPGA's are quite uniform. It's an ocean of "LUTs" where LUTs are a combination of a register with logic. Most FPGA's have some number of RAMs, DSPs and big ones have SERDES but there isn't much else in terms of special functionality in there.

    FPGA designers have been at this for decades and there is a reason they've chosen the LUT structure - they've found its a good compromise of logic versus register count for most applications and I suspect its not too far off the mark even for you.

    For example presumably your registers are tied to actual functionality - that functionality can be implemented within the logic of the LUTs where the register resides.
    Actually these input registers are just buffers for users data. Actually here is the worst part: I will write the code and the then this code will be placed in Labview environment. What that thing will do with my code, I cant control. At the most I can control things on microscopic level, and that's what I am after. Like controlling things with the help of either library functions or through core generated cores.



  11. #11
    Full Member level 1
    Points: 1,433, Level: 8

    Join Date
    Nov 2013
    Posts
    111
    Helped
    25 / 25
    Points
    1,433
    Level
    8

    Re: Registers in FPGA fabric

    65 x 8-bit registers should not use 15% of a Zynq logic, even of smaller ones. There is something more wasting your logic.

    You can make a single register array (I suggest a 64x8 bits) in a new dummy project and check how much logic this register array uses.



  12. #12
    Advanced Member level 5
    Points: 21,710, Level: 35
    barry's Avatar
    Join Date
    Mar 2005
    Location
    California, USA
    Posts
    4,162
    Helped
    920 / 920
    Points
    21,710
    Level
    35

    Re: Registers in FPGA fabric

    Quote Originally Posted by tahirsengine View Post
    Actually these input registers are just buffers for users data. Actually here is the worst part: I will write the code and the then this code will be placed in Labview environment. What that thing will do with my code, I cant control. At the most I can control things on microscopic level, and that's what I am after. Like controlling things with the help of either library functions or through core generated cores.
    Huh? Is this code going into an FPGA or lab view. Those are two totally different things?



    •   AltAdvertisment

        
       

  13. #13
    Member level 1
    Points: 2,258, Level: 11
    Achievements:
    7 years registered

    Join Date
    May 2007
    Posts
    32
    Helped
    3 / 3
    Points
    2,258
    Level
    11

    Re: Registers in FPGA fabric

    Quote Originally Posted by barry View Post
    Huh? Is this code going into an FPGA or lab view. Those are two totally different things?
    This will be integrated in Labview.



--[[ ]]--