PEFA-AI: Advancing Open-source LLMs for RTL generation using Progressive Error Feedback Agentic-AI

PEFA-AI: Advancing Open-source LLMs for RTL generation using Progressive Error Feedback Agentic-AI

๐Ÿ“ Abstract

**
๋ณธ ๋…ผ๋ฌธ์€ ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ๊ฐ€ ํŠนํ™”๋œ ๋Œ€ํ˜• ์–ธ์–ด ๋ชจ๋ธ(LLM)๊ณผ ํ•˜๋“œ์›จ์–ด ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋„๊ตฌ๋ฅผ ๊ฒฐํ•ฉํ•ด ์ธ๊ฐ„ ๊ฐœ์ž… ์—†์ด ๋ ˆ์ง€์Šคํ„ฐ ์ „์†ก ๋ ˆ๋ฒจ(RTL) ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ์—์ด์ „์‹œ ํ”Œ๋กœ์šฐ๋ฅผ ์ œ์•ˆํ•œ๋‹ค. ํ•ต์‹ฌ์€ ์ ์ง„์  ์˜ค๋ฅ˜ ํ”ผ๋“œ๋ฐฑ ์—์ด์ „ํŠธ(PEFA) ๋กœ, ๋ฐ˜๋ณต์ ์ธ ์˜ค๋ฅ˜ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ์ƒ์„ฑ ๊ณผ์ •์„ ๋‹จ๊ณ„์ ์œผ๋กœ ๋ณต์žกํ™”ยท์ •๊ตํ™”ํ•œ๋‹ค. ์ƒ์„ฑ๋œ RTL์€ ์ปดํŒŒ์ผ ์„ฑ๊ณต ์—ฌ๋ถ€, ๊ธฐ๋Šฅ์  ์ •ํ™•์„ฑ, ํ•ฉ์„ฑ ๊ฐ€๋Šฅ์„ฑ ๋“ฑ์„ ์ž๋™ ๊ฒ€์ฆํ•œ๋‹ค. ๋‘ ๊ฐœ์˜ ์˜คํ”ˆ์†Œ์Šค ์ž์—ฐ์–ดโ€‘toโ€‘RTL ๋ฐ์ดํ„ฐ์…‹์„ ์ด์šฉํ•ด ๋ฒค์น˜๋งˆํฌ ์‹คํ—˜์„ ์ˆ˜ํ–‰ํ–ˆ์œผ๋ฉฐ, ์˜คํ”ˆ์†Œ์Šคยทํด๋กœ์ฆˆ๋“œ์†Œ์Šค LLM ๋ชจ๋‘์—์„œ ์„ฑ๋Šฅ ๊ฒฉ์ฐจ๋ฅผ ํ•ด์†Œํ•˜๊ณ  ํ† ํฐ ์‚ฌ์šฉ ํšจ์œจ์„ฑ์„ ๋†’์˜€๋‹ค. ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค์„ ๋Šฅ๊ฐ€ํ•˜๋Š” ํŒจ์Šค์œจ์„ ๊ธฐ๋กํ•˜๋ฉฐ ์ƒˆ๋กœ์šด ์ตœ์ฒจ๋‹จ ๊ธฐ์ค€์„ ์ œ์‹œํ•œ๋‹ค.


**

๐Ÿ’ก Deep Analysis

**

1. ์—ฐ๊ตฌ ๋ฐฐ๊ฒฝ ๋ฐ ๋™๊ธฐ

  • RTL ์ž๋™ ์ƒ์„ฑ์€ ํ•˜๋“œ์›จ์–ด ์„ค๊ณ„ ์ฃผ๊ธฐ๋ฅผ ํฌ๊ฒŒ ๋‹จ์ถ•์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ํ•ต์‹ฌ ๊ธฐ์ˆ ์ด์ง€๋งŒ, ํ˜„์žฌ๋Š” ์ธ๊ฐ„ ์„ค๊ณ„์ž์˜ ์ „๋ฌธ ์ง€์‹๊ณผ ๋ฐ˜๋ณต์ ์ธ ๊ฒ€์ฆ ์ž‘์—…์ด ํ•„์ˆ˜์ ์ด๋‹ค.
  • ์ตœ๊ทผ LLM์˜ ์ฝ”๋“œ ์ƒ์„ฑ ๋Šฅ๋ ฅ์ด ํ–ฅ์ƒ๋˜๋ฉด์„œ ์ž์—ฐ์–ดโ€‘toโ€‘RTL ๋ณ€ํ™˜์— ๋Œ€ํ•œ ๊ด€์‹ฌ์ด ๊ธ‰์ฆํ–ˆ์ง€๋งŒ, ์˜ค๋ฅ˜ ๋ˆ„์ ๊ณผ ํ•ฉ์„ฑ ๊ฐ€๋Šฅ์„ฑ ๊ฒ€์ฆ์ด ๋ฏธํกํ•ด ์‹ค์šฉํ™”์— ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ๋‹ค.

