Skip to content

기글하드웨어기글하드웨어

커뮤니티 게시판 : 아주 기본적인 네티켓만 지킨다면 자유롭게 쓸 수 있는 커뮤니티 게시판입니다. 포럼에서 다루는 주제는 각각의 포럼 게시판을 우선 이용해 주시고, 민감한 소재는 비공개 게시판이나 수상한 게시판에, 홍보는 홍보/외부 사용기 게시판에 써 주세요. 질문은 포럼 게시판의 질문/토론 카테고리를 사용해 주세요.

image.png

붉은색 다각형 안의 회로를 전부 분석하는데 지난 9월부터 네달가량 걸렸습니다. 길지도 않고 짧지도 않네요.

 

image.png

이렇게, 칩 전체의 회로도를 작성한 후 베릴로그로 옮깁니다.

 

 

FM음원... DX7이라고 야마하 신디사이저에서 시작해서 80-90년대 많이 썼던 찡찡거리는 소리나는 칩입니다. 버블보블 게임 BGM이 되게 유명한데, 그것도 FM음원을 사용했지요.

 
제가 그 중에서 YM2151(OPM) 칩 전체를 이번에 리버스 엔지니어링하게 되었습니다. 이유는 기존 오픈소스 HDL 코어의 라이센스가 마음에 들지 않아서였어요. 
저는 요새 FPGA에 아케이드 게임을 원칩화해서 넣는 일을 취미로 하고 있는데, 기존에 있는 YM2151 HDL코어의 라이센스가 GPL라이센스였습니다. 근데 제가 GPL라이센스를 별로 안 좋아합니다. 제 코드를 공개하지 않는 것도 아닌데, 클로즈드 베타 중에도 일단 뭘 배포만 하면 코드 공개 의무가 붙는다는 건 굉장히 너무한 것 같았거든요. 
그래서 "꼬우면 니가 직접 해라" 정신으로 직접 만들었습니다. 게다가 기존 코어는 계측치와 남의 리버싱 데이터를 기반으로 제작한 건데, 저는 처음부터 끝까지 실리콘만 보고 만들었다는 큰 차이도 있고요.
 
원래 YM3812(OPL2), YM3438(OPN2C), YM2413(OPLL)등의 다른 시리즈의 칩들을 리버싱하고 싶었으나, 가장 근본이 되는 YM2151이라는 칩을 먼저 리버싱해 보았습니다. 근본이 되는 이유는, 이게 맨 처음 나온 FM음원의 원칩 설계여서 그렇습니다.
 
근데요, 인터넷에 FM음원의 원리에 대해 아주 많은 설명이 있고, 오픈소스 소스들도 많지만 정말 실제로 칩 안에서 무슨 일이 벌어지는지에 대해서는 잘 정돈된 설명이 전무했습니다. 거의 10년에 걸친 외국 포럼의 토론글, 소스에 적혀있는 파편화된 설명과 회로들, 아무런 지식도 없이 이것만 가지고 원리를 이해하긴 너무 어려웠습니다.
 
