์ปดํจํ ์์คํ
- ์ ํ์ ์ธ ์ปดํจํ ์์คํ ์ ์๋ ๋ก๊ทธ์ ๋์งํธ ์ปดํฌ๋ํธ๋ก ๊ตฌ์ฑ๋จ
- ์๋ ๋ก๊ทธ
- ๋ณ๊ฒฝ๋๋ ๊ฐ์ ์ฐ์์ ์ผ๋ก ๋ณํ๋ ๋ฌผ๋ฆฌ์ ์์ผ๋ก ๋ํ๋ด๋ ์ฅ์น๋ ์์คํ ์ ์ค๋ช ํจ
- ์์ฐ์ ํน์ฑ(์: ๋ชฉ์๋ฆฌ, ์๋ฆฌ, ์์)
- ๋์งํธ
- ์ด์ฐ(๋ถ์ฐ์) ๊ฐ์ผ๋ก ํํ๋จ
- ์ด์ง: High & Low (H & L), True & False, 1 & 0
ย
๋์งํธ ์ ํธ
- ์ฐ๋ฆฌ๋ ์ ๋์งํธ์ ์ฌ์ฉํ๋๊ฐ?
- ๋ค๋ฃจ๊ธฐ ์ฌ์ (์ฒ๋ฆฌํ๊ธฐ ์ฌ์)
- ์ก์์ ๋ํ ๋ด์ฑ์ด ์์
- ๋์งํธ ์ ํธ
- ์ ์๊ณผ ์ ๋ฅ์ ๊ฐ์ ์ ๊ธฐ ์ ํธ
ย
์ผ๋ฐ์ ์ธ ๋์งํธ ์์คํ
- ์ด์ง ์ ๋ณด ์ฒ๋ฆฌ์ ์์
ย
๋์งํธ ์์คํ ์ค๊ณ
์ด์ : X
ํ์ฌ: ์์คํ
์จ ์นฉ
ย
๋์งํธ ๋์์ธ (ํ๋ก์ธ์, ์นฉ)
์ด์
- ์ ์ฒด ํ๋ก๋ ์ค๊ณ
- ์ธํ 4004 ALU
ํ์ฌ
- HDL ์ค๊ณ (์: Verilog, VHDL)
- ๋ฆฌํ ์บ๋ฆฌ ๋ง์ ๊ธฐ (RCA)
ย
์ปดํจํฐ ๊ณผํ ๋ด์์์ ์์น
- ์ง์คํ๊ณ ์๋ ๋ถ๋ถ
- ๋ง์ดํฌ๋ก์ํคํ ์ฒ์ ์ผ๋ถ
- ๋ ์ง์คํฐ ์ ์ก
- ๋ ผ๋ฆฌ ๊ฒ์ดํธ
ํ๋ ์ปดํจํฐ ์์คํ
์์์ ์ ํ์ ์ธ ์ถ์ํ ๊ณ์ธต
ย
ย
๋์งํธ ํ๋ก ์ค๊ณ์ ์งํ
- ๋์งํธ ํ๋ก ์ค๊ณ๋ ์ฌ๋ฌ ํด ๋์ ๋น ๋ฅด๊ฒ ๋ฐ์ ํด ์์
- ์ต์ด์ ๋์งํธ ํ๋ก๋ ์ง๊ณต๊ด๊ณผ ํธ๋์ง์คํฐ๋ก ์ค๊ณ๋์์
- ์ง์ ํ๋ก(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: ์ฐ๋ ๊ธฐ ์ ๋ ฅ ์ฐ๋ ๊ธฐ ์ถ๋ ฅ
- ๋์์ด๋๋ ์ต์ ํ๋ ๋์์ธ์ ์ํด ๋์์ธ ๋ฐฉ๋ฒ๋ก ์ ๋์์ค๋ฅผ ์ดํดํด์ผ ํฉ๋๋ค.
ย
HDL์ ์ค์์ฑ
- HDL์ ์ ํต์ ์ธ ํ๋ก ๋๋ฉด ๊ธฐ๋ฐ ๋์์ธ์ ๋นํด ๋ง์ ์ด์ ์ ๊ฐ์ง๊ณ ์์
- ๋์์ธ์ ๋งค์ฐ ์ถ์์ ์ธ ๋ ๋ฒจ (RTL)์์ ๊ธฐ์ ๋ ์ ์์
- ๋์์ธ์ ๊ธฐ๋ฅ ๊ฒ์ฆ์ ๋์์ธ ์ฃผ๊ธฐ ์ด๊ธฐ์ ์ํ๋ ์ ์์
- HDL์ ์ฌ์ฉํ์ฌ ๋์์ธํ๋ ๊ฒ์ ์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ๊ณผ ์ ์ฌํจ
ย
Verilog HDL์ ์ธ๊ธฐ
- Verilog HDL์ ํ์ค HDL๋ก ๋ฐ์ ํจ
- ์ผ๋ฐ ๋ชฉ์ ์ฉ์ด๋ฉฐ ๋ฐฐ์ฐ๊ธฐ ์ฌ์
- C ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ตฌ๋ฌธ์ด ์ ์ฌํจ
- ๋์ผํ ๋ชจ๋ธ์์ ๋ค์ํ ์ถ์ํ ์์ค์ ํผํฉํ ์ ์์ (๊ฒ์ดํธ, RTL)
- ์ธ๊ธฐ ์๋ ๋ ผ๋ฆฌ ํฉ์ฑ ๋๊ตฌ ์ง์์ด ์์
- ๋ชจ๋ ์ ์กฐ ์ ์ฒด(์ผ์ฑ, TSMC)๊ฐ Verilog HDL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํจ
- ์ฌ์ฉ์๊ฐ Verilog์ ์ํธ ์์ฉํ๋ ์ฌ์ฉ์ ์ ์ C ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋๋ก ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ธํฐํ์ด์ค ์ง์์ด ์์
ย
์ํํธ์จ์ด vs ํ๋์จ์ด ๋์์ธ
- C/C++ โ ์ด์ ์ฒด์ (Windows, Linux)
- Verilog โ ๋ง์ดํฌ๋กํ๋ก์ธ์ (Intel, AMD)
ย