Literacy in Digital Backend Knowledge Points - CTS (Part 1) - CSDN Blog

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

15/11/2023, 17:33 Literacy in Digital Backend Knowledge Points - CTS (Part 1) - CSDN Blog

blog download study Community GitCode InsCode Log in Member 11.11 infor
Literacy of digital back-end knowledge points - CTS (Part 1)
bendandawugui Modified on 2023-01-07 18:49:27 1.2k reads Collection 28 Number of likes
Classification column: Digital IC Article tags: SOC design

Digital IC The column contains this content 48 Subscribe 30 articles S

The back-end plays a very important role in IC design like the front-end. It can even be said that an entry-level front-end design engineer’s unde
of timing is far inferior to that of a back-end design engineer. Therefore, those who want to better understand the circuit’s timing need to do the back
Later, or in large-scale designs, how to implement clock driving of DFF on the backend requires learning and understanding CTS, and these are als
skills for an excellent front-end designer.

Today we will learn about clock tree synthesis (CTS). This article is learned from Zhihu blogger. The original link is: Basic skills of digital backen
(Part 1) - Zhihu (zhihu.com)

I have been thinking about how to introduce CTS for a long time, and finally decided to divide it into several articles to introduce the entire proc
step. However, since CTS is a relatively complicated job in large projects, there may be a lot more things needed besides this article. Back-end des
engineers should care about it, but I still hope that beginners, through the next few articles in this column, can have a general idea of ​the basic proc
methods of CTS, so as to avoid being stuck in the confusion of not knowing how to start after getting a design. passive.

Closer to home, in the entire P&R process, there are two decisive steps for the PPA (power performance area) of design: Floorplan and CTS. H
actual projects, many people may work for several years without having the opportunity to do a more comprehensive CTS. On the one hand, the rea
P&R tools, especially the current ICC2 and innovus, can handle relatively simple clock trees very well. On the other hand, the reason is that for mos
who do not have access to TOP, harden block The internal clock structure is most likely relatively simple, which leads some students to still be unab
with complex clocks after doing several projects.

In response to this phenomenon, this article hopes to introduce the basic ideas and methods of CTS to everyone based on my own experience
the content here to be helpful to practical work when encountering complex clocks in the future, this article will be honored.

Clock tree synthesis, as the name suggests, is to synthesize the clock tree of the design. The main purpose is to enable each clock to commun
the DFFs (registers) they drive in the shortest possible time. For CTS, we have three indicators. Be able to do your best.

The latency of each clock to reach the sink (DFF) it drives is as short as possible;

The skew within each clock and between clocks with a timing relationship should be as small as possible;

The common path of each clock should be as long as possible;

For most P&R tools, the flow of CTS can be summarized in the following form:

pr
bendandawugui focus on

https://blog.csdn.net/dongdongnihao_/article/details/128280792?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_rel… 2/7
15/11/2023, 17:33 Literacy in Digital Backend Knowledge Points - CTS (Part 1) - CSDN Blog
There may be some names in the picture above that are not clear about their specific meanings, but these will be mentioned one by one in the
blog download study Community GitCode InsCode Log in Member 11.11 infor
introduction. Most of the words are not translated into Chinese here, so I hope you can remember these nouns for ease of reading. There are fewer
when using the English user guide.

CTS strategy

This is the first step of CTS. Although there are only a few words in the process, for complex clocks, it may take a lot of time to analyze the struct
clock, find out potential problems and bottlenecks, and target us The three indicators proposed above determine how to synthesize the clock tree. T
so important and easy to be ignored, so that some students have no way to analyze when they encounter complex clock problems, let alone how to
them. I will use an example below. To explain, what exactly is the CTS strategy?

Assume that the clock structure of a certain chip can be simplified to the following form:

The fucntion clock comes in from two PLLs and two IOs (one FCLK1, FCLK2), and the test clock comes in from two IOs (TCLK1, TCLK2). As can b
the figure, after the frequency division circuit, enter A and D clock is not shared with other modules.

At the same time, we assume that the floorplan of the chip can be expressed as follows (note the correspondence between the clock source an
position and the clock structure)

If the data flow relationship between modules is briefly described as follows:

Block B <—> Macro 1

Block C <—> Macro 2

Macro 1 <—> Macro 2

Block A/D is an independent module

Considering the above clock structure, floorplan and timing relationship, how should we decide the CTS strategy?

Before considering the strategy, let us first recall the three goals of CTS: latency is as short as possible ; skew is as small as possible ; commo
as long as possible; pr
bendandawugui focus on