그래서 리버싱도 거의 다 끝나가는 이 시점에, 큰맘먹고 야마하 FM음원칩이 기본적으로 어떤 구조를 가지고 동작하나 글을 한번 써 보려고 합니다. 이해하기 위해서는 기초적인 논리회로 지식이 필요하나(게이트, 플립플롭, 가산기정도) 최대한 쉽게 써 보려고 합니다. 평소에 FM음원 좋아하는데 원리를 알고싶었다 하시는 분들이 계신지 궁금합니다.
 
 


  • ?
    laphir 2023.01.27 22:29
    선생님, fm음원이 아니라 도대체 칩을 어떻게 리버싱해서 소프트웨어로 에뮬레이션 하는지가 궁금합니다.
  • ?
    이카무스메 2023.01.27 22:35
    700nm공정까지는 편광 광학현미경으로 보면 뭔가 보여요. 트랜지스터랑 저항같은걸 식별할 수 있다면 디지털 회로를 이루는 구성 요소들을 그릴 수가 있어요. 그걸 전부 보고 회로도를 그립니다. 회로도가 있으면 동작을 분석할 수 있죠. 그걸 C든 자바든 아니면 하드웨어 기술 언어든 같은 동작을 하게 짜면 돼요.

    말은 쉬운데, 트랜지스터 종류에 따라 난이도도 천차만별이고, 90년대 초중반의 구공정 칩까지만 유효해요. 그 이후부터는 트랜지스터가 작아지고, 배선 층이 점점 많아지고(물리적으로 트랜지스터가 안 보입니다) 컴퓨터가 설계에 끼여들기 때문에 회로의 분석이 아주 까다로워집니다. 사람이 설계했다면 설계자의 의도를 파악하기 쉽지만 컴퓨터가 설계를 최적화했다면 컴퓨터가 왜 그딴 짓을 했는지 따라가기 아주 어렵습니다.
  • ?
    laphir 2023.01.27 22:37
    아니 선생님, 저는 그냥 “우와…” 밖에 말이 안나오는데요. 대단하십니다
  • profile
    title: 인텔T.Volt_45      Into the Unknown, Show Yourself !! // ThunderVolt_45 2023.01.27 22:30
    그런 고급스러운 정보는 언제나 환영입니다!
    근데 도대체 칩을 어떻게 리버싱해서 소프트웨어로 에뮬레이션 하는지도 궁금합니다...
  • profile
    가우스군      푸른 풍경속으로..... 2023.01.27 22:32
    리버싱 엔지니어링이 이젠 취미로 해 볼 만한 세상이 왔군요 ㄷㄷ
  • ?
    title: Armuss0504      냐오닉스는 귀엽습니다.  2023.01.27 22:32
    무슨 이야기인진 알겠지만 이걸 하려는것 자체가 굇수에요...
  • profile
    title: AMD고토_히토리      봇치 더 락! 2기 기원 2023.01.27 22:38
    진정한 능력자... 대단하십니다 ㄷㄷ
  • profile
    호시노이치카      이치카는 사랑입니다 / 블로그 : blog.naver.com/poppinrose67 2023.01.27 22:45
    진정한 능력자이시군요.
    사실 전부터 느껴왔었던 거지만, 보면 볼수록 대단하다는 말밖에 안 나옵니다.
  • profile
    title: 민트초코쿤달리니 2023.01.27 22:55
    완벽하게 이해했어요..!
    다음 강의까지 게이트, 플립플롭, 가산기 공부해오면 되는거죠?
  • ?
    이카무스메 2023.01.27 23:00
    오 읽어주시면 감사하죠
  • profile
    title: 야행성가네샤      https://924717.tistory.com/ 2023.01.27 23:35
    와....오실때마다 엄청난걸 들고 오시는군요 ㄷㄷ
  • ?
    므시므시      닉네임만 이렇지 MSI와 별다른 관계는 없습니다(핳핳) 2023.01.27 23:37
    이런 정보는... 귀하군요....
    기대하고 있겠습니다!
  • profile
    title: AMDInduky      자타공인 암드사랑 정회원입니다 (_ _) 2023.01.27 23:37
    오실때마다 놀라운걸 가져오시네요 ㄷㄷㄷ
  • profile
    Normie 2023.01.28 00:19
    FM 라디오 같은데 쓰이는 변조기를 생각했는데 다른 물건인가 보네요. 흔히 8비트 음악이라 하는 고전게임에서 뿅뿅거리는것 같은 소리를 만들어내는 역할을 하는 것인가요...
  • profile
    픔스      2018년도 비봉클럽의 해 2023.01.28 00:19
    평소 YM2608(OPNA)에 관심 있게 살펴보고는 했는데, 이걸 리버스 엔지니어링 시도할 생각은 사실 아무도 없었을 겁니다. 매번 대단하시네요.
  • profile
    qua1121      대학원 후 스타트업의 길을 걷습니다. 날 죽여줘... 2023.01.28 00:24
    귀한 분이시다.
  • profile
    霊夢      레무/연약한 대학생 Nikon FE2 35/2 1480일차 2023.01.28 00:42
    와 20세기 청계천의 기운이 느껴져요
  • profile
    천군낙원 2023.01.28 01:45
    어..음... 보물지도 같은 건가요.
    이젠 놀라다못해 작성자 닉네임보면 끄덕하게 만들어지는게 무섭습니다.
  • profile
    이유제 2023.01.28 03:13
    아니 이게왜 취미....
    https://youtu.be/n5tGhY5t5yI
  • profile
    유지니1203 2023.01.28 10:24
    우와...능력자...대단하십니다 ㄷㄷㄷ
    기대됩니다!!
  • profile
    캐츄미      5700g, 5800x, 5950x 2023.01.28 10:32
    옛날 애드립 같은건가요? 기대됩니다 ㅎㅎ
  • profile
    title: 오타쿠AZUSA 2023.01.28 10:36
    전부 이해했어(이해못했음)
  • profile
    린네      불가능을 가능으로, 가능을 실현으로 2023.01.28 10:53
    와... 대단하십니다. 어떻게든 컴공과 들어가려고 하는중인데(그래서 재수행 당첨) 언젠가 들어가서 기초 배우면 꼭 이해하려고 노력해보겠습니다ㄷㄷㄷㄷㄷ...
  • profile
    title: 고양이(삭제예정)K_mount      고양이 확대중,. 2023.01.28 12:54
    (뭔지 모르겠으니 그냥 가만히 있어야겟다)
  • ?
    렉사 2023.01.28 13:27
    와......감탄만 나오네요.
  • ?
    waterblue 2023.01.28 14:10
    대단합니다. 질문이 몇개 있습니다.
    혹시 die 몇층인가? 사진은 one metal one poly 처럼 보이기도 하는데요?
    schematic는 무슨 툴로 작업하셨는지요? 그리고 die photo도 무슨 툴로 작업하시는지요?
    앞으로 강좌 잘 부탁드립니다.^^
  • ?
    이카무스메 2023.01.28 23:50
    아주 정확하십니다. 메탈 1층 폴리 1층입니다. 야마하가 이상하게 90년대 초반까지 메탈 2층을 잘 안 썼습니다. 아마 광학현미경으로 작업할 수 있는 최고 범위는 600배로 확대해서 메탈 3층 폴리 1층까지같습니다.
    대부분의 80-90년대 초 가성비 공정이었던 칩들이 메탈 2층 폴리 1층인데, 메탈이 너무 빽빽해서 불산으로 에칭해서 폴리실리콘 모양을 봐야 하는 경우를 제외하고는 무난하게 decap만으로 리버싱 가능한 것 같습니다.

    회로도는 Kicad 6.0에 커스텀 심볼을 만들어서 사용중입니다. Netlist랑 연계하여 타 툴을 사용하고 있지는 않습니다.

    다이샷 위에 주석 달고 게이트 표시하는 건 잉크스케이프를 사용하고 있습니다. 아주 편리하네요.
  • ?
    waterblue 2023.01.30 13:59
    친절한 답변 감사드립니다.. ^^ 언젠가 저도 한번 시도해보고 싶네요..~ㅋㅋ
  • profile
    title: 헤으응(삭제예정)Adora27 2023.01.28 15:21
    하드웨어를 좋아하시는 분들은 대부분 관심을 가질 주제같아요. 평소 글도 잘보고 있었는데 강의글은 오랜만인거같네요 기대됩니다!
  • profile
    title: 귀요미veritas      ლ(╹◡╹ლ)  2023.01.28 15:49
    칩 내부 트랜지스터급 레벨에서 YM3812를 통으로 에뮬레이션할 수 있는 그날이 오..겠죠?
  • ?
    염발 2023.01.28 17:54
    이.. 이게 뭐지..?
  • ?
    볶은완두콩 2023.01.28 19:42
    굇수시군요

