레이블이 Electronics Homebrew인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Electronics Homebrew인 게시물을 표시합니다. 모든 게시물 표시

일요일, 5월 17, 2026

내 신경망 만들기(Making My Own Neural Network)

내 신경망 만들기(Making My Own Neural Network)

온 세상이 "인공지능"으로 가득 합니다. "Make your own Neural Network" 은 인공지능의 시작이라고 하는 "신경망"을 쉽게 설명한 책입니다. 이 책은 한글 번역판도 있는데 부제에서 말한 "수포자도 이해하는 신경망 동작 원리와 딥러닝 기초"라는 문구에 동감할 만 합니다.


Make Your Own Neural Network                    신경망 첫걸음

1부와 2부로 나눠진 이 책은 1부에서 신경망의 작동 원리를 곱셈과 덧셈 만으로 설명합니다. 약간의 고등 수학 '처럼' 보이는 부분이 가미되어 있지만 1차 방정식과 인수분해 만으로도 충분히 이해할 수 있는 수준입니다. 2부는 '파이썬(Python)'으로 내 신경망을 제작 합니다. "DIY with Python"라는 장 제목부터 남다릅니다. '파이썬'이라는 컴퓨팅 언어를 모르는 입문자를 배려하여 "아주 부드럽게 시작(A Very Gentle Start with Python)"합니다. 1부가 '수포자' 였다면 2부는 '컴포자(컴퓨팅 언어를 포기한 자)'를 대상으로 쓰였다고 해줄 만 합니다. 텐서플로우니 파이토치니 하는 매우 추상적인 패키지(라이브러리)들을 사용하지 않고도 가장 기본적인 numpy, matplotlib 만 사용하여 MNIST 라는 손글씨 숫자 영상 인식을 수행하는 "내 신경망"을 충분히 코딩하고 실행할 수 있음을 보여주고 있습니다.

다만 '수포자', '컴포자'의 입문서 치고 두께가 만만치 않아서 요약글을 준비했습니다.

내 신경망 만들기(Making My Own Neural Network)
https://fun-teaching-goodkook.blogspot.com/2026/05/blog-post.html

원서의 제목을 빌어 "내 신경망(My Own Neural Network)" 제작이 목표입니다. "파이썬" 뿐만 아니라 C++ 언어로도 작성 했습니다. 파이썬과 C++ 언어를 공부하면서 학습 예제로도 유용할 것입니다. 소스 코드는 "내 칩 디자인 킷"의 깃허브 저장소에 올려 놓았습니다.

https://github.com/GoodKook/ETRI-0.5um-CMOS-MPW-Std-Cell-DK/tree/main/Projects/MYONN

----------------------------------
오픈-소스 "내 칩" 디자인 킷 사용자 그룹(Open-Source My-Chip Design Kit User Group)
https://groups.google.com/g/mychip-on-mydesk


토요일, 4월 25, 2026

어느 시골 생활자의 봄날 아침 책상샷 (feat. "오픈 소스 내칩 디자인 킷" 사용자 그룹)

아무도 궁금해 하지 않을 어느 시골 생활자의 봄날 아침 책상샷

올해로 마침내 어쩔수 없이 국민 연금 수급 대상자가 되었다고 합니다.  앞으로 몇번이나 더 볼 수 있을지 모르지만 마당에 나서 맞는 봄날 아침 햇살이 눈이 부십니다. 우리나라 기대 평균 수명이 83세라고 합니다. 별탈 없이 산다면 열댓번 남아 있다고 생각하니 아쉽기 그지없네요. 대문밖에 나서 한창인 벗꽃을 구경하다가 들어 왔습니다.

어질러 놓은 책상을 보면서 마음만은 호기심 가득한 청춘이라며 조금 위안을 받습니다. 아무도 궁금해 하지 않지만 책상 샷을 늘어놓아 봅니다. "양평집"은 구옥을 고쳐 넓힌 탓에 내부 구조가 기이합니다. 창가를 빙둘러 여러대의 책상이 놓여 있어요. 가정 먼저 눈에 띄는 회의 테이블. 여섯명이 앉아 회의를 할 수 있지만 실제 회의를 해본 적은 없습니다.

뭔가 신기한 것을 이해했을 때 저기 앉아 창밖을 보며 연구 노트를 씁니다. 요즘 인공지능이 흥하니 그 기초라는 신경망을 기억 속에서 끄집어 내어 정리하고 있습니다. 이어서 공돌이 답게 땜질 책상이 있습니다.  

마주한 벽면으로 주 책상에서는 시뮬레이션, 테스트, 코딩, 동영상 녹화 등 컴퓨터를 사용하는 작업을 합니다. 중국 알리 상회에서 구입한 오실로스코프가 보이네요. '메이커'(아마도 업계에서 일하다 은퇴한 노련한 기술자)들이 자작으로 측정기들을 만들어 그 소스들이 공개되고 이를 받아 중국에서 제조하니 가격이 엄청나게 저렴합니다. 초 정밀도는 아니더라도 대학(석사급) 실험 수준에는 충분 합니다.

그 옆을 돌아가면 공작대와 무전 책상이 있습니다. 기판을 자르고 샷시 만들 때 쓰는 간단한 공구들이 보입니다. 3D 프린터와 NC 밀링기를 구입할까 고민만 몇년째 입니다.

저는 아마추어 무선사입니다. 시골에 와서 속시원하게 40메터 길이의 (어마어마 한! 도시에서는 꿈도 못 꿀!) 다이폴 안테나를 쳤습니다. 요즘은 반도체 설계에 빠져 있어서 무전기에 먼지만 뽀얗군요. 틈날 때는 초소형 무전기를 만들어 교신을 하기도 합니다. 내가 만든 전자회로가 내 책상을 벗어나 하늘로 날아오르다니!!!

 
https://www.youtube.com/shorts/N4XRflOGtJc

천장에 비행기가 날아 다니네요. 입체 종이 공작(paper craft)도 저의 취미중 하나 입니다.

 

사진에서 보다시피 컴퓨터 외에 밤하늘, 비행기, 무전기 등등 아직 궁금한 것이 많습니다. 예전에는 당연하다고 여겼던 것들이 뒤늦게 궁금해 져서 찾아보고 이해하고 만들어보고 부수고 있습니다. 30년 전에 곁눈질로나마 봐뒀던 요즘 신기술이라 하는 것들의 기초를 지금 매우 유용하게 되살리고 있습니다. 예전에 컴퓨터의 성능을 이유로 실현하지 못하던 것들이 이제 살아나니 한편 후련하고 처음부터 시작하느라 고전하는 젊은 친구들을 보니 한편 고소(?) 합니다.


The Mistake That Built Heathkit, and the America That Buried It
https://youtu.be/lUQOG1hp54g?si=cZ07jr2Leovly2Uy

지금의 과학기술 사회를 이루는데 큰 기여를 했던 "히쓰킷(Heathkit)". 단지 부품을 파는데 그치지 않고 조립 설명서를 넘어 회로 동작을 교육하는 교재로도 그만 이었다고 합니다. 그덕에 지금의 "메이커" 전통의 토대가 되었다는 생각을 하게 합니다. 아쉽게도 전자부품이 작아져 직접 조립할 수 없게 된데다 80년대 들어 완제품의 대량생산으로 키트 제품의 가격이 완제품보다 비싸져서 결국 문을 닫게 되었습니다. 최근 전자부품의 대량생산과 제조기술 덕에 "모듈"들의 가격이 내려가서 "메이커"들이 부활하고 있습니다. 설계와 제작 비용 때문에 엄두도 못냈던 "반도체" 역시 예외는 아닙니다. 독일의 어느 '메이커'가 Tiny Tapeout 으로 유명한 매튜 벤(M. Venn)씨를 온-라인으로 모셔다가 디지털 반도체 설계를 진행 하더군요. 무려 여섯 시간동안 중간에 밥도 먹어가며 라이브를 진행 합니다.


LIVE: Making a custom ASIC design feat. legendary Matt Venn
https://www.youtube.com/live/cU38rujL6eY?si=tr-QAovpLVbHrr3E

마침내 자기가 첫 ASIC을 만들었다며 자랑을 하고 있어요.


I made a custom ASIC: World's first of its kind
https://youtu.be/DdF_nzMW_i8?si=0tY_MSxJevES1dP7

Tiny Tapeout 을 통해 칩을 만들려면 비용이 들지만 우리는 "내 칩 제작 서비스"는 무료입니다.

호기심을 불태워 보세요. 혹시 반도체 설계를 어떻게 시작할지 모른다면 "오픈 소스 내칩 디자인 킷" 사용자 그룹에 들러 주세요.

MyChip-On-MyDesk
https://groups.google.com/g/mychip-on-mydesk


https://www.youtube.com/watch?v=X9EmajSiu0w

누구나 환영 합니다.


목요일, 3월 19, 2026

'K-엔비디아'를 육성 한다는 소식에 드는 기대

'K-엔비디아'를 육성 한다는 소식에 드는 기대

정부는 국산 AI 반도체의 설계와 생산을 지원하는 이른바 'K-엔비디아' 육성 프로젝트를 추진 중이라고 합니다. 국민성장펀드를 활용해 K-엔비디아 프로젝트에 5년간 50조 규모의 대규모 자금을 투입할 계획 이라면서 17일 민관 합동 간담회를 가졌다는 소식입니다. 이 간담회에  금융 위원회와 과학기술 정통부 장관이 참석했다고 합니다. 금융 위원회의 정책 발표라는 것이 좀 특이 합니다.

