ํ† ๋ก : OpenROAD ํ”„๋กœ์ ํŠธ๋Š” ํ”„๋กœ์„ธ์„œ ์„ค๊ณ„ ์ž๋™ํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

ํ† ๋ก : OpenROAD ํ”„๋กœ์ ํŠธ๋Š” ํ”„๋กœ์„ธ์„œ ์„ค๊ณ„ ์ž๋™ํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์ง„ โ€” Pexels โ€” CC BY

์— ์— ๋”ฐ๋ฅด๋ฉด ๋ฐ˜๋„์ฒด ๊ธฐ์ˆ  ์‹œ์žฅ์ธ PWC๋Š” ์ง€๋‚œํ•ด 481์–ต ๋‹ฌ๋Ÿฌ ๊ทœ๋ชจ๋กœ ์„ฑ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ตœ๊ทผ ์„ฑ์žฅ๋ฅ ์ด ๊ฐ์†Œ. ๊ฐ์†Œ ์ด์œ ์—๋Š” ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ์žฅ์น˜ ์„ค๊ณ„ ํ”„๋กœ์„ธ์Šค์™€ ์ž๋™ํ™” ๋ถ€์กฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋ช‡ ๋…„ ์ „, ์ธํ…”์˜ ์—”์ง€๋‹ˆ์–ด๋“ค์ด ะฟะธัะฐะปะธ๊ณ ์„ฑ๋Šฅ ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด 100~150๊ฐœ์˜ ๋ณ„๋„ ์†Œํ”„ํŠธ์›จ์–ด ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(EDA). ASIC, FPGA, CPU ๋˜๋Š” GPU์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์œ ํ˜•์˜ ์นฉ์„ ํฌํ•จํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜๋ฅผ ํฌํ•จํ•˜๋Š” ์ด๊ธฐ์ข… ์žฅ์น˜์˜ ๊ฒฝ์šฐ ์ƒํ™ฉ์ด ์•…ํ™”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ œํ’ˆ ์ถœ์‹œ๋ฅผ ์ง€์—ฐ์‹œํ‚ค๋Š” ์„ค๊ณ„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜๋งŽ์€ ๋ณด์กฐ ๋„๊ตฌ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์—”์ง€๋‹ˆ์–ด๋Š” ์—ฌ์ „ํžˆ ์ผ๋ถ€ ์ž‘์—…์„ ์ˆ˜๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฑ…์˜ ์ €์ž "๊ณ ๊ธ‰ ๋…ผ๋ฆฌ ํ•ฉ์„ฑ"๊ทธ๋“ค์€ ๋•Œ๋•Œ๋กœ ๋””์ž์ด๋„ˆ๋“ค์ด ~ํ•ด์•ผํ•œ๋‹ค. Skill ๋˜๋Š” Python์œผ๋กœ 200๋งŒ ์ค„์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์„ธํฌ.

EDA ์‹œ์Šคํ…œ์—์„œ ์ƒ์„ฑ๋œ ๋ณด๊ณ ์„œ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ๋„ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค. 22nm ๊ณต์ • ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์นฉ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์ด๋Ÿฌํ•œ ๋ณด๊ณ ์„œ๋Š” ์ตœ๋Œ€ 30TB๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DARPA๋Š” ์ƒํ™ฉ์„ ์ˆ˜์ •ํ•˜๊ณ  ์„ค๊ณ„ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ‘œ์ค€ํ™”ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์†Œ์†์‚ฌ์—์„œ๋„ ๊ณ ๋ คํ•˜๋‹ค์นฉ์„ ๋งŒ๋“œ๋Š” ๊ธฐ์กด ๋ฐฉ๋ฒ•์€ ๊ตฌ์‹์ž…๋‹ˆ๋‹ค. ์กฐ์ง ๋ฐœ์‚ฌ 5๋…„ ํ”„๋กœ๊ทธ๋žจ ์˜คํ”ˆ๋กœ๋“œ, ์นฉ ์„ค๊ณ„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ์ƒˆ๋กœ์šด ๋„๊ตฌ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์–ด๋–ค ์ข…๋ฅ˜์˜ ํ”„๋กœ๊ทธ๋žจ์ธ๊ฐ€?

