VLSI Wiki | Chase Na

VLSI Wiki | Chase Na

Semiconductor Engineer & Tech Expert

Contact

โœ‰๏ธ gc@vlsi.kr

Connect

Contents:
  1. Timing Closure
    1. 1. Definition: What is Timing Closure?
    2. 2. Components and Operating Principles
      1. 2.1 Timing Analysis Techniques
    3. 3. Related Technologies and Comparison
    4. 4. References
    5. 5. One-line Summary

Timing Closure

1. Definition: What is Timing Closure?

Timing Closure๋Š” ๋””์ง€ํ„ธ ํšŒ๋กœ ์„ค๊ณ„์—์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ๊ฐœ๋…์œผ๋กœ, ์„ค๊ณ„๋œ ํšŒ๋กœ๊ฐ€ ์š”๊ตฌ๋˜๋Š” ์„ฑ๋Šฅ ๊ธฐ์ค€์„ ์ถฉ์กฑํ•˜๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํšŒ๋กœ์˜ ๋ชจ๋“  ๊ฒฝ๋กœ๊ฐ€ ์ฃผ์–ด์ง„ ํด๋Ÿญ ์ฃผํŒŒ์ˆ˜์—์„œ ๋™์ž‘ํ•˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. Timing Closure๋Š” VLSI ์„ค๊ณ„์˜ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๋ฉฐ, ์„ค๊ณ„์ž๊ฐ€ ํšŒ๋กœ์˜ ๋™์ž‘ ์†๋„๋ฅผ ๊ทน๋Œ€ํ™”ํ•˜๊ณ  ์ „๋ ฅ ์†Œ๋น„๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

Timing Closure์˜ ์ค‘์š”์„ฑ์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ธก๋ฉด์—์„œ ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค. ์ฒซ์งธ, ํšŒ๋กœ๊ฐ€ ์š”๊ตฌ๋˜๋Š” ์„ฑ๋Šฅ์„ ์ถฉ์กฑํ•˜์ง€ ๋ชปํ•  ๊ฒฝ์šฐ, ์ œํ’ˆ์˜ ์‹ ๋ขฐ์„ฑ๊ณผ ํšจ์œจ์„ฑ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘˜์งธ, Timing Closure๋Š” ์„ค๊ณ„์˜ ์ตœ์ ํ™” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋น„๋™๊ธฐ ํšŒ๋กœ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ํƒ€์ด๋ฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Timing Closure๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์…‹์งธ, Timing Closure ๊ณผ์ •์€ ์„ค๊ณ„์ž์—๊ฒŒ ํšŒ๋กœ์˜ ๋™์ž‘์„ ๋ถ„์„ํ•˜๊ณ , ๊ฒฝ๋กœ ์ง€์—ฐ(Path Delay)์„ ์ตœ์ ํ™”ํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜์—ฌ ํƒ€์ด๋ฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Timing Closure๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ธฐ์ˆ ๊ณผ ๋„๊ตฌ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” Static Timing Analysis (STA), Dynamic Simulation, Timing Optimization, ๊ทธ๋ฆฌ๊ณ  Clock Domain Crossing (CDC) ๋ถ„์„ ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋ฒ•๋“ค์€ ํšŒ๋กœ์˜ ๊ฐ ๊ฒฝ๋กœ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ง€์—ฐ์„ ์ •๋Ÿ‰ํ™”ํ•˜๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ตœ์ ์˜ ํด๋Ÿญ ์ฃผํŒŒ์ˆ˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค. Timing Closure๋Š” ๋‹จ์ˆœํ•œ ํ™•์ธ ์ ˆ์ฐจ๊ฐ€ ์•„๋‹ˆ๋ผ, ์„ค๊ณ„์ž๊ฐ€ ํšŒ๋กœ์˜ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ๋ณต์žกํ•œ ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

2. Components and Operating Principles