'K-엔비디아' 육성, 10조 원 AI·반도체 투자
https://youtu.be/rwB9tpCEOuw

이 소식을 접하면서 30년전 메모리 반도체에서 "시스템 반도체"를 해야 한다고 부산을 떨던 기억이 떠오릅니다. "한국형 닌텐도"라는 해프닝도 기억 합니다.

학생들의 설계를 무료로 칩(반도체 부품)으로 제작해 주는 "내 칩 제작 서비스"를 시행한지 벌써 3년째를 맞이하고 있습니다. 이 사업에 참여 하면서 가장 많이 듣는 느낌은 우리의 반도체 교육이 소자와 공정에 치우쳐 있다는 것입니다.  ARM 에 맞서 한국형 CPU를 가져야 한다며 상당한 투자를 하던 그때는 설계 교육이 활발 했었습니다. 크린 룸(반도체 제조시설)을 갖추기가 쉽지 않아서 그랬는지 당장 해볼 수 있는 반도체가 "설계"였을 지도 모릅니다. 각 대학마다 "베릴로그"니 "VHDL" 이니 하면서 설계 과목이 빠지지 않았었습니다. 요즘 "내 칩 MPW"를 홍보하면서 만나는 관계자(?)들의 말을 빌면 학생들이 "설계"를 너무나 어려워 한답니다. 그 이유로 대학의 교과에 소위 "설계"가 없기 때문이라는데 지난 30년간 반도체 공장을 짖느라, 크린 룸 첨단화 하느라 "설계"가 부족 했다고 합니다. 이를 가르칠 전공자 양성도 등한시 되어 지방의 대학에서는 "디지털 설계"를 가르칠 교원이 부족하다는 말을 합니다.

인공지능 반도체는 디지털 설계의 집합체 입니다. 소규모 디지털 계산기를 거대하게 묶은 프로세서 입니다. 다양한 이유로 디지털 계산기를 "소자"로 해결해 보려는 연구와 노력이 있지만 실효성이 별로 없는지 "엔비디아"는 여전히 대규모 디지털 계산기 입니다. 인공지능 반도체의 골든 타임을 놓치지 않기 위해 시행 된다는 'K-엔비디아' 프로젝트가 남의 칩을 사용하는 AI와 반도체 공장에 큰 혜택이 가겠지만 "반도체 설계"에도 한 몫 돌아가길 기대 합니다.

반도체 설계 인력 양성의 한 축을 담당하고 있는 "내 칩 MPW" 제조 공장의 과제에 더이상 "노후 장비"라는 말이 나오지 않길 바랍니다. 학생들이 설계한 "내 칩"이 안정적으로 제조되길 바랍니다. "소프트웨어" 코딩 만큼이나 "반도체 설계"도 다르지 않게 받아들일 수 있길 바랍니다. 반도체 설계 교육을 받는 학생들이 지루하지 않길 바랍니다.  오롯이 내가 설계한 반도체 IC를 써서 기계 부품을 움직이고 소리를 내고 반짝이는 모습을 보면 그 감동은 평생 잊지못한 기억이 될 것입니다. 우리가 정보통신 강국이 되었던 요인에 컴퓨터 실습실에서 내 무릅 위로 옮겨온 "노트북"이 큰 기여를 했듯이 반도체 설계 실습 "장비"가 학교 실험실에서 묶여있지 않길 바랍니다. 오픈-소스 EDA(소프트웨어 및 하드웨어)를 활용하면 반도체 설계 "도구"를 내 책상위에 꾸미는데 큰 비용이 들지 않습니다. 정보통신 학과 입학생에게 "노트북"을 제공 했듯이 "반도체"를 설계하려는 모든 학생들에게 개발 "장비"를 사줄 수 있길 기대합니다.

"적을 알고 나를 알면 백전백승"이라고 합니다. 기왕 "K-엔비디아"를 목표로 삼은 참에 GPU 가 어떤 물건인지 알아봅시다.

https://youtu.be/h9Z4oGN89MU

반도체 설계 공부에 재미를 붙일 수 있을 만한 예제도 마련해 봤으니 살펴봐 주세요. 그리고 이 작은 반도체 설계에도 거대한 GPU와 유사한 개념도 담겨 있으니 찾아보면 흥미로울 것입니다.

["내 칩" 베릴로그 RTL 예제] 탁구 게임기
https://fun-teaching-goodkook.blogspot.com/2026/02/rtl.html

"내 칩" 에뮬레이션 검증 키트/MyChip on MyDesk
https://fun-teaching-goodkook.blogspot.com/2026/01/1.html






월요일, 3월 09, 2026

물리 인공지능의 종결자는 기계공학

물리 인공지능의 종결자는 기계공학

전기전자공학과 AI 반도체가 세상을 지배하는 듯이 굴지만 결국은 "물리" 인공지능의 종결자는 기계공학입니다.


https://youtu.be/O8txvk5m6VM?si=93CFIpKV-V_8uITy

이 유튜버는 작은 스팀 엔진을 만들기 위해 현미경을 보며 쇠를 깍고 연마 합니다. 그도 전자 계산기의제어 도움을 받는 CNC나 3D 프린터가 효과적일 수 있다는 점은 알고 있지만 굳이 손수 선반(lathe)과 밀링(milling)기를 사용하는 이유가 있다고 합니다. 3D 프린터는 숙련 기술자의 손을 따라갈 만큼 정밀하지 않고 거창한 CNC 장비는 "적정" 하지 않습니다. CNC 대신 작은 부품을 가공하기 위해 펜토그래프를 활용하고 있습니다.

각고 끝에 만든 작은 엔진은 잘 작동합니다. 작지만 흡기와 배기 사이의 운동을 이어주기 위한 플라이 휠이 제역활을 합니다. 작은 엔진이 고유의 운동 주파수(진동 주기)를 가지고 있어서 고속으로 돌리면 동조 현상이 있어서 진동이 격렬해 집니다. 흡배기 직선 운동이 회전운동으로 전달되어야 하는데 고유 진동수 증폭으로 소모되면 곤란하겠습니다. 실시간 진동을 퓨리에 변환으로 측정해보니 약 700 헤르츠에서 최고치가 나왔습니다. 이 진동수를 피하는 대책을 세울 것 이라고 합니다.

시간 상의 진동 현상을 주파수 축으로 변환하여 분석하는 기법은 공학의 다양한 분야에서 활용됩니다. "내 칩" 디자인 킷 예제에 FIR 필터를 설계하면서 특성을 분석하기 위해 퓨리에 변환 기법을 사용하고 있습니다.

https://github.com/GoodKook/ETRI-0.5um-CMOS-MPW-Std-Cell-DK/tree/main/Projects/HLS/FIR8

이 설계는 "내 칩 제작 서비스" MPW를 통해 제작 되었습니다.

제작된 "내 칩"을 테스트 하는데 퓨리에 변환으로 주파수 특성을 확인합니다. 양품 칩의 모습은 다음과 같습니다.

아래 그림은 시간 축상 출력이 그럴듯 하지만 주파수 변환을 해보면 제대로 작동하지 않는 불량 칩의 모습입니다. 차단 주파수 대역의 모습을 보여주지 못하고 있습니다.


토요일, 1월 24, 2026

FPGA로 구현하는 복고 컴퓨팅(Retro-Computing)

FPGA로 구현하는 복고 컴퓨팅
(Retro-Computing in FPGA)

FPGA 를 이용하여 반세기 전, 개인 컴퓨터가 태동하던 시절의 역사를 되살려보려는 취미가(메이커)들이 한둘이 아니다. 그들이 구현한 짧은 동영상을 보면 당장 해봐야 겠다는 충동이 든다. 이것저것 찾다보면 가랭이가 찢어질 판이다. 그중 몇가지만 소개해 본다.

