VLSI Wiki
Contents:
  1. VHDL
    1. 1. Definition: What is VHDL?
    2. 2. Components and Operating Principles
      1. 2.1 Entity and Architecture
      2. 2.2 Process and Signal
      3. 2.3 Variable
    3. 3. Related Technologies and Comparison
      1. 3.1 Features Comparison
      2. 3.2 Real-world Examples
    4. 4. References
    5. 5. One-line Summary

VHDL

1. Definition: What is VHDL?

VHDL(VHSIC Hardware Description Language)๋Š” ๋งค์šฐ ๊ณ ์† ์ง‘์  ํšŒ๋กœ(VHSIC) ์„ค๊ณ„๋ฅผ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ํ•˜๋“œ์›จ์–ด ๊ธฐ์ˆ  ์–ธ์–ด์ž…๋‹ˆ๋‹ค. VHDL์€ ๋””์ง€ํ„ธ ํšŒ๋กœ ์„ค๊ณ„์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋ฉฐ, ํšŒ๋กœ์˜ ๊ตฌ์กฐ์™€ ๋™์ž‘์„ ๊ธฐ์ˆ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ์–ธ์–ด๋Š” ์„ค๊ณ„์ž๊ฐ€ ๋ณต์žกํ•œ ๋…ผ๋ฆฌ ํšŒ๋กœ๋ฅผ ๋ชจ๋ธ๋งํ•˜๊ณ  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์„ค๊ณ„ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋ฅผ ์‚ฌ์ „์— ๋ฐœ๊ฒฌํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

VHDL์˜ ์ค‘์š”์„ฑ์€ ๊ทธ ์œ ์—ฐ์„ฑ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค๊ณ„์ž๋Š” VHDL์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ž‘์  ์„ค๋ช…(Behavioral description), ๊ตฌ์กฐ์  ์„ค๋ช…(Structural description), ๋ฐ์ดํ„ฐ ํ๋ฆ„ ์„ค๋ช…(Dataflow description) ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ํšŒ๋กœ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋‹ค์–‘ํ•œ ํ‘œํ˜„ ๋ฐฉ์‹์€ ์„ค๊ณ„์ž๊ฐ€ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๊ฒŒ ํšŒ๋กœ๋ฅผ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

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

VHDL์˜ ์ฃผ์š” ๊ธฐ์ˆ ์  ํŠน์ง• ์ค‘ ํ•˜๋‚˜๋Š” ๊ฐ•๋ ฅํ•œ ํƒ€์ž… ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์€ ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์„ ๋ช…ํ™•ํžˆ ์ •์˜ํ•˜๊ณ , ์„ค๊ณ„ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ํƒ€์ž… ๊ด€๋ จ ์˜ค๋ฅ˜๋ฅผ ์ค„์ด๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค. ๋˜ํ•œ VHDL์€ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ๋ณต์žกํ•œ ๊ฐœ๋…์„ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ, ํ˜„๋Œ€์˜ VLSI ์„ค๊ณ„์—์„œ ํ•„์ˆ˜์ ์ธ ์š”์†Œ๋กœ ์ž๋ฆฌ์žก๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2. Components and Operating Principles

VHDL์˜ ๊ตฌ์„ฑ ์š”์†Œ์™€ ์ž‘๋™ ์›๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ ๋‹จ๊ณ„๋Š” ์„œ๋กœ ๋ฐ€์ ‘ํ•˜๊ฒŒ ์—ฐ๊ด€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. VHDL์˜ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: ์—”ํ‹ฐํ‹ฐ(Entity), ์•„ํ‚คํ…์ฒ˜(Architecture), ํ”„๋กœ์„ธ์Šค(Process), ์‹ ํ˜ธ(Signal), ๋ณ€์ˆ˜(Variable), ๊ทธ๋ฆฌ๊ณ  ๊ตฌ์„ฑ ์š”์†Œ(Components)์ž…๋‹ˆ๋‹ค.

2.1 Entity and Architecture

Entity๋Š” VHDL ์„ค๊ณ„์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ๋ถ€๋ถ„์œผ๋กœ, ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ํฌํŠธ๋ฅผ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค. ์—”ํ‹ฐํ‹ฐ๋Š” ์„ค๊ณ„์˜ ์™ธ๋ถ€์™€์˜ ์—ฐ๊ฒฐ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์„ค๊ณ„์ž๊ฐ€ ์–ด๋–ค ์‹ ํ˜ธ๊ฐ€ ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐ€๋Š”์ง€๋ฅผ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

Architecture๋Š” ์—”ํ‹ฐํ‹ฐ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋ฉฐ, ํšŒ๋กœ์˜ ๋™์ž‘์„ ๊ธฐ์ˆ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์•„ํ‚คํ…์ฒ˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ ๋ฐฉ์‹์€ ์„ค๊ณ„์ž์˜ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. VHDL์—์„œ๋Š” Behavioral, Structural, Dataflow ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ๋‹ค์–‘ํ•œ ์•„ํ‚คํ…์ฒ˜๋Š” ์„ค๊ณ„์ž๊ฐ€ ์›ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํšŒ๋กœ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