작성된지 4주일이 지난 글에는 새 코멘트를 달 수 없습니다.


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
47829 잡담 it 개발자 직군은 사람인에서 구직하나요 11 컴맹유저맨 2023.03.20 738
47828 잡담 오늘의 무지성 지름 ( feat. Aliexpress ) 3 file title: 월급루팡벨드록 2023.03.20 307
47827 잡담 부산에 갈만한 여행지 좀 추천해주세요 15 hjk9860 2023.03.20 234
47826 잡담 어중땡한 시피유 죽으니까 골치아프군요 6 file 고자되기 2023.03.20 365
47825 잡담 유우나님 감사합니다 file 슬렌네터 2023.03.20 168
47824 잡담 수업째고 맛집 도는중이에요 18 file title: 흑우슈베아츠 2023.03.20 329
47823 잡담 윈11이 최근 쓸데없는 걸 데이터 낭비하고 있습니다. 11 file title: 오타쿠360Ghz 2023.03.20 7136
47822 잡담 구글 VPN 계륵이네요.. 3 title: 가난한까마귀 2023.03.20 654
47821 잡담 아이폰14 골드바 에디션 출시.오직 일반 모델에서만 6 file 고자되기 2023.03.20 654
47820 잡담 마우스 교환 받아왔습니다.~ 6 file title: 월급루팡카토메구미 2023.03.20 243
47819 잡담 [몰?루] 깡통놈땜시 피꺼솟... 4 file title: 폭8책읽는달팽 2023.03.20 308
47818 잡담 어쌔신스크리드, 사펑2077 간단후기 6 린르와르 2023.03.20 405
47817 잡담 스테이크 몇 그람짜리 드시나요? 32 타미타키 2023.03.19 684
47816 잡담 인텔 맥은 그냥 사용해야겟군요 15 title: NVIDIA스파르타 2023.03.19 887
47815 잡담 오라클은 뭘 시키고 싶은 걸까요 2 file title: 가난한까마귀 2023.03.19 434
47814 잡담 ChatGPT와 놀기 14 file Normie 2023.03.19 580
47813 잡담 호불호 갈리는 중국 길거리 음식 5 file title: 월급루팡유니 2023.03.19 641
47812 잡담 푸틴이나 힛총통의 어린시절로 회귀한다면? 5 타미타키 2023.03.19 407
47811 잡담 카드 청구할인이 되는게 거의 없군용... 6 title: 애플포도맛계란 2023.03.19 425
47810 잡담 물건 못 훔친 강도에게 욕먹는 최고의 호신용품 1 title: 폭8책읽는달팽 2023.03.19 696
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 2398 Next
/ 2398

