Inserting FeedThrough signals through a collapsible power domain block

Inserting FeedThrough signals through a collapsible power domain block

Ever wonder how complex Feedthrough signals are routed between two Hard Macros when propagating through collapsible blocks, while navigating the challenges of meeting STA timing, routing congestion and UPF constrains with isolation cells?

  • Layer Selection: Use upper metals (e.g., M4/M5) for feedthroughs to avoid block-level routing.
  • Blockage Alignment: Ensure feedthroughs don’t overlap macros or power straps.
  • Hierarchical Flow: Save feedthroughs in DEF for top-level integration.

Port Creation:

  • create_port adds feedthrough ports at the boundaries of Block_A and Block_B.
  • -direction inout allows bidirectional signal flow (adjust if unidirectional).

Net Creation:

  • create_net defines the feedthrough net and connects ports across blocks.

Buffering:

  • insert_buffer prevents signal degradation over long distances (critical for timing).

Handling Power State Conflicts

Routing Constraints:

  • set_feedthrough_strategy reserves metal layers (e.g., M4) to avoid congestion.

Legalization:

  • Ensures feedthroughs don’t violate placement/routing rules.

Verification:

report_net and check_connectivity validate the feedthrough path.



Here’s a TCL script for Synopsys Fusion Compiler to insert feedthrough ports and nets between Block_A and Block_B during floorplanning, ensuring clean signal routing across hierarchical boundaries:

1. Script to Create Feedthrough Ports and Nets



2. Advanced Enhancements

A. Timing-Driven Feedthroughs

B. Power-Aware Routing

C. Automated Feedthrough Insertion


3. Verification Commands


4. Key Considerations

Library Cells: Use AON-specific buffers (marked -always_on in the library).

Placement: Keep AON buffers near domain boundaries to minimize wire length.

Routing: Use non-collapsible power rails (e.g., VDD_AON) for AON buffers.


Q: “How do you ensure feedthroughs don’t worsen congestion?”

Reserve dedicated metal layers (e.g., M4) for feedthroughs using set_feedthrough_strategy, analyze congestion with report_congestion, and avoid high-density regions.
If needed, I adjust placement blockages.

Q: “What if the feedthrough net fails timing?”

“Insert buffers (BUF_X2) and set_max_delay constraints. For critical nets, use wider metal layers or shield with VSS to reduce crosstalk.”

Q: “What if the AON buffer fails timing?”

“Size up the buffer (BUF_X2_AON) or adjust placement to reduce wire delay. For critical paths, use set_max_delay to prioritize domain-crossing nets.”

Q: “How do you ensure feedthrough buffers stay always-on?”

“Tag them with -power_domain PD_AON during insertion and verify via report_power_domain. The UPF file enforces -always_on for PD_AON.”


AON Buffer Insertion Strategy for inserting feedthrough signals through a collapsible domain.

A. Identify Feedthrough Signals Crossing Domains

B. Insert AON Buffers for Domain Crossing

C. Define Placement Guides for AON Buffers


Handling Power State Conflicts

A. Isolation Cell Insertion (Optional)

If feedthrough signals need isolation when the collapsible domain is off:

B. Level Shifter Insertion (Voltage Crossing)

If domains operate at different voltages:



UPF/CPF Constraints Example

Ensure UPF/CPF defines PD_AON as always-on:


Facebook
Twitter
LinkedIn
Email