๐ 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์ด ์ ์ค์ํ์ง์ ๋ํด ๋ค๋ฃจ๊ฒ ๋ฉ๋๋ค. ๋ฉด์ ๋จ๊ณจ ์ง๋ฌธ์ด๋ ๊ธฐ๋ํด ์ฃผ์ธ์! ๐ฏ
๋๊ธ
๋๊ธ ์ฐ๊ธฐ