์ด ํ”„๋กœ๊ทธ๋žจ์—๋Š” ๊ธฐ๊ณ„ ํ•™์Šต๊ณผ ํด๋ผ์šฐ๋“œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์นฉ ์ƒ์„ฑ์˜ ๊ฐœ๋ณ„ ๋‹จ๊ณ„๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด๋‹ˆ์…”ํ‹ฐ๋ธŒ์˜ ์ผํ™˜์œผ๋กœ ๊ฐœ๋ฐœ ์ค‘ (๊ทธ๋ฆผ 1) XNUMX๊ฐœ ์ด์ƒ์˜ ์•…๊ธฐ. ๋‹ค์Œ์œผ๋กœ Flow Runner, RePlAce, TritonCTS, OpenSTA์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ๋ฆ„ ๋Ÿฌ๋„ˆ RTL ๋ฐ GDSII ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ํ›„์ž๋Š” ์ง‘์  ํšŒ๋กœ ๋ฐ ํ•ด๋‹น ํ† ํด๋กœ์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ์—…๊ณ„ ํ‘œ์ค€์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ด ์†”๋ฃจ์…˜์€ Docker ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ์™€ ๋กœ์ปฌ ๋ชจ๋‘์—์„œ Flow Runner๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์น˜ ๊ฐ€์ด๋“œ๋Š” ๊ณต์‹ ์ €์žฅ์†Œ์— ์žˆ์Šต๋‹ˆ๋‹ค. GitHub์—์„œ.

๋ฐ”๊พธ๋‹ค ์นฉ์— ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ํ•˜๊ณ  ๋ผ์šฐํŒ…์„ ์ž๋™ํ™”ํ•˜๋Š” ๊ธฐ๊ณ„ ํ•™์Šต ๊ธฐ๋ฐ˜์˜ ํด๋ผ์šฐ๋“œ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ์— ์˜ํ•ด ์ผ๋ถ€ ๋ฐ์ดํ„ฐ, ์ง€๋Šฅํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ธฐ์กด ์‹œ์Šคํ…œ์— ๋น„ํ•ด ๋„๊ตฌ์˜ ํšจ์œจ์„ฑ์„ 2~10% ๋†’์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ํด๋ผ์šฐ๋“œ์— ๊ตฌํ˜„ํ•˜๋ฉด ํ™•์žฅ์ด ๋” ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ ๊ฐ€์ด๋“œ๋„ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ €์žฅ์†Œ์—.

ํŠธ๋ฆฌํ†คCTS โ€” ์นฉ์— ๊ณต๊ธ‰๋˜๋Š” ํด๋Ÿญ ํŽ„์Šค๋ฅผ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ์ž…๋‹ˆ๋‹ค. ๋™์ผํ•œ ์ง€์—ฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ์žฅ์น˜์˜ ๋ชจ๋“  ๋ถ€๋ถ„์— ํด๋ก ์‹ ํ˜ธ๋ฅผ ๋ผ์šฐํŒ…ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ž‘๋™ ์›๋ฆฌ๋Š” ๋‹ค์Œ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. H-ํŠธ๋ฆฌ. ์ด ์ ‘๊ทผ๋ฒ• ํ–ฅ์ƒ ๊ธฐ์กด ๋ฐฉ๋ฒ•์— ๋น„ํ•ด ์‹ ํ˜ธ ๋ถ„๋ฐฐ ํšจ์œจ์„ฑ์ด 30% ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋“ค์€ ์•ž์œผ๋กœ ์ด ์ˆ˜์น˜๊ฐ€ 56%๊นŒ์ง€ ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. TritonCTS ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉ ๊ฐ€๋Šฅ GitHub์—์„œ.

์˜คํ”ˆ์Šคํƒ€ โ€” ์ •์  ํƒ€์ด๋ฐ ๋ถ„์„์„ ์œ„ํ•œ ์—”์ง„. ์ด๋ฅผ ํ†ตํ•ด ์„ค๊ณ„์ž๋Š” ์นฉ์ด ์‹ค์ œ๋กœ ์กฐ๋ฆฝ๋˜๊ธฐ ์ „์— ์นฉ์˜ ๊ธฐ๋Šฅ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. OpenSTA์˜ ์˜ˆ์ œ ์ฝ”๋“œ ๋ชจ์–‘ ์ด๋ ‡๊ฒŒ

@@ -6,7 +6,7 @@ read_liberty -corner ff example1_fast.lib
read_verilog example1.v
link_design top
set_timing_derate -early 0.9
set_timing_derate -early 1.1
set_timing_derate -late 1.1
create_clock -name clk -period 10 {clk1 clk2 clk3}
set_input_delay -clock clk 0 {in1 in2}
# report all corners

์ด ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” Verilog ์ฝ”๋“œ, Liberty ํ˜•์‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, SDC ํŒŒ์ผ ๋“ฑ์— ๋Œ€ํ•œ ๋„ท๋ฆฌ์ŠคํŠธ ์„ค๋ช…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์žฅ์ ๊ณผ ๋‹จ์ 

