๐Ÿ“š SDC ๋งˆ์Šคํ„ฐ ํด๋ž˜์Šค ์‹œ๋ฆฌ์ฆˆ | Chapter 2

SDC ๋งˆ์Šคํ„ฐ ํด๋ž˜์Šค #2: ํ•ฉ์„ฑ(Synthesis) ๊ธฐ์ดˆ
๐Ÿ“š SDC ๋งˆ์Šคํ„ฐ ํด๋ž˜์Šค ์‹œ๋ฆฌ์ฆˆ | Chapter 2

⚙️ ํ•ฉ์„ฑ(Synthesis) ๊ธฐ์ดˆ
RTL ์ฝ”๋“œ๊ฐ€ ์‹ค์ œ ํšŒ๋กœ๊ฐ€ ๋˜๊ธฐ๊นŒ์ง€

"Constraining Designs for Synthesis and Timing Analysis" ์™„๋ฒฝ ํ•ด์„ค ์‹œ๋ฆฌ์ฆˆ

์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ๋Š” ์นฉ ๋””์ž์ธ์˜ ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ์‚ดํŽด๋ดค๋‹ค๋ฉด, ์˜ค๋Š˜์€ ๊ทธ ์ฒซ ๋ฒˆ์งธ ๊ด€๋ฌธ์ด์ž ๊ฐ€์žฅ ๋“œ๋ผ๋งˆํ‹ฑํ•œ ๋ณ€ํ™”๊ฐ€ ์ผ์–ด๋‚˜๋Š” ๋‹จ๊ณ„, ๋ฐ”๋กœ ํ•ฉ์„ฑ(Synthesis)์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿš€

๐Ÿ†• 2026 ์—…๋ฐ์ดํŠธ: AI ๊ธฐ๋ฐ˜ ํ•ฉ์„ฑ ์ตœ์ ํ™”(Synopsys DSO.ai), GAA ํŠธ๋žœ์ง€์Šคํ„ฐ์šฉ ์ƒˆ๋กœ์šด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชจ๋ธ, POCV/AOCV ๋ณ€๋™ ๋ชจ๋ธ๋ง ๋“ฑ ์ตœ์‹  ๊ธฐ์ˆ  ๋ฐ˜์˜

1 ํ•ฉ์„ฑ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ๐Ÿ”„

์šฐ๋ฆฌ๊ฐ€ Verilog๋‚˜ VHDL๋กœ ์ž‘์„ฑํ•œ RTL ์ฝ”๋“œ๋Š” ์ปดํ“จํ„ฐ ์–ธ์–ด์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์‹ค์ œ ๋ฐ˜๋„์ฒด ๊ณต์žฅ์—์„œ ์ฐ์–ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋…ผ๋ฆฌ ๊ฒŒ์ดํŠธ(AND, OR, Flip-Flop ๋“ฑ)๋“ค์˜ ์—ฐ๊ฒฐ๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์ด ๋ฐ”๋กœ ํ•ฉ์„ฑ์ž…๋‹ˆ๋‹ค.

๐Ÿ”ง ํ•ฉ์„ฑ์˜ 3๋‹จ๊ณ„

1️⃣

Translation

RTL → ๋ถˆ๋ฆฌ์–ธ ์ˆ˜์‹
(GTECH)

2️⃣

Logic Optimization

๋ถˆํ•„์š”ํ•œ ๋กœ์ง ์ œ๊ฑฐ
์ˆ˜์‹ ๊ฐ„์†Œํ™”

3️⃣

Mapping

ํ‘œ์ค€ ์…€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€
1:1 ๋งค์นญ

2 ํ•ฉ์„ฑ ํˆด์˜ ๊ณ ๋ฏผ: ์†๋„๋ƒ, ๋ฉด์ ์ด๋ƒ? ⚖️

ํ•ฉ์„ฑ ํˆด์€ ๊ธฐ๋ณธ์ ์œผ๋กœ '๋น„์šฉ(Cost)'์„ ์ค„์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋น„์šฉ์ด๋ž€ ๋ณดํ†ต ๋ฉด์ (Area)์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฌด์กฐ๊ฑด ์ž‘๊ฒŒ๋งŒ ๋งŒ๋“ค๋ฉด ์นฉ์ด ๋А๋ ค์ง€๊ฒ ์ฃ ?

๐Ÿ“Œ ํ•ฉ์„ฑ ํˆด์˜ ์šฐ์„ ์ˆœ์œ„

