01 Overview of Digital Design with Verilog HDL
๐Ÿ”ฎ

01 Overview of Digital Design with Verilog HDL

Description
Date
Sep 4, 2023
URL
์ƒํƒœ
Done
Tags
Digital Design

์ปดํ“จํŒ… ์‹œ์Šคํ…œ

  • ์ „ํ˜•์ ์ธ ์ปดํ“จํŒ… ์‹œ์Šคํ…œ์€ ์•„๋‚ ๋กœ๊ทธ์™€ ๋””์ง€ํ„ธ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑ๋จ
  • ์•„๋‚ ๋กœ๊ทธ
    • ๋ณ€๊ฒฝ๋˜๋Š” ๊ฐ’์„ ์—ฐ์†์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ๋ฌผ๋ฆฌ์  ์–‘์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ์žฅ์น˜๋‚˜ ์‹œ์Šคํ…œ์„ ์„ค๋ช…ํ•จ
    • ์ž์—ฐ์˜ ํŠน์„ฑ(์˜ˆ: ๋ชฉ์†Œ๋ฆฌ, ์†Œ๋ฆฌ, ์ƒ‰์ƒ)
  • ๋””์ง€ํ„ธ
    • ์ด์‚ฐ(๋ถˆ์—ฐ์†) ๊ฐ’์œผ๋กœ ํ‘œํ˜„๋จ
    • ์ด์ง„: High & Low (H & L), True & False, 1 & 0
ย 

๋””์ง€ํ„ธ ์‹ ํ˜ธ

  • ์šฐ๋ฆฌ๋Š” ์™œ ๋””์ง€ํ„ธ์„ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?
    • ๋‹ค๋ฃจ๊ธฐ ์‰ฌ์›€ (์ฒ˜๋ฆฌํ•˜๊ธฐ ์‰ฌ์›€)
    • ์žก์Œ์— ๋Œ€ํ•œ ๋‚ด์„ฑ์ด ์žˆ์Œ
  • ๋””์ง€ํ„ธ ์‹ ํ˜ธ
    • ์ „์••๊ณผ ์ „๋ฅ˜์™€ ๊ฐ™์€ ์ „๊ธฐ ์‹ ํ˜ธ
notion image
ย 

์ผ๋ฐ˜์ ์ธ ๋””์ง€ํ„ธ ์‹œ์Šคํ…œ

  • ์ด์ง„ ์ •๋ณด ์ฒ˜๋ฆฌ์˜ ์˜ˆ์‹œ
notion image
ย 

๋””์ง€ํ„ธ ์‹œ์Šคํ…œ ์„ค๊ณ„

์ด์ „: X
ํ˜„์žฌ: ์‹œ์Šคํ…œ ์˜จ ์นฉ
notion image
ย 

๋””์ง€ํ„ธ ๋””์ž์ธ (ํ”„๋กœ์„ธ์„œ, ์นฉ)

์ด์ „
  • ์ „์ฒด ํšŒ๋กœ๋„ ์„ค๊ณ„
  • ์ธํ…” 4004 ALU
ํ˜„์žฌ
  • HDL ์„ค๊ณ„ (์˜ˆ: Verilog, VHDL)
  • ๋ฆฌํ”Œ ์บ๋ฆฌ ๋ง์…ˆ๊ธฐ (RCA)
notion image
ย 

์ปดํ“จํ„ฐ ๊ณผํ•™ ๋‚ด์—์„œ์˜ ์œ„์น˜

  • ์ง‘์ค‘ํ•˜๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„
    • ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜์˜ ์ผ๋ถ€
    • ๋ ˆ์ง€์Šคํ„ฐ ์ „์†ก
    • ๋…ผ๋ฆฌ ๊ฒŒ์ดํŠธ
notion image
ํ˜„๋Œ€ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ์˜ ์ „ํ˜•์ ์ธ ์ถ”์ƒํ™” ๊ณ„์ธต
ย 
notion image
ย 