Timing Closure์˜ ๊ตฌ์„ฑ ์š”์†Œ์™€ ์ž‘๋™ ์›๋ฆฌ๋Š” ์„ค๊ณ„ ๊ณผ์ •์—์„œ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ  ๋ฐ ๋„๊ตฌ์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. Static Timing Analysis (STA): STA๋Š” ํšŒ๋กœ์˜ ๋ชจ๋“  ๊ฒฝ๋กœ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ง€์—ฐ์„ ๋ถ„์„ํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด ๋ถ„์„์€ ํด๋Ÿญ ์ฃผํŒŒ์ˆ˜์— ๋”ฐ๋ผ ํšŒ๋กœ๊ฐ€ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. STA๋Š” ๊ฐ ๊ฒฝ๋กœ์˜ ์ตœ์•…์˜ ๊ฒฝ์šฐ ์ง€์—ฐ์„ ๊ณ„์‚ฐํ•˜์—ฌ Timing Closure์˜ ํ•„์š”์„ฑ์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

  2. Dynamic Simulation: ์ด ๊ธฐ๋ฒ•์€ ํšŒ๋กœ์˜ ๋™์ž‘์„ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜์—ฌ ์‹ค์ œ ๋™์ž‘์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. Dynamic Simulation์€ ํšŒ๋กœ์˜ ์ž…๋ ฅ ์‹ ํ˜ธ๊ฐ€ ๋ณ€ํ™”ํ•  ๋•Œ ์ถœ๋ ฅ ์‹ ํ˜ธ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐ˜์‘ํ•˜๋Š”์ง€๋ฅผ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋ฉฐ, ํƒ€์ด๋ฐ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.

  3. Timing Optimization: Timing Optimization์€ ํšŒ๋กœ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ๋ฒ•์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๊ฒŒ์ดํŠธ ํฌ๊ธฐ ์กฐ์ •, ๋ฐฐ์„  ์ตœ์ ํ™”, ๊ทธ๋ฆฌ๊ณ  ์ง€์—ฐ์„ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์„ค๊ณ„ ์ˆ˜์ •์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ตœ์ ํ™” ๊ณผ์ •์€ Timing Closure๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

  4. Clock Domain Crossing (CDC) Analysis: ์—ฌ๋Ÿฌ ํด๋Ÿญ ๋„๋ฉ”์ธ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, CDC ๋ถ„์„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ถ„์„์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ํด๋Ÿญ ์ฃผํŒŒ์ˆ˜์—์„œ ์–ด๋–ป๊ฒŒ ์•ˆ์ „ํ•˜๊ฒŒ ์ „์†ก๋  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. Timing Closure๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ถ„์„์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์€ ์„œ๋กœ ๊ธด๋ฐ€ํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ฐ ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ˜‘๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, STA์—์„œ ๋ฐœ๊ฒฌ๋œ ํƒ€์ด๋ฐ ๋ฌธ์ œ๋Š” Timing Optimization์„ ํ†ตํ•ด ํ•ด๊ฒฐ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Dynamic Simulation์„ ํ†ตํ•ด ๊ทธ ํ•ด๊ฒฐ์ฑ…์ด ์‹ค์ œ๋กœ ํšจ๊ณผ์ ์ธ์ง€ ๊ฒ€์ฆ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ˜ธ์ž‘์šฉ์€ ์ตœ์ข…์ ์œผ๋กœ Timing Closure๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

2.1 Timing Analysis Techniques