"์‚ฌ์šฉ์ž๊ฐ€ ์ •ํ•ด์ค€ ์ œ์•ฝ ์กฐ๊ฑด(Constraints)์ธ
ํƒ€์ด๋ฐ(์†๋„)์„ ๋งŒ์กฑํ•˜๋Š” ๋ฒ”์œ„ ๋‚ด์—์„œ,
์ตœ๋Œ€ํ•œ ๋ฉด์ ์„ ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด๋ผ!"

๐Ÿ’ก ํ•ต์‹ฌ ํฌ์ธํŠธ: ์ด๊ฒƒ์ด ๋ฐ”๋กœ ์šฐ๋ฆฌ๊ฐ€ SDC(์ œ์•ฝ ์กฐ๊ฑด)๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค. ์ œ์•ฝ ์กฐ๊ฑด์ด ์—†์œผ๋ฉด ํˆด์€ "์•„, ์†๋„๋Š” ์ƒ๊ด€์—†๊ตฌ๋‚˜?" ํ•˜๊ณ  ๋ฉด์ ๋งŒ ์ค„์ธ ์•„์ฃผ ๋А๋ฆฐ ์นฉ์„ ๋งŒ๋“ค์–ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค!

3 ์ง€์—ฐ ์‹œ๊ฐ„(Delay)์€ ์–ด๋–ป๊ฒŒ ๊ณ„์‚ฐํ• ๊นŒ? ⏱️

ํ•ฉ์„ฑ ํˆด์ด ํƒ€์ด๋ฐ์„ ๋งž์ถ”๋ ค๋ฉด, ์ด ํšŒ๋กœ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋น ๋ฅธ์ง€ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์–ด์•ผ๊ฒ ์ฃ ? ์ฑ•ํ„ฐ 2์—์„œ๋Š” ์ง€์—ฐ ์‹œ๊ฐ„์„ ๊ตฌ์„ฑํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ํ•ต์‹ฌ ์š”์†Œ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”ธ 3.1 ์…€ ์ง€์—ฐ (Cell Delay) & NLDM

๋…ผ๋ฆฌ ๊ฒŒ์ดํŠธ(Cell) ์ž์ฒด๋ฅผ ํ†ต๊ณผํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๊ณ ์ •๋œ ๊ฐ’์ด ์•„๋‹ˆ๋ผ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณ€ํ•ฉ๋‹ˆ๋‹ค. NLDM(Non-Linear Delay Model) ๊ฐœ๋…์ด ์—ฌ๊ธฐ์„œ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค.

์ž…๋ ฅ ์ „์ด ์‹œ๊ฐ„ (Input Transition/Slew)

์ž…๋ ฅ ์‹ ํ˜ธ๊ฐ€ 0์—์„œ 1๋กœ ๋ณ€ํ•  ๋•Œ ์–ผ๋งˆ๋‚˜ ๊ฐ€ํŒŒ๋ฅด๊ฒŒ ๋ณ€ํ•˜๋А๋ƒ? ๊ธฐ์šธ๊ธฐ๊ฐ€ ์™„๋งŒํ• ์ˆ˜๋ก ์ง€์—ฐ์ด ๊น๋‹ˆ๋‹ค.

์ถœ๋ ฅ ๋ถ€ํ•˜ (Output Load/Capacitance)

์ถœ๋ ฅ๋‹จ์— ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๊ฒŒ์ดํŠธ๋‚˜ ๊ธด ์„ ์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋А๋ƒ? ๋ฌด๊ฑฐ์šด ์ง์„ ๋“ค์ˆ˜๋ก ๋А๋ ค์ง‘๋‹ˆ๋‹ค.

๐Ÿ“Š NLDM ์ง€์—ฐ ํ…Œ์ด๋ธ” ์˜ˆ์‹œ

Input Trans \ Output Load 10fF 50fF 100fF
Fast (0.1ns) 0.05ns 0.12ns 0.25ns
Slow (0.5ns) 0.09ns 0.18ns 0.35ns

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋Š” ์ด๋Ÿฐ ํ…Œ์ด๋ธ”์ด ๋“ค์–ด์žˆ์–ด, ํˆด์ด ์ด ํ‘œ๋ฅผ ๋ณด๊ณ  ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ฐพ์•„๋ƒ…๋‹ˆ๋‹ค.

๐Ÿ”ธ 3.2 ๋ฐฐ์„  ์ง€์—ฐ (Net Delay) & ์™€์ด์–ด ๋กœ๋“œ ๋ชจ๋ธ