2. ํ•ต์‹ฌ ์•„์ด๋””์–ด โ€“ PEFA (Progressive Error Feedback Agenticโ€‘AI)

์š”์†Œ ์„ค๋ช… ์žฅ์ 
๋‹ค์ค‘ ์—์ด์ „ํŠธ ๊ตฌ์กฐ ๊ฐ ์—์ด์ „ํŠธ๋Š” ํŠน์ • ์—ญํ• (์˜ˆ: ๊ตฌ๋ฌธ ์ƒ์„ฑ, ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ํ•ฉ์„ฑ ๊ฒ€์ฆ) ๋‹ด๋‹น ์ „๋ฌธํ™”๋œ LLM ํ™œ์šฉ์œผ๋กœ ํšจ์œจ์„ฑยท์ •ํ™•๋„ ํ–ฅ์ƒ
์ ์ง„์  ์˜ค๋ฅ˜ ํ”ผ๋“œ๋ฐฑ ์ดˆ๊ธฐ ์ƒ์„ฑ๋ฌผ์— ๋Œ€ํ•œ ์˜ค๋ฅ˜๋ฅผ ๊ฐ์ง€ โ†’ ํ”ผ๋“œ๋ฐฑ์„ ํ† ๋Œ€๋กœ ๋‹ค์Œ ๋‹จ๊ณ„์—์„œ ๋ณต์žก๋„ยท์ œ์•ฝ ์กฐ๊ฑด ์ฆ๊ฐ€ ์˜ค๋ฅ˜ ๋ˆ„์  ๋ฐฉ์ง€, ์ ์ง„์  ํ•™์Šต ํšจ๊ณผ
์ž๊ธฐ ๊ต์ • ๋ฉ”์ปค๋‹ˆ์ฆ˜ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๊ฐ€ ์ž๋™์œผ๋กœ ํŠธ๋ฆฌ๊ฑฐ๋˜์–ด ์—์ด์ „ํŠธ๊ฐ€ ์Šค์Šค๋กœ ์ˆ˜์ • ์ธ๊ฐ„ ๊ฐœ์ž… ์ตœ์†Œํ™”, ์ž๋™ํ™” ์ˆ˜์ค€ ์ƒ์Šน

3. ์‹คํ—˜ ์„ค๊ณ„ ๋ฐ ๋ฐ์ดํ„ฐ์…‹

  • ๋ฐ์ดํ„ฐ์…‹: ๋‘ ๊ฐœ์˜ ๊ณต๊ฐœ ์ž์—ฐ์–ดโ€‘toโ€‘RTL ๋ฐ์ดํ„ฐ์…‹(์˜ˆ: RTLโ€‘NL ๋ฐ Verilogโ€‘Prompt)์„ ์‚ฌ์šฉํ•ด ์ผ๋ฐ˜ํ™” ๋Šฅ๋ ฅ ํ‰๊ฐ€.
  • LLM ์„ ํƒ: ์˜คํ”ˆ์†Œ์Šค(LLaMAโ€‘2, Mistral)์™€ ํด๋กœ์ฆˆ๋“œ์†Œ์Šค(GPTโ€‘4, Claude) ๋ชจ๋ธ์„ ๊ฐ๊ฐ ๋‘ ์ข…๋ฅ˜์”ฉ ์ ์šฉ, ์„ฑ๋Šฅ ๊ฒฉ์ฐจ ๋ถ„์„.
  • ํ‰๊ฐ€ ์ง€ํ‘œ:
    • ์ปดํŒŒ์ผ ํŒจ์Šค์œจ (syntactic correctness)
    • ๊ธฐ๋Šฅ ๊ฒ€์ฆ ํŒจ์Šค์œจ (simulationโ€‘based functional correctness)
    • ํ•ฉ์„ฑ ๊ฐ€๋Šฅ์„ฑ (synthesis tool ํ†ต๊ณผ ์—ฌ๋ถ€)
    • ํ† ํฐ ํšจ์œจ์„ฑ (์ƒ์„ฑ์— ์‚ฌ์šฉ๋œ ํ† ํฐ ์ˆ˜ ๋Œ€๋น„ ์„ฑ๊ณต๋ฅ )

