Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

To better serve everyone, I would like to report on my main business here. For design outsourcing, friends with backend outsourcing needs are welcome to contact me (WeChat ID: ic-backend2018), of course, if you have resources, you can also introduce them to me, and there will definitely be generous cash rewards (15% commission).

PS: The community has currently opened the following four major backend practical courses, all of which are live classes taught by me personally! I have 12 years of first-line backend experience as a digital backend engineer. Students who want to find a first-line IC backend technical expert to personally guide them in backend practical projects can privately message me for consultation.

In addition, the IC community has not cooperated with any training institutions, please be aware! In case of similar projects, please check the publication time of historical articles from the public account to understand the reason. Students who sign up for courses elsewhere will not receive project Q&A and remote assistance from me!

What are the challenges in implementing digital IC backend for T12nm process?

  • Training camp for the full backend process implementation of ARM Cortex A7 core based on TSMC 28nm (already started, 28th session is now open for registration)

  • Low power quad-core A7 Top Hierarchical Flow physical full process implementation training camp (already started)

  • Clock tree synthesis training camp for complex clock structure Clock Gen design (already started)

  • T12nm ARM A72 backend training camp (already started)

  • T12nm ARM dual-core A55 backend training camp (starting in May)

  • T28nm medium and large SoC backend full process training camp (starting in June)

Typical case of complex clock tree synthesis for SoC chips

The current main business of IC community

1 Technical consulting (including technical problem consulting, project tapeout review, etc.)

Support technical support for individual and company projects. Public-to-public transactions and invoicing are also supported!

2 Project outsourcing services (ranging from synthesis to GDSII out)

I have12 years of experience in digital IC backend implementation, proficient in digital Top, high-performance CPU, and complex clock structure design implementation. Successfully tapeout over 40+ large SOC chips, with the largest area being 150mm2.

The main processes involved include T55, T40, T28, T22, T16, T12, T7,S14, S8, GF40, GF28, GF22, SMIC55, SMIC40, SMIC28, SMIC14, SMIC12, UMC28 and other processes.

Support backend project outsourcing + targeted training for enterprise employees based on outsourcing projects! Small company backend project annual service, starting at 80,000 (one-time contract for the entire year’s backend projects)!

3 IC backend training camp

Provide high-end servers and actual company projects for students to practice (TSMC 28nm Cortex A7 core project), timely answers to all students’ questions every day. If there are issues during practice, students can also apply for remote assistance to log into the server together to solve actual project problems.

IC autumn recruitment essential practical projects (including all timing calculation types)

For fresh graduates or those looking to change careers, this training camp can help you learn practical skills and obtain an ideal offer in about one month.

After the accumulation of the previous 26 sessions of training camps, the influence of the community training camp in the industry is growing, and its reputation is improving. Enterprises generally prefer students from community training camps. It is not an exaggeration to say that as long as students write this project on their resume, they are basically prioritized for admission. This underlying logic, everyone can savor it slowly.

The overall knowledge system of the community training camp can be copied from the link below for viewing.

https://alidocs.dingtalk.com/i/p/QqWXw073xd4Z2m31/docs/QqWXwnN058prxz31

The IC backend training camp will be fully upgraded in the future, and the projects will add TSMC Double Pattern 12nm A72 (Maia_cpu) project, and prices will increase significantly. Therefore, the current 4999 training camp course will only be open until the next session (reserved for some early registrants), after which the upgraded course will be fully adopted (new courses, new prices).

The 27th session of the IC backend training camp will officially start this Saturday (last session of the 4999 live course)

2023 Jieli Technology digital IC backend written test questions (24th session of IC backend training camp is now open)

The 25th session of the IC training camp registration notice (only 2 spots left)

The most comprehensive digital IC backend design implementation training tutorial

4 Knowledge Planet high-end technical learning exchange community