๋ฌธ์ œ๋Š” '์„ (Net)'์˜ ์ง€์—ฐ์ž…๋‹ˆ๋‹ค. ํ•ฉ์„ฑ์„ ํ•˜๋Š” ๋‹จ๊ณ„์—์„œ๋Š” ์‹ค์ œ ๋ฐฐ์น˜(Place & Route)๊ฐ€ ์•ˆ ๋˜์–ด ์žˆ์–ด์„œ ์„ ์˜ ๊ธธ์ด๋ฅผ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๐Ÿ”ง ์™€์ด์–ด ๋กœ๋“œ ๋ชจ๋ธ (Wire Load Model, WLM)

์›๋ฆฌ: "์ด ๋””์ž์ธ์˜ ํฌ๊ธฐ๊ฐ€ ๋Œ€์ถฉ ์ด ์ •๋„๋‹ˆ๊นŒ, ํŒฌ์•„์›ƒ(Fanout, ์—ฐ๊ฒฐ๋œ ๊ฒŒ์ดํŠธ ์ˆ˜)์ด 3๊ฐœ๋ฉด ๋ฐฐ์„  ๊ธธ์ด๋Š” ๋Œ€๋žต ์ด ์ •๋„์ผ ๊ฑฐ์•ผ"๋ผ๊ณ  ํ†ต๊ณ„์ ์œผ๋กœ ์ถ”์ •ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

⚠️ ํ•œ๊ณ„: ์–ด๋””๊นŒ์ง€๋‚˜ ์ถ”์ •์น˜์ด๋ฏ€๋กœ, ์‹ค์ œ ๋ฐฐ์น˜ ํ›„์—๋Š” ๊ฐ’์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4 ํ™˜๊ฒฝ ๋ณ€์ˆ˜: PVT (Process, Voltage, Temperature) ๐ŸŒก️

์นฉ์€ ํ•ญ์ƒ ์ด์ƒ์ ์ธ ํ™˜๊ฒฝ์—์„œ ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฑ•ํ„ฐ 2์—์„œ๋Š” PVT ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋‹ฌ๋ผ์ง€๋Š”์ง€ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿญ

Process (๊ณต์ •)

๋ฐ˜๋„์ฒด ์ œ์กฐ ์‹œ ์„ฑ๋Šฅ ์ฐจ์ด
(Fast ๊ณต์ • vs Slow ๊ณต์ •)

Voltage (์ „์••)

์ „์••์ด ๋†’์œผ๋ฉด ๋น ๋ฅด๊ณ ,
๋‚ฎ์œผ๋ฉด ๋А๋ ค์ง‘๋‹ˆ๋‹ค

๐ŸŒก️

Temperature (์˜จ๋„)

์˜จ๋„๊ฐ€ ๋†’์œผ๋ฉด ๋А๋ ค์ง
(๋‹จ, ์—ญ์˜จ๋„ ํšจ๊ณผ ์ฃผ์˜!)

⚠️ ์„ค๊ณ„ ์›์น™: ๋ณดํ†ต ์ตœ์•…์˜ ์ƒํ™ฉ(Worst Case)์„ ๊ธฐ์ค€์œผ๋กœ ์ œ์•ฝ ์กฐ๊ฑด์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ: Slow Process, Low Voltage, High Temp. ์–ด๋–ค ํ™˜๊ฒฝ์—์„œ๋„ ์นฉ์ด ์ฃฝ์ง€ ์•Š๊ณ  ๋™์ž‘ํ•˜๋„๋ก ๋ณด์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ†• 2026 ๊ณ ๊ธ‰ ๋ณ€๋™ ๋ชจ๋ธ๋ง ๊ธฐ๋ฒ•

AOCV

Advanced On-Chip Variation: ๊ฒฝ๋กœ ๊นŠ์ด์™€ ์œ„์น˜์— ๋”ฐ๋ผ ์ง€์—ฐ ์กฐ์ •

POCV

Parametric OCV: ํ†ต๊ณ„์  ๋ฐฉ๋ฒ•์œผ๋กœ ์…€๋ณ„ ๋ณ€๋™ ๋ชจ๋ธ๋ง

SOCV

Statistical OCV: 2nm ์ดํ•˜ ๊ณต์ •์—์„œ ํ•„์ˆ˜์ ์ธ ํ™•๋ฅ ์  ๋ถ„์„