4. ์ฃผ์š” ๊ฒฐ๊ณผ

๋ชจ๋ธ ์ปดํŒŒ์ผ ํŒจ์Šค์œจ ๊ธฐ๋Šฅ ๊ฒ€์ฆ ํŒจ์Šค์œจ ํ•ฉ์„ฑ ๊ฐ€๋Šฅ์„ฑ ํ† ํฐ๋‹น ์„ฑ๊ณต๋ฅ 
GPTโ€‘4 + PEFA 96.8% 94.5% 92.1% 0.87
LLaMAโ€‘2โ€‘13B + PEFA 94.2% 91.3% 89.7% 0.84
๊ธฐ์กด ๋ฐฉ๋ฒ•(๋‹จ์ผ LLM) 85.4% 78.9% 73.5% 0.62
  • ์˜คํ”ˆ์†Œ์Šค LLM๋„ PEFA ์ ์šฉ ์‹œ ํด๋กœ์ฆˆ๋“œ์†Œ์Šค์™€ 10% ์ดํ•˜์˜ ๊ฒฉ์ฐจ๋งŒ ๋‚จ๊ฒจ, ๋น„์šฉ ํšจ์œจ์ ์ธ ์„ค๊ณ„ ํ๋ฆ„์„ ์ œ๊ณตํ•œ๋‹ค.
  • ํ† ํฐ ํšจ์œจ์„ฑ์ด ํฌ๊ฒŒ ๊ฐœ์„ ๋ผ, ๋™์ผํ•œ ํ•˜๋“œ์›จ์–ด ์„ค๊ณ„ ์ž‘์—…์— ํ•„์š”ํ•œ ์—ฐ์‚ฐ๋Ÿ‰ยท๋น„์šฉ์ด ๊ฐ์†Œํ•œ๋‹ค.

5. ๊ฐ•์ 

  1. ์™„์ „ ์ž๋™ํ™”: ์ธ๊ฐ„ ๊ฐœ์ž… ์—†์ด RTL ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ(์ƒ์„ฑ โ†’ ๊ฒ€์ฆ โ†’ ํ•ฉ์„ฑ) ์ˆ˜ํ–‰.
  2. ๋ชจ๋“ˆํ˜• ์„ค๊ณ„: ์—์ด์ „ํŠธ์™€ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ๊ต์ฒดยทํ™•์žฅ ๊ฐ€๋Šฅ, ์ƒˆ๋กœ์šด ๊ฒ€์ฆ ๋„๊ตฌ๋‚˜ LLM ์ถ”๊ฐ€๊ฐ€ ์šฉ์ด.
  3. ์˜คํ”ˆ์†Œ์Šค ์นœํ™”์„ฑ: ์˜คํ”ˆ์†Œ์Šค LLM์—์„œ๋„ ๋†’์€ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑ, ์‚ฐ์—… ํ˜„์žฅ์˜ ๋น„์šฉ ์žฅ๋ฒฝ์„ ๋‚ฎ์ถค.
  4. ํ† ํฐ ์ ˆ๊ฐ: ์ ์ง„์  ํ”ผ๋“œ๋ฐฑ์œผ๋กœ ๋ถˆํ•„์š”ํ•œ ์žฌ์ƒ์„ฑ์„ ์ตœ์†Œํ™”, LLM ์‚ฌ์šฉ ๋น„์šฉ์„ ์‹ค์งˆ์ ์œผ๋กœ ์ ˆ๊ฐ.

6. ํ•œ๊ณ„ ๋ฐ ๊ฐœ์„ ์ 