Timing Analysis๋Š” Timing Closure๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋ฒ•์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋ฒ•๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • Setup Time Analysis: ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ํšจํ•ด์•ผ ํ•˜๋Š” ์ตœ์†Œํ•œ์˜ ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•˜์—ฌ, ํด๋Ÿญ ์‹ ํ˜ธ์˜ ์ƒ์Šน ์—ฃ์ง€์™€ ๋ฐ์ดํ„ฐ ์‹ ํ˜ธ์˜ ๋ณ€ํ™” ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
  • Hold Time Analysis: ๋ฐ์ดํ„ฐ๊ฐ€ ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€๋˜์–ด์•ผ ํ•˜๋Š” ์ตœ์†Œํ•œ์˜ ์‹œ๊ฐ„์„ ํ‰๊ฐ€ํ•˜์—ฌ, ํด๋Ÿญ ์‹ ํ˜ธ์˜ ํ•˜๊ฐ• ์—ฃ์ง€์™€ ๋ฐ์ดํ„ฐ ์‹ ํ˜ธ์˜ ๋ณ€ํ™” ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
  • Path Delay Analysis: ๊ฐ ๊ฒฝ๋กœ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ง€์—ฐ์„ ๋ถ„์„ํ•˜์—ฌ, ์ตœ์•…์˜ ๊ฒฝ์šฐ ์ง€์—ฐ์„ ์‹๋ณ„ํ•˜๊ณ  ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ตœ์ ํ™” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Timing Closure๋Š” ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ๊ธฐ์ˆ  ๋ฐ ๋ฐฉ๋ฒ•๋ก ๊ณผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋น„๊ต๋Š” ๊ฐ ๊ธฐ์ˆ ์˜ ์žฅ๋‹จ์ ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.

  1. Static Timing Analysis (STA) vs. Dynamic Simulation: STA๋Š” ํšŒ๋กœ์˜ ๋ชจ๋“  ๊ฒฝ๋กœ๋ฅผ ์ •์  ๋ถ„์„ํ•˜์—ฌ ์ตœ๋Œ€ ์ง€์—ฐ์„ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ˜๋ฉด, Dynamic Simulation์€ ์‹ค์ œ ๋™์ž‘์„ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค. STA๋Š” ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ด์ง€๋งŒ, ํŠน์ • ์กฐ๊ฑด์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ๋†“์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด Dynamic Simulation์€ ๋” ์ •ํ™•ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ, ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹œ๊ฐ„์ด ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. Timing Optimization vs. Design-for-Test (DFT): Timing Optimization์€ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ ์„ค๊ณ„ ์ˆ˜์ •์— ์ค‘์ ์„ ๋‘๋Š” ๋ฐ˜๋ฉด, DFT๋Š” ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์„ค๊ณ„๋ฉ๋‹ˆ๋‹ค. Timing Optimization์€ ํšŒ๋กœ์˜ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•˜๋Š” ๋ฐ˜๋ฉด, DFT๋Š” ํšŒ๋กœ์˜ ์‹ ๋ขฐ์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค.

  3. Clock Domain Crossing (CDC) Analysis vs. Asynchronous Design: CDC ๋ถ„์„์€ ์„œ๋กœ ๋‹ค๋ฅธ ํด๋Ÿญ ๋„๋ฉ”์ธ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์•ˆ์ „ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•๋ก ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, ๋น„๋™๊ธฐ ์„ค๊ณ„๋Š” ํด๋Ÿญ ์‹ ํ˜ธ ์—†์ด ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. CDC ๋ถ„์„์€ ๋น„๋™๊ธฐ ์„ค๊ณ„์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ํƒ€์ด๋ฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋น„๊ต๋ฅผ ํ†ตํ•ด Timing Closure๊ฐ€ ๋””์ง€ํ„ธ ํšŒ๋กœ ์„ค๊ณ„์—์„œ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€, ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ๊ธฐ์ˆ ๋“ค๊ณผ์˜ ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๊ธฐ์ˆ ์€ ์„œ๋กœ ๋ณด์™„์ ์ด๋ฉฐ, ์„ค๊ณ„์ž๊ฐ€ ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ๋“ค์„ ์ ์ ˆํžˆ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. References

  • IEEE (Institute of Electrical and Electronics Engineers)
  • ACM (Association for Computing Machinery)
  • Synopsys
  • Cadence Design Systems
  • Mentor Graphics

5. One-line Summary

Timing Closure๋Š” ๋””์ง€ํ„ธ ํšŒ๋กœ ์„ค๊ณ„์—์„œ ์„ฑ๋Šฅ ๊ธฐ์ค€์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๊ฒฝ๋กœ ์ง€์—ฐ์„ ์ตœ์ ํ™”ํ•˜๊ณ  ํƒ€์ด๋ฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ํ•„์ˆ˜ ๊ณผ์ •์ž…๋‹ˆ๋‹ค.