Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Does all the clock buf/inv in the clock tree must have the same rise and fall time?

Status
Not open for further replies.

pavanks

Full Member level 2
Joined
Jan 19, 2009
Messages
134
Helped
30
Reputation
60
Reaction score
28
Trophy points
1,308
Activity points
2,020
Hi,

I have this doubt, that to maintain the duty cycle we need all the buffers and inverters to be having the same rise and fall time. Am I right ?

Please explain.


-Pavan
 

That is the goal. But in reality buffers and inverter rarely have the same rise and fall time as it depends on the capacitive load of the clock tree its driving and the drive strength of the CLKBUF/CLKINV. So instead of of using buffers/inverters with the same rise and fall time. CTS tries to balance the load and driver to try to keep it within some parameter (usually know as CTS SKEW). It does this by driving larger clock trees with stronger CLKBUFs/CLKINVs

narfnarf
 

That is the goal. But in reality buffers and inverter rarely have the same rise and fall time as it depends on the capacitive load of the clock tree its driving and the drive strength of the CLKBUF/CLKINV. So instead of of using buffers/inverters with the same rise and fall time. CTS tries to balance the load and driver to try to keep it within some parameter (usually know as CTS SKEW). It does this by driving larger clock trees with stronger CLKBUFs/CLKINVs

narfnarf

Thanks for the explanation. Is the "CTS skew" which u mentioned diff than the normal skew? But as i know skew is the the diff in the arrival of the clock at the sinks. How come this will help with maintaining the duty cycle here of the clock period ?

Thanks
Pavan
 

In order to maintain the duty cycle, you need to ensure that both rise and fall edges have similar transitions (if possible same transitions). And as narfnarf mentioned.. "instead of of using buffers/inverters with the same rise and fall time. CTS tries to balance the load and driver.."
Also during CTS, we also specify the Max Transitition limit for clock buffers and at flops. So, CTS tries to see that the transitions at all clock buffers & flops is almost similar and thereby we can maintain the uniform duty cycle.
 

In order to maintain the duty cycle, you need to ensure that both rise and fall edges have similar transitions (if possible same transitions). And as narfnarf mentioned.. "instead of of using buffers/inverters with the same rise and fall time. CTS tries to balance the load and driver.."
Also during CTS, we also specify the Max Transitition limit for clock buffers and at flops. So, CTS tries to see that the transitions at all clock buffers & flops is almost similar and thereby we can maintain the uniform duty cycle.

Are you saying here that the normal buffers and inverters are used in CTS also ?
Then what is the diff in clock buffers/inverters in the lib as compared to buffers/inverters in the lib?

Thanks
Pavan
 

the special buf/inv for clock tree are indeed special balance cells which have similar up and down transition time.
You can use normal buf/inv in clock tree if you would like to. Sometimes it is beneficial as normal buf/inv have less area and power overhead (of course if using normal cell can satify the timing constraints).
Which cell can be used in clock tree is controlled by constraints; therefore, you can tell the placer which cells are allowed in clock trees.

The skew is the time difference between the arrival time of clock edge to different cells. So narfnarf's explanation is not very proper on this matter.
The direct factor which controls the accuracy of duty cycle (here I assume 50% as non-50% is totally another story) is clock jitter.
Jitter defines the maximal period difference during the whole running time at any places.
A very small jitter means the transition times of clock cells are extremely balanced, normally in the cost of larger clock tree with extra area and power overhead.
 
the special buf/inv for clock tree are indeed special balance cells which have similar up and down transition time.
You can use normal buf/inv in clock tree if you would like to. Sometimes it is beneficial as normal buf/inv have less area and power overhead (of course if using normal cell can satify the timing constraints).
Which cell can be used in clock tree is controlled by constraints; therefore, you can tell the placer which cells are allowed in clock trees.

The skew is the time difference between the arrival time of clock edge to different cells. So narfnarf's explanation is not very proper on this matter.
The direct factor which controls the accuracy of duty cycle (here I assume 50% as non-50% is totally another story) is clock jitter.
Jitter defines the maximal period difference during the whole running time at any places.
A very small jitter means the transition times of clock cells are extremely balanced, normally in the cost of larger clock tree with extra area and power overhead.

Thanks for explaining. But more thing how can a cell have same rise and fall transition as i remember rise and fall depends on the drive and the load?

As i see here rise is input transition and fall is out transition right?
 

Ouch!
OK, I am not an expert on analogue but I try to explain.
Yes, the transition time of cell depends on input transition time and output load. Assuming the input transition time is Ti and output load is Lo, the transition time of a cell is
T(up)=G(up)*Ti(up)*Lo and T(down)=G(down)*Ti(down)*Lo (we have used two assumptions here, 1. the equation is simplified into linear 2. up input caused a positive output)
The G here depends on the cell structure, in detail, is the density of P and N doping and the area of the doping region. The G itself means the amplify factor of input voltage to output current.
Unfortunately, the G for P Mos and N mos are different so normal CMOS transistors have different open and shut down time, which is the source of different up and down transition time.
By carefully compensation and match of the amplification factor, G, the balanced CMOS cell have similar G for PMOS and NMOS. Therefore, in most conditions, G(up) == G(down).
Supposing all cells in a clock tree have G(up) == G(down), a direct consequence will be Ti(up) == Ti(down). And finally T(up) == T(down).

In other words, although transition time depends on input transition and output load, as long as the G of PMOS and NMOS is equal, the positive edge transition and negedge transition will be the same. The transition time of a cell is not a fixed value but T(up) == T(down) in a balanced cell.
 

Ouch!
OK, I am not an expert on analogue but I try to explain.
Yes, the transition time of cell depends on input transition time and output load. Assuming the input transition time is Ti and output load is Lo, the transition time of a cell is
T(up)=G(up)*Ti(up)*Lo and T(down)=G(down)*Ti(down)*Lo (we have used two assumptions here, 1. the equation is simplified into linear 2. up input caused a positive output)
The G here depends on the cell structure, in detail, is the density of P and N doping and the area of the doping region. The G itself means the amplify factor of input voltage to output current.
Unfortunately, the G for P Mos and N mos are different so normal CMOS transistors have different open and shut down time, which is the source of different up and down transition time.
By carefully compensation and match of the amplification factor, G, the balanced CMOS cell have similar G for PMOS and NMOS. Therefore, in most conditions, G(up) == G(down).
Supposing all cells in a clock tree have G(up) == G(down), a direct consequence will be Ti(up) == Ti(down). And finally T(up) == T(down).

In other words, although transition time depends on input transition and output load, as long as the G of PMOS and NMOS is equal, the positive edge transition and negedge transition will be the same. The transition time of a cell is not a fixed value but T(up) == T(down) in a balanced cell.

Thanks for the explanation. Now are u saying that the rise and fall time for all the clock buf/inv will be the same or is it each clock buf/inv will have a same rise and fall?
 

In the perfect condition, every single buf has same rise and fall transition time, but different bufs will have different transition times as they have different input transition time and output load. CTS is trying to make the clock tree complying with the timing constraints, which normally have period, skew and jitter requirements.
 
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top