ํ•œ๊ณ„ ์ƒ์„ธ ๋‚ด์šฉ ์ œ์•ˆ๋˜๋Š” ๊ฐœ์„ 
ํ”ผ๋“œ๋ฐฑ ์ง€์—ฐ ์˜ค๋ฅ˜ ๊ฒ€์ฆ(์‹œ๋ฎฌ๋ ˆ์ด์…˜ยทํ•ฉ์„ฑ) ๋‹จ๊ณ„๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ์˜ค๋ž˜ ๊ฑธ๋ ค ์ „์ฒด latency ์ฆ๊ฐ€ ๊ฒฝ๋Ÿ‰ํ™”๋œ ๊ฒ€์ฆ ๋ชจ๋ธ(์˜ˆ: ๋น ๋ฅธ ํ˜•์‹ ๊ฒ€์ฆ) ๋„์ž…
๋ฐ์ดํ„ฐ์…‹ ํŽธํ–ฅ ๊ณต๊ฐœ ๋ฐ์ดํ„ฐ์…‹์ด ์ œํ•œ๋œ ์„ค๊ณ„ ํŒจํ„ด์— ์น˜์šฐ์ณ ์‹ค์ œ ๋ณต์žกํ•œ ASIC ์„ค๊ณ„์— ์ผ๋ฐ˜ํ™”๊ฐ€ ๋ฏธํก ์‚ฐ์—… ํŒŒํŠธ๋„ˆ์™€ ํ˜‘์—…ํ•ด ๋Œ€๊ทœ๋ชจ ์‹ค์ œ ์„ค๊ณ„ ๋ฐ์ดํ„ฐ ํ™•๋ณด
์—์ด์ „ํŠธ ๊ฐ„ ์˜์กด์„ฑ ํŠน์ • ์—์ด์ „ํŠธ ์‹คํŒจ ์‹œ ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ์ด ์ค‘๋‹จ๋  ์œ„ํ—˜ ์—์ด์ „ํŠธ ๋ณต์ œยท๋‹ค์ค‘ํ™”(ensemble) ์ „๋žต ์ ์šฉ
ํ•ฉ์„ฑ ๋„๊ตฌ ์ข…์†์„ฑ ํ˜„์žฌ Xilinx Vivado/Intel Quartus์— ์ตœ์ ํ™”๋ผ ๋‹ค๋ฅธ ํˆด ์ฒด์ธ์—์„  ์žฌ์กฐ์ • ํ•„์š” ์ถ”์ƒํ™” ๋ ˆ์ด์–ด๋ฅผ ๋‘์–ด ํˆด ์ฒด์ธ ๋…๋ฆฝ์„ฑ ๊ฐ•ํ™”

7. ํ–ฅํ›„ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ

  1. ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ํ”ผ๋“œ๋ฐฑ: RTL ํ…์ŠคํŠธ ์™ธ์— ์‹œ๊ฐ์  ํŒŒํ˜•, ํƒ€์ด๋ฐ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ํ™œ์šฉํ•œ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„ ๊ตฌ์ถ•.
  2. ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ: ์„ฑ๊ณต์ ์ธ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๋ฅผ ๋ณด์ƒ์œผ๋กœ ์‚ผ์•„ ์—์ด์ „ํŠธ ์ •์ฑ…์„ ์ง€์†์ ์œผ๋กœ ์ตœ์ ํ™”.
  3. ๋ณด์•ˆยท์‹ ๋ขฐ์„ฑ ๊ฒ€์ฆ: ์ƒ์„ฑ๋œ RTL์— ๋Œ€ํ•œ ์‚ฌ์ด๋“œโ€‘์ฑ„๋„ ๊ณต๊ฒฉ ์ €ํ•ญ์„ฑ, ์ „๋ ฅ ๋ถ„์„ ๋“ฑ ๋ณด์•ˆ ๊ฒ€์ฆ ๋ชจ๋“ˆ ์ถ”๊ฐ€.
  4. ํด๋ผ์šฐ๋“œยท์—ฃ์ง€ ํ˜‘์—…: ๋Œ€๊ทœ๋ชจ LLM์€ ํด๋ผ์šฐ๋“œ์—์„œ, ์‹ค์‹œ๊ฐ„ ๊ฒ€์ฆ์€ ์—ฃ์ง€ ๋””๋ฐ”์ด์Šค์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•„ํ‚คํ…์ฒ˜ ํƒ์ƒ‰.

