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
    T.Volt_45      Into the Unknown, Show Yourself !! // ThunderVolt_45 2023.01.27 22:30
    그런 고급스러운 정보는 언제나 환영입니다!
    근데 도대체 칩을 어떻게 리버싱해서 소프트웨어로 에뮬레이션 하는지도 궁금합니다...
  • profile
    가우스군      푸른 풍경속으로..... 2023.01.27 22:32
    리버싱 엔지니어링이 이젠 취미로 해 볼 만한 세상이 왔군요 ㄷㄷ
  • ?
    title: 삼성uss0504 2023.01.27 22:32
    무슨 이야기인진 알겠지만 이걸 하려는것 자체가 굇수에요...
  • ?
    고토_히토리      봇치 더 락! 2기 기원 / 2700X + 6700 XT Owner 2023.01.27 22:38
    진정한 능력자... 대단하십니다 ㄷㄷ
  • profile
    title: 몰?루호시노이치카      자, 부탁드립니다! / 블로그 https://randomstar.blog 2023.01.27 22:45
    진정한 능력자이시군요.
    사실 전부터 느껴왔었던 거지만, 보면 볼수록 대단하다는 말밖에 안 나옵니다.
  • profile
    쿤달리니 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
    Induky      자타공인 암드사랑 정회원입니다 (_ _) 2023.01.27 23:37
    오실때마다 놀라운걸 가져오시네요 ㄷㄷㄷ
  • profile
    title: AINormie 2023.01.28 00:19
    FM 라디오 같은데 쓰이는 변조기를 생각했는데 다른 물건인가 보네요. 흔히 8비트 음악이라 하는 고전게임에서 뿅뿅거리는것 같은 소리를 만들어내는 역할을 하는 것인가요...
  • profile
    title: 컴맹픔스      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
    옛날 애드립 같은건가요? 기대됩니다 ㅎㅎ
  • ?
    title: 명사수AZUSA      збройовий завод 2023.01.28 10:36
    전부 이해했어(이해못했음)
  • profile
    title: 명사수린네      Someday out of the blue 2023.01.28 10:53
    와... 대단하십니다. 어떻게든 컴공과 들어가려고 하는중인데(그래서 재수행 당첨) 언젠가 들어가서 기초 배우면 꼭 이해하려고 노력해보겠습니다ㄷㄷㄷㄷㄷ...
  • profile
    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
    Adora27 2023.01.28 15:21
    하드웨어를 좋아하시는 분들은 대부분 관심을 가질 주제같아요. 평소 글도 잘보고 있었는데 강의글은 오랜만인거같네요 기대됩니다!
  • profile
    veritas      ლ(╹◡╹ლ)  2023.01.28 15:49
    칩 내부 트랜지스터급 레벨에서 YM3812를 통으로 에뮬레이션할 수 있는 그날이 오..겠죠?
  • ?
    염발 2023.01.28 17:54
    이.. 이게 뭐지..?
  • ?
    볶은완두콩 2023.01.28 19:42
    굇수시군요

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


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 공지사항 수식어 한시적 초기화/가격 인하/기간 조정 23 new 낄낄 2024.03.29 260
54987 잡담 흠... 5 360Ghz 2023.07.27 306
54986 잡담 흠... 4 file 360ghz 2022.12.23 349
54985 잡담 흠... 5 file 360Ghz 2023.02.17 261
54984 잡담 흠... 4 file 360Ghz 2023.01.20 237
54983 잡담 흠.. 일체형 수냉쿨러 2개나 놀고 있는데 14 동전삼춘 2021.06.09 472
54982 잡담 흠.. 외장하드에서 옛날 슽을 예토전생 시켜봤는데요 8 file 포도맛계란 2022.06.03 417
54981 잡담 흠.. 외장 nvme를 만들어 볼까요...? 10 포도맛계란 2023.04.05 648
54980 잡담 흠.. 왜 오지 않을까요? 3 file 포도맛계란 2022.12.22 309
54979 잡담 흠.. 여러분은 이번 광군절... 어떨꺼 같습니까.... 12 포도맛계란 2022.10.26 734
54978 잡담 흠.. 알리 배송이 모두 완료되었는데요 8 포도맛계란 2022.08.01 448
54977 잡담 흠.. 서큘레이터도 알아보고있습니다... 16 포도맛계란 2023.12.10 516
54976 잡담 흠.. 서브우퍼가 끌리네요. 19 file 케닌 2016.09.25 865
54975 잡담 흠.. 무소식이 희소식이곘죠..? 7 포도맛계란 2023.03.03 520
54974 잡담 흠.. 넘버패드가 은근 선택지가 없군요 6 포도맛계란 2022.11.21 341
54973 잡담 흠. 번개 해볼까양 25 title: 저사양0.1 2018.05.16 354
54972 잡담 흠 지마켓/옥션 15% 쿠폰... 5 동전삼춘 2020.02.17 426
54971 잡담 흠 저희집은 전기료 한시인하의 혜택을 받지 못... 6 file 쁘띠버섯 2016.08.11 389
54970 잡담 흠 이번에 나온 rx480을보며 궁금해서 여쭤봅니다 12 쿨키드 2016.07.01 495
54969 잡담 흠 이걸 왜 했을까,, 5 맛나는솜사탕 2021.06.08 521
54968 잡담 흠 CPU 문제가 아니였나봅니다 6 title: 폭8인민에어 2018.12.05 525
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 2756 Next
/ 2756

최근 코멘트 30개
책읽는달팽
16:53
책읽는달팽
16:52
아라
16:52
파란화면
16:51
아라
16:50
아라
16:48
NureKarasu
16:35
라데니안
16:33
책읽는달팽
16:30
PAIMON
16:28
임시닉네임
16:26
투명드래곤
16:19
동글동글이
16:17
파란화면
16:10
Argenté
16:09
Kylver
16:09
파란화면
16:08
까마귀
16:07
Kylver
16:07
Kylver
16:05
미쿠미쿠
16:02
스와마망
15:58
필립
15:58
스와마망
15:56
툴라
15:54
카토메구미
15:54
카토메구미
15:53
M_ZONE
15:53
아무개
15:44
메이드아리스
15:44

더함
AMD
MSI 코리아
한미마이크로닉스

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


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

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소