SlideShare a Scribd company logo
Prevention of Data Loss in Physical
       Implementation of FIFOs and Data Path
       Synchronizers




Ramesh Rajagopalan (rameraja@cisco.com), Cisco Systems Inc, San Jose, CA
Ajay Bhandari (ajayb@cisco.com), Cisco Systems Inc, San Jose, CA
Namit Gupta (namit@atrenta.com), Atrenta Inc, San Jose, CA
Introduction: Asynchronous control and data bus domain crossings


Network switching ASICs have a multitude of IPs with different clock domains,
  at varying speeds that interface with a variety of buses and I/Os.

Signals that cross clock boundaries create clock domain crossings (CDCs).

Asynchronous crossings have no relationship between the sending and receiving
 clocks . This poster discusses only issues related to asynchronous clock domain
 crossings.

Multi-flop synchronizers are used for a control signal’s asynchronous domain
 crossing to avoid meta-stability.

In an asynchronous data bus transfer, the data is set up; then, a control signal
 that is synchronized with the destination domain enables data capture at the
 destination register. This relies on data to be stable when an enable is asserted.

This requirement is addressed in logic design by extending the data pulse for a
 required number of cycles of destination clock so that the data is held when the
 enable is asserted.
Data loss issue and its prevention by logic design


 In an asynchronous data bus transfer, each valid transition on the source
   data should get captured in the destination domain to prevent data loss.

To prevent data loss in a fast-to-slow clock domain data crossing:

   1) Data must be held long enough to be registered by the destination flop.

   2) Data should not change when the control (qualifier) signal that gates
       or enables the data crossing is active.

Logic design ensures that

   1) the data is held long enough by extending the data pulse for the time
       it takes to latch the data at the destination.

   2) data is allowed to change only after receiving feedback from the
      destination domain after latching the current data.
Impact on physical design implementation of data path synchronizers


 During physical implementation of a data path synchronizer, the control
 signals from the source domain to the destination domain are timing-wise
 unconstrained in their path from the multi-flop synchronizers to the
 enable/mux-select or AND-based qualifiers.

 The unconstrained standard cell placement and detailed routing of the
 control path might result in a sub-optimal placement of the cells and scenic
 routing .

  As the technology node advanced, the RC interconnect values have
 increased by several folds especially for the lower routing layers.

  Higher net delay values could be seen for the control signal used as a
 synchronized enable at the qualifying gate of the domain crossing .
Unconstrained control and empty signal paths in Mux-select based and
FIFO data synchronizers
Delay due to physical implementation impacting data transfer across
Clock Domains




 The impact of the large interconnect delay on the falling edge of the control signal is illustrated.
 The extended active enable signal would result in latching an unknown value of the data at the
destination domain. A similar issue occurs due to the delay in the rising edge of the control signal
as well.
Need for a methodology to mitigate data loss due to physical
implementation

  To mitigate the large physical net delay in the control signal, logic designers could
     introduce one more synchronizer register in the destination domain before sending
     the feedback to source domain to enable the data change to the next value.

  Such logic design-based solutions that introduce additional latencies would work for a
   given ratio of fast-to-slow clocks, with the control path delay due to physical
   implementation not exceeding one cycle of the destination clock.

  However, for designs:

  1) that need to handle varying fast to slow clock ratios (as high as 10:1) based on
     different operating modes or due to use of the power reduction mode in the design, or

  2) that are intolerant to any additional latency, or

  3) that use very high layout utilization and are subject to local routing congestion,
      it would be better to physically constrain the control signal paths to place and route
      them within the allowed delay
Physical design methodology to mitigate data loss due to physical delay
in enabling the fast-to-slow data crossings

Physical Design methodology to be followed:

3)Identify the destination register and the enable that gates the data crossing

    The SpyGlass® CDC tool in a CrossingInfo.rpt lists the “mux-select synchronizers”,
“enable synchronizers”, “AND gate-based synchronizers” and
    “FIFOs” (with read pointer and write pointer instances).

2) Using this information create an “instance group” of cells in the control path.
   Make this instance group into a soft guide for placement purposes in the Cadence EDI tool

3) During cell placement, set the soft guide effort level to high to increase the degree
   of closeness between placement of the control path logic listed under a given soft guide.

4) For improved results, pre-place the enable gating logic and fix it prior to
   incremental placement to get the cells in the soft guide placed near the fixed logic.
   Also, set a higher net weight on nets that need to be shorter.

5) Create a max delay constraint from the last synchronizer register to the pin where
   the control gates the data crossings.