The high-end technical exchange community operated by me – Knowledge Planet has also accumulated nearly 6 years of operation, gathering 2899 star friends (currently the largest high-end paid technical community in the IC industry). As the number of community members continues to increase, the content operation and management costs of the community have also risen. In order to continuously provide you with more comprehensive, systematic, and grounded high-quality content, the community has decided to adopt tiered pricing, with the ticket price for the planet increasing by 20 yuan for every 100 additional members. The current planet price has officially been adjusted to 328 yuan.

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

5 Graduate Design Guidance (only for digital IC backend implementation direction, can provide advanced process libraries and project data)

Provide data and guidance for the low power design implementation of quad-core A7/A55/A72, processes can be chosen according to needs TSMC 28 or TSMC 16 and other advanced processes (7nm process support is also available). Students can use this project to develop their thesis, with technical and writing guidance provided.

The following diagram is a case from our community’s low power quad-core A7 Top Hierarchical Flow backend training camp, where there are several Power Domains in the design. Power Domain 2 (abbreviated as PD2) is the default Top Domain, Power Domain 1 (abbreviated as PD1) is a domain that needs to be powered off, and PD1 and PD2 are in the same Voltage Domain. Power Domain 3 is also a domain that needs to be powered off, and its operating voltage is VDD1.

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

For such low power design requirements, every digital IC backend engineer should be able to write the corresponding power intent constraint file, the UPF file.

This case is also very common in actual IC backend projects. Below, I will share some common issues based on this case.

1) Incorrect connection of the Secondary PG Pin of Always On Buffer

PD1 can use Aon Buffer internally, but its Secondary PG Pin can only be connected to the VDD net and cannot be connected to VDD1. The Innovus UPF flow supports automatic insertion of Aon Buffer and connects the secondary PG pin to the global VDD net.

However, the tools can easily encounter some issues, such as a signal from PD2 passing through PD1 and inserting several buffers/inverters, eventually passing out to PD2. But these buffers/inverters may be of the following situations:

  • Common buffer/inverter

  • Using Aon buffer but the secondary PG pin is connected incorrectly (the Aon buffer’s secondary PG pin in PD2 is connected to VDD1)

Essential for digital IC autumn recruitment written test and interview | Top ten soul-searching questions for low power design implementation

Therefore, to avoid this problem, we usually can prevent this signal from passing through PD1. The specific method can use UPF to constrain.

update_power_domain –name PD1 –user_attributes {disable_secondary_domains {PD2 PD3}}

create_power_domain PD1-supply {primary} -supply {extra_supplies “” } -include_elements

2) Always On Buffer in relation to Aon Domain

The yellow signal shown in the diagram below is a common signal in PD2, but after placement, it was found that there are many AON buffers and inverters on this net. Even though this PD2 is a power-off power domain, this signal only requires a common buffer.

If this situation occurs, the final low power verification clp or mvrc will report corresponding violations.

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

3) Common Buffer in Power Off Domain

In the low power design implementation of digital IC backend, we often encounter the timing path marked in green in the diagram below, where two common buffers are located within PD1. This clearly violates the power constraints of low power design implementation.

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

[Thinking Question] What should be the minimum spacing reserved between Power Domain 1 and Power Domain 3? Why?

When such situations occur, we need to carefully check the pst state descriptions in the UPF file to see if the switching scenarios of each power domain are described completely and accurately.

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

4) Routing issues across Power Domains

The following diagram shows a signal from cell B in PD1 connected to cell C’s input in PD3. This net crosses PD2 during routing, and when this net experiences max transition, it is difficult to fix.

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

Therefore, we need to control the tool routing by setting the following routing and opt modes. The diagram below shows the routing result after applying special routing constraint.

setRouteMode -earlyGlobalHonorMsvRouteConstraint true setNanoRouteMode -routeHonorPowerDomain true setOptMode -addAOFeedThruBuffer false

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

5) Principles for dividing shapes of various Power Domains

Below are several cases to share the principles that should be followed during the module partitioning process in low power backend design implementation.

Case 1: The shape of Power Domain should be as regular as possible

Generally, the shape of the power domain (sub-modules hardened separately) should be as regular as possible, especially for designs where timing and routing are not easy to handle.

