월요일, 3월 30, 2026

인공지능 시대를 맞이하는 FPGA의 역활

인공지능 시대를 맞이하는 FPGA의 역활
FPGA In the new AI era

"인공지능 반도체(또는 AI 칩)"은 인공지능 알고리즘을 "효율적"으로 처리하는 칩(GPU, NPU, ASIC 등)이다. 범용 CPU에서도 인공지능 알고리즘의 수행이 물론 가능하다. 다만 AI 칩이라고 따로 분류하는 이유는 인공지능 알고리즘의 엄청난 량의 곱셈과 덧셈을 "효율적"으로 수행하는 것에 주안점을 두었기 때문이다.

범용 CPU가 미리 정해둔 규칙을 기반(Rule-Based)으로 IF~THEN~ELSE 방식의 알고리즘 처리에 적합하다면 AI 프로세서는 스스로 규칙을 만들기 위해 엄청난 계산을 한다. 범용 CPU로  인공지능 알고리즘을 수행하면 메모리에서 명령을 읽어 그 뜻을 해독하고 계산에 필요한 값을 불러와 계산하고 다시 그 값을 메모리에 저장하는 일을 수없이 반복한다. 명령중 정작 인공지능을 위한 계산 비중은 매우 낮다. 이에 비해 AI 칩은 범용 CPU의 ALU(Arithmetic-Logical Unit) 대신 단번에 곱셈과 덧셈(Multiplication-Accumulation)을 반복 계산하는 전용의 산술 장치를 가지고 있다. 당연히 명령을 해석하고 이에 맞춰 값을 불러오고 저장하는데 클럭을 소모하지 않는다. 따라서 AI 칩은 적은 클럭을 들이고도 방대한 계산을 할 수 있는 "효율적"인 반도체다. 게다가 자료의 교차 의존이 거의 없는 인공지능 알고리즘의 특성 상 대규모 연산기를 동원한 병렬처리 구조를 취하기 매우 적합하다. 반도체 칩의 집적도가 폭발해 버린 지금 연산장치의 갯수는 얼마든지 늘릴 수 있다. 일상의 인식체계(패러다임)가 경직된 규칙 기반의 알고리즘에서 유연한 인공지능으로 전환되어 버린 지금 반도체의 화두는 "AI"의 지배가 더욱 공고해질 것은 자명하다.

인공지능의 유연성에 하드웨어의 경직성이 대응하는 방안은 명령처리 방식의 프로세서다. 인공지능 프로세서는 매우 특회된 몇가지 산술명령을 가지고 고용량 메모리를 곁에 두고 있다. 대부분 인공지능 개발자들이 전용 프로세서의 소프트웨어에 집중되어 있는 것을 본다. GPU, NPU 등 프로세서가 지배적인 "AI 칩"에 FPGA의 미래가 있을까?

구조 재편이 가능한 FPGA는 하드웨어의  유연화 방안으로 주목받고 있다. 아예 명령어 자체를 두지 않는 알고리즘 전용의 계산기(하드웨어)를 구성 할 수 있다. 따라서 알고리즘에 소요될 클럭의 수를 극단적으로 줄일 수 있다. 클럭은 곧 에너지 소모를 의미한다. 특히 일방적인 계산을 반복하는 "추론(inference)"에 재구성 가능한 FPGA의 미래가 있다.

아래 동영상은 인공지능 알고리즘에 맞춰 FPGA의 구조가  어떻게 변화되고 있는지 설명한다. 순차적인 알고리즘을 병렬처리 하드웨어를 목표로 기술하기는 소프트웨어에 비하면 매우 어렵다. 하드웨어 설계 생산성을 높이기 위해 기존의 프로그래밍 언어로 기술된 알고리즘을 직접 하드웨어로 합성하는 설계방법론이 이미 성숙되었음을 보여 준다.

The Hidden Weapon for AI Inference EVERY Engineer Missed
거의 모든 기술자들이 놓치고 있는 인공지능 추론용 하드웨어 장치
https://youtu.be/ysd545AjEOU?si=hNBOzb8lbcLSGXxT

How to Build a Neural Network on an FPGA
FPGA에 신경망을 구성하는 방법
https://youtu.be/3qtMs5jD-OY?si=joOEUEez7sbfYFk3

Resources Mentioned:
    hls4ml Repository: https://github.com/fastmachinelearning/hls4ml
    Iris Model on FPGAs GitLab: https://gitlab.com/ai-examples/iris-model-on-fpgas/
    Make your own Neural Network by TARIQ RASHID [pdf]


이미 핏빛으로 물들어 있는 인공지능 소프트웨어에서 그나마 시원한 하드웨어 설계에 눈길을 줘보자. 끝으로,

Challengers Are Coming for Nvidia’s Crown
엔비디아의 아성에 도전자들이 몰려온다 [링크]

    [검색 참고]
    "규칙 기반 알고리즘" [검색]
    "AI Semiconductor" [검색]




목요일, 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

기적은 없습니다

기적은 없습니다.

한때는 나도 뭐라도 될줄 알았다. 그러다가 둔재라는 것을 깨닳고는 전과를 했다. 물리학에서 전자공학으로... 그렇게 약간의 패배감을 안고 수십년을 살아오다 말년이 되서 어느 천재의 한마디에 위로를 받는다.

"기적은 없습니다."

https://youtu.be/JX-YL2xNXgo?si=HE_50nPAD-56bDnw&t=277

재능있는 사람들이 부럽긴 하다. 오늘도 재능있는 누군가를 쫒다가 코가 깨졌다. 가랭이가 찢어질 판이지만 한걸음씩 가보자.


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 로 "내 칩"를 만들어보기 위해 반도체 설계에 입문하려고 나선 지금, 이참에 한번 익혀두면 평생 잘한 일 중 하나로 꼽힐 것입니다. 기본 사용법은 어렵지 않습니다. 아래 링크의 문서를 참고하십시요.

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