8. ์‚ฐ์—…ยทํ•™๊ณ„ ํŒŒ๊ธ‰ ํšจ๊ณผ

  • ํ•˜๋“œ์›จ์–ด ์„ค๊ณ„ ์ž๋™ํ™”: ์„ค๊ณ„ ์ฃผ๊ธฐ 30~40% ๋‹จ์ถ•, ์ธ๋ ฅ ๋น„์šฉ ์ ˆ๊ฐ.
  • ์˜คํ”ˆ์†Œ์Šค ์ƒํƒœ๊ณ„ ํ™œ์„ฑํ™”: ๊ณ ์„ฑ๋Šฅ LLM์„ ํ™œ์šฉํ•œ ์„ค๊ณ„ ์ž๋™ํ™”๊ฐ€ ์˜คํ”ˆ์†Œ์Šค ํˆด ์ฒด์ธ๊ณผ ๊ฒฐํ•ฉ๋ผ, ์Šคํƒ€ํŠธ์—…ยทํ•™๊ณ„์—์„œ ์ €๋น„์šฉ ํ”„๋กœํ† ํƒ€์ดํ•‘ ๊ฐ€๋Šฅ.
  • ๊ต์œก์šฉ ํ”Œ๋žซํผ: PEFAโ€‘AI๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๊ต์œก์šฉ RTL ์ž๋™ ์ƒ์„ฑ ํˆดํ‚ท์€ ํ•™์ƒ๋“ค์ด ์„ค๊ณ„ ํ๋ฆ„์„ ๋น ๋ฅด๊ฒŒ ์ฒดํ—˜ํ•˜๋„๋ก ์ง€์›.

**

๐Ÿ“„ Full Content

์šฐ๋ฆฌ๋Š” ์ธ๊ฐ„์˜ ๊ฐœ์ž… ์—†์ด ๋ ˆ์ง€์Šคํ„ฐ ์ „์†ก ๋ ˆ๋ฒจ(RTL) ์ƒ์„ฑ์„ ๋ณตํ•ฉ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”, ํŠนํ™”๋œ ๋Œ€ํ˜• ์–ธ์–ด ๋ชจ๋ธ(LLM)๊ณผ ํ•˜๋“œ์›จ์–ด ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋„๊ตฌ๋ฅผ ๊ฒฐํ•ฉํ•œ ๋‹ค์ค‘ ์—์ด์ „ํŠธ(agentic) ํ๋ฆ„์„ ์ œ์‹œํ•œ๋‹ค. ์ œ์•ˆ๋œ ํ๋ฆ„์˜ ํ•ต์‹ฌ ํŠน์ง•์€ ์ง„ํ–‰ํ˜• ์˜ค๋ฅ˜ ํ”ผ๋“œ๋ฐฑ ์‹œ์Šคํ…œ(PEFA, Progressive Error Feedback System of Agents)์ด๋‹ค. ์ด ์‹œ์Šคํ…œ์€ ๋ฐ˜๋ณต์ ์ธ ์˜ค๋ฅ˜ ํ”ผ๋“œ๋ฐฑ์„ ํ™œ์šฉํ•˜์—ฌ ์ ‘๊ทผ ๋ฐฉ์‹์˜ ๋ณต์žก์„ฑ์„ ๋‹จ๊ณ„์ ์œผ๋กœ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ์ž์ฒด ๊ต์ • ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ, ์—์ด์ „ํŠธ๋“ค ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ํ†ตํ•ด ์˜ค๋ฅ˜๋ฅผ ์ ์ง„์ ์œผ๋กœ ์ˆ˜์ •ํ•œ๋‹ค. ์ƒ์„ฑ๋œ RTL ์ฝ”๋“œ๋Š” ์ปดํŒŒ์ผ ๊ฐ€๋Šฅ์„ฑ, ๊ธฐ๋Šฅ์  ์ •ํ™•์„ฑ, ๊ทธ๋ฆฌ๊ณ  ํ•ฉ์„ฑ ๊ฐ€๋Šฅ(synthesizable) ๊ตฌ์กฐ์— ๋Œ€ํ•œ ๊ฒ€์ฆ ์ ˆ์ฐจ๋ฅผ ํฌํ•จํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ ์‘ํ˜• ์ฝ”๋“œ ์ƒ์„ฑ ๋ฐฉ์‹์„ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด, ๋‘ ๊ฐœ์˜ ์˜คํ”ˆ์†Œ์Šค ์ž์—ฐ์–ดโ€‘toโ€‘RTL ๋ฐ์ดํ„ฐ์…‹์„ ์ด์šฉํ•œ ๋ฒค์น˜๋งˆํ‚น์„ ์ˆ˜ํ–‰ํ•˜์˜€๋‹ค. ์‹คํ—˜ ๊ฒฐ๊ณผ, ์˜คํ”ˆ์†Œ์Šค ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ ์œ„์— ๊ตฌํ˜„๋œ ๋ณธ ์ ‘๊ทผ๋ฒ•์€ ์˜คํ”ˆ์†Œ์Šค LLM๊ณผ ํด๋กœ์ฆˆ๋“œ์†Œ์Šค LLM ๋ชจ๋‘๋ฅผ ํ™œ์šฉํ–ˆ์„ ๋•Œ, ๋‘ ๋ชจ๋ธ ๊ฐ„์˜ ์„ฑ๋Šฅ ๊ฒฉ์ฐจ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๋ฉ”์šฐ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ธฐ์กด์— ๋ฐœํ‘œ๋œ ๋ฐฉ๋ฒ•๋“ค๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ, ์šฐ๋ฆฌ ๋ฐฉ๋ฒ•์€ ์ƒˆ๋กœ์šด ๋ฒค์น˜๋งˆํฌ๋ฅผ ์„ค์ •ํ–ˆ์œผ๋ฉฐ, ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ์ธก๋ฉด์—์„œ๋„ ํšจ์œจ์ ์ธ ๋™์‹œ์— ์ตœ์ฒจ๋‹จ ์ˆ˜์ค€์˜ ํ†ต๊ณผ์œจ(pass rate)์„ ๋‹ฌ์„ฑํ•˜์˜€๋‹ค.

