์ด๋ ฅ ์ฌํญ
็พ) ๋ฐ๋์ฒด ๋๊ธฐ์ (CHIP ํ๋ก์ค๊ณ 4๋ ์ฐจ)
์๋ ๋ก๊ทธ IP / ๋์งํธ ์๋๋ฆฌ์ค ์ค๊ณ
A๊ธ ํนํ ์ถ์
๊ธ๋ก๋ฒ ์ธ๊ตญ ๊ธฐ์ ์์ง๋์ด ๊ธฐ์ ๋์
ๅ) ์คํํธ์ ์ธํ๋ฒ ์ดํ ์ ์ฒด (MCU Firm-ware ์ค๊ณ)
ๅ) ๋๊ธฐ์ ๊ฐ์ ์ ํ ์ ์ฒด (All-in-one ์ ์๊ธฐ ์์ฐ ๊ธฐ์ )
ๅ) ์ค๊ฒฌ๊ธฐ์ ์๋ฃ๊ธฐ๊ธฐ ์ ์ฒด (CIS, DDI ASIC ์ค๊ณ)
CHIP ์ค๊ณ ์ทจ์ /์ด์ง ์ถฉ๋ถํ ๋์ ํ ์ ์์ต๋๋ค.
์ ์ ํจ๊ป CHIP ์ค๊ณ ์ทจ์ /์ด์ง์ ๊ฐ๊น์์ง์ธ์!
"๋ฐ๋์ฒด ์๋ ๋ก๊ทธ/๋์งํธ ํ๋ก์ค๊ณ๋ฅผ ๊ฟ๊พธ์๋์?
๋๊ธฐ์ S์ ์ ํ์ง์์ ๋์ผ๋ก ๊ธฐ์ด๋ถํฐ ๋์๋๋ฆฝ๋๋ค!"
๋ฐ๊ฐ์ต๋๋ค! S์ ์์์ ์์คํ ๋ฐ๋์ฒด๋ฅผ ์ค๊ณํ๊ณ ์๋ ์ผ์ฝ์น ์ ๋๋ค :)
์ ๋ ์คํํธ์ ์์๋ถํฐ ํ๋ก์ค๊ณ ์ง๋ฌด์ ๋์ ํ๋ฉด์ ๋ง์ ์ํ์ฐฉ์ค๋ฅผ ๊ฒช์ด์์ต๋๋ค.
PCB ์ค๊ณ, F/W ์ค๊ณ, FPGA ์ค๊ณ, CHIP ์ค๊ณ๋ฅผ ๊ตฌ๋จน๊ตฌ๊ตฌ ์์ผ๋ก ๊ฒฝํํ์ฃ .
๊ทธ๋ฐ๋ฐ ํ ๊ฐ์ง ์์ฌ์์ด ์์์ต๋๋ค.
'์ ํ๋ก์ค๊ณ ๋ถ์ผ๋ ์ฒด๊ณํ๋ ์ค์ต ๊ธฐํ์ ์ทจ์ ์ ๋ํ ์ ๋ณด๊ฐ ์ ์๊น?'
๋ฐ๋์ฒด ๊ณต์ , ํ๋ก๊ทธ๋๋ฐ ๋ฑ์ ๋ถ์ผ๋ ์ฝํ ์ธ ๊ฐ ๋ง์์ง๋ง, ํ๋ก์ค๊ณ๋ ์ ๋ณด๊ฐ ์ ๋ค๋ณด๋ ๊ทธ์ '์จ๊ฒจ์ง ์ธ์'์ด์์ต๋๋ค.
์ด ๊ธ์ ์ฝ๋ ํ๋ก์ค๊ณ ์ทจ์ค์๋ถ๋ค ๋ํ ์ ์ ๊ฐ์ ๋ต๋ตํ ์ฌ์ ์ ๋๊ปด๋ณด์ จ์ ๊ฒ๋๋ค.
๊ทธ๋์ ํ์ง์์ ๋ฉด๋ด๋ ํด๋ณด๊ณ , ๊ต์๋๊ป ๋ฌผ์ด๋ณด๊ณ , IDEC ๊ฐ์๋ฅผ ์๊ฐํด๋ณด๊ธฐ๋ ํ์ฃ .
ํ์ง๋ง ์๋ค๋ง๋ฏ ์ฌ์ ํ ์ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ ์ ๋๋ค.
๊ทธ.๋.์! ์ ๊ฐ ์ง์ ์ทจ์ ๊น์ง ์ฐ๊ฒฐ๋๋ ์ฒด๊ณํ๋ ๊ฐ์๋ฅผ ์ ์ํด ๋ฒ๋ ธ์ต๋๋ค!
์ ๋ [์๋ ๋ก๊ทธ ํ๋ก-> ๋์งํธ ์์คํ -> MCU ํ์จ์ด -> ๋๋ผ์ด๋ฒ ์ค๊ณ -> ์ํํธ์จ์ด]๋ฅผ ๋ชจ๋ ๊ฒฝํํ๋ฉด์,
'Top-down / Bottom-up'์คํฌ์ ํตํด ์ ํ๊ณผ ํ๋ก๋ฅผ ์๋ฒฝํ ์ค๋ช ํด๋ผ ์ ์๊ฒ ๋์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ธํ๋ฐ์์ ์ค๋ฌด์ ์ธ ํ๋ก๋ฅผ ๋ค๋ฃจ๋ฉด์ '์๋ ๋ก๊ทธ/๋์งํธ ํ๋ก'์ ๋ํด ์ ๋ง์ ์ง๊ด์ ํด์ ๋ฐฉ๋ฒ๋ถํฐ Trade-off๋ฅผ ๋ฐ์ง๋ ๋ฐฉ๋ฒ๊น์ง ๋ชจ๋ ํ์ด๋๋ฆฌ๋ ค ํฉ๋๋ค.
์ ์ ํจ๊ป ๊ธฐ์ด๋ฅผ ๋ฆ๊ณ , ์ค๋ฌด ์ญ๋์ ์์ ์์ ๋ง์ Chip ์ค๊ณ Story๋ฅผ ๋ง๋ค์ด ๊ฐ๋ด ์๋ค!
Courses
Reviews
- PCB HW Design Practice: Mixed-signal Board Design Project Using STM32
- PCB HW Design Practice: Mixed-signal Board Design Project Using STM32
- Digital and Analog Design with Practical Projects for Circuit Design Beginners
jiho0987jiho3253
ยท
Practical Digital Circuit Design: Designing Computer Architecture and SoC Protocol Digital IPPractical Digital Circuit Design: Designing Computer Architecture and SoC Protocol Digital IP- Digital and Analog Design with Practical Projects for Circuit Design Beginners
Posts
Q&A
์ค์ค๋ ์ดํฐ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์, ๋ต๋ณ ๋จ๊ฒจ๋๋ฆฝ๋๋ค.๋ง ์ค์ค๋ ์ดํฐ(Ring Oscillator)๋ฅผ ์ค๊ณํ ๋ ์ธ๋ฒํฐ์ ๊ฐ์๋ ๋ฐ๋์ ํ์์ฌ์ผ ํฉ๋๋ค. ์ด๋ ์ ํธ๊ฐ ํ ๋ฐํด ์ํํ๋ฉด์ ์์์ด 180ยฐ์ฉ ๋์ ๋์ด ์ต์ข ์ ์ผ๋ก ๋ฐ์ง ์กฐ๊ฑด์ ๋ง์กฑํ๊ธฐ ์ํจ์ ๋๋ค. ์ด ๊ณผ์ ์์ ์ฃผ๋ก ์ฌ์ฉํ๋ ์ธ๋ฒํฐ๋ ์ค์ ๋ก๋ CMOS ๊ตฌ์กฐ์ pMOS + nMOS ์กฐํฉ์ด์ง๋ง, ์ค๊ณ ๋ฌธ์๋ ๊ฐ์์์๋ schematic์ ๋จ์ํํ๊ธฐ ์ํด ๊ธฐํธ(symbol) ํํ์ ์ธ๋ฒํฐ ๋ธ๋ก์ผ๋ก ํํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด๋ ํ๋ก๋์ ๊ฐ๋ ์ฑ์ ๋์ด๊ณ , ์ ์ฒด์ ์ธ ๋ฐ์ง ๊ตฌ์กฐ๋ฅผ ์ง๊ด์ ์ผ๋ก ์ดํดํ๊ธฐ ์ฝ๊ฒ ํ๊ธฐ ์ํ ๋ชฉ์ ์ ๋๋ค. ์ค์ SPICE๋ Cadence Virtuoso ํ๊ฒฝ์์๋ transistor-level๋ก ๋ชจ๋ธ๋งํ์ฌ ์ ์ ์ ๋ฌ ํน์ฑ๊ณผ Delay, Noise ํน์ฑ์ ๋ถ์ํ๊ฒ ๋ฉ๋๋ค.์ถ๊ฐ๋ก, ๋ฒํผ(Buffer)๋ฅผ ์ฝ์ ํ๋ ์ด์ ๋ ์ค์ํ๋ฐ ๋จ์ํ ์ฌ๋ณผ ํํ์ ์ฐจ์๋ง์ ์๋๋๋ค. ๋ง ์ค์ค๋ ์ดํฐ์์๋ ๊ฐ ์ธ๋ฒํฐ์ ์ถ๋ ฅ์ด ๋ค์ ์คํ ์ด์ง๋ฅผ ๊ตฌ๋ํด์ผ ํ๊ธฐ ๋๋ฌธ์, ๊ตฌ๋ ๋ฅ๋ ฅ์ด ์ถฉ๋ถํ์ง ์์ผ๋ฉด ์ง์ฐ(Delay) ํธ์ฐจ๊ฐ ์ปค์ง๊ณ ์์ ๋ ธ์ด์ฆ๊ฐ ์ฌํด์ง๋๋ค. ๋ฐ๋ผ์, ์ค์ ์ค๊ณ์์๋ Output Buffer Stage๋ฅผ ์ถ๊ฐํ์ฌ ๋ก๋ ์ฉ๋(C_load)์ ์์ ์ ์ผ๋ก ๋๋ผ์ด๋ธํ๊ฒ ํ๊ณ , ์ด๋ฅผ ํตํด ์งํฐ(Jitter) ๋ฐ ์์ ์ก์(Phase Noise)์ ์ค์ด๋ ํจ๊ณผ๋ฅผ ๊ธฐ๋ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, 5-stage CMOS Ring Oscillator์์ ๊ฐ ์ธ๋ฒํฐ๊ฐ 10 fF์ ๋ถํ๋ฅผ ๊ฐ์ง๋ค๊ณ ๊ฐ์ ํ์ ๋, ๋ฒํผ๋ฅผ ์ถ๊ฐํ์ง ์์ผ๋ฉด ์ค์์นญ ์ง์ฐ์ด ๋ถ๊ท ์ผํ๊ฒ ๋ฐ์ํ๊ณ RMS Jitter๊ฐ 3~5 ps ์์ค๊น์ง ์ฆ๊ฐํ ์ ์์ต๋๋ค. ๋ฐ๋ฉด, ๋ง์ง๋ง์ ๋ฒํผ๋ฅผ ๋์ด ๊ตฌ๋๋ ฅ์ ๋ณด๊ฐํ๋ฉด Jitter๋ฅผ 1 ps ์ดํ๋ก ์ค์ผ ์ ์์ต๋๋ค.์ค๋ฌด์ ์ผ๋ก๋ ๋ฒํผ๋ฅผ ์ฝ์ ํจ์ผ๋ก์จ ์ป์ ์ ์๋ ์ฅ์ ์ด ๋ ๊ฐ์ง๋ก ์ ๋ฆฌ๋ฉ๋๋ค. ์ฒซ์งธ, ๋ฐ์ง ์ฃผํ์์ ์์ ํ์ ๋๋ค. ์ค์ค๋ ์ดํฐ์ ์ฃผํ์๋ f โ 1 / (2Nยทt_pd) (N=stage ์, t_pd=๋จ์ผ ์ธ๋ฒํฐ ์ง์ฐ)๋ก ๊ทผ์ฌํ ์ ์๋๋ฐ, ๋ฒํผ๊ฐ ์ถ๋ ฅ ๊ตฌ๋ ๋ฅ๋ ฅ์ ์ผ์ ํ๊ฒ ์ ์งํด์ฃผ๋ฉด t_pd์ ํธ์ฐจ๊ฐ ์ค์ด ์์ ๋ ๋ฐ์ง ์ฃผํ์๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๋์งธ, ๋ ธ์ด์ฆ์ ์งํฐ ๊ฐ์ ์ ๋๋ค. ์ถ๋ ฅ ์ค์์ด rail-to-rail๋ก ์ถฉ๋ถํ ํ๋ณด๋๊ณ edge transition์ด ๋น ๋ฅผ์๋ก, ์์ ๋ ธ์ด์ฆ์ ์ฃผ๊ธฐ ์งํฐ๊ฐ ์ค์ด๋ญ๋๋ค.๊ฒฐ๋ก ์ ์ผ๋ก, ๊ฐ์ ์๋ฃ์์ ๋จ์ ์ธ๋ฒํฐ์ ๋ฒํผ๋ฅผ ๋ค๋ฅด๊ฒ ํ๊ธฐํ ๊ฒ์ schematic ํํ์์ ๋จ์ํ ๋ชฉ์ ์ด๋ฉฐ, ์ค์ ์ค๊ณ์์๋ ๋ชจ๋ CMOS transistor๋ก ๊ตฌํ๋ฉ๋๋ค. ๋ค๋ง ๋ฒํผ๋ ๋จ์ํ ๋ ผ๋ฆฌ ๊ธฐ๋ฅ๋ง ํ๋ ๊ฒ์ด ์๋๋ผ, ์ถ๋ ฅ ๋จ๊ณ์์ ์ ํธ ํ์ง๊ณผ ์งํฐ ํน์ฑ์ ๊ฐ์ ํ๋ ํต์ฌ์ ์ธ ํ๋ก ๋ธ๋ก์ด๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
- 0
- 1
- 13
Q&A
PCB HW์ค๊ณ ์ค๋ฌด ๊ฐ์ ๋ฌด์ ํ ์ ์ฒญ
์๋ ํ์ธ์, ๋ต๋ณ ๋จ๊ฒจ๋๋ฆฝ๋๋ค.๋ฌด์ ํ ์ฒ๋ฆฌ ์๋ฃํด๋๋ ธ์ต๋๋ค!์ด์ฌํ ์๊ฐํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
- 0
- 3
- 36
Q&A
BGR ์์ ์ง๋ฌธ
์๋ ํ์ธ์, ๋ต๋ณ ๋จ๊ฒจ๋๋ฆฝ๋๋ค.์ง๋ฌธ ์ฃผ์ ๋ถ๋ถ์ BGR(Bandgap Reference) ์ค๊ณ์์ ํํ ๋ฐ์ํ๋ ์ ํญ ๊ฐ ์ ์ ๋ฐ ์์์ ์ฌ์ด์ง ๋ฌธ์ ์ ํด๋นํฉ๋๋ค. ๋ง์ํ์ ๊ณผ์ ์ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.์ฐ์ V3 = 545 mV์์ ์ ๋ฅ๊ฐ ์ฝ 10 ยตA๊ฐ ํ๋ฅด๋ ์กฐ๊ฑด์ ๊ธฐ๋ฐ์ผ๋ก R1์ ๊ณ์ฐํ์ จ๊ณ , ๊ทธ ๊ฒฐ๊ณผ ์ฝ 5.74 kฮฉ์ด ๋์์ต๋๋ค. ์ด๋ ๋จ์ํ ๊ณ์ฐ๋ R1 ๊ฐ์ ๊ทธ๋๋ก ์ ์ฉํ๋ ๊ฒ์ ๊ฐ๋ฅํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ค์ self-biasing ๊ตฌ์กฐ์์๋ ํธ๋์ง์คํฐ์ W/L ๋น์จ, Early voltage ํจ๊ณผ, ฮฒ ๋ถ๊ท ์ผ์ฑ ๋ฑ ์ฌ๋ฌ ์์์ ํ๋ผ๋ฏธํฐ๊ฐ ๋์์ ์ ๋ฐ๊พธ๊ธฐ ๋๋ฌธ์, ์ต์ข ์ ์ผ๋ก๋ ์ค์ ์ ๋ฅ๊ฐ ๋ชฉํ์น๋ณด๋ค ๋์์ ธ์ ์ ์ฒด ํ์ ์๋ชจ๊ฐ ํฌ๊ฒ ์ฆ๊ฐํ๋ ํ์์ด ๋ํ๋ฉ๋๋ค. ์ง๊ธ ์ป์ผ์ 120 ยตW ์์ค์ ์ด๊ธฐ ์คํ(Ptot ์ค๋ฌด์์๋ ์ด๋ด ๋ ๋ณดํต ๋ ๊ฐ์ง ์ ๊ทผ์ ํฉ๋๋ค.์ฒซ์งธ, ์ ํญ๊ฐ์ ๋ค์ ์ ์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. PTAT ์ ํญ(R2)๊ณผ IR drop์ ์ํ ์ ํญ(R3)์ ์ ๋ฅ ๋ ๋ฒจ๊ณผ ์จ๋ ํน์ฑ์ ๋์์ ์ข์ฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด, R2๋ฅผ ํค์ฐ๋ฉด PTAT ์ ๋ฅ๊ฐ ์ค์ด๋ค์ด ์ ์ฒด ์ ๋ฅ์ ์๋น์ ๋ ฅ์ด ๊ฐ์ํ์ง๋ง, ์จ๋ ๋ณด์ ๊ธฐ์ธ๊ธฐ(slope)๊ฐ ๋ณํด ์ต์ ํ๋ curvature cancellation์ด ๊นจ์ง ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋จ์ํ R๋ง ์์ ํ๊ธฐ๋ณด๋ค๋ ํ์์ ์จ๋ ๋ณด์ ์ฌ์ด์ ํธ๋ ์ด๋์คํ๋ฅผ ๋ถ์ํด์ผ ํฉ๋๋ค.๋์งธ, MOSFET ์ฌ์ด์ฆ ์กฐ์ ์ ํตํด self-biasing ์ ๋ฅ ๋ ๋ฒจ์ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด NMOS load์ W/L์ ์ค์ด๋ฉด ๊ฐ์ ๊ฒ์ดํธ ์ ์์์๋ ์ ๋ฅ๊ฐ ๊ฐ์ํ๊ณ , ๊ทธ์ ๋ฐ๋ผ BGR ์ ์ฒด ์๋น์ ๋ ฅ๋ ์ค์ด๋ญ๋๋ค. ํนํ subthreshold๋ moderate inversion ์์ญ์์ ๋์์ํค๋๋ก W/L์ ์กฐ์ ํ๋ฉด, ์ ํญ์ ํฌ๊ฒ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ํ์๋ฅผ ๋ง์ถ ์ ์์ต๋๋ค. ์ด๋ ์ ์ ๋ ฅ ์ค๊ณ์์ ํํ ์ฌ์ฉํ๋ ๊ธฐ๋ฒ์ ๋๋ค.์ ๋ฆฌํ๋ฉด, ์ง๊ธ๊ณผ ๊ฐ์ด power budget์ด ์ด๊ณผ๋ ๊ฒฝ์ฐ๋ผ๋ฉด ๋จ์ํ ์ด๊ธฐ ๊ณ์ฐ๋ ์ ํญ์ ๊ทธ๋๋ก ์ฐ๋ ๊ฒ๋ณด๋ค๋, NMOS/PMOS์ W/L ๋น์จ์ ์กฐ์ ํ์ฌ ๋ชฉํ ์ ๋ฅ ๋ ๋ฒจ์ ๋ฎ์ถ ๋ค, ๊ทธ์ ๋ง๊ฒ R2, R3๋ฅผ ๋ค์ ์ ์ ํ๋ ๊ฒ์ด ๋ฐ๋์งํฉ๋๋ค. ์๋ฅผ ๋ค์ด R2, R3๋ฅผ ๊ทธ๋๋ก ๋๊ณ ํธ๋์ง์คํฐ๋ง ์กฐ์ ํ๋ ๊ฒฝ์ฐ ์๋น์ ๋ ฅ์ด ์ ๋ฐ ์ดํ๋ก ๋จ์ด์ง ์ ์๊ณ , ์ดํ ์ธ๋ถ ๋ณด์ ์ ์ํด ์ ํญ๊ฐ์ ยฑ10% ์ ๋ ์กฐ์ ํ๋ฉด์ ์ต์ ์ ์ ์ฐพ๋ ๋ฐฉ์์ผ๋ก ์งํํ๋ ๊ฒ์ด ์ค๋ฌด์ ์ ๋๋ค.
- 0
- 2
- 24
Q&A
Hamming Code ์ง๋ฌธ
์๋ ํ์ธ์, ๋ต๋ณ ๋จ๊ฒจ๋๋ฆฝ๋๋ค.์ด ๋ถ๋ถ์ ์ ๊ฐ ์์๋ฅผ ๋ฐ๋๋ก ํ๊ธด ํ๋ค์ใ encoder ๋ชจ๋์ output์ด [1:21]๋ก ์ ์ธ๋์ด ์๋ค๋ฉด, testbench์์๋ ๋์ผํ๊ฒ [1:21]๋ก ์ ์ธํ์ฌ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ง์ฝ testbench์์ [21:1]๋ก ์ ์ธํ๋ค๋ฉด, ๋นํธ ํญ์ ๊ฐ๋๋ผ๋ ์ธ๋ฑ์ค ๋ฐฉํฅ์ด ๋ฐ๋์ด๋ฏ๋ก MSB์ LSB๊ฐ ๋ค์งํ ๋งค์นญ๋๊ฒ ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์๋ํ ๋ฐ์ดํฐ์๋ ๋ค๋ฅด๊ฒ ์ถ๋ ฅ์ด ์ฐ๊ฒฐ๋์ด ์๋ฎฌ๋ ์ด์ ๊ฒฐ๊ณผ๊ฐ ์ฌ๋ฐ๋ฅด์ง ์๊ฒ ๋์ฌ ์ ์์ต๋๋ค.์ค๋ฌด์ ์ผ๋ก๋ ์ด๋ฐ ํผ๋์ ํผํ๊ธฐ ์ํด ๋๋ถ๋ถ [N-1:0] ํํ๋ก ์ ์ธํฉ๋๋ค. ์๋ฅผ ๋ค์ด 21๋นํธ๋ผ๋ฉด [20:0]๋ก ์ ์ธํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํญ์ 0๋ฒ ๋นํธ๊ฐ LSB, N-1๋ฒ ๋นํธ๊ฐ MSB๋ผ๋ ์๋ฌต์ ์ธ ์ฝ์์ด ์ ์ฉ๋๋ฏ๋ก ํ์ ์์๋ ํผ๋์ ์ค์ผ ์ ์์ต๋๋ค.๋ฐ๋ผ์ ์ด๋ฒ ๊ฒฝ์ฐ์๋ testbench์์ [21:1]๋ก ์๋ชป ์ ์ธํ ๊ฒ์ด ๋ง๊ณ , encoder์ ๋์ผํ๊ฒ [1:21]๋ก ์์ ํด์ผ ํฉ๋๋ค. ์ดํ ์ค๊ณ ์ ์ฒด๋ฅผ ์ผ๊ด๋๊ฒ ์์ฑํ์๋ ๊ฒ์ด ๋ฐ๋์งํฉ๋๋ค.
- 0
- 1
- 19
Q&A
[ERC warning] footprint
์๋ ํ์ธ์, ๋ต๋ณ ๋จ๊ฒจ๋๋ฆฝ๋๋ค.warning์ด ๋ฐ์ํ๋ ์ด์ ๋ ์๋ ๋ค์ํ๋ฐ,์ผ๋จ ๋ง์ํด์ฃผ์ ERC Warning์ ๋ณดํต ๋ ๊ฐ์ง ์ฃผ์ ์์ธ์์ ๋ฐ์ํฉ๋๋ค. ์ฒซ์งธ๋ footprint์ symbol ๊ฐ ๋งค์นญ ๋ฌธ์ ์ด๊ณ , ๋์งธ๋ net label ์ ์ ๋ถ์ผ์น ๋ฌธ์ ์ ๋๋ค. ์ง๊ธ์ฒ๋ผ โfootprint๋ Label๋ฌธ์ ๋ก warning์ด 33๊ฐ ๋ฐ์โํ๋ค๋ฉด ๊ฐ๊ฐ์ ์ผ์ด์ค๋ฅผ ๋๋์ด ์ ๊ฒํ์ ์ผ ํฉ๋๋ค.Footprint ๊ด๋ จ Warning์ ๋ณดํต schematic symbol์์ ์ง์ ํ PCB footprint๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(.PCBLIB) ์์ ์ ์์ ์ผ๋ก ์ฐ๊ฒฐ๋์ง ์์์ ๋ ๋ฐ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด STM32F103์ VSS ํ์ ์ฐ๊ฒฐํ๋๋ผ๋ ํด๋น symbol์ ํ ๋น๋ footprint ํจ๋๋ช ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ footprint์ pad ๋ฒํธ์ ๋ค๋ฅด๋ฉด ERC๊ฐ ๊ฒฝ๊ณ ๋ฅผ ๋์๋๋ค. ์ค์ ํ์ ์์๋ ํํ ๋ณผ ์ ์๋ ์ผ์ด์ค์ธ๋ฐ, ์๋ฅผ ๋ค์ด QFP-48 ํจํค์ง์ symbol์ ํ๋ช ์ด PA0, VSS, VDD ๋ฑ์ผ๋ก ์ง์ ๋์ด ์์ง๋ง footprint ์์์๋ ๋จ์ํ 1๋ฒ~48๋ฒ ํจ๋๋ก ์ ์๋์ด ์์ต๋๋ค. ์ด๋ ํ ๋งคํ์ด ์๋ชป๋๋ฉด ERC์์ โfootprint mismatchโ ๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ schematic symbol์ ํ ๋งคํ ์ ๋ณด์ .PCBLIB์ ์ ์ํ pad ๋ฒํธ๋ฅผ ๋ฐ๋์ ์ผ์น์ํค๋ ๊ฒ์ ๋๋ค.Label ๊ด๋ จ Warning์ net ์ด๋ฆ์ด ์ผ๊ด๋์ง ์๊ฑฐ๋, ๊ฐ์ ๋คํธ์ํฌ์ label์ด ์ค๋ณต๋์์ ๋ ๋ฐ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด VDD์ +3V3๋ฅผ ๊ฐ์ ์ ์๋ง์ผ๋ก ์๋ํ๋๋ฐ, label์ด ๋ค๋ฅด๊ฒ ์ง์ ๋์ด ์์ผ๋ฉด ERC๋ ์ด๋ฅผ ๋ณ๊ฐ์ net์ผ๋ก ์ธ์ํ๊ณ floating net ํน์ unconnected net warning์ ๋ ๋๋ค. ์ด ๊ฒฝ์ฐ์๋ ๊ธ๋ก๋ฒ ๋คํธ (์: GND, VDD)๋ก ์ง์ ํ๊ฑฐ๋, ๋์ผํ ๋ผ๋ฒจ์ ๋ฐ๋ณตํด์ ๋ถ์ฌ์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ ๋ฆฌํ์ ์ผ ํฉ๋๋ค. ํนํ STM32F103 ์ค๊ณ ์ VDD, VDDA, VSS, VSSA์ฒ๋ผ ์ ์ ํ์ด ์ฌ๋ฌ ๊ทธ๋ฃน์ผ๋ก ์กด์ฌํ๊ธฐ ๋๋ฌธ์ label์ ๋ช ํํ ๊ตฌ๋ถํ์ง ์์ผ๋ฉด ๊ฒฝ๊ณ ๊ฐ ์ฝ๊ฒ ๋ฐ์ํฉ๋๋ค.์ค๋ฌด์ ์ผ๋ก๋ ERC Warning์ด ์์ญ ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ํํ ์ผ์ด๋ฉฐ, ๋ณด๋ ์ ์ ์ ์ ๋ฐ๋์ ํ ๊ฐ์ฉ ๊ฒํ ํด์ฃผ๋ ๊ณผ์ ์ด ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด Debugger ํ๋ก์ SWDIO, SWCLK ํ์ pull-up ์ ํญ์ ๋นผ๋จน์๊ฑฐ๋, Reset ํ์ label์ด ์ ๋ถ์ด ์์ผ๋ฉด warning์ผ๋ก ์กํ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ฐ์ ERC ๋ณด๊ณ ์์์ ์ด๋ค net์ด๋ ํ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฐ์์ํค๋์ง ํ์ธํ ํ, footprint ๋งคํ ์ค๋ฅ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ ์ผ๋ก, label ๊ฒฝ๊ณ ๋ net ์ด๋ฆ ์ ๋ฆฌ๋ก ๊ฐ๊ฐ ํด๊ฒฐํ์๋ ๊ฒ์ด ๊ฐ์ฅ ๋น ๋ฅธ ์ ๊ทผ์ ๋๋ค.๋ํ ๋ค๋ฅธ ๋ถ๋ค์ ์ง๋ฌธ๋ ์ดํด๋ณด์๋ฉด ์ ์ฌํ ์ฌ๋ก์ ๋ํด์ ํด๊ฒฐํ ๋ด์ญ์ด ์์ด์ ์ฐธ๊ณ ํด๋ณด์ ๋ ์ข์ต๋๋ค.
- 0
- 2
- 32
Q&A
์ง๋ฌด๊ด๋ จํด์ ์ง๋ฌธ์ด ์์ต๋๋ค.
์๋ ํ์ธ์, ๋ต๋ณ ๋จ๊ฒจ๋๋ฆฝ๋๋ค.์ง๋ฌธ ์ฃผ์ ๋ถ๋ถ์ ํฌ๊ฒ ๋ ๊ฐ์ง ๊ด์ ์์ ๋ณด์ค ์ ์์ต๋๋ค. ํ๋๋ MCU ๊ธฐ๋ฐ ๋ณด๋ ์ค๊ณ ์ง๋ฌด์์ ์ด๋ค ์ญ๋์ด ๊ฐ์กฐ๋๋๊ฐ์ด๊ณ , ๋ค๋ฅธ ํ๋๋ FPGA ๊ฒฝํ์ ์ด๋ป๊ฒ ํฌ์ง์ ๋ํ ์ ์๋๊ฐ์ ๋๋ค.๋จผ์ MCU ๊ธฐ๋ฐ์ ๋ณด๋ ์ค๊ณ ์ง๋ฌด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์จ์ด์ ํ๋์จ์ด ๋ ๊ฐ์ง ์์ญ์ ๋ชจ๋ ์์ฐ๋ฅด๋ ์ฑ๊ฒฉ์ด ๊ฐํฉ๋๋ค. MCU๋ SoC ํํ๋ก ์ด๋ฏธ Logic์ด ๊ตฌํ๋์ด ์๊ธฐ ๋๋ฌธ์, FPGA์ฒ๋ผ RTL ์ฝ๋๋ฅผ ์์ฑํด ๋ก์ง์ ํฉ์ฑํ๊ณ ํ์ด๋ฐ์ ์ง์ ๊ฒ์ฆํ๋ ์ ๋ฌด์๋ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ๋์ MCU ๋ณด๋ ์ค๊ณ์๋ ํฌ๊ฒ ์ธ ๊ฐ์ง ์ธก๋ฉด์ ์ญํ ์ ๋งก๊ฒ ๋ฉ๋๋ค. ์ฒซ์งธ, ์ ์(Power Tree)๊ณผ ์ ํธ(Signal Flow) ์ค๊ณ๋ฅผ ํฌํจํ ํ๋์จ์ด ๊ตฌ์ฑ ๋ฐ Schematic ์ค๊ณ. ๋์งธ, ์๋ ๋ก๊ทธ/๋์งํธ ์ธํฐํ์ด์ค ์ค๊ณ ์๋ฅผ ๋ค์ด ADC, DAC, Motor Driver, PHY ํ๋ก์ ๊ฐ์ Mixed-Signal ๋ธ๋ก์ ์์ ์ ์ผ๋ก ์ฐ๊ฒฐํ๊ณ ๋ ์ด์์๊น์ง ํฌํจํด EMC/ESD ์๊ฑด์ ์ถฉ์กฑ์ํค๋ ์์ . ์ ์งธ, ํ์จ์ด ๊ด์ ์์ Peripheral ๋์์ ๊ฒ์ฆํ๊ณ , ๋ถํธ๋ก๋/RTOS ํ๊ฒฝ์์ ์์คํ ๋ ๋ฒจ Debug๋ฅผ ์ง์ํ๋ ์ญ๋์ ๋๋ค.๋ฐ๋ผ์ MCU ๊ธฐ๋ฐ ๋ณด๋ ์ค๊ณ ์ง๋ฌด์ ์ง์ํ๋ค๋ฉด, ํ์จ์ด ์ญ๋๊ณผ ํ๋์จ์ด ์ญ๋์ ๊ท ํ ์๊ฒ ๊ฐ์กฐํ์๋ ๊ฒ์ด ํจ๊ณผ์ ์ ๋๋ค. ๋ค๋ง ํ์ฌ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ๊ฐ์กฐ์ ์ด ๋ฌ๋ผ์ง๋๋ค. ์๋ฅผ ๋ค์ด ์๋ฃ๊ธฐ๊ธฐ, IoT, ์๋์ฐจ ECU ๊ฐ์ ์์ญ์์๋ ํ์จ์ด ๊ธฐ๋ฐ ๊ธฐ๋ฅ ๊ตฌํ๊ณผ ์์ ์ฑ ๊ฒ์ฆ์ด ์ค์ํ๋ฏ๋ก ์๋ฒ ๋๋ SW ๊ฒฝํ์ ๊ฐํ๊ฒ ์ดํํ๋ ๊ฒ์ด ์ ๋ฆฌํฉ๋๋ค. ๋ฐ๋ฉด ํ๋์จ์ด ์คํํธ์ ์ด๋ PCB HW ์ ๋ฌธ ํ์์๋ ์ ์/์ ํธ ๋ฌด๊ฒฐ์ฑ, ์๋ ๋ก๊ทธ/๋์งํธ ์ธํฐํ์ด์ค ์ค๊ณ, EMI ๋์ฑ ๋ฑ ํ๋ก ๋ฐ ๋ ์ด์์ ๊ฒฝํ์ ๋ ์ค์ํฉ๋๋ค.FPGA ๊ฒฝํ์ ์ด๋ป๊ฒ ์ดํํ ์ง์ ๋ํด์๋, RTL ์์ฑ๊ณผ ํ์ด๋ฐ ์ ์ด ๊ฒฝํ์ ๋จ์ํ "๋์งํธ ๋ก์ง ๊ตฌํ ๊ฒฝํ"์ผ๋ก๋ง ํ์ ์ง์ง ์๊ณ , "์์คํ ๋ ๋ฒจ ์ ์ฝ ์กฐ๊ฑด์ ๊ณ ๋ คํ HW ๋์ ๊ฒ์ฆ ๊ฒฝํ"์ผ๋ก ํํํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์๋ฅผ ๋ค์ด Verilog ๊ธฐ๋ฐ RTL ์ค๊ณ๋ฅผ ํตํด Clock Domain Crossing(CDC) ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , Setup/Hold ํ์ด๋ฐ ๋ง์ง์ ํ๋ณดํ ๊ฒฝํ์ MCU์์๋ ๊ณ ์ ์ธํฐํ์ด์ค ์ค๊ณ(SPI, I2C, Ethernet PHY ๋ฑ) ์ ์ ํธ ๋ฌด๊ฒฐ์ฑ ๊ฐ๋ ๊ณผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ๋ํ FPGA ์์์ Peripheral๊ณผ ์ฐ๋ํ ๊ฒฝํ์ ๊ณง MCU ๊ธฐ๋ฐ ๋ณด๋์์ ADC/DAC, Motor Driver, ํต์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํ๋ ์ ๋ฌด์ ์ง์ ์ ์ผ๋ก ๋ง๋ฟ์ ์์ต๋๋ค.์ฆ, FPGA ๊ฒฝํ์ "HW ์ค๊ณ์๋ก์์ ํ๋ก/์์คํ ์ ์ด ๊ฒฝํ"์ผ๋ก ํฌ์ง์ ๋ํ์๋ฉด MCU ๋ณด๋ ์ค๊ณ ์ง๋ฌด์๋ ์์ฐ์ค๋ฝ๊ฒ ์ฐ๊ฒฐ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, RTL ์ฝ๋๋ก FSM์ ๊ตฌํํ์ฌ DRAM Controller๋ฅผ ์ค๊ณํ๋ ๊ฒฝํ์ MCU ๋ณด๋ ์ค๊ณ์์ Peripheral ์ ์ด ๋ฐ ๋์ ํ์ด๋ฐ์ ๊ณ ๋ คํ๋ ๊ณผ์ ๊ณผ ์ ์ฌํ๋ค๊ณ ์ค๋ช ํ ์ ์์ต๋๋ค. ๋ค๋ง MCU ๋ณด๋ ์ค๊ณ๋ RTL ํฉ์ฑ์ด ์๋๋ผ ํ๋์จ์ด ํ๋ก ์ค๊ณ์ PCB ๊ตฌํ์ด ์ฃผ๊ฐ ๋๋ฏ๋ก, ๋ณธ์ธ์ FPGA ๊ฒฝํ์ ๋จ์ SW ์ฝ๋ ์์ฑ์ด ์๋๋ผ ํ๋์จ์ด์ ์ ์ฝ์ ๋ฐ์ํ ์์คํ ์ค๊ณ ๊ฒฝํ์ผ๋ก ํ์ด๋ด๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.๊ฒฐ๋ก ์ ์ผ๋ก ๋ง์๋๋ฆฌ๋ฉด, MCU ๊ธฐ๋ฐ ๋ณด๋ ์ค๊ณ ์ง๋ฌด ์ง์ ์ ํ์จ์ด ์ญ๋๊ณผ ์๋ ๋ก๊ทธ/๋์งํธ ํ๋ก ์ญ๋์ ๊ท ํ ์๊ฒ ์ค๋นํ์๋, ์ง์ ํ์ฌ์ ์ ํ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ๊ฐ์กฐ์ ์ ์กฐ์ ํ๋ ์ ๋ต์ ์ถ์ฒ๋๋ฆฝ๋๋ค. FPGA ๊ฒฝํ์ HW ๊ด์ ์์์ ์ ์ฝ ์กฐ๊ฑด ์ดํด ๋ฐ ์ธํฐํ์ด์ค ์ ์ด ๊ฒฝํ์ผ๋ก ํ์ด๋ด๋ฉด MCU ๋ณด๋ ์ค๊ณ ์ง๋ฌด์ ์์ฐ์ค๋ฝ๊ฒ ์ฐ๊ฒฐ ์ง์ผ์ค ์ ์์ต๋๋ค.
- 0
- 2
- 36
Q&A
W_CRC ๊ฐ ์ง๋ฌธํ๊ธฐ
์๋ ํ์ธ์, ๋ต๋ณ ๋จ๊ฒจ๋๋ฆฝ๋๋ค.CRC ์ฐ์ฐ์์ W_CRC ๊ฐ์ด ์ด๋ป๊ฒ ๋ณํํ๋์ง ๋ ๊น๊ฒ ์ค๋ช ๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ง๋ฌธ ์ฃผ์ ๋ถ๋ถ์ CRC์ ์ค๊ฐ ๊ณผ์ ๊ณผ ์ต์ข ๊ฒฐ๊ณผ์ ์ฐจ์ด๋ฅผ ์ ํํ ์ดํดํ์ ์ผ ํผ๋์ด ์์ผ์ค ๊ฒ ๊ฐ์ต๋๋ค.๋จผ์ CRC๋ ๋คํญ์ ๋๋์ ์ ๊ธฐ๋ฐํ ์ฐ์ฐ์ผ๋ก, ์ ์ก ๋ฐ์ดํฐ D(x)๋ฅผ ๋ฏธ๋ฆฌ ์ ์๋ ์์ฑ๋คํญ์ G(x)๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ ๊ณผ์ ์ ๋๋ค. ์ด๋ ์ค์ํ ์ ์ ์ค์ ํ๋์จ์ด๋ ์๋ฎฌ๋ ์ด์ ์์ CRC๋ ๋จ์ํ ํ ๋ฒ์ ๋๋์ ์ ํ๋ ๊ฒ์ด ์๋๋ผ, ๋ฐ์ดํฐ ๋นํธ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ๋ ฅ๋ฐ์ผ๋ฉด์ shift register์ XOR ์ฐ์ฐ์ ํตํด W_CRC๋ฅผ ๋งค ์ฌ์ดํด๋ง๋ค ๊ฐฑ์ ํ๋ค๋ ๊ฒ์ ๋๋ค.์๋ฅผ ๋ค์ด 8๋นํธ ๋ฐ์ดํฐ r_data = 10110011์ CRC-4-ITU (G(x) = x^4 + x + 1)๋ก ์ฐ์ฐํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.์ด๊ธฐ CRC ๋ ์ง์คํฐ ๊ฐ์ 0000์ผ๋ก ์ธํ ํฉ๋๋ค.์ฒซ ๋ฒ์งธ ์ ๋ ฅ ๋นํธ โ1โ์ ๋ฃ์ผ๋ฉด, CRC ๋ ์ง์คํฐ๋ G(x)์ ๋ฐ๋ผ XOR ๋ฐ ์ํํธ๋์ด 1001์ด ๋ฉ๋๋ค.๋ ๋ฒ์งธ ์ ๋ ฅ ๋นํธ โ0โ์ ๋ฃ์ผ๋ฉด, ๋ค์ XOR/Shift๊ฐ ์ผ์ด๋ CRC ๊ฐ์ด 0010์ผ๋ก ๊ฐฑ์ ๋ฉ๋๋ค.์ด๋ฐ ์์ผ๋ก ๋ชจ๋ 8๋นํธ๋ฅผ ๋ฃ๋ ๋์ CRC ๋ ์ง์คํฐ(W_CRC)๋ 1001 โ 0010 โ 1111 โ 0101 โฆ์ฒ๋ผ ๊ณ์ ๋ณํํฉ๋๋ค.์ด ๊ณผ์ ์ ๊ฑฐ์ณ ๋ง์ง๋ง ๋นํธ๊น์ง ์ ๋ ฅํ ํ์ ๋์จ ์ต์ข W_CRC ๊ฐ์ด ๋ฐ๋ก ๋ฐ์ดํฐ์ ๋ํ CRC ๊ฒฐ๊ณผ์ ๋๋ค. ์ด ์ต์ข ๊ฒฐ๊ณผ๊ฐ 0000์ด๋ฉด ๋ฐ์ดํฐ๊ฐ ์ค๋ฅ ์์ด ์ ์์ ์ผ๋ก ์์ ๋ ๊ฒ์ด๊ณ , 0000์ด ์๋๋ผ๋ฉด ์ ์ก ๋์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๊ณ ํ๋จํฉ๋๋ค.๋ฐ๋ผ์ ์ง๋ฌธ ์ฃผ์ ์๋ฎฌ๋ ์ด์ ์์ ๋ณด์ ๊ฒ์ฒ๋ผ r_data๊ฐ ๋ค์ด์ฌ ๋๋ง๋ค W_CRC๊ฐ ๋งค๋ฒ ๊ฐฑ์ ๋์ด 0์ด ์๋ ๊ฐ์ด ๋์ค๋ ๊ฒ์ ์ ์์ ์ธ ๊ณผ์ ์ ๋๋ค. ์คํ๋ ค ๋ชจ๋ ๋นํธ๊ฐ ๋ค์ด์ค๊ธฐ ์ ์ ํญ์ 0์ด ๋์๋ค๋ฉด, CRC ๋ก์ง์ด ์๋ชป ์ค๊ณ๋ ๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.ํ์ ์ฌ๋ก๋ฅผ ๋ค์ด ์ค๋ช ๋๋ฆฌ๋ฉด, NAND Flash ๋ฉ๋ชจ๋ฆฌ๋ SSD ์ปจํธ๋กค๋ฌ์์ ๋ฐ์ดํฐ ์ ์ก ์ CRC๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด 2KB ํ์ด์ง ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค๊ณ ํ๋ฉด, ์ปจํธ๋กค๋ฌ๋ 2KB ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก CRC ํ๋ก์ ์ ๋ ฅํ๋ฉด์ ๋ด๋ถ์ W_CRC ๊ฐ์ ๊ณ์ ์ ๋ฐ์ดํธํฉ๋๋ค. ์ด ์ค๊ฐ ๊ฐ๋ค์ ๊ฒ์ฆ ๋์์ด ์๋๋ฉฐ, ๋ง์ง๋ง ๋ฐ์ดํธ๊น์ง ๋ค ๋ฃ์ ๋ค์ W_CRC ๊ฐ์ด ์ต์ข ์ ์ผ๋ก 0์ธ์ง ์ฌ๋ถ๋ฅผ ๊ฐ์ง๊ณ ์ค๋ฅ ๊ฒ์ถ์ ์ํํฉ๋๋ค.์ฆ, ์ง๊ธ ์๋ฎฌ๋ ์ด์ ๊ฒฐ๊ณผ์์ W_CRC๊ฐ ๋งค๋ฒ 0์ด ์๋ ์ด์ ๋ ๋จ์ํ CRC ์ฐ์ฐ์ ์ค๊ฐ ๋จ๊ณ์ด๊ธฐ ๋๋ฌธ์ด๋ฉฐ, ์ด๊ฒ์ ๊ณง๋ฐ๋ก ์ค๋ฅ๋ก ํด์ํ๋ฉด ์ ๋ฉ๋๋ค. ๋ฐ๋์ ๋ฐ์ดํฐ ์คํธ๋ฆผ ์ ์ฒด๋ฅผ ๋ฃ์ ํ์ ์ต์ข W_CRC ๊ฐ์ ํ์ธํ์ ์ผ ์ค๋ฅ ์ฌ๋ถ๋ฅผ ํ๋ณํ ์ ์์ต๋๋ค.์ถ๊ฐ์ ์ผ๋ก, ๋ง์ฝ ๋๋ฒ๊น ๋ชฉ์ ์ผ๋ก ํ์ธํ๊ณ ์ถ์ผ์๋ค๋ฉด Testbench์์ ๋ง์ง๋ง ์ ๋ ฅ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ ํ ๋ช ํด๋ญ์ด ์ง๋ ์์ ์ W_CRC ๋ ์ง์คํฐ ๊ฐ์ ์ถ๋ ฅํ๋๋ก ์ค์ ํด ๋ณด์๋ฉด ์ ํํ โ์ต์ข CRC ๊ฐโ๋ง ํ์ธํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Verilog Testbench๋ผ๋ฉด ์๋์ ๊ฐ์ด ์ฒดํฌํ ์ ์์ต๋๋ค.@(posedge last_data_in); // ๋ง์ง๋ง ๋ฐ์ดํฐ ์ ๋ ฅ ์์ #1 $display("Final CRC = %h", W_CRC); ์ด๋ ๊ฒ ํ๋ฉด ์ค๊ฐ update ๊ฐ์ด ์๋๋ผ ์ต์ข ๊ฒฐ๊ณผ๋ง ๊ด์ฐฐํ ์ ์์ด์, ํ์ฌ ์๋ฎฌ๋ ์ด์ ์์ ํท๊ฐ๋ฆฌ์ จ๋ ๋ถ๋ถ์ด ํด์๋์ค ๊ฒ๋๋ค.
- 0
- 1
- 26
Q&A
16_bitRCA ํ ์คํธ๋ฒค์น ๊ด๋ จ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์, ์คํฌ๋ฆฐ์ท ํ ์คํธ๊ฐ ์ ์๋ณด์ฌ์, ํน์ ํ ์คํธ ํํ๋ก ๋ชจ๋๊ณผ ๋ฒค์น ๋ณต๋ถํด์ ๋๊ธ์ ๋ฌ์์ฃผ์ค ์ ์๋์?
- 0
- 2
- 26
Q&A
MCU + cap ๊ด๋ จํด์ ์ง๋ฌธ๋๋ฆฝ๋๋ค
์๋ ํ์ธ์, ๋ต๋ณ ๋จ๊ฒจ๋๋ฆฝ๋๋ค.๋จผ์ MCU๋ฅผ 2๊ฐ ์ฌ์ฉํ๋ ์ด์ ๋ถํฐ ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค. ํ๋์ MCU๋ก ๋ฉ์ธ ๋์๊ณผ ๋๋ฒ๊น (UART, SWD ๋ฑ)์ ๋์์ ์ํํ ์๋ ์์ต๋๋ค. ํ์ง๋ง ์ค์ ํ๋ก์ ํธ์์๋ ์์ ์ฑ๊ณผ ๊ฐ๋ฐ ํจ์จ์ฑ์ ์ํด ๋ฉ์ธ MCU์ ๋ณ๋์ ๋๋ฒ๊น ์ฉ MCU๋ฅผ ๋ถ๋ฆฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฉ์ธ MCU๊ฐ ๋ชจํฐ ์ ์ด๋ ADC ์ ํธ์ฒ๋ฆฌ์ฒ๋ผ ๋ฆฌ์ผํ์ ์ฑ๋ฅ์ด ์ค์ํ ๋์์ ์ํํ๋ ๊ฒฝ์ฐ, ๋๋ฒ๊น ๊ณผ์ ์์ ๋ฐ์ํ๋ ์ธํฐ๋ฝํธ๋ ์ถ๊ฐ ์ฐ์ฐ์ด ํ์ด๋ฐ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋๋ฒ๊น MCU๊ฐ ๋ณ๋๋ก UART, JTAG, SWD ๋ฑ์ ์ธํฐํ์ด์ค๋ฅผ ๊ด๋ฆฌํ๊ณ , ๋ฉ์ธ MCU๋ ์ค๋ก์ง ์์คํ ๋์์ ์ง์คํ ์ ์๋๋ก ํ๋ ๊ตฌ์กฐ๋ฅผ ํํ๋ ๊ฒ์ ๋๋ค. ์ค์ ๋ก ์ฐ์ ํ์ฅ์์๋ NXP์ i.MX ๊ณ์ด SoC์์๋ Debug Assist Processor(DAP)๋ผ๋ ๋ณ๋ ๋๋ฒ๊น ๋ชจ๋์ ๋์ด ๋ฉ์ธ ์ฝ์ด์ ๋ถํ๋ฅผ ์ค์ด๋ ์ฌ๋ก๊ฐ ์์ต๋๋ค.๋ ๋ฒ์งธ๋ก ADC ๊ด๋ จ ์ง๋ฌธ์ ๋ํด ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค. STM32 ์๋ฆฌ์ฆ MCU์๋ ๋๋ถ๋ถ 12๋นํธ ํน์ 16๋นํธ ์์ค์ SAR ADC๊ฐ ๋ด์ฅ๋์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด STM32F103์ ๊ฒฝ์ฐ 12๋นํธ ADC(์ต๋ 1 Msps)๋ฅผ ์ง์ํฉ๋๋ค. ํ์ง๋ง ๋ณ๋์ ๊ณ ์ ๋ฐ ADC(์: ADS122C04)๋ 24๋นํธ ํด์๋์ ๋ฎ์ ๋ ธ์ด์ฆ, ๋์ ์ ํ์ฑ, ๊ทธ๋ฆฌ๊ณ ์ ์ก์ PGA(Programmable Gain Amplifier)๋ฅผ ํฌํจํ๊ณ ์์ด ์ ๋ฐ ๊ณ์ธก, ์ผ์ ์ธํฐํ์ด์ค ๋ฑ์์๋ ๋ด์ฅ ADC๋ก๋ ๋ง์กฑ์ํฌ ์ ์๋ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ํนํ ยฑ0.5 LSB ์์ค์ INL(Integral Nonlinearity), 100 dB ์ด์์ SNR, ๊ทธ๋ฆฌ๊ณ ์จ๋ ์์ ์ฑ ๊ฐ์ ์คํ์ MCU ๋ด์ฅ ADC๊ฐ ์ ๊ณตํ๊ธฐ ์ด๋ ต์ต๋๋ค. ๋ฐ๋ผ์ ์๊ตฌํ๋ ์ ๋ฐ๋์ ์ํ๋ง ์๋(SPS vs Msps)์ ๋ฐ๋ผ ์ธ๋ถ ADC๋ฅผ ์ ํํฉ๋๋ค. ๋ง์ฝ MCU์ ๋ด์ฅ ADC๊ฐ ํด์๋, ์ํ๋ง ์๋, ENOB(Effective Number of Bits) ๋ฑ ์ํ๋ ์คํ์ ์ถฉ์กฑํ๋ค๋ฉด ๋ณ๋์ ADC๋ ํ์ํ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋จ์ ์จ๋ ์ผ์ ๋ชจ๋ํฐ๋ง์ด๋ ๋ฐฐํฐ๋ฆฌ ์ ์ ์ธก์ ์ ๋๋ผ๋ฉด ๋ด์ฅ ADC๋ง์ผ๋ก ์ถฉ๋ถํฉ๋๋ค.๋ง์ง๋ง์ผ๋ก VDD์ ๋ณ๋ ฌ๋ก ์บํจ์ํฐ๋ฅผ ์ฐ๊ฒฐํ๋ ์ด์ ๋ฅผ ์ค๋ช ๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋์ปคํ๋ง ์บํจ์ํฐ(Decoupling capacitor)๋ ์ ์ ์์ ํ ๋ฐ ๋ ธ์ด์ฆ ์ ๊ฑฐ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์ ๋ฅ๊ฐ ์คํ ํํ๋ก ๊ธ๊ฒฉํ ๋ณํ ๋, PCB ์ ์ ๋ผ์ธ๊ณผ ์ ์ ๊ณต๊ธ ์ฅ์น์ ์ธ๋ํด์ค ๋๋ฌธ์ ์๊ฐ์ ์ผ๋ก ์ ์ ๊ฐํ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด๋ ์บํจ์ํฐ๋ ์I = C * (dV/dt)์ ์ํด ์๊ฐ์ ์ธ ์ ๋ฅ๋ฅผ ๊ณต๊ธํด ์ฃผ์ด VDD ์ ์์ด ๋จ์ด์ง๋ ๊ฒ์ ๋ง์์ค๋๋ค. ๋ํ, ๋์งํธ ํ๋ก์์ ํด๋ญ ์ฃ์ง๋ง๋ค ์์ญ mA์ ์ ๋ฅ๊ฐ ์๊ฐ์ ์ผ๋ก ๋ณํ๋๋ฐ, ์ด๋ ์ ์ ๋ ธ์ด์ฆ๊ฐ ๋ฐ์ํ๋ฉด ADC, PLL, Op-Amp ๊ฐ์ ์๋ ๋ก๊ทธ ๋ธ๋ก์ ์ฌ๊ฐํ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ผ๋ฐ์ ์ผ๋ก๋ 0.1 ยตF ์ธ๋ผ๋ฏน ์บํจ์ํฐ๋ฅผ MCU ํ ๊ทผ์ฒ์ ๋ฐฐ์นํ์ฌ ๊ณ ์ฃผํ ๋ ธ์ด์ฆ๋ฅผ ์ก๊ณ , 10 ยตF ์ด์์ ๋ฒํฌ ์บํจ์ํฐ๋ฅผ ์ถ๊ฐํ์ฌ ์ ์ฃผํ ๋ฆฌํ์ ๋ณด์ ํฉ๋๋ค. ์ค์ ์ฐ์ ํ์ฅ์์๋ FPGA ๋ณด๋๋ ๊ณ ์ ADC ํ๋ก์์๋ ์ ์ ๋ผ์ธ๋ง๋ค 100 nF + 10 ยตF ์กฐํฉ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฐ์นํ๋ฉฐ, ๋ ธ์ด์ฆ ๋ฏผ๊ฐ๋๊ฐ ๋์ ๊ฒฝ์ฐ LC ํํฐ๋ ํ๋ผ์ดํธ ๋น๋๋ฅผ ํจ๊ป ์ฌ์ฉํฉ๋๋ค.์ ๋ฆฌํ์๋ฉด, MCU 2๊ฐ ๋ถ๋ฆฌ๋ ์์ ์ฑ๊ณผ ๊ฐ๋ฐ ํจ์จ์ฑ ๋๋ฌธ์ด๋ฉฐ, ๋ณ๋์ ๊ณ ์ ๋ฐ ADC ์ ํ์ ์คํ ๋ง์กฑ ์ฌ๋ถ์ ๋ฌ๋ ค ์๊ณ , VDD ์บํจ์ํฐ๋ ์ ์ ํ์ง์ ๋ณด์ฅํ๊ธฐ ์ํ ํ์ ์์์ ๋๋ค.
- 1
- 1
- 39
Q&A
Precharge์ ๋ํ ์ง๋ฌธ
์๋ ํ์ธ์, ๋ต๋ณ ๋จ๊ฒจ๋๋ฆฝ๋๋ค.์ง๋ฌธ ์ฃผ์ Write ๋์ ํ Precharge ๋จ๊ณ์ ํ์์ฑ์ DRAM์ ๊ตฌ์กฐ์ ํน์ฑ๊ณผ ์ธํฐํ์ด์ค ๋์ ๋ฐฉ์ ๋๋ฌธ์ ๋ฐ๋์ ์๊ตฌ๋ฉ๋๋ค. ๋ง์ํ์ ๊ฒ์ฒ๋ผ Write ์์ ๋นํธ๋ผ์ธ ์(Bitline pair, BL/BLB) ์ค ์ ํ๋ ์ ์ Write Driver๊ฐ ๊ฐํ๊ฒ ๊ฐ์ ๋ฐ์ด ๋ฃ์ด ์ ์ฅ ์บํจ์ํฐ์ โ1โ ํน์ โ0โ์ด ์ถฉ์ ๋ฉ๋๋ค. ์ด ์์ ๋ง ๋๊ณ ๋ณด๋ฉด ์ํ๋ ๋ฐ์ดํฐ๊ฐ ์ ๋ด๋ถ์ ์ด๋ฏธ ์์ ์ ์ผ๋ก ๊ธฐ๋ก๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ์ ์ธ ๋์์ด ํ์ ์์ด ๋ณด์ผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค์ DRAM ๊ตฌ์กฐ์์๋ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก Write ์ดํ์๋ Precharge ๊ณผ์ ์ด ์๊ตฌ๋ฉ๋๋ค.์ฒซ์งธ, ๋นํธ๋ผ์ธ ์ ์์ ๋ถ๊ท ํ ๋ฌธ์ ๋๋ฌธ์ ๋๋ค. Write ๋์ ์ Write Driver๋ BL๊ณผ BLB ์ค ํ๋๋ฅผ Vdd ๊ฐ๊น์ด๋ก, ๋ค๋ฅธ ํ๋๋ฅผ GND ๊ฐ๊น์ด๋ก ๊ฐํ๊ฒ ๋ฐ์ด ๋ฃ์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ ์ ์ํ๋ ๋ฐ์ดํฐ๋ก ๊ธฐ๋ก๋์ง๋ง, ์ก์ธ์ค๊ฐ ๋๋ ์์ ์์ ๋นํธ๋ผ์ธ ์์ ์ฌ์ ํ ํ์ชฝ์ Vdd, ๋ค๋ฅธ ์ชฝ์ 0V์ ๊ฐ๊น๊ฒ ๋ถ๊ท ํ ์ํ๋ก ๋จ์ ์์ต๋๋ค. DRAM์ Sense Amplifier ๋ฐ ์ฐจํ Access ๋์์ BL/BLB๊ฐ ๋์ผํ ๊ธฐ์ค ์ ์(Vdd/2)์์ ์์ํด์ผ ์ ํํ ๋์ํ๊ธฐ ๋๋ฌธ์, Precharge ๊ณผ์ ์ด ํ์ํฉ๋๋ค. Precharge ํ๋ก๋ BL๊ณผ BLB๋ฅผ ๋ชจ๋ Vdd/2๋ก equalize ํด์ฃผ์ด ๋ค์ Access์ ์ด๊ธฐ ์กฐ๊ฑด์ ๋ง์กฑ์ํต๋๋ค.๋์งธ, Row ๊ฐ ๋ ๋ฆฝ์ ์ธ ์ ๊ทผ์ ์ํด์์ ๋๋ค. ํ๋์ Wordline์ ๋นํ์ฑํํ ํ ๋ฐ๋ก ๋ค๋ฅธ Wordline์ ํ์ฑํํ๋ ค๋ฉด, ๊ณตํต ๋นํธ๋ผ์ธ์ ๋จ์์๋ ์ด์ ๋ฐ์ดํฐ์ ์ ์ ๋ ๋ฒจ์ด ์ ๊ฑฐ๋์ด์ผ ํฉ๋๋ค. ๋ง์ฝ Precharge ์์ด ๊ณง๋ฐ๋ก ๋ค๋ฅธ Row๋ฅผ ์ด๋ฉด, ์๋ก์ด ์ ์์ ์ ๋ฌ๋๋ ๋ฏธ์ธํ ์ ํ(์ fF ์์ค)๊ฐ ๊ธฐ์กด Write ์ ๋จ์์๋ ๋นํธ๋ผ์ธ ์ ์ ์ฐจ์ ๋ฌปํ๋ฒ๋ ค Sense Amplifier๊ฐ ์ฌ๋ฐ๋ฅธ ํ๋จ์ ํ์ง ๋ชปํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ DRAM ์ํคํ ์ฒ์์๋ โACT โ R/W โ PREโ์ ์์๋ฅผ ๊ธฐ๋ณธ Cycle๋ก ์ ์ํ๊ณ , ๊ฐ ๋จ๊ณ๊ฐ ๋๋ ๋๋ง๋ค ๋นํธ๋ผ์ธ์ ์ด๊ธฐํํ๋ ๊ณผ์ ์ ํ์์ ์ผ๋ก ๊ฑฐ์นฉ๋๋ค.์ ์งธ, ์ค์ DRAM ํ์ด๋ฐ ํ๋ผ๋ฏธํฐ ๊ด์ ์์๋ Precharge๋ Write ๋์ ํ์ ๋ฐ๋์ ๊ณ ๋ ค๋ฉ๋๋ค. ๋ํ์ ์ผ๋ก tWR(Write Recovery Time)๊ณผ tRP(Precharge Time)์ด๋ผ๋ ์ง์ฐ ์๊ฐ์ด ์ ์๋์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด DDR3-1600์์ tWR์ ์ฝ 15ns, tRP๋ 13.75ns ์ ๋์ธ๋ฐ, ์ด๋ Write ํ ๋ฐ์ดํฐ๊ฐ Sense Amp์์ ์ ์ ์์ ์ ์ผ๋ก ์ ์ฅ๋๊ณ ๋ ๋ค Precharge๊ฐ ์๋ฃ๋๊ธฐ๊น์ง ํ์ํ ์๊ฐ์ ๋๋ค. ์๋ฒ์ฉ DRAM์์๋ ์ด ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ํฉ์ณ ์ต์ ์์ญ ns ๋จ์์ ์ง์ฐ์ด ๋ฐ์ํฉ๋๋ค. ์ฆ, ๋ฉ๋ชจ๋ฆฌ ์ปจํธ๋กค๋ฌ ์ฐจ์์์๋ Precharge๋ Write ์ฌ์ดํด์ ํ์ ์์๋ก ์ธ์๋๊ณ ํ์ด๋ฐ ์ ์ฝ์ ๋ฐ์๋ฉ๋๋ค.ํ์ ์์๋ฅผ ๋ค์ด๋ณด๋ฉด, ์ผ์ฑ์ ์ DDR5 DRAM ์ปจํธ๋กค๋ฌ ์ค๊ณ์์๋ Write ๋์ ํ โAuto-Prechargeโ ์ต์ ์ ์ฌ์ฉํ์ฌ ์ปจํธ๋กค๋ฌ๊ฐ ๋ณ๋์ Precharge ๋ช ๋ น์ ๋ด๋ฆฌ์ง ์์๋ ๋ด๋ถ์ ์ผ๋ก ๋นํธ๋ผ์ธ์ด ์๋ ์ด๊ธฐํ๋๋๋ก FSM์ ์ค๊ณํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ๋ฉ๋ชจ๋ฆฌ ์ฑ๋ ํจ์จ์ ๋์ด๋ ํต์ฌ ๊ธฐ๋ฒ์ธ๋ฐ, ๊ทธ๋งํผ Precharge๊ฐ Write ํ์๋ ๋น ์ง ์ ์๋ ๋จ๊ณ๋ผ๋ ์๋ฏธ์ ๋๋ค.์ ๋ฆฌํ๋ฉด, Write ํ์๋ Precharge๊ฐ ํ์ํ ์ด์ ๋ ์ฒซ์งธ, ๋นํธ๋ผ์ธ ์์ ๋ค์ ๊ธฐ์ค ์ ์(Vdd/2)์ผ๋ก equalizeํ์ฌ Sense Amplifier์ ๋์ ์กฐ๊ฑด์ ๋ง์กฑ์ํค๊ธฐ ์ํจ์ด๊ณ , ๋์งธ, Row-to-Row ๊ฐ ๊ฐ์ญ์ ๋ฐฉ์งํ๊ธฐ ์ํด์์ด๋ฉฐ, ์ ์งธ, JEDEC DRAM ํ์ค ํ์ด๋ฐ ์ ์ฝ์๋ ๋ฐ๋์ ํฌํจ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ๋จ์ํ ์ ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์๋ค๋ ๊ด์ ์ด ์๋๋ผ, DRAM array ์ ์ฒด์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ์ฑ๊ณผ ๋ค์ Access๋ฅผ ์ํ ์ด๊ธฐ ์กฐ๊ฑด ํ๋ณด๋ผ๋ ์์คํ ์ ๊ด์ ์์ ๋ณด์ ์ผ ์ดํด๊ฐ ๋์ค ๊ฒ ๊ฐ์ต๋๋ค.
- 0
- 1
- 29