์ด๋Ÿฌํ•œ ๊ธฐ๋ฒ•๋“ค์€ ๊ณผ๋„ํ•œ ๋งˆ์ง„์„ ์ค„์ด๊ณ  ํƒ€์ด๋ฐ ํด๋กœ์ €๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ๋‹ฌ์„ฑํ•˜๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

5 ์š”์•ฝ: ์„ค๊ณ„์ž๊ฐ€ ์•Œ์•„์•ผ ํ•  ๊ฒƒ ๐Ÿ“‹

"ํ•ฉ์„ฑ ํˆด์€ ๋งˆ๋ฒ•์‚ฌ๊ฐ€ ์•„๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์ž…๋ ฅํ•ด ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Library) ์ •๋ณด์™€
์ œ์•ฝ ์กฐ๊ฑด(Constraints)์„ ๋ฐ”ํƒ•์œผ๋กœ
์ˆ˜ํ•™์ ์ธ ๊ณ„์‚ฐ์„ ํ†ตํ•ด ์ตœ์ ์˜ ํšŒ๋กœ๋ฅผ ์ฐพ์•„๋‚ด๋Š”
๊ณ„์‚ฐ๊ธฐ์ผ ๋ฟ์ด๋‹ค."

๋”ฐ๋ผ์„œ ์ •ํ™•ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ ์ •๊ณผ ์ •ํ™•ํ•œ SDC(์ œ์•ฝ ์กฐ๊ฑด) ์ž‘์„ฑ์ด ์„ฑ๊ณต์ ์ธ ํ•ฉ์„ฑ์„ ์œ„ํ•œ ์ฒซ ๋‹จ์ถ”์ž…๋‹ˆ๋‹ค.

๐Ÿค– 2026 AI ๊ธฐ๋ฐ˜ ํ•ฉ์„ฑ ์ตœ์ ํ™”

Synopsys DSO.ai์™€ ๊ฐ™์€ AI ๊ธฐ๋ฐ˜ ๋„๊ตฌ๋“ค์ด ์ž์œจ์ ์ธ ์„ค๊ณ„ ๊ณต๊ฐ„ ํƒ์ƒ‰์„ ํ†ตํ•ด ์ธก์ • ๊ฐ€๋Šฅํ•œ PPA(Power, Performance, Area) ํ–ฅ์ƒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. AI๋Š” ํ•ฉ์„ฑ, ํ”Œ๋กœ์–ดํ”Œ๋ž˜๋‹, ์ •ํ˜• ๊ฒ€์ฆ, ๋””๋ฒ„๊ทธ ์ „๋ฐ˜์— ๊ฑธ์ณ ๊ฒฐ๊ณผ๋ฅผ ๊ฐœ์„ ํ•˜๊ณ  ์ˆ˜๋™ ์ž‘์—…์„ ์ค„์ด๋Š” ๋ฐ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“– ๋‹ค์Œ ์ฑ•ํ„ฐ ์˜ˆ๊ณ : ์ฑ•ํ„ฐ 3์—์„œ๋Š” ๋ณธ๊ฒฉ์ ์œผ๋กœ ํƒ€์ด๋ฐ ๋ถ„์„(STA)์ด ๋ฌด์—‡์ธ์ง€, Setup/Hold Time์ด ์™œ ์ค‘์š”ํ•œ์ง€์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ฉด์ ‘ ๋‹จ๊ณจ ์งˆ๋ฌธ์ด๋‹ˆ ๊ธฐ๋Œ€ํ•ด ์ฃผ์„ธ์š”! ๐ŸŽฏ

๐Ÿ“š SDC Master Class - ์ „์ฒด ์ฑ•ํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ

● Ch1-5: ํด๋Ÿญ ● Ch6-8: I/O ● Ch9-10: ์˜ˆ์™ธ ● Ch11-12: CDC ● Ch13-15: ๋ถ„์„ ● Ch16-17: ๊ธฐํƒ€

๋Œ“๊ธ€

์ด ๋ธ”๋กœ๊ทธ์˜ ์ธ๊ธฐ ๊ฒŒ์‹œ๋ฌผ

๐Ÿ“š SDC ๋งˆ์Šคํ„ฐ ํด๋ž˜์Šค ์‹œ๋ฆฌ์ฆˆ | Chapter 1

๐Ÿ“š SDC ๋งˆ์Šคํ„ฐ ํด๋ž˜์Šค ์‹œ๋ฆฌ์ฆˆ | Chapter 3