6) Report timing for the control signal path (as an unconstrained path) and the analyze
   the actual delays for potential data loss.
Mux select control path :
  Reduction in net length/delay with suggested physical design methodology




    Logic View of Mux select control path




Physical view - 1.5 mm long Mux select control     Net length reduced to 130microns after
path (Before using the suggested physical design   using suggested physical methodology
methodology)
FIFO empty signal logic :
Reduction in net length/delay by applying suggested physical design methodology




 Logical view – FIFO empty logic




Physical view - 430 microns long FIFO      Net length reduced to 120 microns after
empty signal path (Before using the        using suggested physical methodology
suggested physical design methodology)
Conclusion, Limitations and Future Work


 CONCLUSION:
 Prevention of data loss in a fast-to-slow clock domain data crossing
  needs to be addressed at both the logical and physical levels.
    The critical aspect is the implementation of a control path in a data
    synchronizer within the delay limit
 . Physical design techniques such as creating a soft guide for placement
  of control path logic proved to be very useful in bringing some guidance
  on the otherwise unconstrained control path.
    LIMITATIONS
    No single frame work or tool to infer destination domain registers and
    qualifier gates of CDC logic and create physical placement groups.
    FUTURE WORK
 Automation of the generation of the placement constraints is slated to be
  done in near future.

More Related Content

What's hot (19)

PDF
VERIFICATION OF FOUR PORT ROUTER FOR NETWORK ON CHIP
Editor IJMTER
 
PDF
Equal Cost Multipath Routing in FOKUS OpenSDNCore
Hai Dinh Tuan
 
PDF
MANET, Unicast Routing Protocol, Multicast Routing Protocol.
Editor IJMTER
 
PPTX
Sept 2017 dynamic routing
shahin raj
 
PPT
Chapter 06 - Routing
phanleson
 
DOC
Ccna 2 chapter 3 v4.0 answers 2011
Dân Chơi
 
PPTX
Classification of routing protocols
Menaga Selvaraj
 
PPT
Day 8 2 distance vector routing
CYBERINTELLIGENTS
 
PDF
REAL TIME WEB BASED SYSTEM FOR OBSERVING SAG AT SUBSTATION
IJCSEA Journal
 
PPTX
Routing Techniques
Nishant Munjal
 
PDF
Ijarcet vol-2-issue-7-2268-2272
Editor IJARCET
 
DOCX
Link state routing protocol
university of Gujrat, pakistan
 
PDF
Distributed Traffic management framework
Saurabh Nambiar
 
PDF
Protocol based QoS Estimation of OFDM-WIMAX Network
idescitation
 
PPTX
Network entry success rate
Shiraz316
 
PPT
Dynamic Routing
tmavroidis
 
PDF
DesignOfAnExtensibleTelemetry&CommandArcitectureForSmallSatellites
Brenden Hogan
 
DOC
Firewall
Muuluu
 
PPTX
Versatile Low Power Media Access for Wireless Sensor Networks
Michael Rushanan
 
VERIFICATION OF FOUR PORT ROUTER FOR NETWORK ON CHIP
Editor IJMTER
 
Equal Cost Multipath Routing in FOKUS OpenSDNCore
Hai Dinh Tuan
 
MANET, Unicast Routing Protocol, Multicast Routing Protocol.
Editor IJMTER
 
Sept 2017 dynamic routing
shahin raj
 
Chapter 06 - Routing
phanleson
 
Ccna 2 chapter 3 v4.0 answers 2011
Dân Chơi
 
Classification of routing protocols
Menaga Selvaraj
 
Day 8 2 distance vector routing
CYBERINTELLIGENTS
 
REAL TIME WEB BASED SYSTEM FOR OBSERVING SAG AT SUBSTATION
IJCSEA Journal
 
Routing Techniques
Nishant Munjal
 
Ijarcet vol-2-issue-7-2268-2272
Editor IJARCET
 
Link state routing protocol
university of Gujrat, pakistan
 
Distributed Traffic management framework
Saurabh Nambiar
 
Protocol based QoS Estimation of OFDM-WIMAX Network
idescitation
 
Network entry success rate
Shiraz316
 
Dynamic Routing
tmavroidis
 
DesignOfAnExtensibleTelemetry&CommandArcitectureForSmallSatellites
Brenden Hogan
 
Firewall
Muuluu
 
Versatile Low Power Media Access for Wireless Sensor Networks
Michael Rushanan
 

Similar to Prevention of Data Loss in physical implementation of FIFOs and Data Synchronizers (20)

PPTX
lecture-18.pptx
thunder_x
 