https://blog.csdn.net/dongdongnihao_/article/details/128280792?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_rel… 3/7
15/11/2023, 17:33 Literacy in Digital Backend Knowledge Points - CTS (Part 1) - CSDN Blog

blog download study Community GitCode InsCode Log in Member 11.11 infor

Let’s start with the simplest: Since Block A/D is an independent module, they do not have a timing relationship with other modules. At the same time
clock structure diagram, we can see that the clock entering A/D does not intersect with other modules after selection. Therefore, we only need to ma
clocks of A and D as short as possible.

We can also leave everything to the EDA tool, but the result of this cannot guarantee that we will get the results we want. The best way is to divide
selectors entering the two Blocks A and D and other clock frequency dividers. The logic is fixed near these two blocks (purple area in the figure belo
not only allows the clock line to reach the block in the shortest distance possible, but also increases the length of the common path as much as pos

Next, consider Block B/C and Macro1 and 2. In view of the temporal relationship between them, we hope that the skew between them should be as
possible, and the common path should be as long as possible. We can see that they are visited on the floorplan. In a symmetrical form, the simples
direct way is to fix all the logic related to these in the middle of the two Macros (assuming that the clock port is in the yellow marked part), as shown
box in the figure below Shown:

So far we have determined the logic that needs to be preplaced and the area where it is placed. Next we need to consider how to implement our vis
first task is to define the sdc of CTS.

For CTS tools, a necessary prerequisite for clock tree synthesis is the definition of clock. Back-end designers can adjust the definition of clock acco
own strategies. Let us discuss the structure diagram of clock again. .

For the above structure, there are two commonly used methods to define Clock (time unit ps)

1: Define directly from the source of all clocks. This method can basically copy the definition of clock directly from the sdc of func/test:

creat_clock-period xxx -name PLL_CLK [get_pins PLL1/CLK];

2: Use the segmented CTS method, because most clock structures are relatively simple starting from the selector, so we can define a series of cloc
output end of the selector and balance the parts that have some relationship; then start from Each clock source is defined and stopped at the
selector when the clock tree is synthesized. The clock definition of this method can be roughly divided into the following two parts.
pr
The first section: Selector output—>Each Block bendandawugui focus on

https://blog.csdn.net/dongdongnihao_/article/details/128280792?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_rel… 4/7
15/11/2023, 17:33 Literacy in Digital Backend Knowledge Points - CTS (Part 1) - CSDN Blog
create_clock-period xxx -name MUXCLK1 [get_pins MUX1/Y]
blog download study Community GitCode InsCode Log in Member 11.11 infor

create_clock-period xxx -name MUXCLK1 [get_pins MUX2/Y]

........

Second paragraph: clock source —> each selector

creat_clock-period xxx -name PLL_CLK [get_pins PLL1/CLK];

........

As for how to make the tool stop at the selector, we will continue to discuss it in the next article. At the same time, we will reflect the above ideas an
through real scripts and commands. I hope everyone will continue to pay attention.

In addition, the design designed in this article can understand the relatively detailed clock structure through the above pictures, but in actual design,
know the structure and timing relationship of the clock in advance? Generally speaking, for large companies with well-established processes, drawin
detailed overall structure is one of the tasks of front-end design. However, in actual projects, the clock structure diagram of most designs may be ve
even completely absent. This is At this time, back-end engineers need to be more patient to analyze the design, and actively communicate with the
constraint designers, so as to quickly grasp the clock structure of the design.

At this point, the CTS strategy is basically completed. In the following articles, we will continue to discuss in detail the implementation methods of th
strategies and how to view the results of the debug clock.

1个可以免费学习IC后端的网站(推荐)
数字ic后端_入门/进阶/实战_快速入门_IC免费学习资源网

DDR Literacy ——single rank and dual-rank


Detailed explanation of the relationship between memory data bus and single rank dual-rank

Literacy of digital back-end knowledge points - CTS (middle) Idiot Big Turtle’s B

We know that transition is basically the time required for the cell to flip between high and low levels. For cells on the clock line, we generally need to impose stricter trans

Literacy in digital back-end knowledge points - division of chip harden blocks Idiot Big Turtle’s B

Division of chip harden blocks

Introduction to CTS sys

CTS stands for Compatibility Test Suite compatibility testing tool. The purpose of CTS testing is to ensure that standard android applications can run on the platform. Afte

Basic digital back-end skills: CTS (Part 2) IC backend novice’s

I don’t know why the title of the original series suddenly prompted that the word limit has been exceeded. Maybe Zhihu recently updated the word limit for the title. So I re

Basic digital back-end skills: CTS (Part 1) IC backend novice’s


Today I want to talk to you about clock tree synthesis: Clock Tree Synthesis ( CTS ). I have been thinking about how to introduce CTS for a long time , and finally decided

ic backend study notes- CTS tfrofc's

CTS is clock tree synthesis. The clock tree refers to the buffer/inverter tree that grows from a certain clock root point to the sink point. Clock tree synthesis, as the name

Summary of high-frequency questions in back-end interviews 2 I am new to

Java code execution flow? JVM memory model program counter: similar to the computer's program counter. Method area: thread sharing. Stores class information, cons

Literacy of digital back-end knowledge points - layout design Idiot Big Turtle’s B

In the layout design interface, select: Launch->Layout Return to the Layout XL work interface and you can see that the layout of the corresponding device has been gene

A popular explanation of RTS/ CTS * sisi_526986's

*Popular explanation about RTS/ CTS. Recently, let’s look at the serial port module of 32-bit microcontroller and talk about the popular view of hardware flow control: RT

Some Java knowledge points literacy


Some knowledge about Java fat-jar fat-jar or uber-jar the fat-jar is the jar, which contains classes and resources from all the libraries, on which your project depends fat-j

Internet knowledge literacy , understand DNS in one article


During job interviews, interviewers like to examine basic knowledge. In addition to data structures and algorithms, network knowledge is also a very important examinatio

Chip basic knowledge literacy


Basic knowledge of chips 1. The role of chips Chips are the main raw materials of LEDs, and LEDs mainly rely on chips to emit light. 2. The wafer is mainly compos

Digital power technology literacy in power technology


Digital power technology Digital power supplies feature high performance and reliability, and are designed to be very flexible. As IC manufacturers continue to introduce

Explain set_multicycle_path thoroughly in simple terms and master it completely from now on weixin_37584728'spr

Let’s explain set_multicycle_path thoroughly in simple terms, and then masterbendandawugui


it completely. Click the "blue
focus onWeChat name" under the title to quickly follow the debug timi

https://blog.csdn.net/dongdongnihao_/article/details/128280792?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_rel… 5/7
15/11/2023, 17:33 Literacy in Digital Backend Knowledge Points - CTS (Part 1) - CSDN Blog

blog download study Community GitCode InsCode Log in Member 11.11 infor

PR- CTS -Clock Tree Reference m0_68447251's

PR- CTS -Clock Tree Reference

Comprehensive practical analysis of ARM Cortex-A7 clock tree weixin_37584728's

Comprehensive practical analysis of ARM Cortex-A7 clock tree Wuai IC high-end technology exchange community - Knowledge Planet currently has 1040 planet membe

Literacy knowledge about pcie bus introductory knowledge Latest releases

PCIe (Peripheral Component Interconnect Express) is a computer bus technology that is widely used to connect internal peripheral devices and computer motherboard i

Is "Related Recommendations" helpful to you?


Very unhelpful Not helpful generally helpful very helpful

about Business seeking 400-660- online Working hours


Recruitment kefu@csdn.net
Us Cooperation coverage 0108 service 8:30-22:00
Public Security Registration Number 11010502030143 Beijing ICP No. 19004658 Beijing Net Article [2020] No. 1039-165
Commercial website registration information Beijing Internet Illegal and Bad Information Reporting Center Parental supervision
Network 110 alarm service China Internet Reporting Center Chrome store download Account management specifications
Copyright and Disclaimer Copyright complaint Publication License business license
©1999-2023 Beijing Innovation Lezhi Network Technology Co., Ltd.

bendandawugui
6 years of coding No certifi…

112 10,000+ 3188 1.07


Original Weekly Overall million+ grade
ranking ranking access

6330 578 644 174 4015


integral fan Liked Comment collect

Private letter focus on

Search blogger articles

分类专栏

数字IC 30篇

PCIe 17篇

TCL脚本 1篇

linux 5篇

Timing Analysis 2篇

小说

latest comment

amba_axi_Let’s talk about narrow single


wangyouweiDG: Hello, the bit width comm pr
only used in FPGA is 512byte? Is it wrong?
... bendandawugui focus on

https://blog.csdn.net/dongdongnihao_/article/details/128280792?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_rel… 6/7

You might also like