2.2 Process and Signal

Process๋Š” VHDL์—์„œ ์ค‘์š”ํ•œ ๊ฐœ๋…์œผ๋กœ, ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ ๋ธ”๋ก์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ๋Š” ๋ณ€์ˆ˜์™€ ์‹ ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋ณต์žกํ•œ ๋™์ž‘์„ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ clock edge์™€ ๊ฐ™์€ ํŠน์ • ์ด๋ฒคํŠธ์— ๋ฐ˜์‘ํ•˜๋„๋ก ์„ค๊ณ„๋ฉ๋‹ˆ๋‹ค.

Signal์€ VHDL์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์ฃผ์š” ์ˆ˜๋‹จ์œผ๋กœ, ์‹ ํ˜ธ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‹ ํ˜ธ๋Š” ๋น„๋™๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฉฐ, ์ด๋Š” ์„ค๊ณ„์ž๊ฐ€ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค.

2.3 Variable

Variable์€ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ๋งŒ ์œ ํšจํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋กœ, ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ๊ฐ’์ด ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋Š” ์‹ ํ˜ธ๋ณด๋‹ค ๋” ๋น ๋ฅด๊ฒŒ ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ์œผ๋ฉฐ, ๋ณต์žกํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

VHDL์€ Verilog, SystemVerilog์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ํ•˜๋“œ์›จ์–ด ๊ธฐ์ˆ  ์–ธ์–ด์™€ ๋น„๊ตํ•  ๋•Œ ๋ช‡ ๊ฐ€์ง€ ์ฐจ๋ณ„ํ™”๋œ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Verilog๋Š” ์ฃผ๋กœ ์‚ฐ์—…์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ„๋‹จํ•œ ๋ฌธ๋ฒ•์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ๋ฐฐ์šฐ๊ธฐ ์‰ฝ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ VHDL์€ ๋” ๊ฐ•๋ ฅํ•œ ํƒ€์ž… ์‹œ์Šคํ…œ๊ณผ ๋‹ค์–‘ํ•œ ํ‘œํ˜„ ๋ฐฉ์‹์„ ์ œ๊ณตํ•˜์—ฌ, ๋ณต์žกํ•œ ์„ค๊ณ„์—์„œ ๋” ๋งŽ์€ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

3.1 Features Comparison

VHDL์˜ ์ฃผ์š” ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ๊ฐ•๋ ฅํ•œ ํƒ€์ž… ์‹œ์Šคํ…œ: ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ช…ํ™•ํžˆ ์ •์˜ํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ์ค„์ž„.
  • ๋‹ค์–‘ํ•œ ์•„ํ‚คํ…์ฒ˜ ์ง€์›: Behavioral, Structural, Dataflow ํ‘œํ˜„์„ ํ†ตํ•ด ์„ค๊ณ„ ์ตœ์ ํ™” ๊ฐ€๋Šฅ.
  • ๊ณ ๊ธ‰ ์ถ”์ƒํ™”: ๋ณต์žกํ•œ ํšŒ๋กœ๋ฅผ ์‰ฝ๊ฒŒ ๋ชจ๋ธ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ.

Verilog๋Š” ์ด๋Ÿฌํ•œ VHDL์˜ ์žฅ์ ์— ๋น„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค:

  • ๊ฐ„๋‹จํ•œ ๋ฌธ๋ฒ•: ๋ฐฐ์šฐ๊ธฐ ์‰ฝ๊ณ , ๋น ๋ฅธ ํ”„๋กœํ† ํƒ€์ž… ์ œ์ž‘์— ์œ ๋ฆฌ.
  • ์‚ฐ์—… ํ‘œ์ค€: ๋งŽ์€ ๊ธฐ์—…์—์„œ Verilog๋ฅผ ์„ ํ˜ธํ•จ.

3.2 Real-world Examples

์‹ค์ œ ์‚ฌ๋ก€๋กœ๋Š” VHDL์ด FPGA(Field Programmable Gate Array) ์„ค๊ณ„์— ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์ ์„ ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. VHDL์„ ์‚ฌ์šฉํ•˜์—ฌ FPGA์˜ ๋‹ค์–‘ํ•œ ๋ชจ๋“ˆ์„ ์„ค๊ณ„ํ•˜๊ณ , ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜์—ฌ ์ตœ์ ํ™”๋œ ํšŒ๋กœ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, Verilog๋Š” ASIC(Application-Specific Integrated Circuit) ์„ค๊ณ„์—์„œ ๋” ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

4. References

  • IEEE (Institute of Electrical and Electronics Engineers)
  • Accellera Systems Initiative
  • Xilinx
  • Altera (Intel)

5. One-line Summary

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