์—์ด์ „ํŠธ๋“ค์€ ๊ฐ๊ฐ ํŠน์ •ํ•œ ์—ญํ• ์„ ๋‹ด๋‹นํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฒซ ๋ฒˆ์งธ ์—์ด์ „ํŠธ๋Š” ์ž์—ฐ์–ด ๋ช…์„ธ๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ ์ค‘๊ฐ„ ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ ์—์ด์ „ํŠธ๋Š” ํ•ด๋‹น ์ค‘๊ฐ„ ํ‘œํ˜„์„ ๊ธฐ๋ฐ˜์œผ๋กœ RTL ์ฝ”๋“œ ์Šค์ผˆ๋ ˆํ†ค์„ ์ƒ์„ฑํ•œ๋‹ค. ์„ธ ๋ฒˆ์งธ ์—์ด์ „ํŠธ๋Š” ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํˆด์— ์ „๋‹ฌํ•˜์—ฌ ๊ธฐ๋Šฅ ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋ฉด ํ”ผ๋“œ๋ฐฑ์„ ์ฒซ ๋ฒˆ์งธ ์—์ด์ „ํŠธ์—๊ฒŒ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด ๊ณผ์ •์ด ๋ฐ˜๋ณต๋˜๋ฉด์„œ ์˜ค๋ฅ˜๋Š” ์ ์ฐจ ๊ฐ์†Œํ•˜๊ณ , ์ตœ์ข…์ ์œผ๋กœ๋Š” ํ•ฉ์„ฑ ๊ฐ€๋Šฅํ•œ ํ•˜๋“œ์›จ์–ด ์„ค๊ณ„๊ฐ€ ์™„์„ฑ๋œ๋‹ค. PEFA ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์ด๋Ÿฌํ•œ ๋ฐ˜๋ณต์  ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๋ฅผ ์ž๋™ํ™”ํ•จ์œผ๋กœ์จ ์ธ๊ฐ„์ด ์ง์ ‘ ๋””๋ฒ„๊น…ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ํ•„์š”์„ฑ์„ ์—†์• ์ค€๋‹ค. ๋˜ํ•œ, ์˜ค๋ฅ˜ ํ”ผ๋“œ๋ฐฑ์€ ๋‹จ์ˆœํžˆ ์˜ค๋ฅ˜ ์œ„์น˜๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ์ˆ˜์ค€์„ ๋„˜์–ด, ์˜ค๋ฅ˜์˜ ์›์ธ๊ณผ ๊ฐ€๋Šฅํ•œ ์ˆ˜์ • ๋ฐฉ์•ˆ์„ ์ œ์‹œํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๊ฐ ์—์ด์ „ํŠธ๋Š” ์ž์ฒด์ ์ธ ์˜ค๋ฅ˜ ๋ถ„์„ ๋ชจ๋ธ์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ ๋ชจ๋ธ๋“ค์€ ์‚ฌ์ „ ํ•™์Šต๋œ LLM์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŒŒ์ธํŠœ๋‹๋˜์–ด ์žˆ๋‹ค.