The left side of the diagram shows a poor floorplan with many corners and narrow channels. The right side shows a relatively better module partitioning, but this L-shaped design is also prone to timing and routing issues at the corners.

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

Case 2: Avoid placing Macros or Blockages in the middle area of Power Domain

This is the principle we have always advocated for placing Macros – Macros should be placed at the boundaries of modules or Power Domains. Therefore, when partitioning modules or Power Domains, the internal Macro situation should be taken into account, especially for large Macros in width or height.

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

Case 3: Avoid thin channel PDs

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

Case 4: Avoid placing Default PD Memory at Power Domain boundaries

When the interface signal of PD1 needs to come out to interact with the Default PD at the lower left corner, the Macro at the boundary of PD1 will block the placement of standard cells and hinder the routing of interface signal lines.

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

Moreover, we know that the signals coming out of PD1’s interface also need to insert isolation cells. If these isolation cells are placed in the yellow area of the diagram, there will definitely be max transition violations. Unfortunately, the nets corresponding to these signals must also be set as dont touch.

That’s all for today’s content sharing. Additionally, due to changes in the public account’s push rules, the valuable content shared by me may not be pushed to everyone in a timely manner. To avoid missing out on exciting content, please follow star the public account, click “Looking”, like and share to friends, letting the push algorithm know that you are a loyal member of the community, so you won’t miss any exciting content.

If you want to have further communication opportunities with me, feel free to join my Knowledge Planet, let’s learn and grow together, and make progress together. I believe that here you can achieve a better version of yourself.

Introduction to my Knowledge Planet (If you aspire to progress, expect high salaries, and enjoy communication, welcome to join):

Here, the things that are currently planned and being worked on include:

  • Writing ICC/ICC2 lab

  • Backend implementation process based on ARM CPU

  • Using CCD (Concurrent Clock Data) in ICC to achieve high-performance module design and implementation

  • Digital backend Hierarchical Flow implementation tutorial based on ARM quad-core CPU

  • Clock tree structure analysis

  • Low power design implementation

    Regularly share technical issues encountered in projects as case studies

  • Tutorial for implementing 90nm project cases (with ICC and Innovus tutorials)

  • Encyclopedia of the digital IC industry

The owner of the Knowledge Planet of IC community is the owner of the public account “IC Community”, engaged in digital IC backend design implementation work for 12 years, with successful experience in tapeout of 55nm, 40nm, 28nm, 22nm, 14nm, 7nm, 8nm and other advanced process nodes, successfully tapeout over thirty chips.

This is a knowledge community in the highly vertical and segmented field of digital IC design implementation, the largest and highest-end knowledge exchange and sharing community in the field of digital IC design implementation, gathering numerous digital IC frontend design, backend implementation, and analog layout engineers.

Here, everyone can build connections, communicate more, expand their network, and even organize offline activities. You can ask questions about issues related to digital IC backend design implementation, consult on career development planning, and bring out problems that trouble you for discussion and exchange. We strive to answer all questions asked, and if there is something we don’t understand, we will research or consult experts to provide answers. Here, we encourage everyone to actively post topics and ask questions to promote a positive cycle of the entire knowledge community. Every month, I will reward active users.

The most important thing is that through this knowledge community, you can achieve your dream of an annual salary of one million in a short time! Whether you believe it or not, those who have already joined certainly believe it! Meeting is a kind of fate, and knowing each other is a rare bond! If we are destined, we will definitely meet and know each other! The QR code for Knowledge Planet is below, you can scan or long press to recognize the QR code to enter. Currently, there are 2899 members in the planet, thanks to these 2899 friends for their support! Welcome all eager to progress and expect high salaries to join! The ultimate goal is to create a grand goal of achieving annual salary of one million for all members of this knowledge planet.

Low Power Design Implementation Case Study | How to Avoid Misusing Always On Buffer in UPF Flow?

Please follow “IC Community

WeChat ID: ic-backend2018

Leave a Comment