๋””์ง€ํ„ธ ํšŒ๋กœ ์„ค๊ณ„์˜ ์ง„ํ™”

  • ๋””์ง€ํ„ธ ํšŒ๋กœ ์„ค๊ณ„๋Š” ์—ฌ๋Ÿฌ ํ•ด ๋™์•ˆ ๋น ๋ฅด๊ฒŒ ๋ฐœ์ „ํ•ด ์™”์Œ
    • ์ตœ์ดˆ์˜ ๋””์ง€ํ„ธ ํšŒ๋กœ๋Š” ์ง„๊ณต๊ด€๊ณผ ํŠธ๋žœ์ง€์Šคํ„ฐ๋กœ ์„ค๊ณ„๋˜์—ˆ์Œ
    • ์ง‘์  ํšŒ๋กœ(ICs)๋Š” ๋กœ์ง ๊ฒŒ์ดํŠธ๊ฐ€ ํ•˜๋‚˜์˜ ์นฉ์— ๋ฐฐ์น˜๋œ ๊ฒƒ์œผ๋กœ Jack Kilby์— ์˜ํ•ด ๋ฐœ๋ช…๋˜์—ˆ์Œ
  • ์ง‘์  ํšŒ๋กœ (ICs)
    • S/MSI (์†Œ/์ค‘๊ทœ๋ชจ ์ง‘์ ํ™”): < 1,000 ๊ฒŒ์ดํŠธ
    • LSI (๋Œ€๊ทœ๋ชจ ์ง‘์ ํ™”): < 10,000 ๊ฒŒ์ดํŠธ
    • VLSI (์ดˆ๋Œ€๊ทœ๋ชจ ์ง‘์ ํ™”): > 100,000 ํŠธ๋žœ์ง€์Šคํ„ฐ
  • ์ „์ž ๋””์ž์ธ ์ž๋™ํ™”๊ฐ€ ๋ฐœ์ „ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Œ
    • ๋””์ž์ธ์ด ์ปค์ง€๋ฉด์„œ ๋””์ž์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งค์šฐ ๋ณต์žกํ•ด์กŒ์Œ
    • ์ปดํ“จํ„ฐ ๋ณด์กฐ ๋””์ž์ธ (CAD)์€ VLSI ๋””์ง€ํ„ธ ํšŒ๋กœ์˜ ๊ฒ€์ฆ๊ณผ ๋””์ž์ธ์— ์žˆ์–ด ์ค‘์š”ํ•ด์กŒ์Œ
    • ํšŒ๋กœ ๋ฐ ๋กœ์ง ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ์ž๋™ ๋ฐฐ์น˜ ๋ฐ ๋ผ์šฐํŒ…
ย 

HDLs์˜ ์ถœํ˜„

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (์˜ˆ: C/C++, ํŒŒ์ด์ฌ)๋Š” ์ˆœ์ฐจ์ ์ธ ํŠน์„ฑ์„ ๊ฐ€์ง„ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ๊ธฐ์ˆ ํ•จ
  • ํ•˜๋“œ์›จ์–ด ๊ธฐ์ˆ  ์–ธ์–ด๋Š” ๋””์ง€ํ„ธ ํšŒ๋กœ๋ฅผ ํ•จ
    • HDLs๋Š” ํ•˜๋“œ์›จ์–ด ์š”์†Œ์—์„œ ๋ฐœ๊ฒฌ๋˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๋™์‹œ์„ฑ์„ ๋ชจ๋ธ๋งํ•จ
    • Verilog HDL์€ 1983๋…„ Gateway Design Automation (Cadence)์—์„œ ๊ธฐ์›ํ•จ
    • VHDL์€ DARPA๋กœ๋ถ€ํ„ฐ์˜ ๊ณ„์•ฝ ํ•˜์— ๊ฐœ๋ฐœ๋˜์—ˆ์Œ
  • 1980๋…„๋Œ€ ๋ง ๋…ผ๋ฆฌ ํ•ฉ์„ฑ์˜ ๋“ฑ์žฅ์€ ๋””์ง€ํ„ธ ๋””์ž์ธ ๋ฐฉ๋ฒ•๋ก ์„ ๋ณ€ํ™”์‹œ์ผฐ์Œ
    • ๋””์ง€ํ„ธ ํšŒ๋กœ๋Š” HDL์— ์˜ํ•ด ๋ ˆ์ง€์Šคํ„ฐ ์ „์†ก ๋ ˆ๋ฒจ์—์„œ ๊ธฐ์ˆ ๋  ์ˆ˜ ์žˆ์Œ
    • ๋…ผ๋ฆฌ ํ•ฉ์„ฑ ๋„๊ตฌ๋Š” RTL์„ ๊ฒŒ์ดํŠธ ๋ฐ ๊ทธ๋“ค์˜ ์ƒํ˜ธ ์—ฐ๊ฒฐ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํšŒ๋กœ๋ฅผ ๊ตฌํ˜„ํ•จ
  • HDLs๋Š” ๋˜ํ•œ ์‹œ์Šคํ…œ ๋ ˆ๋ฒจ ๋””์ž์ธ์—๋„ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Œ
    • ์‹œ์Šคํ…œ ๋ณด๋“œ, ์ƒํ˜ธ ์—ฐ๊ฒฐ ๋ฒ„์Šค์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜
    • FPGA
    • PAL
ย 

