2024년 9월 30일 월요일

독일의 오픈-소스 도구를 활용한 반도체 설계 인증 교육과정

독일의 오픈-소스 도구를 활용한 반도체 설계 인증 교육과정
Development of Certificate Courses and Status Quo of Digital EDA Course using IHP-SG13G2 (C. Wittke)

OpenROAD 프로젝트 사이트(https://theopenroadproject.org/)에 올라온 최근 소식(2024년 9월 30일 현재)으로 독일에 반도체 설계 인증과정을 수립한다고 합니다. 발표 동영상을 보니 "내 칩 MPW"에서도 해볼만 합니다. 세계는 지금 오픈-소스 반도체 설계의 열풍이 불고 있군요.

Kudos to Christian Wittke (IHP) and Thorsten Knoll (HSRM) on their development of a Digital EDA Course using IHP-SG13G2 and OpenROAD ! See the video of Christian's ORConf 2024 talk at https://www.youtube.com/watch?v=Ozd_yXoExLo


IHP는 독일의 공공 연구소로 오픈-소스 PDK 를 개발한다. 자체 크린 룸을 가지고 있으며 MPW 서비스를 제공한다. 디지털 EDA 인증 과정 개발과 현재까지 진행 상황을 발표하겠다.

IHP와 이곳에서 진행하는 프로젝트에 대해서 설명은 이만하고 우리가 준비하고 있는 반도체 인증 교육 프로그램에 대하여 소개한도록 하겠다. 우리의 목표는 반도체 관련 분야의 진보된 교육과 훈련을 제공하는 것이다.

현재 서유럽(독일, 프랑스, 네델란드, 이태리)은 반도체 산업의 일력 부족이 심각하다. 10만여 인력 부족상태다. 2030년까지 13만 명에 이를 것으로 보인다. 향후 10년내 현재 인력들 마저 셋중 한명은 은퇴할 것이다. 과학기술(STEM)을 공부하는 학생들 중 반도체 분야에 전공하려는 숫자가 아주 적은 형편이다.

이에대한 해결책으로 새로운 인력층을 끌어들여야 한다. 대부분 남성 위주에서 여성, 은퇴후 재취업을 원하거나 이직을 고려중인 사람들이 관심을 유도해보려고 한다. 이 산업 분야의 매력을 보여주는 것도 중요하다. 그리고 실질적인 훈련이 되어야 한다.

[주] 반도체 분야가 한때 열풍이 불었던 시절이 있었다. 너도나도 베릴로그니 VHDL을 배우느라 여념이 없었다. 언어만 배워서 할 수 있는 일이란 없다는 것을 깨닳게 되자 흥미를 잃게됐다. 정보산업이 흥하면서 관심이 소프트웨어 개발에 쏠렸다. 범용 컴퓨터와 그래픽 기반 운영체제 상에서 즉시 결과를 보여주는 프로그래밍 언어는 배우는 재미가 있다. 결국 반도체, 특히 전용 반도체 하드웨어 설계 보다 범용 마이크로 프로세서를 활용한 응용 소프트웨어 개발에 치우쳤다. 범용 CPU가 고속화 되면서 전용 반도체 설계는 관심사에서 멀어졌다. 반도체 산업은 경쟁이 심하여 비밀주의와 폐쇄성이 높아지고 반도체 설계 교육은 기초와 이론에 머무를 뿐이었다. 특히 고가의 설계도구(컴파일러 소프트웨어)들은 장벽을 한층 높여 왔고 너무나 넓은 반도체 관련 학과목 간의 추상화 격차도 흥미를 잃게 만드는데 한몫했다. 간단한 인버터 레이아웃을 그리다가 하드웨어 언어로 넘어가더니 급기야 시스템 반도체 설계로 뛰어넘는 지경이다. 결국 학생들은 반도체 설계에서 멀어져만 갔다. 간단한 구문으로 애니메이션을 구현하는 것과 FPGA에 LED 켜보는 것에 드는 노고에 비해 결과로 얻는 흥미의 차이는 자명하지 않은가. 거대시설 산업이라 할 수 있는 소수의 반도체 공장에 비하면 정보산업 계통의 일자리는 넘치고 쉬워 보였을 것다.

정보통신 기술의 근간은 바로 반도체 였다는 점과 실질적인 반도체 산업을 떠받치는 기술에 주목하자. 시스템(CPU와 메모리로 구성되는 컴퓨터) 설계의 출발은 반도체 전자회로(트랜지스터)부터다.

우리의 강좌는 이들 사이의 간극을 좁힐 수 있는 실질적인 교육과 훈련을 제공하겠다. 연구소 및 기업체와 밀접한 협력 관계를 맺고 이들이 필요로하는 인증된 교육과정을 수립한다. IHP는 실제적인 훈련이 되도록 반도체를 설계하고 제작하는 공정시설(크린 룸)을 자체적으로 갖추고 있다.

[주] "내 칩 MPW"는 실질적 반도체 설계 교육에 요구되는 체계를 갖추고 있다. 현재 오픈 PDK로 SkyWater, GF, SG등은 130나노와 180나노 급 공정으로 4~5중 메탈 공정이다. "내 칩 MPW"서비스는 0.5um 공정이긴 하지만 반도체 설계 교육과 훈련에 공정의 선폭이 중요한 것이 아니다. 첨단 공정은 거대 설비에 맞겨두고 교육은 설계에 집중하자.

IHP는 독일 내 여러 관계사들과 협력하여 10여개의 과정을 갖춘 오픈-소스 기반의 2가지 인증교육과정을 준비하고 있는데 공개된 SG13G2 공정을 기반으로 한다.

https://github.com/IHP-GmbH/IHP-Open-PDK

인증과정 1. 디지털 회로 설계

- 반도체 설계 전반을 아우른다.
- 기초 회로(트랜지스터) 설계부터 행위 기술(RTL 합성)까지 다룬다.
- 시뮬레이션과 검증 기법 포함 한다.
- 제조 가능한 GDS 생성 까지.

[주] "내 칩 MPW"공정 표준-셀 디자인 킷은 합성, 자동배치배선, 사인 오프, GDS 생성과정을 모두 학습 할 수 있도록 준비되었다. SPICE, 베릴로그 HDL/VPI, C++/SystemC, FPGA를 활용한 Co-Simulation/Co-Emulation 체계를 갖추고 있다.

인증과정 2. 아날로그/디지털 혼합 신호 설계

- 전과정을 수행해 볼 수 있는 예제
- 디지털 설계와는 다른 단계 추가

[주] "내 칩 MPW" 공정은 '아날로그' 회로 설계가 준비되어 있다. PDK에 BJT(접합 트랜지스터), NMOS, PMOS, DIODE(다이오드), PCAP(컨덴서), PRES(저항) 등 아날로그 회로 설계용 PCELL 들을 제공한다. 조만간 이에 대한 방법도 튜토리얼로 준비할 예정이다.

디지털 설계과정을 소개한다.

오픈-소스 EDA 환경을 기반의 이 교육과정은 아래와 같은 내용을 포함한다.

- 교육과정은 오픈-소스 자체다.
- 교육 자료는 깃(공개 저장소)기반으로 공개한다.
- 칩을 만들기는 오픈-소스 도구들에 맞춰져 있다.
- OpenROAD 도구들과 IHP의 공개 PDK를 활용한다.
- 향후 공개될 더많은 "EDA 마법"들을 익히는데 도움이 될 것이다.

오픈-소스 도구들을 활용하므로써 누구나 칩을 설계 할 수 있게 한다는 것이 목표다. 현재 교육과정은 아래와 같은 절차를 거쳐 수립됐다.

탑-다운 방식:

- 선행 학습사항과 반도체 설계의 전체 과정
- 핵심 학습 부분 도출
- 학습 교재 구성 (교재의 장 구성, 강의와 자습, 실습 및 연습, 질문)
- 학습과정 시험실시 후 의견 수집 및 수정

정식과정은 5일간 이뤄지며 칩 설계에 필요한 10개의 강의로 구성됐다. 하루 두강좌이며 중간에 점심시간이 있다. 임원들을 위한 이틀짜리 요약강좌도 있다.

2024년 말까지 강좌안이 수립되면 2025년에 시험실시 될 것이다. 의견은 언재든 환영한다.

2025년 2월 10일부터 5일간 실험적으로 실시된다. 5일 강좌가 유용하지만 필요하다면 2일짜리 출장강좌도 가능하다. 시험 강좌에 참여는 무료다. 향후 정식강좌로 자리하면 유료화 한다. 어떤 문의든 환영한다.

시험 실시되는 강좌에 참여하기 바란다. 프랑크프루트 소재 IHP에 방문하여 공정 시설(크린룸)도 견학 할 수 있다. 위이퍼를 직접 들어보면 남다른 느낌이 들 것이다.

오픈-소스 코뮤니티에 감사한다. 그리고 독일의 공공 자금을 받고 진행하는 다른 오픈 PDK 프로젝트 들도 둘러보시라.

[주] 발표 후 질문 RF 반도체 설계에 대한 질문이 있었다. 이에 대해 아진 준비되지 않았다고 한다.


2024년 9월 28일 토요일

"내 칩 MPW" NSPL 0.5um CMOS 공정용 표준-셀 디자인 킷 버젼-E 공개

"내 칩 MPW" NSPL 0.5um CMOS 공정용 표준-셀 디자인 킷 버젼-E 공개

-----------------------------------------------------------------------------
[주의] 이 디자인 킷은 실리콘 검증 되지 않았음. 사용자의 주의를 요함
-----------------------------------------------------------------------------

"내 칩 MPW"의 NSPL 0.5um CMOS/2P3M 공정용 오픈-소스 표준 셀 디자인 킷(경희대학교 DK)이 업-데이트 되었다. 표준-셀이 두가지 버젼으로 발행되었는데 중요 갱신 사항은 아래와 같다.

* NSPL: National Semiconductor Public Laboratory at ETRI

1. 표준-셀 I 형: digital_ETRI050_m1e

- 입출력 포트가 MET1 레이어에 붙어 있어서 배선에 유리하여 밀집도를 더 높게 줄 수 있음.
- 면적 사용량이 약 10% 이상 개선됨
- 적층 비아를 많이 만들어 냄 (FIR_PE 예제의 경우 38개!)

2. 표준-셀 II 형: digital_ETRI050_m2e

- 입출력 포트가 MET2 레이어에 붙어 있어서 상대적으로 MET1를 전역 배선에 사용하기 불리함
- 적층 비아(stacked VIA)를 적게 만들어 냄 (FIR_PE 예제의 경우 8개!)

3. 공통 사항

- 배선 효율이 높아짐(LEF: 표준 셀의 핀/포트 및 OBS 영역 최적화)
- 자동 배선 후 DRC 갯수 감소(LEF: 배선 룰 재정의)
- 내부구조가 지나치게 복잡하여 전역 배선에 불리한 XOR, XNOR, LATCH, TBUF, HAX, FAX 셀을 합성에서 배제 함
    * 리버티 파일에서 해당 셀 매크로 정의에 dont_use 옵션 사용
    * OR, AND, NOR, NAND, INV 만으로 논리 조합회로 합성
- 표준-셀과 자동 배선기에서 생성된 배선 레이아웃에 대하여 상용 도구와 DRC 교차 검증

4. LEF 변경/최적화

- 표준 셀 배선 금지영역(OBS, obstruction) 및 포트(Pin/Port) 영역 재정의
- 배선 룰 재정의

    * metal1: 수직 배선/표준 셀 내부 및 지역배선 용

        PITCH=3.0um
        Offset=1.5um
        WIDTH=0.9um [NSPL Rule: 0.8um]
        SPACING=1.05um [NSPL Rule: 1.0um]

    * metal2: 수평 배선/전역배선 용

        PITCH=3.0um
        Offset=1.5um
        WIDTH=1.05un [NSPL Rule: 1.0um]
        SPACING=1.2um [NSPL Rule: 1.0um (배선 길이가 10um보다 긴 경우 1.2um)]

    * metal3: 수직 배선/전역배선 용

        PITCH=3.0um
        Offset=1.5um
        WIDTH=1.2um [NSPL Rule: 1.2um]
        SPACING=1.2um [NSPL Rule: 1.0um (배선 길이가 10um보다 긴 경우 1.2um)]

    * VIA1 & 2 (CONT)

        CUT=0.9um
        EXTENSION=0.6um
        SIZE=2.1um(=0.6+0.9+0.6)
        SPACING=0.9um

디자인 킷 내려받기 깃허브 저장소:
https://github.com/GoodKook/ETRI-0.5um-CMOS-MPW-Std-Cell-DK.git

오픈-소스 내 칩 MPW 튜토리얼:
https://fun-teaching-goodkook.blogspot.com/2024/07/mpw.html







2024년 9월 25일 수요일

내 칩 만들기에 다리를 놓아준 오픈-소스 반도체 설계도구

내 칩 만들기에 다리를 놓아준 오픈-소스 반도체 설계도구

작년(2023년) 여름 "내 칩 MPW 서비스" 공고문을 접하고 잠시 추억에 잠겼었다. 내 칩을 처음 만들어 본 것은 30여년전 이다. 서울대 반도체 공동 연구소에서 학생들의 설계를 칩으로 만들어 준다는 공고를 보고 지원했었다. 그시절 VLSI 설계 과목이 대학원에 개설 되어 있었다. 물론 교과서 조차 모눈종이에 색연필로 그리는 수준이었으니 학교에 변변한 설계 소프트웨어가 있을리가 없었다. 겨우 회로도와 PCB 그리는 도구가 있었고 집적회로 간판을 단 연구실에 알테라사의 맥스 플러스가 도입되는 수준이었다. 다행이 학교에 인터넷이 개통되어 있어서 검색 끝에 Magic이라는 소프트웨어를 찾아냈고 소스 코드를 받아 썬 워크스테이션에서 컴파일 하여 사용할 수 있었다. 아마 그때 경험이 반도체 설계 도구가 평생 관심사가 된 계기였다.

"내 칩 MPW 서비스" 공고문에 "아날로그 CMOS"라는 문구가 눈에 띄었다. 표준 실리콘 공정인데 굳이 아날로그와 디지털 회로를 구분하는 이유가 있을까? 몇차례 통화와 전자메일을 주고받고 회로의 구분이 아니라 "풀-커스텀"이라는 뜻임을 알게됐다. 예상 했던 대로 디자인 룰을 공개 해 줄 터이니 그에 맞게 그려서 제출하면 만들어 주겠다고 한다. 알아서 그려오라는 요구는 30년 전에도 그랬다.

"내 칩 MPW 서비스"는 공공 연구기관에 설치된 반도체 제조공정을 학생들에게 개방해 시스템 반도체 설계 인력 양성에 기여 한다는 취지다. 내 칩을 만들어 보겠다며 흔히 접하는 파운드리 서비스를 제공하는 것이 아니다. 상용의 설계 자동화 도구에 맞춘 검증된 방법론과 각종 표준 셀  및 IP의 제공을 기대한다면 당연히 유료 파운드리 서비스를 찾아야한다. 계약을 맺고 비밀 유지 서약 없이는 파운드리 킷의 내용을 알 수도 없음은 물론이다.

최근 자유 소프트웨어 운동의 결실로 리눅스 운영체제와 소프트웨어 개발도구에 커다란 성과를 이뤘다. 하드웨어 설계도 예외는 아니어서 반도체 설계 도구 역시 큰 발전을 이뤘다. 겨우 레이아웃 도면을 그리는 소프트웨어와 회로 시뮬레이터에 불과 헀던 도구들의 영역은 베릴로그 시뮬레이션 과 합성 그리고 자동 배치배선, 마스크 레이아웃 생성에 이르기 까지 반도체 설계의 전과정을 아우른다. 더욱이 최근 세계유수의 IT기업들과 다소 낮은 정밀도의 반도체 공장들이 손잡고 PDK들을 개방하자 오픈-소스 반도체 설계 자동화 도구 운동은 더욱 가속화 되어 높은 완성도를 자랑한다. 대행사까지 등장하여  낮은 비용으로 내 칩 제작 서비스를 제공하고 있다. 학생과 연구자들은 물론 취미가들의 MPW 제작사례가 늘고 있다. 이들의 PDK는 NDA 따위는 필요없이 표준 셀과 오픈-소스 설계도구들을 모두 공개하고 있다.

"내 칩 MPW 서비스"는 풀-커스텀 설계다. 사실 알아서 설계도면을 그려내기란 쉽지 않다. 더구나 의미있는 디지털 알고리즘을 구현하기 위해 수천개의 트랜지스터가 들어가는 레이아웃을 그리기는 불가능 하다. 오픈-소스 도구들이 성숙해 있다니 내칩 MPW 서비스의 CMOS 공정용 설계 플로우를 세워볼 만 할거라는 생각이 들었다. 합성기와 자동 배치배선기에 사용가능하도록 표준 셀을 그리면 될 일 아닌가 싶었다. 예전부터 꿈꿔왔던 나만의 RTL 합성 방식의 설계와 검증 플로우를 구축하고 싶어졌다. 그렇게 마음먹고 시작한지 일년이 다되가는 지금 겨우 틀이 잡혀나가고 있다. 아쉽게도 두번의 테스트 칩 제작에 실패 했지만 공정을 맡아준 기관의 협조를 받아 상용 툴과 레이아웃 교차 검증을 어느정도 이뤄낸 지금 곧 실리콘 검증이라는 목표를 이룰 수 있으리라 기대한다. 일년여 동안 계획도 없던 밤샘이 여러날 이어지기도 했다. 더이상 없을 것 같았던 밤샘작업이라니, 이게 다 "내 칩 MPW" 때문이다. 오랜 꿈을 이루려는 판에 밤샘 쯤이야!

요즘 반도체 관련 뉴스에 인공지능이 빠지지 않는다. 시스템 반도체 열풍에 이어 이동통신이 휩쓸고 가더니 이제 인공지능이 일상적으로 등장한다. 하지만 대학의 수준이 이를 따라잡고 있는지 의문이다. 두어세대 전에는 대학의 수준이 동네 전파사를 훨씬 뛰어 넘었지만 지금은 한참 뒤쳐진 느낌이다. 그만큼 학생들의 갈증도 더해졌다. 인공지능이 되었든 이동통신이 되었든, 첨단  정보통신 산업의 기초는 트랜지스터 아니겠는가. 대학의 학과목 사이의 경계가 너무 넓다. "내칩 MPW 서비스"가 트랜지스터 회로에서 시스템 반도체로 뛰어버리는 격차를 채울 수 있길 바란다. 내칩 MPW에 오픈-소스 설계도구를 적용하므로서 반도체 공정, 알고리즘의 이식, 설계도구 개발 등 다양한 분야의 반도체 산업을 체험할 기회가 될 것이다.


2024년 9월 6일 금요일

$3,500짜리 MPW, 칩 이그나이트 미니(ChipIgnite-Mini)

$3,500짜리 MPW, 칩 이그나이트 미니(ChipIgnite-Mini)

매튜 벤 Matthew Venn 씨가 자유 실리콘 컨퍼런스 FSiC/Free Silicon Conference 2024에서 행한 키-노트 연설 영상이 있군요.

매튜 벤은 초 저비용 MPW 플랫 폼 Tiny Tapeout을 운용하고 있고 오픈-소스 베릴로그 RTL 합성기로 잘 알려진 YosysHQ 에도 참여하고 있습니다. 이 키노트 연설에서 자유 실리콘 운동의 최근 소식을 전하고 있는데 이어 반도체 설계의 붐이 일어나고 있다고 말합니다. 지난 수십년에 걸친 자유 소프트웨어 운동의 성공이 반도체 설계에도 이어질 전망을 하고 있습니다. MPW에 학부(심지어 고등학교) 학생들의 교육, 연구는 물론 취미가들이 참여하고 있다고 합니다. 자유실리콘 운동은 오픈-소스 반도체 설계도구의 무료사용과 저비용 MPW에 동력을 얻었다는군요.

하루 한뻘짓 Hackaday의 총회(슈퍼콘 2023)에서 매튜씨가 튜토리얼 세션을 진행했나봅니다. 단 3시간만에 테입-아웃까지 마친 껀수가 무려 30개라고.

나만의 칩 제작 앞에 놓은 모든 장벽은 무너졌다. 내 칩 만드는거 별거 아니네!!!


Tiny Tapeout(TT)은 한 칩에 여러개의 프로젝트를 올려서 제작해 줍니다. 웨이퍼를 여러개의 칩으로 나누고(MPW) 그 칩 내부를 다시 여러개 프로젝트가 공유(MPC)하여 최소 비용은 350달러라고 합니다.

전세계 50여개국에서 칩제작 지원이 쇄도 하고 있는데 취미가, 해커, 메이커들의 참여가 두드러집니다. 키노트를 마져 들어보면 재미있습니다. 80년대 마이컴 시대를 연 Z80을 재현한 이야기도 나오는 군요.

Z80은 갔지만 소픈소스 Z80은 영원하라

처음 TT를 시작한 것이 2020년 12월에 첫 테잎-아웃되서  2021년 10월(무려 1년)에 첫 칩을 받았는데 망했다고 합니다. 그해 12월에 2차 3차 MPW 테입-아웃으로 22년에 1월과 2월(3개월로 단축!)에 칩을 받았는데 성공적이었다고.

TT의 칩 면적 나눠쓰기 방식은 특이합니다. 마치 FPGA처럼 설계 면적을 구획지어 놨네요. 1천개의 로직 셀(게이트)가 들어간 165x100um 크기의 로직 타일 단위로 설계 면적이 할당 됩니다. 설계에 좀더 큰 면적을 원하면 비용을 더 내고 확장 할 수 있습니다. 타일 당 클럭과 리셋 그리고 24개의 입출력을 포함합니다. 설계는 논리 회로도를 그릴 수도 있고 베릴로그 합성도 가능 합니다. 디지털 뿐만 아니라 아날로그 회로를 넣을 수도 있군요.

통장 안깨고도 세상에 하나뿐인 칩을 갖는 방법

칩 이그나이트(ChipIgnite)는 eFabless 에서 운용하는 유료 MPW/MPC 인데 1칩은 1만 달러 가량, 4개 프로젝트를 나눠 쓰면 프로젝트당 3,500 달러 입니다. 3.5x5mm 면적에 외부 플래시 메모리 접근, SPI, UART 등을 갖추고 있는 RISC-V가 매크로로 들어가 있습니다. 사용자 설계는 자체 GPIO와 함께 위시본(Wishbone) 버스를 통해 RISC-V에 연결됩니다. 내장형 칩 테스트 체계를 갖추고 있는 셈입니다. 게다가 거의 매달 셔틀을 돌리고 있군요!

SkyWater130 5메탈(미니는 4메탈) 공정으로 오픈-소스 툴 플로우 OpenLane 환경에서 '누구나' 쉽게 아이디어를  내 칩으로 구현할 수 있습니다. 공식 표준-셀이 제공되고 합성은 Yosys, P&R은 OpenROAD, 레이아웃은 KLayout과 Magic 이 사용 됩니다.

"내 칩 MPW"는 0.5um(500nm)의 3중 메탈 공정인데 선폭이 좀 두껍고 메탈층이 한두개 적다는 점과 공식 표준 셀이 없고 개별 표준 셀은 아직 실리콘 검증 되지 않았다는 시급한 과제가 있습니다. 조만간 해소되리라고 예상해 봅니다. 지난 1차 테스트에서 레이어를 빼먹어서 아예 테스트를 못했고 이번에 2차 칩이 나오는데 기대하고 있습니다. 셔틀을 넣을 때마다 경희대 디자인 킷의 레이아웃 생성 테크 파일이 계속 수정을 거듭하게 되는군요. 않되면 3차, 4차 될때까지 해보려고 벼르고 있습니다.