IBM ๋ฐ IEEE์˜ ์ „๋ฌธ๊ฐ€ ์ถ•ํ•˜ํ•˜๋‹คํด๋ผ์šฐ๋“œ ๊ธฐ์ˆ ๊ณผ ๊ธฐ๊ณ„ ํ•™์Šต์€ ์นฉ ์ƒ์‚ฐ์— ์‚ฌ์šฉํ•˜๊ธฐ์—๋Š” ์ด๋ฏธ ์˜ค๋žœ ์‹œ๊ฐ„์ด ์ง€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์˜ ์˜๊ฒฌ์œผ๋กœ๋Š” DARPA ํ”„๋กœ์ ํŠธ๊ฐ€ ์ด ์•„์ด๋””์–ด๋ฅผ ๊ตฌํ˜„ํ•œ ์„ฑ๊ณต์ ์ธ ์‚ฌ๋ก€๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‘˜ ๊ฒƒ์ด๋‹ค ์—…๊ณ„ ๋ณ€ํ™”์˜ ์‹œ์ž‘.

๋˜ํ•œ OpenROAD์˜ ๊ฐœ๋ฐฉํ˜• ํŠน์„ฑ์œผ๋กœ ์ธํ•ด ๋„๊ตฌ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ•๋ ฅํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ํ˜•์„ฑ๋˜๊ณ  ์ƒˆ๋กœ์šด ์Šคํƒ€ํŠธ์—…์„ ์œ ์น˜ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.

ํ† ๋ก : OpenROAD ํ”„๋กœ์ ํŠธ๋Š” ํ”„๋กœ์„ธ์„œ ์„ค๊ณ„ ์ž๋™ํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์ง„ โ€” Pexels โ€” CC BY

์ด๋ฏธ ์ฐธ๊ฐ€์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฏธ์‹œ๊ฐ„ ๋Œ€ํ•™์— ๊ธฐ๋ฐ˜์„ ๋‘” ์นฉ์„ ๊ฐœ๋ฐœํ•˜๋Š” ์‹คํ—˜์‹ค์ž…๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค, OpenROAD ์˜คํ”ˆ ์†Œ์Šค ๋„๊ตฌ๋ฅผ ํ…Œ์ŠคํŠธํ•  ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ƒˆ๋กœ์šด ์†”๋ฃจ์…˜์ด ์ตœ์ข… ์ œํ’ˆ ๋น„์šฉ์— ๋ˆˆ์— ๋„๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋Š” ์•„์ง ์•Œ๋ ค์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ „๋ฐ˜์ ์œผ๋กœ DARPA์˜ ๋ฆฌ๋”์‹ญ ํ•˜์— ๊ฐœ๋ฐœ ์ค‘์ธ ๋„๊ตฌ๋Š” ํ”„๋กœ์„ธ์„œ ์‚ฐ์—…์— ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋ฉฐ ์ด ๋ถ„์•ผ์—์„œ ๋” ๋งŽ์€ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋“ฑ์žฅํ•˜๊ธฐ ์‹œ์ž‘ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋„๊ตฌ๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค โ€” ๋ฌด์ œํ•œ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์นฉ์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. gEDA์—๋Š” ๋งˆ์ดํฌ๋กœํšŒ๋กœ ๋ฐ ๋ณด๋“œ ๋ผ์šฐํŒ…์„ ํŽธ์ง‘ํ•˜๊ณ  ๋ชจ๋ธ๋งํ•˜๊ธฐ ์œ„ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์†”๋ฃจ์…˜์€ UNIX ํ”Œ๋žซํผ์šฉ์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์ง€๋งŒ ํ•ด๋‹น ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ ๋‹ค์ˆ˜๋Š” Windows์—์„œ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค๊ณผ ํ•จ๊ป˜ ์ผํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ํ”„๋กœ์ ํŠธ ์›น์‚ฌ์ดํŠธ์˜ ๋ฌธ์„œ์—์„œ.

๋ฌด๋ฃŒ๋กœ ์ œ๊ณต๋˜๋Š” ๋„๊ตฌ๋Š” ๋…๋ฆฝ ์กฐ์ง๊ณผ ์Šคํƒ€ํŠธ์—…์— ๋” ๋งŽ์€ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ EDA ๋„๊ตฌ ๊ฐœ๋ฐœ ๋ฐ ์นฉ ์„ค๊ณ„์— ๋Œ€ํ•œ OpenROAD์˜ ์ƒˆ๋กœ์šด ์ ‘๊ทผ ๋ฐฉ์‹์ด ์—…๊ณ„ ํ‘œ์ค€์ด ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ํšŒ์‚ฌ ๋ธ”๋กœ๊ทธ์— ์“ฐ๋Š” ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€