+ Post New Thread
Results 1 to 7 of 7
  1. #1
    Full Member level 3
    Points: 1,507, Level: 8

    Join Date
    Dec 2014
    Posts
    167
    Helped
    3 / 3
    Points
    1,507
    Level
    8

    How STA becomes complicated if latch is inferred?

    In many articles, I have seen that latch inference has to be avoided because it makes STA complicated. How STA becomes complicated if a latch is inferred in my design instead of an FF?

    •   AltAdvertisment

        
       

  2. #2
    Advanced Member level 5
    Points: 12,887, Level: 27
    Achievements:
    7 years registered

    Join Date
    Aug 2011
    Posts
    2,586
    Helped
    300 / 300
    Points
    12,887
    Level
    27

    Re: How STA becomes complicated if latch is inferred?

    I can answer your question from an FPGA design standpoint.
    FPGAs don't have inbuilt latches - Only FFs.
    If you describe a latch in HDL, the synthesis tool will try to make do and emulate a latch behavior via a combinatorial loop (using the LUTs of the fabric).
    Although in simulation you'll see the latch reacting in zero time - the real behavior of the circuit will have timing characteristics that are hard to predict and may vary strongly with temperature change.

    But as I said, this is for FPGAs.
    Hope someone can illuminate us more.



    •   AltAdvertisment

        
       

  3. #3
    Full Member level 3
    Points: 1,507, Level: 8

    Join Date
    Dec 2014
    Posts
    167
    Helped
    3 / 3
    Points
    1,507
    Level
    8

    Re: How STA becomes complicated if latch is inferred?

    That is a good explanation in FPGA point of view. But what happens in the case of ASIC? Will the ASIC tool infer latch using combinational loops itself? Or do the ASIC libraries have in built latch cells available? Can anyone who has good knwoledge in ASIC please help?

    - - - Updated - - -

    Quote Originally Posted by shaiko View Post
    Although in simulation you'll see the latch reacting in zero time - the real behavior of the circuit will have timing characteristics that are hard to predict and may vary strongly with temperature change.
    But if it is the scenario, how can we do STA on any path? Because any R2R path consists of combinational logic in between and temperature will effect them also!!
    Is it like, when we feedback the output of the combinational loop to its input, output may toggle between '1' and '0' multiple times because latch is level triggered??



    •   AltAdvertisment

        
       

  4. #4
    Advanced Member level 5
    Points: 12,887, Level: 27
    Achievements:
    7 years registered

    Join Date
    Aug 2011
    Posts
    2,586
    Helped
    300 / 300
    Points
    12,887
    Level
    27

    Re: How STA becomes complicated if latch is inferred?

    This is what I think:
    Timing driven place and route is designed to work well with synchronous logic.
    If you pipeline a path (using DFF), the synthesis tool will consider the timing budget between register A and B.
    A latch (despite being a storage element) is treated as any other combinational circuit that "eats away" your timing budget - it will drop your reported Fmax.



  5. #5
    Advanced Member level 5
    Points: 7,446, Level: 20

    Join Date
    Apr 2016
    Posts
    1,574
    Helped
    273 / 273
    Points
    7,446
    Level
    20

    Re: How STA becomes complicated if latch is inferred?

    Quote Originally Posted by biju4u90 View Post
    In many articles, I have seen that latch inference has to be avoided because it makes STA complicated. How STA becomes complicated if a latch is inferred in my design instead of an FF?
    Not sure I agree. Latches should be avoided because it usually means poorly described logic. That would be, IMO, the #1 reason to avoid latches.

    Now, back to the question, std cell libraries usually have a variety of latches and you can design using them if you want. Here is an article that does a reasonable comparison between flops versus latches. http://www.eetimes.com/document.asp?doc_id=1278980



  6. #6
    Advanced Member level 4
    Points: 7,946, Level: 21
    Achievements:
    7 years registered Created Blog entry
    dpaul's Avatar
    Join Date
    Jan 2008
    Location
    Germay
    Posts
    1,180
    Helped
    255 / 255
    Points
    7,946
    Level
    21
    Blog Entries
    1

    Re: How STA becomes complicated if latch is inferred?

    Cannot directly answer your question as I have never done STA on a latch based design.
    In ASIC designing, within the design team, if you give a synth. design containing latches (which is not intended) the DfT engineer should be shouting back at you!
    Better to fix such issues at the design stage and then go for STA and other ASIC design flows.

    Read the 3rd part of this article for an overview on STA for latches:
    http://www.eetimes.com/document.asp?doc_id=1278980
    FPGA enthusiast!



    •   AltAdvertisment

        
       

  7. #7
    Advanced Member level 5
    Points: 7,446, Level: 20

    Join Date
    Apr 2016
    Posts
    1,574
    Helped
    273 / 273
    Points
    7,446
    Level
    20

    Re: How STA becomes complicated if latch is inferred?

    there is something to be said about useful skew. it is analogous to borrowing that we get from latch based design, but using flip flops. modern CTS performs skew balancing at the same time as datapaths are optimized for better results. in the past the goal of CTS used to be zero skew, now it is to get the most useful skew.

    now the question becomes: what is harder from an EDA point of view? latch borrowing or skew optimization? I do not know the answer.



--[[ ]]--