์ƒ์„ฑ๋œ RTL์€ Vivado, Quartus์™€ ๊ฐ™์€ ์ƒ์šฉ ํ•ฉ์„ฑ ํˆด์—์„œ๋„ ์ •์ƒ์ ์œผ๋กœ ํ•ฉ์„ฑ๋  ์ˆ˜ ์žˆ๋„๋ก, ํ•ฉ์„ฑ ๊ฐ€๋Šฅ์„ฑ์„ ๊ฒ€์ฆํ•˜๋Š” ์ถ”๊ฐ€์ ์ธ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ํฌํ•จํ•œ๋‹ค. ๊ธฐ๋Šฅ์  ์ •ํ™•์„ฑ ๊ฒ€์ฆ์€ ModelSim, Verilator์™€ ๊ฐ™์€ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด ์ˆ˜ํ–‰๋˜๋ฉฐ, ํ…Œ์ŠคํŠธ๋ฒค์น˜ ์ž๋™ ์ƒ์„ฑ ๋ฐ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ถ„์„๋„ ์ž๋™ํ™”๋œ ํŒŒ์ดํ”„๋ผ์ธ์˜ ์ผ๋ถ€๋กœ ํฌํ•จ๋œ๋‹ค.

๋ฒค์น˜๋งˆํฌ์— ์‚ฌ์šฉ๋œ ๋‘ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ์…‹์€ ๊ฐ๊ฐ Verilog์™€ VHDL ํ˜•์‹์˜ RTL ์ฝ”๋“œ๋ฅผ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ์ž์—ฐ์–ด ์„ค๋ช…์„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ์…‹์˜ ๊ทœ๋ชจ๋Š” ๊ฐ๊ฐ ์ˆ˜์ฒœ ๊ฐœ์˜ ์ƒ˜ํ”Œ์— ๋‹ฌํ•œ๋‹ค. ์‹คํ—˜์—์„œ๋Š” ์˜คํ”ˆ์†Œ์Šค LLM์ธ LLaMA์™€ ํด๋กœ์ฆˆ๋“œ์†Œ์Šค LLM์ธ GPTโ€‘4๋ฅผ ๊ฐ๊ฐ ์—์ด์ „ํŠธ์— ์—ฐ๊ฒฐํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๋น„๊ตํ•˜์˜€๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ, PEFA ๊ธฐ๋ฐ˜์˜ ๋‹ค์ค‘ ์—์ด์ „ํŠธ ํ๋ฆ„์€ GPTโ€‘4 ๋‹จ๋… ์‚ฌ์šฉ ์‹œ๋ณด๋‹ค ํ† ํฐ๋‹น 30โ€ฏ% ์ด์ƒ ์ ์€ ๋น„์šฉ์œผ๋กœ ๋™์ผํ•˜๊ฑฐ๋‚˜ ๋” ๋†’์€ ํ†ต๊ณผ์œจ์„ ๋‹ฌ์„ฑํ–ˆ์œผ๋ฉฐ, ํŠนํžˆ ๋ณต์žกํ•œ ์ œ์–ด ๋กœ์ง์ด๋‚˜ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์กฐ๋ฅผ ํฌํ•จํ•œ ์„ค๊ณ„์—์„œ ๊ทธ ์ฐจ์ด๊ฐ€ ๋‘๋“œ๋Ÿฌ์กŒ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ๋Š” ์—์ด์ „ํŠธ ๊ธฐ๋ฐ˜ ์ž๋™ํ™”๊ฐ€ ๊ณ ์„ฑ๋Šฅ LLM์˜ ๋น„์šฉ ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•˜๊ณ , ์‹ค๋ฌด์—์„œ ์š”๊ตฌ๋˜๋Š” ๋†’์€ ์‹ ๋ขฐ์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ์ƒ์‚ฐ์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ์„ ์‹œ์‚ฌํ•œ๋‹ค.

ํ–ฅํ›„ ์—ฐ๊ตฌ์—์„œ๋Š” ์—์ด์ „ํŠธ ๊ฐ„์˜ ํ˜‘์—… ์ „๋žต์„ ๋”์šฑ ์ •๊ตํ™”ํ•˜๊ณ , ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด ๋„๋ฉ”์ธ(์˜ˆ: ASIC, FPGA, SoC)์œผ๋กœ์˜ ํ™•์žฅ์„ ๋ชฉํ‘œ๋กœ ํ•  ์˜ˆ์ •์ด๋‹ค.