최근 코멘트 30개
rnlcksk
00:28
포도맛계란
00:25
AKG-3
00:25
포도맛계란
00:25
Adora27
00:25
포도맛계란
00:24
코알라
00:24
포도맛계란
00:22
투명드래곤
00:19
벨드록
00:18
투명드래곤
00:18
투명드래곤
00:17
라데니안
00:15
유우나
00:14
스파르타
00:14
T.Volt_45
00:14
나무넷
00:13
Oixmq
00:13
T.Volt_45
00:13
라데니안
00:12
T.Volt_45
00:09
이피리아
00:09
T.Volt_45
00:08
DecAF
00:08
쿤달리니
00:05
타미타키
00:02
SunA
00:01
SunA
00:01
까마귀
00:00
포인트 팡팡!
00:00

더함 Ultra High Speed HDMI v2.1 케이블 (3m)
MSI 코리아
AMD

공지사항        사이트 약관        개인정보취급방침       신고와 건의


기글하드웨어는 2006년 6월 28일에 개설된 컴퓨터, 하드웨어, 모바일, 스마트폰, 게임, 소프트웨어, 디지털 카메라 관련 뉴스와 정보, 사용기를 공유하는 커뮤니티 사이트입니다.
개인 정보 보호, 개인 및 단체의 권리 침해, 사이트 운영, 관리, 제휴와 광고 관련 문의는 이메일로 보내주세요. 관리자 이메일

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소