์ „ํ˜•์ ์ธ ๋””์ž์ธ ํ”Œ๋กœ์šฐ

  • HDL ๋””์ž์ธ ํ”Œ๋กœ์šฐ
    • ์‚ฌ์–‘: ์•„ํ‚คํ…์ฒ˜, ์ธํ„ฐํŽ˜์ด์Šค
    • ํ–‰๋™ ์„ค๋ช…: ๊ธฐ๋Šฅ, C/C++
    • RTL ์„ค๋ช…: HDL ์ฝ”๋”ฉ
    • ๊ธฐ๋Šฅ ๊ฒ€์ฆ ๋ฐ ํ…Œ์ŠคํŒ…: ์‹œ๋ฎฌ๋ ˆ์ด์…˜
    • ๋…ผ๋ฆฌ ํ•ฉ์„ฑ ๋ฐ ํƒ€์ด๋ฐ ๊ฒ€์ฆ
    • ํ”Œ๋กœ์–ด ํ”Œ๋ž˜๋‹ ์ž๋™ ๋ฐฐ์น˜ ๋ฐ ๋ผ์šฐํŠธ ๋ ˆ์ด์•„์›ƒ ๊ฒ€์ฆ: DRC/LVS
    • ๊ตฌํ˜„: ์นฉ
  • EDA ๋„๊ตฌ๋Š” GIGO์— ์ทจ์•ฝํ•จ
    • GIGO: ์“ฐ๋ ˆ๊ธฐ ์ž…๋ ฅ ์“ฐ๋ ˆ๊ธฐ ์ถœ๋ ฅ
    • ๋””์ž์ด๋„ˆ๋Š” ์ตœ์ ํ™”๋œ ๋””์ž์ธ์„ ์œ„ํ•ด ๋””์ž์ธ ๋ฐฉ๋ฒ•๋ก ์˜ ๋‰˜์•™์Šค๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
notion image
ย 

HDL์˜ ์ค‘์š”์„ฑ

  • HDL์€ ์ „ํ†ต์ ์ธ ํšŒ๋กœ ๋„๋ฉด ๊ธฐ๋ฐ˜ ๋””์ž์ธ์— ๋น„ํ•ด ๋งŽ์€ ์ด์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ
    • ๋””์ž์ธ์€ ๋งค์šฐ ์ถ”์ƒ์ ์ธ ๋ ˆ๋ฒจ (RTL)์—์„œ ๊ธฐ์ˆ ๋  ์ˆ˜ ์žˆ์Œ
    • ๋””์ž์ธ์˜ ๊ธฐ๋Šฅ ๊ฒ€์ฆ์€ ๋””์ž์ธ ์ฃผ๊ธฐ ์ดˆ๊ธฐ์— ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ์Œ
    • HDL์„ ์‚ฌ์šฉํ•˜์—ฌ ๋””์ž์ธํ•˜๋Š” ๊ฒƒ์€ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ์œ ์‚ฌํ•จ
    • notion image
ย 

Verilog HDL์˜ ์ธ๊ธฐ

  • Verilog HDL์€ ํ‘œ์ค€ HDL๋กœ ๋ฐœ์ „ํ•จ
  • ์ผ๋ฐ˜ ๋ชฉ์ ์šฉ์ด๋ฉฐ ๋ฐฐ์šฐ๊ธฐ ์‰ฌ์›€
  • C ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๊ตฌ๋ฌธ์ด ์œ ์‚ฌํ•จ
  • ๋™์ผํ•œ ๋ชจ๋ธ์—์„œ ๋‹ค์–‘ํ•œ ์ถ”์ƒํ™” ์ˆ˜์ค€์„ ํ˜ผํ•ฉํ•  ์ˆ˜ ์žˆ์Œ (๊ฒŒ์ดํŠธ, RTL)
  • ์ธ๊ธฐ ์žˆ๋Š” ๋…ผ๋ฆฌ ํ•ฉ์„ฑ ๋„๊ตฌ ์ง€์›์ด ์žˆ์Œ
  • ๋ชจ๋“  ์ œ์กฐ ์—…์ฒด(์‚ผ์„ฑ, TSMC)๊ฐ€ Verilog HDL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•จ
  • ์‚ฌ์šฉ์ž๊ฐ€ Verilog์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ C ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ธํ„ฐํŽ˜์ด์Šค ์ง€์›์ด ์žˆ์Œ
    • notion image
ย 

์†Œํ”„ํŠธ์›จ์–ด vs ํ•˜๋“œ์›จ์–ด ๋””์ž์ธ

  • C/C++ โ†’ ์šด์˜ ์ฒด์ œ (Windows, Linux)
    • notion image
  • Verilog โ†’ ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ (Intel, AMD)
    • notion image
ย