PPTX
4 U 5 Slides With Notes
rameraja
 
PDF
Challenges in verification_of_clock_domains
Amit kumar
 
PDF
Buffer sizing
sandeep patil
 
PPTX
Unit 10 Assignment_2_Sig_Theory_and_Data Elements V3
John Mathias
 
PDF
14 static timing_analysis_5_clock_domain_crossing
Usha Mehta
 
PDF
Clock Domain Crossing Part 3 - Data Duplication
Amr Adel
 
PPTX
ASIC Design Fundamentals.pptx
RameshK531901
 
PDF
Clock Domain Crossing All Parts Combined.pdf
Amr Adel
 
PPTX
Reset Metastability Issues.pptx
ssuserfb39fe
 
PPTX
Netlist to GDSII flow new.pptx physical design full info
sivasuryam0000
 
PDF
ASIC DESIGN OF MINI-STEREO DIGITAL AUDIO PROCESSOR UNDER SMIC 180NM TECHNOLOGY
Ilango Jeyasubramanian
 
PDF
A NEW DATA ENCODER AND DECODER SCHEME FOR NETWORK ON CHIP
Editor IJMTER
 
PDF
A Review - Synchronization Approaches to Digital systems
IJERA Editor
 
PPTX
Transmission modes
Manaswi Sharma
 
PPT
Verilog HDL Verification
dennis gookyi
 
PPTX
DC MODULE 3 PPT from the data communicatiobs
treddy21
 
PDF
A BUS ENCODING TO REDUCE CROSSTALK NOISE EFFECT IN SYSTEM ON CHIP
VLSICS Design
 
PDF
A parallel 8 bit computer interface circuit and software for a digital nuclea...
Alexander Decker
 
PDF
A parallel 8 bit computer interface circuit and software for a digital nuclea...
Alexander Decker
 
lecture-18.pptx
thunder_x
 
4 U 5 Slides With Notes
rameraja
 
Challenges in verification_of_clock_domains
Amit kumar
 
Buffer sizing
sandeep patil
 
Unit 10 Assignment_2_Sig_Theory_and_Data Elements V3
John Mathias
 
14 static timing_analysis_5_clock_domain_crossing
Usha Mehta
 
Clock Domain Crossing Part 3 - Data Duplication
Amr Adel
 
ASIC Design Fundamentals.pptx
RameshK531901
 
Clock Domain Crossing All Parts Combined.pdf
Amr Adel
 
Reset Metastability Issues.pptx
ssuserfb39fe
 
Netlist to GDSII flow new.pptx physical design full info
sivasuryam0000
 
ASIC DESIGN OF MINI-STEREO DIGITAL AUDIO PROCESSOR UNDER SMIC 180NM TECHNOLOGY
Ilango Jeyasubramanian
 
A NEW DATA ENCODER AND DECODER SCHEME FOR NETWORK ON CHIP
Editor IJMTER
 
A Review - Synchronization Approaches to Digital systems
IJERA Editor
 
Transmission modes
Manaswi Sharma
 
Verilog HDL Verification
dennis gookyi
 
DC MODULE 3 PPT from the data communicatiobs
treddy21
 
A BUS ENCODING TO REDUCE CROSSTALK NOISE EFFECT IN SYSTEM ON CHIP
VLSICS Design
 
A parallel 8 bit computer interface circuit and software for a digital nuclea...
Alexander Decker
 
A parallel 8 bit computer interface circuit and software for a digital nuclea...
Alexander Decker
 
Ad