MicroCore Labs[link], FPGA 에 6502를 심어 Apple-][를 완벽히 동작시키고 있다.

MicroCore Labs의 유튜브 채널,
https://www.youtube.com/@microcorelabs7698

6502뿐만 아니라 68K, 8086/88등을 FPGA에 구현하고 있다. 뿐만 아니라 틴지(Teensy 4.1)보드에 에뮬레이션으로도 구현되었다. 베릴로그와 C 코드들을 전부공개하고 있다.

https://github.com/MicroCoreLabs/Projects

Lans Boards LLC[link], 쪽 보드(breakout board)를 만들어 판매하는 작은 회사(아마 가족 회사인듯)인데 재미있는 것들이 많다. 그중 FPGA를 활용하여 복고 컴퓨팅,

Retro Computing in FPGA,
https://www.youtube.com/playlist?list=PLn__0BqzWEWMcUgzBroNNJYQP1keD--gu

TinyFPGA[link], 다소 생소한 FPGA 브랜드이긴 한데 Apple-1을 구현했다.

깃허브 저장소에 공개되어있다.

Apple 1 FPGA github project
https://github.com/alangarf/apple-one

그외...

디지키(DigiKey), 엘리먼트14 등 대형 부품상 뿐만 아니라 중소 부품상들도 자기들이 취급하는 부품을 판매 하는데 그치지 않고 각종 교육 동영상(프로그램)들을 제작 배포한다. 이 보고 있자면 "메이커"의 본능을 자극한다. 자연스럽게 구매 버튼을 누를 수 밖에 없다. 손님을 유인한다는 말이 있다. 앉아서 장사하기에는 경쟁자들이 너무 많다.

DigiKey Introduction to FPGA
https://www.youtube.com/playlist?list=PLEBQazB0HUyT1WmMONxRZn9NmQ_9CIKhb

Introduction to RTOS
https://www.youtube.com/playlist?list=PLEBQazB0HUyQ4hAPU1cJED6t3DU0h34bz

Master Inverse Kinematics for Arduino Robots – Easy Math, Full Code, Real Results
https://youtu.be/WAsMAeKDc4U?si=-oOgyUKXrJKVjnhx

Analog Designs by Land Boards, LLC
https://www.youtube.com/playlist?list=PLn__0BqzWEWPTvf7TbCX_frHYbBrt2UhU

Measure Op Amp Input Offset Voltage

Uni-OpAmp Kit(Board)
https://land-boards.com/blwiki/index.php?title=UNI-OPAMP-04






목요일, 1월 15, 2026

필기 "연구노트"를 작성하자.

필기 "연구노트"를 작성하자.

메모 앱, 문서 작업 소프트웨어, 화면 캡춰 등 모든 일상이 디지털 화한 요즘 수기로 기록하는 일이 드믄것 같습니다. 쉽게 메모를 남길 수 있다는 장점은 오히려 생각을 덜하게 되고 보관을 해두는 것으로 마치 내것 인양 여길 때도 있습니다. 내 컴퓨터 하드디스크 어딘가에 고이 저장해 두고는 다시 꺼내보지도 않고 정작 필요할 때 또 인터넷 검색을 합니다. 남의 정보는 그렇다 쳐도 내가 겪은 일들은 기록해 두도록 합시다. 실험하면서 겪은 각종 사건들, 사소한 실수들, 갑자기 떠오른 생각들 지나다가 발견한 물건들 등등, 하찮아 보이더라도 모든 것들을 기록해 둡니다. 나의 "연구 노트"는 내 인생의 중요한 자산이 될 것입니다.

저의 "연구노트"에 대한 경험을 풀어봅니다. 재작년(2023년)에 반도체를 무료로 제작해주는 정부사업인 "내 칩 제작 서비스"를 접하고 너무나 반가웠습니다. 하지만 설계를 하려면 도구(소프트웨어)가 필요했는데 "반도체"가 들어가면 뭐든 큰 비용이 듭니다. 학생들에게 "무료"로 칩을 제작해 준다지만 반도체 설계 도구라는 장벽을 넘기는 쉽지 않았습니다. 다행히 "오픈-소스" 운동이 활발해 설계 소프트웨어 역시 높은 완성도를 갖추고 있어서 예전의 경험을 바탕으로 표준 셀 디자인 킷을 어렵지 않게 만들 수 있었습니다. 몇번의 시행 착오를 격은 끝에 "실리콘 검증"을 마치고 상당히 안정된 디자인 킷을 갖추게 되었습니다.


20여년 전에 만들었던 IP 검증용 FPGA 에뮬레이션 보드. USB가 흔치 않던 시절이라 PCI 슬롯에 꼽는 방식이었다.

반도체 설계와 검증 도구에 관심을 가졌던 때가 Magic 이라는 레이아웃 도구를 처음 접했던 30년전 쯤으로 기억됩니다. 서울대학교 반도체 공동연구소에서 MPW 칩 제작을 해준다기에 레이아웃 그리는 소프트웨어를 찾다가 인터넷(1990년대의 끝자락!)을 통해 알게 되었습니다. 정확하지는 않은데 버클리의 어느 FTP 사이트에서 소스를 받아 썬 워크스테이션에서 컴파일해서 썼던 것으로 기억됩니다. 내인생의 첫 "내 칩"을 받아들었을 때의 감동이 아직도 생생하군요.

 
샘플 칩 제작의 추억[링크]

그후 하드웨어 언어(베릴로그와 VHDL)를 접하고 반도체 설계 방법론 탐구에 빠져 지냈습니다. HDL 시뮬레이터가 어찌나 신기했는지 모릅니다. 코뿔소 그림이 새겨진 VHDL 시뮬레이터를 지도교수님을 졸라서 연구실 프로젝트 비용을 떼서 구입 했는데 그게 인생의 전환점이 됐군요. 한 카피에 학생 할인 가격이 500만원으로 기억됩니다. 수십년이 지난 이야기 이지만 그때 몇가지 소프트웨어의 라이센스(프린터 포트에 꼽는 락 드라이버)를 디스 어셈블 크랙해서 나눠 쓰곤 했습니다. 그 때 시뮬레이션과 에뮬레이션 검증에 미쳐서 세월이 가는 줄도 몰랐습니다. "모래시계"라는 드라마의 열풍도 IMF 라는 국가부도의 위기도 몰랐으니까요. 실험실 귀신으로 지내던 시절이었습니다. 그때 날밤 새며 궁리했던 FPGA 에뮬레이션 검증 기법이 오늘의 "내 책상 위에 내 칩(MyChip-on-MyDesk)" 설계 방법론으로 되살아 나게 될 줄은 몰랐군요.

수십년이 지나 소위 "인생 2막"을 "반도체 설계"로 행복하게 맞이할 수 있던 토대는 바로 그 시절에 작성해 뒀던 "연구노트" 입니다. 그때 정성스레 작성한 전자문서(HWP)는 저 먼 우주로 날아갔지만 손으로 작성해 뒀던 공책은 내 책상 위에서 건재합니다. 2001년에 작성했던 노트를 2023년에 꺼내 "내 책상위의 반도체 설계실"을 구축했으니 그때 손으로 작성했던 "연구노트"가 여간 소중하지 않군요. "연구노트"는 이공계 인생의 일기이자 비망록 입니다. "연구노트" 작성으로 앞으로 펼쳐갈 인생 자산을 풍부히 하시기 바랍니다.


일요일, 1월 11, 2026

예전에는 "자율주행"을 뭐라고 했을까?

 자동차가 도로 주행을 허가 받은 것이 1894년이라고 합니다.

Germany’s Oldest Street-Legal Car | 1894 Benz Victoria | German Cars
https://www.youtube.com/watch?v=bQ4vB55z0RE

편리함을 맛본 인간은 백년이 안되서 게을러 졌죠. 운전마져 귀찮아지기 시작한 겁니다.

Early Driverless Car in 1971
https://www.youtube.com/watch?v=5ocvNxjN3dc

나혼자 도로를 온통 독차지 할 수 있다면 좋았겠지만, 도로로 나가면 별의별 미친놈들이 넘쳐나는 무법천지에 쌍욕이 저절로 튀어나옵니다. 그래도 도로에서 무사할 수 있는 것은 인간의 "지능" 덕분입니다. 별로 바빠보이지 않은 인간은 운전하기 싫음의 미련을 버리지 못했지요. 그렇다면 운전에 지능을 넣어볼까? 라는 생각을 진작부터 해왔습니다.

NavLab 1 (1986) : Carnegie Mellon : Robotics Institute History of Self-Driving Cars
https://www.youtube.com/watch?v=ntIczNQKfjQ

수십년이 지났지만 도로위의 자율주행의 희망은 지난할 뿐이었습니다.

Autonomous Vehicles at CMU Robotics Institute: 1984-2007
https://www.youtube.com/watch?v=N49_CmjbcQ8

History Channel 1998 : Driverless Car Technology Overview at Carnegie Mellon University
https://www.youtube.com/watch?v=2KMAAmkz9go

급기야 운전 로봇이 등장하긴 했는데 ....

Inside Zoox: The robot vehicle totally changing transportation | Hard Reset by Freethink
https://www.youtube.com/watch?v=tGgGdqr2aIc

운전이 별거 있나요. 상황을 인지하고 문제를 해결한 후 전진!

Sense, Solve, and Go: The Magic of the Waymo Driver
https://www.youtube.com/watch?v=hA_-MkU0Nfw

"자동차"는 원래 스스로 달리는 탈것 입니다. 여기에서 인간은 굳이 배제하고는 "자율주행"이라고 합니다. 이미 운전자 없는 "지하철"이 사고없이 지하철로를 누비고 있습니다. 정해진 선로위를 달리면서 말이지요. 그런데 이것은 그간 꿈꿔왔던 "자율 주행"은 아니잖아요?

-------------------------

아주 단순한 자율 주행(?) 로봇으로 "라인 트레이서" 또는 "Line Follower"는 해볼만 합니다. 알리상회에서 아날로그 키트를 팔고 있는데 CDS 센서, OpAmp 전압 비교기, 트랜지스터 모터 구동기로 구성된 간단한 회로를 가지고 있고 차대와 기어 모터 포함하여 단돈 3천원 입니다. 만들어 봤는데 꽤 쓸만 합니다.

https://www.youtube.com/watch?v=1R2xdOOmbDs

아이들 장난감 같지만 만들기에 그치지 않고 회로 분석을 해보면 많은 것들을 알 수 있습니다. 차대와 기계 부품은 그대로 사용하고 디지털 제어로 개조하면 재미 있을 겁니다. 재미있게 설명한 동영상이 있네요.

https://www.youtube.com/watch?v=QoNkpnpvEqc

https://www.youtube.com/watch?v=8Lj5ycrT9Fw

Line Follower 는 한때 우리나라에서도 마이크로 마우스와 함께 인기있는 종목중 하나 였었습니다. 해외에서는 여전히 인기가 있어 보입니다.

https://www.youtube.com/shorts/CGwT1-PukrA

제어 알고리즘, 자율주행 인공지능 등의 학습용으로 재미있을 듯 하네요.

---------------------------------------------------------------

Controlling Self Driving Cars
https://www.youtube.com/watch?v=4Y7zG48uHRo

PID vs. Other Control Methods: What's the Best Choice
https://www.youtube.com/watch?v=lRZ4NT5DRk8

---------------------------------------

"자율 주행"은 결국 장애물을 감지하고 이를 피해 구동계를 제어합니다. 여기에 얼마나 많은 자원이 필요할까요? 이 사람의 이야기를 들어봅시다. 단 두개의 신경세포 만으로 가능 하다고 설명 합니다. 

Building analogue BEAM robots. A complete introduction
https://youtu.be/ViUdwu6o3rc?si=8eIElbzpje2xPNmc

Biotechnology Ethology Analogy Morphology
https://en.wikipedia.org/wiki/BEAM_robotics

이런 모습을 염두에 뒀을까요?

Minority Report/Spider Robot
https://youtu.be/901lYbPmqu4?si=Ic-H2nWWkxeA3Kep

-------------------------------------

주행 알고리즘을 MCU에 구현하는 편이 효과적(실용적)이지만 제어 FSM과 간단한 학습을 전용 하드웨어로 만들어 "내 칩 MPW"로 제작해보는 과제도 흥미있을 것 같아서 궁리해 보는 중입니다. ^^

-----------------------------------

그러나 저러나... 꼭 전기 구동계 여야만 하는거야?

Electronics-Free Soft Legged Robot
https://youtu.be/bnT6BBkDYlc?si=-ZUPVTylKMOWKKKU

Combustion Powered Soft Walking Robot
https://youtu.be/KgFzI1hhMtw?si=g5jA-WjW9NAa71rI

---------------------------------------------------------------

공부하다가 심심할 때 남들은 뭐하는지 들여다 봅시다. 그러다 호기심이 돋아 따라하다 보면 재미있는 아이디어가 솟아날지도 몰라요.

"로봇 벌레" 그거 어따 쓸거야? (돈 되?) 분명 활용될 곳이 있어요. 지금은 호기심 충족으로도 충분해요.
https://youtu.be/H6q6pYZ9Fho?si=xuR9PwP_3DXQZ64m










수요일, 1월 07, 2026

"반도체 설계 도구들은 왜 '불편한' 명령줄(Command-Line Interface)에서 실행하나요?"

"왜 MyChip은 어색한 리눅스에서 실습하나요? win11이 익숙한데요."

심오한 질문을 질문을 주셨습니다. 이 질문은 아마 다음과 같은 뜻을 담았으리라 짐작되네요.

"반도체 설계 도구들은 왜 '불편한' 명령줄(Command-Line Interface)에서 실행하나요?"

응용 프로그램들이 그래픽 사용자 인터페이스(GUI, Graphic User Interface)체제를 갖추면 직관성이 높아 집니다. 한마디로 "척보면" 뭘할지 안다는 것입니다. 이는 사무 자동화 분야에 커다란 혁신이 되었고 컴퓨터 활용이 전문가에서 "누구나"로 옮겨가게 되었습니다. 화면에 보이는 "그림"이 컴퓨터 사용자가 원하는 최종 결과물이 됩니다. "화면에 보이는 것이 바로 당신이 갖게될 출력물"이라는 뜻으로 What You See is What You Get을 줄여서 WYSWYG(위지위그)라고 합니다. 이 GUI의 문제는 응용 프로그램의 수많은 기능들을 화면에 보이는 메뉴로 모두 나열하기 어렵다는 것입니다. 각종 기능들이 메뉴 항목의 어디에 숨어있는지 아는 것으로 "컴 퓨터 활용 능력자"의 평가 척도가 되어버립니다. 이는 문서의 작성 내용과는 무관한 '잔기술' 입니다. 정작 창작자는 없고 그저 베끼기 좋은 도구가 생겨버린 셈입니다. PCB 그리기나 레이아웃 도면 그리기도 위지위그 방식의 저작 도구입니다.

개발 도구로 IDE(Integrated Development Environment, 통합 환경)가 대세 입니다. 뭐가 통합되었다는 뜻일까요? 소프트웨어든 하드웨어를 막론하고 개발은 목적을 묘사하고 이를 물리적인 형태로 바꾸는 절차를 거칩니다. "묘사"는 컴퓨팅 언어로, "물리적"인 결과물은 묘사와 전혀 수준이 다른 2진 기계어 코드(소프트웨어) 또는 레이아웃 도면(반도체 하드웨어)입니다. 앞서 말한 "위지위그"와는 전혀 다른 결과물 얻기 입니다. 그 결과물을 얻는 과정은 여러 단계의 절차(이를 추상화 수준 낮추기라고 합니다)를 거치는데 이를 또다른 소프트웨어가 맞아서 해줍니다. 이들을 자동화 도구라고 부릅니다.

최종 목적물을 얻기까지 여러 자동화 도구들이 동원되고 각 도구마다 제각기 명령 체계를 가지고 있으며 옵션 또한 매우 광범위 합니다. 이들을 모두 통합된 환경에서 운영하려면 명령과 옵션들을 모두 메뉴로 만들고 단축키를 사용해야 하는 GUI로는 어렵습니다. GUI의 또다른 단점은 도구가 발전하면서 메뉴 항목이 사라지거나 새로운 항목이 생길 수 있습니다. 어느 메뉴를 눌러야 할지 어느 항목은 선택사항에서 디폴트로 바뀌었는지 일일이 메뉴들을 모두 찾아 들어가 확인하기는 어렵습니다. 제조기술이 급격히 발전하는 경우 이를 다루는 도구의 갱신 또한 빈번합니다. 소프트웨어 버젼이 바뀌었다고 사용법이 달라져서 곤란을 격은 경험이 있을 겁니다. 아마 반도체 분야처럼 도구 버젼을 많이 따지는 경우도 없을 것입니다.

(C, C++, Verilog 등) 컴퓨팅 언어로 묘사한 내용(행위, behavior)을 물리적 변환이 가능한 형식으로 바꾸고 이를 미리 준비된 라이브러리와 합쳐 최종 목적물을 만들어 냅니다. 전자는 컴파일러(Compiler) 또는 합성기(Synthesizer)라고 하고 후자를 링커(Linker) 또는 자동배치배선(Auto P&R)과 셀 병합(migration 또는 phanton cell merge)이라고 합니다. 반도체 설계에서 라이브러리는 '표준 셀(Standard Cell)'이 이에 해당 합니다. 통합 환경이라고 부르는 도구는 추상화 단계 낮추기에 사용되는 소프트웨어들을 체계적으로 관리해 줍니다. 통합 환경은 사용자의 편의를 도울 뿐이지 실제 목표물을 얻는데 직접적으로 기여하는 부분은 없습니다. 그래서 '환경'이라고 부르나 봅니다.

하드웨어 묘사 언어를 기반으로 하는 디지털 반도체 설계의 과정은 소프트웨어 개발에 근접할 만큼 상당부분 자동화 되어 있습니다. 다만 소프트웨어 개발 도구의 경우 기본 옵션으로도 결과를 얻을 수 있는 것과는 달리 하드웨어 설계에 동원되는 도구마다 명령이 많고 이에 따르는 옵션이 매우 중요합니다. 기본 옵션으로 결과를 내지 못하는 경우가 허다합니다. 이 다양한 처리 옵션들에 대하여 메뉴 누르는 절차를 일일이 기술하기도 어렵고 나중에 재현하려면 번잡하게 됩니다. 이는 설계 생산성을 매우 떨어뜨리는 요인입니다. 그래서 명령줄과 스크립트를 적극 활용 합니다. Makefile은 개발자들이 가장 널리 사용하는 스크립트로 이를 처리하는 유틸리티가 make 입니다. 아마 분야를 막론하고 개발자라면 필수적으로 사용합니다. MPW 로 "내 칩"를 만들어보기 위해 반도체 설계에 입문하려고 나선 지금, 이참에 한번 익혀두면 평생 잘한 일 중 하나로 꼽힐 것입니다. 기본 사용법은 어렵지 않습니다. 아래 링크의 문서를 참고하십시요.

"하드웨어 기술 언어의 코딩 스타일"[링크]




토요일, 12월 13, 2025

반도체 "양덕"이 부럽다.

"덕 중의 덕은 양덕"

그리 학구적인 표현은 아니지만 이 말이 부러운 이유가 있다. 자본주의가 팽배한 사회에 돈도 안되는 짓을 하는데 꺼리 낌이 없다는 것이 부럽다. 

자기집 지하실에 반도체 공정실을 꾸민이가 있다.

https://youtu.be/IS5ycm7VfXg?si=OlM9ETTbSOO_YQvR

어찌보면 이 미친짓을 보고 일면식도 없는 이들이 도와준다는 것이 부럽다. 지하실에 반도체 공정실을 꾸미도록 폐기된 장비를 보내주고 응원한단다. 화학물질, 웨이퍼 조각에서 고로, 와이어 본더, 전자 현미경까지...

이렇게 미칠 수 있는 그들의 "인프라"가 부럽다.

"반도체"가 흥하는 분위기를 타고 여기저기 대학에 수십억씩 들여 크린룸을 설치가 유행인가보다. 그 크린룸에서 행하는 교육이 어느 정도인지 짐작도 안간다. 저 반도체 "양덕"보다 실제적인 교육이 있길 바란다.




일요일, 10월 12, 2025

"Chip에 대한 불량분석방법이 있는 대학교재는 본적이 없습니다."

"Chip에 대한 불량분석방법이 있는 대학교재는 본적이 없습니다. C코드 디버깅교재도 본적이 없습니다."

반도체 설계를 공부하고 "내 칩 제작 서비스" MPW에 접수하여 내 칩 제작을 목표로 공부하는 학생들의 카페( https://cafe.naver.com/mychipinout )에 올라온 글에서 따온 문장입니다.

https://cafe.naver.com/f-e/cafes/31561571/articles/56

글을 쓰신 분께서 중요한 지적을 해주셨습니다. 상당한 실무 노우하우(경험치)를 필요로 하는 테스트와 디버깅을 수업에서 다루지 않는 이유가 무엇일까요? 실험 실습 과목이 대충 조교들에게 맞겨지는 관행이 시라져야 할 것입니다. 개별 부품들을 가지고 Op Amp 를 만들고 측정하고 시뮬레이션까지 이어지는 동영상이 있습니다.

https://www.youtube.com/playlist?list=PLXDK0MeyK4ZgWkzd59wLkir7ZjI7fIsFn

이 동영상을 그대로 내 책상위에서 재현해 봤습니다.

https://fun-teaching-goodkook.blogspot.com/search?q=diy+op+amp

이런 실습이 학교 수업에서는 왜 않될까요?

ETRI050 Std-Cell Design Kit은 설계에서 칩 테스트까지 다룹니다. 단지 설계와 레이아웃 평면도에 얻기에 그치지 않고 칩이 출고되면 테스트까지 수행 할 수 있도록 짜여 있습니다. 시뮬레이션으로 공정이 받쳐 준다면 못할게 없다는 식의 논문이 과연 반도체 인력 양성에 도움이 될까요? 반도체 관련 산업에 종사할 직군은 굉장히 넓습니다. 공정과 물질도 중요 합니다만 설계 툴 개발, 디자인 방법론 개발, 테스트 방법론이 간과되서는 않될 일입니다.


장비가 없어서.... 설계툴이 없어서.... 라는 말은 비겁한 핑계에 불과 합니다.

장비가 없어서.... 설계툴이 없어서.... 라는 말은 비겁한 핑계에 불과 합니다.

우리와 분야는 다르지만 지구환경 생물학 분야의 과학자 호프 자렌의 이야기 "랩 걸"을 읽어보시기 바랍니다. 그녀는 라디오 쉑에서 전자공작 취미가들의 부품을 사다가 세계적 실험실을 꾸민 이야길 합니다. 이 책을 읽고 이런 생각이 들더군요.

'랩 걸'을 읽고 나니 누군가의 연구 조수가 되어 주고 싶어 졌다.
https://goodkook.blogspot.com/2018/10/blog-post_23.html

그래서 즉시 실행에 옮긴 것이 ETRI050 Std-Cell DesignKit 입니다.

GitHub - GoodKook/ETRI-0.5um-CMOS-MPW-Std-Cell-DK: ETRI 0.5um CMOS MPW Std-Cell Design-Kit
https://github.com/GoodKook/ETRI-0.5um-CMOS-MPW-Std-Cell-DK

반도체 설계를 배우고 싶은 분, 반도체 설계를 취미로 삼고 싶은 모든 분들에게 조수가 되어 드리고 싶습니다.



일요일, 8월 24, 2025

내 책상위에 꾸미는 반도체 설계 연구실 (MyChip-On-MyDesk)

요즘 반도체... 반도체... 하니까 여기저기 온라인 반도체 설계 학원(?) 이 눈에 띈다. 목표는 오로지 "닥치고 취업!"

인생을 조금 살아오면서 느끼는 점 중에 하나가 공부의 "지속성". 학교 다니면서 배운 것을 그 방면에 취직을 못했다고 깡그리 잊으면 너무 억울하지 않은가? 반도체 설계가 취미로도 그만한 것이 없다. 즐기며 하는 공부를 좋아서 하는 공부가 따라가지 못한다는 말이 있다.

반도체 설계를 취미로 삼아보자. 취미는 장비병이 들어야 한다. 딱 10만원 만 써보자. 당신의 책상 위에 반도체 설계 연구실을 꾸밀 수 있다.


https://fun-teaching-goodkook.blogspot.com/2025/08/13-arduino-quartus-vitishls.html

반도체 설계를 취미로 권하면 "미쳤다"는 말을 하는 이가 있다. 선배도 있고 후배도 있고.... 동네 문화 센터에 "반도체 설계" 취미반이 생기는 그날까지 달려 볼란다.






내가 유튜브를 검색하는 이유?

K-문화가 세계적인 인기를 누린다. 그래서 그런가 유튜브 동영상이 죄다 영어 제목을 달고 있다. 내용은 전부 우리말이다. 뭔 짓인지.... 그나마 AI 번역 자막으로라도 보고 싶은 내용이라면 그러려니 할텐데...

한글 자막으로라도 보고 싶은 유튜브 채널들을 보자면,
https://www.youtube.com/@Asianometry
https://www.youtube.com/@3blue1brown
https://www.youtube.com/@FesZElectronics
https://www.youtube.com/@w2aew
.... 수도 없이 많다....

내가 공돌이라서 그럴지도 모르지만 이들 동영상을 보면 웬지 따라해보고 싶은 충동을 느낀다. 물론 우리말 좋은 동영상도 없는 것은 아니다.

https://www.youtube.com/@dcha
https://www.youtube.com/@youngkyuchoi4260
https://www.youtube.com/@HyunShin
... 셀수 없이 많다....

그런데 문제는 지루하다. 유튜브 동영상을 검색하는 이유가 다양하겠지만 흥미를 끌어 더 찾아볼 동기부여 아닐까? 수업들으려고 유튜브 보는게 아닐건데 말이다.

-----

그러나저러나... 이건쫌 그렇다. 반도체 설계 과정을 잘 설명하기 하는데 드는 예가 게이트 열댓개에 LED 켜기가 설계사양이라고 보여준다.

학생들 눈높이에 맞춘 것인가 싶다가도 요즘 학생들 수준이 이정도야? 서울의 어느 대학에서 2학기 강의를 맏기로 하고 자료를 중비중인데 혼란하다.


일요일, 6월 01, 2025

마이크로프로세서 설계의 역사를 개척한 32비트 벨맥-32

마이크로프로세서 설계의 역사를 개척한 32비트 "벨맥-32"

2025년 5월 22일자 IEEESpectrum 온-라인 기사로 마이크로 프로세서 "벨맥-32"의 설계자들의 이야기가 실렸다.

32 Bits That Changed Microprocessor Design Bell Labs’ Bellmac-32 paved the way for today’s smartphone chips

마이크로프로세서 설계를 바꾼 32비트 Bell Labs의 Bellmac-32는 오늘날의 스마트폰 칩의 길을 열었습니다.

https://spectrum.ieee.org/bellmac-32-ieee-milestone

요약하면,

- 80년대 초에 NMOS 또는 PMOS 만으로 구성된 회로의 반도체 제조에 CMOS는 혁신적인 시도였다.  CMOS는 매우 위험한(!) 시도였다고 한다. Apple-I/II에 사용된 CPU 6502 는 NMOS 공정으로 만든 칩이다.

- 최초 "벨맥-32"은 3.5um CMOS 공정이었다. 목표 동작 속도는 4Mhz 였으나 실제 동작은 2Mhz에 그쳤다. 반도체 제조시설(오늘날의 "클린 룸" 이라고 하기도 민망하지만)을 설계자들이 직접 청소까지 했다고 한다. 1980년대의 최신 16-비트 IBM-PC의 CPU 8088의 동작 속도는 4.77Mhz 였다.


펜으로 6502 CPU의 레이아웃을 그리고 있다(1979)[출처]

- 레이아웃은 플로터로 출력한 도면을 바닥에 펼쳐놓고 색연필로 따라가며 오류를 찾았다고 한다. 현대적인 레이아웃 툴, 시뮬레이터는 없었다.


무려 15만개의 트랜지스터가 그려진 벨맥-32의 레이아웃을 바닥에 펼쳐놓고 색연필로 디버깅. 도면의 크기가 가로세로 6x6메터(20x20 피트)에 달했다고 한다. 적어도 플로터는 있었다고 한다[출처].

- 이들이 만든 32비트 마이크로 프로세서는 C 언어로 프로그램을 짤 수 있도록 감안 하였고(C 언어 특유의 함수 호출 방식, 포인터와 인수 호출과 지역변수에 스택 활용 등) 유닉스와 유사한 운영체제를 돌릴 수 있었다.

- 이 혁신적인 설계에 참여한 한국인 강성모가 있었다. 그는 한국에 돌아와 KAIST 총장을 역임 했다.

이 기사를 읽고 문득 이런 의문이 들었다,

- 우리에게도 이렇게 선구자들이 있었는데 그 "설계의 전통"을 볼 수 없는 것은 내가 찾지 못하는 것일까?

- 설립 80주년이 눈앞인 둔 한국전자공학회, 반도체 강국을 대표하는 이 학술 단체의 홈페이지에 이런 기사가 실리는 모습을 생전에 볼날이 있을까?

- 0.5um CMOS 공정으로 무료로 칩을 만들어 주는 서비스가 진행 중이다. 오픈-소스 반도체 설계 소프트웨어와 그를 활용한 디자인 킷도 구비되었다. 너도나도 달려 들어야 하는 것 아닐까?

오라! "내 칩 제작 서비스" 로....
http://mpw.kion.or.kr/


토요일, 2월 08, 2025

한국에 반도체 설계 방법론 연구자가 있습니까?

한국에 반도체 설계 방법론 연구자가 있습니까?

"내 칩 제작 서비스"는 MPW 방식으로 학부생(심지어 고등학생까지)의 설계를 무료로 만들어 준다. "무료" MPW로는 세계 유일할 것이다. 칩 뿐만 아니라 패키지까지 무료다. 칩을 제작하기 위한 도면(레이아웃이라고 한다)을 그리는 기하학적 기준인 디자인 룰과 SPICE 회로 시뮬레이션 파라미터를 제공한다. 풀 커스텀 칩 제작 서비스다. 한마디로 도면을 그려오면 제작해 준다.

문제는 트랜지스터의 갯수다. 아날로그 회로와는 달리 디지털 회로의 경우 간단한 알고리즘이라도 이를 구현 하려면 엄청난 갯수의 트랜지스터가 동원된다. "내 칩 서비스"에서 제공하는 칩의 크기가 작아 많은 수를 넣을 수 없지만 만여개를 집적 시킬 수 있다. 알고리즘을 쉽게 구현하기 위해 설계의 생산성을 높이는 설계 자동화 도구의 사용은 피할 수 없다.

"내 칩 제작 서비스"의 공정은 0.5um 2-poly/3-Metal CMOS다. MPW의 칩 크기는 1.9x1.9mm인데 28개 표준 입출력 패드 포함이다. 순수 설계 면적은 950x950um 다. 이정도 면적이면 8비트 곱셈기와 16비트 덧셈기는 충분히 수용한다. 간단한 디지털 신경망의 뉴런, 디지털 필터의 처리요소(PE), 간단한 8비트 마이크로 프로세서 정도는 들어간다. 비록 최첨단 공정은 아니지만 아이디어를 넣기에 부족함이 없다. 칩 면적은 패키지를 무료로 제공 받기위한 것이고 필요하다면 협의에 따라 넓은 크기의 칩을 할당 받을 수 있다. 이경우 패키지가 관건인데 COB(Chip-On-Board)는 큰 비용이 들지 않는다.

무료 임에도 불구하고 "내 칩 MPW"의 지원 껀수가 저조하다고 한다. 이제 시작한지 2년째 인데다 공정을 마치고 칩을 배포한 횟수가 세번째 이니 사업초반이지만 향후 지속적인 사업을 위해 적극적인 홍보가 필요하다는 말이 나오고 있다. MPW 참여 독려를 하면 상용 설계 도구를 지원하지 않기 때문이라는 말을 듣는다고 하는데 과연 그럴까?

도데체 지난 십여년간 무슨 일이 있었을까?

나는 지난 십여년간 국내 반도체 산업 환경이나 학계에 관심을 끊고 지내다 학생들을 지도할 기회가 있어 들여다 보면서 많은 생각이 들었다. 특히 작년(십여년 만)에 몇번의 학회에도 가보고 이번  2025년 한국 반도체 학술대회(반도체 강국이라는 대한민국의 최대 반도체 학술대회라고 한다)의 발표 논문들을 보니 이래도 되나 싶을 정도다.

[참고] 구두발표 목록
    http://kcs.cosar.or.kr/2025/download/program/KCS2025_FP_ORAL_250206.pdf

대부분 물질과 공정에 집중되어 있고 말들은 설계라고 하지만 알고리즘 기반의 설계라기 보다 트릭에 가까운 것들이고 VLSI CAD 라고 하지만 SPICE 사용기 정도에 불과하다. 논문 모집 분야에는 분명히 VLSI CAD 에 설계 방법론(HW/SW Co-Design), EDA 도구들(Auto P&R), 테스트 등이 있는데 한편도 눈에 띄지 않는다.

[참고] 논문 모집분야: http://kcs.cosar.or.kr/2025/cfp.jsp

"내 칩 제작 서비스"를 시작 하면서 설계 도구에 대한 고민이 있었을 것이다. 처음 MPW에 참여 하려고 문의를 했을 때 "도면을 그려오면 공정해 줄께"라는 느낌이 들었다. 받아든 디자인 킷은 그냥 SPICE 파라메터와 디자인 룰 뿐이었다. '학부생'이 뭘 어떻게 그릴 수 있을까? IDEC(반도체 설계 교육 센터)에서 상용 설계도구의 라이센스를 지원 받을 수 있다지만(라이센스 서버 접근은 제약 사항이 많다) 공정에 맞도록 체계를 갖추려면 상당한 비용과 시간이 필요해 보였다. "구형" 실험실 공정을 전문 상업기관에 외주를 맞기기도 어렵겠지만 실적이 필요한 연구소나 비용을 따지는 전문업체를 감안하면 맡아줄 곳이 있을지도 의문이다. 공정에 맞는 설계 방법론(디자인 플로우)를 학교 연구실에서 수행하면 좋겠지만 위의 학술 대회를 살펴보니 어렵겠다는 생각이 든다.

트랜지스터 몇십개 그리기도 좋은 아이디어 일 수 있지만 공부하고 설계하는 흥미를 끌지 못할 것은 분명하다. 인공지능 컴퓨팅을 일상에서 접하는데 학교의 반도체 설계 수업은 버튼을 누르고 LED를 켜는 수준이니 제아무리 "무료"라 해도 MPW 제작 껀수가 늘어날 리가 있겠는가? 현실이 이런데 상용 합성 도구를 지원 한다고  MPW 지원 껀수가 늘어날지 의문이 든다. 시납시스 디자인 컴파일러를 비롯한 상용 툴들은 그저 핑계로 밖에 보여지지 않는다.

이미 1980년대부터 반도체 설계 인력 양성 목적의 MPW를 진행해온 미국이나 유럽에서도 상용 툴의 고비용 문제를 진즉에 인식하고 오픈-소스 툴로 방향을 잡고 매우 완성도를 높여가고 있다. SkyWater나 GlobalFoundry, iHP(유럽)의 130/180nm 공정 저비용 MPW도 활발하다. 이들은 모두 표준 셀들을 포함하여 오픈 소스 툴을 지원하는 PDK를 공개하고 있다.

오픈 소스 PDK를 기반으로 "유료" MPW를 수행하는 TinyTapeout의 실적을 보면 작년에 무려 6건의 공정을 실시했다. 이 MPW 서비스에 응모하여 설계했던 내용들은 매우 다양하다.

https://tinytapeout.com/runs/
https://tinytapeout.com/runs/silicon-proven/

우리가 반도체 설계 도구와 방법론을 등한히 하는 동안 반도체 설계 방법론과 EDA는 유럽은 물론 인도, 중국, 일본, 대만에서 장악하고 있다. IEEE/EDA 위원회(CEDA) 유튜브 채널을 봐도 알 수 있다. 회로 설계 트릭을 발표하는 ISSCC에만 관심을 두지 말고 DAC(Design Automation Conference)나 DATE(Design Automation & Test Equipment)에도 관심을 가졌으면 좋겠다.

IEEE/CEDA: https://www.youtube.com/@ieeecouncilonelectronicdes6411
DAC: https://www.dac.com/
DATE: https://www.date-conference.com/
DAC, DATE, SystemC의 지역 학술회의는 인도, 중국, 대만, 일본에서도 열린다.

다행히 "내 칩 제작서비스"의 공정용 오픈-소스 설계 도구 활용 디자인 킷이 개발 되었다. 몇차례 시도 끝에 이 디자인 킷으로 동작 하는 칩을 제작할 수 있게 되었다. 시스템 수준 알고리즘 개발, RTL 합성과 검증, 자동 P&R과 GDS 생성, 사인 오프용 DRC와 LVS, 칩 테스트까지 반도체설계의 전 과정을 해볼 수 있다. 이 디자인 킷은 초 저비용으로 "내 칩"을 "내 책상"위에서 설계하고 시험해 볼 수 있는 체계를 갖췄다. 디자인 킷의 개발자로서 반도체 설계 교육에 널리 활용 되길 바란다.

[참고] ETRI 0.5um CMOS MPW Std-Cell Design-Kit
            https://github.com/GoodKook/ETRI-0.5um-CMOS-MPW-Std-Cell-DK.git
[참고] 초 저렴 반도체 설계, 설계에서 테스트까지 단돈 $100 로!
            https://goodkook.blogspot.com/2025/02/100.html

모눈종이에 색연필로 레이아웃을 그리던 때가 반세기 전이다. 오픈-소스 도구로 칩을 설계할 수 있는 지금, 상용 툴 지원 타령하는 사람들은 MPW와 설계를 모르고 하는 말이다.

[참고] 80년대의 레이아웃 설계의 어려움, VLSI DESIGN METHODOLOGY THE PROBLEM OF THE 80'S FOR MICROPROCESSOR DESIGN [pdf]
[참고] 최근 오픈-소스 도구의 활용, OpenROAD: Toward a Self-Driving, Open-Source Digital Layout Implementation Tool Chain [pdf]




수요일, 2월 05, 2025

초 저렴 반도체 설계, 설계에서 테스트까지 단돈 $100 로!

초 저렴 반도체 설계,
시스템 수준 설계-RTL 검증-FPGA 프로토 타이핑-칩 제작-칩 테스트까지 단돈 $100 로!

2024년 2차 "내 칩 MPW"를 통해 제작한 칩이 출고되었다. 테스트 결과 약간의 오류가 있지만 오픈-소스 도구들과 표준셀의 동작이 검증 되어 마침내 디자인 킷의 완성이 코앞이다. 디지털 설계에 관한한 처음 목표했던 "$100 이내 초 저렴 반도체 설계: 시스템 수준-RTL 설계-검증-FPGA 프로토 타이핑-칩 제작-칩 테스트까지" 명실상부한 완전체를 구성 할 수 있게 되었다!

- FIR 필터 PE 의 "내 칩MPW" 제출용 GDS 생성 [바로가기]

- ETRI 0.5um CMOS DK 예제: FIR8
    [1] 알고리즘 및 병렬처리 구조 탐색 [바로가기]
    [2] 아듀이노 보드 에뮬레이션 [바로가기]
    [3] 칩 테스트 장치 [바로가기]
    [4] PC 사운드 카드 오실로스코프 [바로가기]


소요비용을 보자.

1. 오픈 소스 설계도구 사용, 툴 소요비용: 0원
2. "내 칩 제작 서비스" MPW 소요비용: 0원
3. FPGA 에뮬레이션 검증, Gowin FPGA 보드:

4. 아듀이노 메가:

5. 기타 설계/측정/실험 장치는 자작





토요일, 1월 18, 2025

매튜 벤에게서 듣는 2024년의 오픈-소스 실리콘 그리고 2025년의 목표

매튜 벤에게서 듣는 2024년의 오픈-소스 실리콘 그리고 2025년의 목표

매튜 벤(Mathew Venn)은 지난 20년간 전자기술자이자 과학기술 커뮤니케이터다. 오픈-소스 실리콘 운동의 선구자로 "Zero To ASIC Course"을 운용하며 강연과 특강을 진행하고 있다. 연간 수차례 오픈-소스 MPW 셔틀을 진행하여 60여 설계가 테이프 아웃 되었다고 한다. 오픈-소스 공정은 SkyWater, GlobalFoundary이며 새로 독일의 iHP 가 참여하게 될 것이라 한다. 그가 들려주는 2024년의 오픈-소스 실리콘 활동을 들어보자.

지난 2024년 목표를 참여대학 100개 2천명의 새로운 테이프-아웃을 기대 했지만 20개 대학과 테이프-아웃은 600명에 그쳤다. 다소 아쉬운 성과지만 관심은 높다.

오픈-소스 실리콘 활동은 주로 미국내에 참여자가 많지만 유럽의 활동도 눈에 띈다. EU는4천만 유로를 오픈-소스 EDA 도구와 테이프-아웃에 투자할 계획이라고 한다. (미국은 DARPA 계획에 오픈-소스 활동에 1억달러를 투자한다고 밝혔다.) 그외 중남미 대학의 참여가 두드러지고 스리랑카, 필리핀 등에서 Tiny-Tapeout MPW에 참여 했다.

2024년에 디지털 회로 설계에 더하여 아날로그 회로도 성공적으로 수행되었다. 분압기, 링오실레이터, 555 타이머 등을 구현 하였고 아날로그 설계 코스도 진행되고 있다.

고전적인 CPU Z80을 성공적으로 재현 했다. 이를 기반으로 Atari 게임기를 만들어 보려고 한다. 오픈-소스 CPU RISC-V가 이미 성공적으로 완성되었고 미니 리눅스까지 부팅 되었다.

2025년에는 무선(Radio)도 시도할 것이다. 송수신기 중 먼저 수신기 부분을 먼저 시도할 것이다.

MPW를 통해 제작된 칩의 테스트 보드를 500달러 가량 제공한다. 패키징이 쉽지 않아서 PCB에 칩을 올려 본딩하는 COB(Chiop-On-Board) 방식으로 추진할 것이다. 중국의 협력 업체를 방문하여 준비를 해뒀다.

그외 실리콘위에 그림을 그려 넣을 예술가들의 참여도 가능하다. 레이아웃을 3D 프린터로 제작하는 서비스도 있다. 교육적인 목적으로 설계를 볼 수 있도록 3D 모형으로 제작해준다.

대학의 학부생 뿐 만 아니라 고등학교 학생들의 도전도 환영한다.

오픈-소스 실리콘 활동에 많은 성과를 얻었지만 여전히 할일이 많이 남아있다. 2025년에도 다시 같은 목표를 삼아 달리겠다.

---------------------------

[참고]
1. $3,500짜리 MPW, 칩 이그나이트 미니(ChipIgnite-Mini) [링크]
2. 독일의 오픈-소스 도구를 활용한 반도체 설계 인증 교육과정 [링크]
3. 오픈-소스 반도체 설계 도구의 전망, The Promise of Open Source Semiconductor Design Tools [링크]
4. Roadmap and Recommendations for Open Source EDA in Europe [링크]
5. Importance of Open-Source EDA Tools for Academia [링크]


목요일, 1월 16, 2025

부품으로 만드는 연산 증폭기(DIY Op Amp): 2. 차동 증폭기

부품으로 만드는 연산 증폭기(DIY Op Amp)
2. 차동 증폭기(Differential Amplifier)

트랜지스터와 다이오드 그리고 저항과 컨덴서를 동원하여 연산 증폭기(Op Amp)를 만들어보자. 연산증폭기의 기본 원리를 공부하고자 한다. 이번 연재의 참고문은 아래와 같다.

----------------------------------------------------------------------------------------
[참고]
1. DIY Operational Amplifier [링크]    
2. Op-Amps [링크]    
3. Transistor Current Sources and Mirrors (커런트 소스와 미러) [링크]    
4. The differential amplifier, aka long-tailed pair, diff-pair (차동 증폭) [링크]
----------------------------------------------------------------------------------------

"차동(differential)"의 의미에 대한 통찰[1]

"차동(differential)"은 두 신호 사이에서 발생한 차이, 혹은 연속된 현상의 미분을 의미한다. 차이가 발생해야 인지할 수 있다. 시간이 지나도 변함없는 물리량은 인지할 수 없다. 고전적인 운동법칙에서 속도변화를 따져 가속도를 계산하고 운동의 방정식을 구하듯이 전기전자에서는 전압(또는 저항체에 흐르는 전류)의 변화를 따져 "차동" 방정식으로 기술하고 이를 풀어 그 변화의 원인이 되었던 식을 구한다. 우리는 이것을 미분 방정식의 풀이라고도 하고 시스템 해석이라고도 한다. 입출력 사이의 차분으로 증폭, 발진 등 여러 전자회로에 응용된다.

[주1] "통찰(insight)": "예리한 관찰력으로 사물을 환히 꿰뚫어 봄" (사전

전압과 전류 그리고 저항

두 전기적 신호의 "차분" 구하기는 가장 기본적인 복합 저항 회로(네트워크)에 흐르는 전류 구하기부터 시작하자. 데브난 정리(Thevenin's theorem)니 커초프 법칙(Kirchhoff's Law)이니 하는 이론 일랑 접어두고 옴의 법칙 만 가지고 직관적으로 이해 해보기로 한다.

병렬로 연결된 두 저항 R1과 R2 그리고 이들과 직렬로 연결된 R3로 구성된 회로가 있다고 하자. 합성 저항 R123를 구하고 옴의 법칙으로 이 회로에 흐르게될 전류량 I 를 구한다. 병렬저항 R1과 R2의 합성 저항은 R12다. 직렬로 연결된 두 저항 R12와 R3에 흐르는 전류는 같다. 이를 근거로 저항을 이용하여 분압 회로(voltage divider)를 꾸밀 수 있다.

직렬로 연결된 각 저항에 흐르는 전류는 I로 같지만 병렬로 연결된 저항 R1과 R2에 흐르는 전류는 I를 i0와 i1으로 나뉜다. 

        I = i3 = i0 + i1

- 직렬로 연결된 저항에 걸린 전압은 각 저항의 양단에 걸린 전압의 합
- 병렬로 연결된 합성저항에 흐르는 전류는 각 저항의 전류의 합이다.

회로에 흐르는 전류량을 측정해야 하는 경우 어떻게 할까?

전기(전자) 회로의 검사는 각 소자에 흐르는 에너지를 측정한다. 전기 에너지는 결국 전류와 전압의 곱이다.

        P = IV = (V/R)*V

트랜지스터의 베이스에 문턱전압 이상의 바이어스를 가하면 켤 수 있다. 트랜지스터를 켜는 목적은 컬렉터와 에미터 사이에 전류를 흘려 보내고자 함이다. 베이스에 거는 바이어스 전압을 조절하면 컬렉터와 에미터 사이에 흐르는 전류량을 조절 할 수 있다. 이때 베이스에 가하는 전류는 극히 작아도 된다. 트랜지스터 문턱 전압 0.6볼트 이상이면 이에 필요한 전류는 100nA 로도 충분하다. 결국 트랜지스터를 사용하면 매우 작은 작은 에너지로 큰 에너지의 흐름을 제어할 수 있다[2]. 바로 증폭회로의 원리다.

[주2] 전기 에너지는 전류와 전압의 곱이다. 순방향 바이어스 전압을 문턱전압 이상으로 걸어 고정 시켜 놓고 전류량으로 트랜지스터를 제어 할 수 있다. 트랜지스터의 증폭은 "전류증폭" 또는 "전압증폭"의 방법이 있다.

소자의 양단에 걸린 전압의 측정은 비교적 수월 하지만 전류를 재려면 회로를 끊어야 한다. 멀쩡한 회로를 끊을 수 없으니 저항 양단에 걸린 전압과 저항값으로 전류를 계산하여 구한다. 회로측정은 옴의 법칙으로도 충분하다.

        I = V/R

사실 전류 측정계(암페어 메터)는 내부에 정밀저항을 두고 전압을 통해 측정한다. 실험하다 과전류로 멀티메터를 고장내는 경우는 바로 내부저항을 소손시켰기 때문이다. 내부 저항의 오차로 인하여 전류측정에 오차를 감수 하기보다 전압을 측정하는 편이 현명하다. 앞으로 실험에서 저항의 양단에 걸린 전압으로 전류를 측정하게 될 것이다.

차동 쌍(Differential Pair)

차동 쌍은 병렬과 직렬로 연결된 저항회로(네트워크)에서 전류와 전압의 덧셈에서 시작한다. 병렬의 두 저항 R1과 R2에 각각 직렬로 가변 저항 VR1과 VR2을 넣어 전류량을 가변 시킬 수 있다. 병렬로 연결한 저항을 가변 시키면 각 경로로 흐르는 전류량이 변하고 그 합은 R3에 흐르는 전류량과 같다.

두 경로의 합성저항 (R1 + VR1)과 (R2 + VR2)이 변하여 전류 i1과 i2가 달라지며 두 전류의 합은 i3다.

        i1 + i2 = i3

이때 R3가 고정되었으므로 i3는 상수다. 따라서 VR1과 VR2를 변경하여 경로마다 다르게 전류량을 조절 할 수 있으나 그 총량은 결국 i3를 넘지 못한다. 결국 차분을 구할 수 있다.

        i1 = Const - i2

전류의 차분은 V1과 V2 사이의 전압차로 나타나게된다.

[질문] 전류가 흐르는 두 경로에 각각 분압기가 구성되어 있다는 점에 주목하자. 만일 R1과 R2가 없는 경우를 가정해 보자. 전류(또는 전압) 측정이 가능할까?

분리된 두 전류 경로가 합쳐지는 지점을 "꼬리(tail)"라 하고 이때 합쳐진 전류를 "꼬리 전류(Tail Current)"라 한다. 꼬리전류의 량은 고정저항 R3에 의하여 제한되는데 이를 "긴 꼬리(Long Tail)"라 한다.

기계적 힘으로 전류량을 조절하는 가변저항을 트랜지스터로 대체해보자. 베이스 입력(바이어스 전압)으로 전류량을 조절할 수 있다. 이를 "차동 쌍(differential pair)"이라 한다. NPN 트랜지스터의 컬렉터 단자에서 얻은 전압변화를 활용하고 있다.

[질문] R1과 R2의 값이 같아야 한다. 만일 두 저항의 정밀도가 낮다면 차동 쌍의 역활에 어떤 영향을 미칠까?

Q1과 Q2의 베이스 입력차 ΔVb = (Vb1-Vb2)에 반응하여 컬렉터 전압차 ΔVc = (Vc1-Vc2)를 발생 시킨다.  긴꼬리에 의해 흐를 수 있는 총 전류량이 고정되므로 Vc1과 Vc2는 서로 상보적 관계에 있다.

차동 쌍의 작동을 실험으로 알아보자. 아래와 같이 회로를 꾸미고 각 지점의 전압을 측정한다.

위의 실험 회로에서 Vcm은 두 트랜지스터 Q1과 Q2의 베이스에 공통으로 공급되는 전압이다. Vin이 제거 되었을때, 차동 쌍 트랜지스터 Q1과 Q2의 특성 hFE[3] 가 동일하다면 Vb1=Vb2 이므로 i1=i2가 되어 전압차 (Vc1-Vc2)=0 이 되어야 한다. 이때 차동 쌍 트랜지스터 Q1과 Q2은 매칭 되었다고 한다. 두 입력의 차분을 응용하는 연산 증폭기에서 차동 쌍을 이루는 두 트랜지스터의 매칭은 매우 중요한 요소다.

[주3] hFE는 트랜지스터 전류이득(DC Current Gain) 특성이다. (트랜지스터 데이터 시트의 이해(2))

Vcm을 적당히 고정 시켜 놓고 입력 전압 Vin을 증가시켜보자. Q1과 Q2의 베이스 입력에 전압차가 발생 하게 되고 이에 따라 전류량 i1과 i2에 차이가 발생한다. 이 차이 ∆Vc는 (Vc1-Vc2)로 측정된다. 트랜지스터의 증폭 작용 덕분에 두 입력의 작은 전압차 ∆Vb = (Vb1-Vb2)가 증폭되어 ∆Vc 가 크게 증폭된다. 이것이 "차동 증폭기(differential amplifier)"이다.

실험으로 측정한 값은 아래의 표와 같다. ∆Vb 와 ∆Vc 는 (Vb1-Vb2)와 (Vc1-Vc2)으로 계산할 수 있지만 측정기의 신뢰도를 알아보기 위하여 6대의 멀티 메터를 동원하여 모두 측정하였다[4].

[주4] ∆Vb와 ∆Vc의 측정치는 계산값과 오차가 있다. 알리상회에서 구입한 값싼(중국산으로 대당 3천원이다!) 멀티메터를 사용하여 측정이다. 다소 오차가 있지만 "내 집 실험실"용으로 손색없다.

Vcm = 4V 로 놓고 Vin을 변화 시키면서 측정한 Vb1, Vb2, ∆Vb, Vc1, Vc2, ∆Vc의 값은 아래와 같다.

측정한 표를 살펴보면 "차동 증폭기"가 작동하는 모습을 볼 수 있다. 측정된 ΔVb와 ΔVc를 그래프를 그려보면 다음과 같다. 왼쪽의 ΔVb가 거칠게 나온 것은 측정 해상도가 낮기 때문이다. 두 그래프의 가로축은 Vin 이다.

1. ∆Vb=0 에서 ∆Vc=0.07 는 두 트랜지스터의 매칭이 되지 않았음을 보여준다.
2. ∆Vb와 ∆Vc가 서로 반대로 변하는 것을 볼 수 있다. Vb1 을 반전입력(inverting input) 이라고 하는 이유다.
3. 트랜지스터 증폭도는 ∆Vc/∆Vb=100 약 100 배다.
4. (Vc1 + Vc2) = 10.9V 로 일정하다. 이는 Vc1 + Vc2 = Const. 이므로 Vc1 와 Vc2가 서로 상보관계에 있기 때문이다.
5. 입력의 작은 차이에 큰 증폭률로 출력에 반영. 온도에 큰 영향을 받는다.

긴-꼬리 전류(Long-Tail Current)의 문제

위의 실험에서 Vcm을 고정하였다. Vcm이 차동쌍에 미치는 영향을 고려해 보자. Vcm을 낮추면 Q1과 Q2에 흐르는 전류가 낮아지고 결국 R3에 흐를 전류 역시 떨어진다. 반대로 Vcm을 높이면 R3에 흐를 전류도 많아진다. 이는 공통 전압에 의해 R3의 전류량이 달라지고 결국 차동 출력 전압에 영향을 준다. 이는 차동 앰프가 입력의 차분에 뿐만 아니라 공통 전압에도 영향을 받게 되는 결과를 낳게된다. 이를 해결할 방법으로 "긴 꼬리(Lonf Tail)[3]"에 전류를 모으는 저항 대신 구동전압에 상관 없이 일정하게 전류를 끌어모으는 방법으로 "커런트 소스(싱크)"를 쓴다.

[주3] 위의 실험에서 R3는 두 경로로 흘러온 전류를 모은다. 이 전류를 꼬리 전류라 하고 이 전류를 모으는 R3를 "긴 꼬리(Long Tail)"라 한다.

공통 전압 Vcm이 "긴 꼬리"에 흐르는 전류에 영향을 주어 차동 값 ∆Vc이 변화하는 모습을 실험으로 관찰해 보자. 아래 표는 ∆Vb = 0.01 이 되도록 Vcm과 Vin을 증가시키면서 ∆Vc 측정 하였다.

측정치의 그래프는 아래와 같다. 가로축은 Vcm, 세로축은 출력차분을 입력차분으로 나눈 이득(=|ΔVc|/|ΔVb|)이다.

이득의 변화를 보면 차분 출력 ∆Vc가 ∆Vb 뿐만 아니라 Vcm의 영향을 받고 있다. Vcm의 전압이 전체 차동 회로에 흐르는 전류를 증가 시키기 때문이다. 게다가 Vcm=4.8V보다 높아지면 트랜지스터의 폭주로 인해 이득이 급격히 무효화되고있다.

커런트 소스의 효과

"긴 꼬리" 대신 커런트 소스로 변경 한 후 ∆Vc 를 측정한 값은 다음과 같다.

아래 표는 ∆Vb = 0.01 이 되도록 Vcm과 Vin을 증가시키면서 ∆Vc 측정 하였다.

부품(특히 저항)의 불안정과 측정기 오류를 감안하더라도 상당히 넓은 Vcm의 범위에서 안정적인 이득을 보여준다.

수동적 부하(고정저항) 대신 능동적 부하(트랜지스터를 사용한 커런트 소스)를 적용한 결과 차동 출력 ∆Vc 은 Vcm에 거의 영향을 받지 않고 입력의 차분 ∆Vb에 대한 안정적인 이득을 유지하였다. 이에 덧붙여 동작 전압의 범위도 넓어진 것을 알 수 있다.

연산증폭기 회로를 보자.

차동 증폭기를 구성하고있는 회로와 위에서 실험한 회로의 차이점에 대하여 토론해보자.

- R2의 역활과 Q2의 컬렉터에 부하저항이 없다.
- 커런트 소스 부분에서 Q3를 켜기위해 저항(소동소자) 대신 다이오드(능동소자)를 사용하고 있다.

----------------------------------------------------------------------

[처음] 부품으로 만드는 연산 증폭기(DIY Op Amp)
[이전] 커런트 소스(Current Source)
[다음] 전류 구동기(Driver)