Prevention of Data Loss in physical implementation of FIFOs and Data Synchronizers

  • 1. Prevention of Data Loss in Physical Implementation of FIFOs and Data Path Synchronizers Ramesh Rajagopalan ([email protected]), Cisco Systems Inc, San Jose, CA Ajay Bhandari ([email protected]), Cisco Systems Inc, San Jose, CA Namit Gupta ([email protected]), Atrenta Inc, San Jose, CA
  • 2. Introduction: Asynchronous control and data bus domain crossings Network switching ASICs have a multitude of IPs with different clock domains, at varying speeds that interface with a variety of buses and I/Os. Signals that cross clock boundaries create clock domain crossings (CDCs). Asynchronous crossings have no relationship between the sending and receiving clocks . This poster discusses only issues related to asynchronous clock domain crossings. Multi-flop synchronizers are used for a control signal’s asynchronous domain crossing to avoid meta-stability. In an asynchronous data bus transfer, the data is set up; then, a control signal that is synchronized with the destination domain enables data capture at the destination register. This relies on data to be stable when an enable is asserted. This requirement is addressed in logic design by extending the data pulse for a required number of cycles of destination clock so that the data is held when the enable is asserted.
  • 3. Data loss issue and its prevention by logic design  In an asynchronous data bus transfer, each valid transition on the source data should get captured in the destination domain to prevent data loss. To prevent data loss in a fast-to-slow clock domain data crossing: 1) Data must be held long enough to be registered by the destination flop. 2) Data should not change when the control (qualifier) signal that gates or enables the data crossing is active. Logic design ensures that 1) the data is held long enough by extending the data pulse for the time it takes to latch the data at the destination. 2) data is allowed to change only after receiving feedback from the destination domain after latching the current data.
  • 4. Impact on physical design implementation of data path synchronizers During physical implementation of a data path synchronizer, the control signals from the source domain to the destination domain are timing-wise unconstrained in their path from the multi-flop synchronizers to the enable/mux-select or AND-based qualifiers. The unconstrained standard cell placement and detailed routing of the control path might result in a sub-optimal placement of the cells and scenic routing .  As the technology node advanced, the RC interconnect values have increased by several folds especially for the lower routing layers.  Higher net delay values could be seen for the control signal used as a synchronized enable at the qualifying gate of the domain crossing .
  • 5. Unconstrained control and empty signal paths in Mux-select based and FIFO data synchronizers
  • 6. Delay due to physical implementation impacting data transfer across Clock Domains The impact of the large interconnect delay on the falling edge of the control signal is illustrated. The extended active enable signal would result in latching an unknown value of the data at the destination domain. A similar issue occurs due to the delay in the rising edge of the control signal as well.
  • 7. Need for a methodology to mitigate data loss due to physical implementation  To mitigate the large physical net delay in the control signal, logic designers could introduce one more synchronizer register in the destination domain before sending the feedback to source domain to enable the data change to the next value.  Such logic design-based solutions that introduce additional latencies would work for a given ratio of fast-to-slow clocks, with the control path delay due to physical implementation not exceeding one cycle of the destination clock.  However, for designs: 1) that need to handle varying fast to slow clock ratios (as high as 10:1) based on different operating modes or due to use of the power reduction mode in the design, or 2) that are intolerant to any additional latency, or 3) that use very high layout utilization and are subject to local routing congestion, it would be better to physically constrain the control signal paths to place and route them within the allowed delay
  • 8. Physical design methodology to mitigate data loss due to physical delay in enabling the fast-to-slow data crossings Physical Design methodology to be followed: 3)Identify the destination register and the enable that gates the data crossing The SpyGlass® CDC tool in a CrossingInfo.rpt lists the “mux-select synchronizers”, “enable synchronizers”, “AND gate-based synchronizers” and “FIFOs” (with read pointer and write pointer instances). 2) Using this information create an “instance group” of cells in the control path. Make this instance group into a soft guide for placement purposes in the Cadence EDI tool 3) During cell placement, set the soft guide effort level to high to increase the degree of closeness between placement of the control path logic listed under a given soft guide. 4) For improved results, pre-place the enable gating logic and fix it prior to incremental placement to get the cells in the soft guide placed near the fixed logic. Also, set a higher net weight on nets that need to be shorter. 5) Create a max delay constraint from the last synchronizer register to the pin where the control gates the data crossings. 6) Report timing for the control signal path (as an unconstrained path) and the analyze the actual delays for potential data loss.
  • 9. Mux select control path : Reduction in net length/delay with suggested physical design methodology Logic View of Mux select control path Physical view - 1.5 mm long Mux select control Net length reduced to 130microns after path (Before using the suggested physical design using suggested physical methodology methodology)
  • 10. FIFO empty signal logic : Reduction in net length/delay by applying suggested physical design methodology Logical view – FIFO empty logic Physical view - 430 microns long FIFO Net length reduced to 120 microns after empty signal path (Before using the using suggested physical methodology suggested physical design methodology)
  • 11. Conclusion, Limitations and Future Work CONCLUSION:  Prevention of data loss in a fast-to-slow clock domain data crossing needs to be addressed at both the logical and physical levels.  The critical aspect is the implementation of a control path in a data synchronizer within the delay limit  . Physical design techniques such as creating a soft guide for placement of control path logic proved to be very useful in bringing some guidance on the otherwise unconstrained control path. LIMITATIONS  No single frame work or tool to infer destination domain registers and qualifier gates of CDC logic and create physical placement groups. FUTURE WORK  Automation of the generation of the placement constraints is slated to be done in near future.