설계독학맛비
@semisgdh
Lead 레벨·
HW_임베디드 엔지니어
외국계 비메모리 반도체설계
수강생
4,213
수강평
355
강의 평점
5.0
멘토링 신청
9
멘토링 리뷰
2
멘토링 평점
5.0
안녕하세요. 설계독학의 맛비입니다.
현) Global Top5 Fabless기업에서 HW IP 설계하고 있습니다.
세상에 없던 그리고 여러분들의 현업 생활에 도움이 되는, "진짜 반도체 설계 실무 강의"를 만들고 있습니다.
설계독학 로드맵과 함께 여러분들의 실력을 키워보아요.
설계독학과 함께할 수 있는 링크입니다. 함께 즐공하고 성장해요!
📜신규강의 준비로 인하여 휴무입니다!
🙋♂️소개
안녕하세요. 👋 설계독학 맛비입니다.
저는 현재 Global Top3비메모리 반도체 설계 회사에 재직중인 13년차 엔지니어 입니다.
- 대기업, 중소기업, 스타트업, 외국계 까지 모두 경험해 보았습니다.
- Team lead 경험 및 다수의 엔지니어 분들의 면접 경험도 있습니다.
- 그외 합격했지만 선택하지 않은 대기업들도 다수 있습니다.
- 유튜브의 라이브 방송 및 다수의 커리어 상담이력이 있습니다.
제가 생각하는 멘토링은 단순히 지식을 한방향으로 전달하는 것이 아닙니다. (그것은 강의!!)
제가 가진 경험을 바탕으로 멘토링을 요청하신 분의 고민을 듣고 같이 이야기 하면서 더 나은 방향, 새로운 방법을 제시하면서 소통하는 것, 그것이 멘토링이라 생각합니다.
멘티분들의 원하는 목표를 달성하기 위해서 어떤 부분을 채워야할지, 커리어를 어떻게 관리해야 할지 등등 조언 해드리고자 합니다.
👩🏻💻 비메모리 반도체 회로 설계엔지니어 살아남기
불경기인 요즘 비메모리 반도체 회로 설계 이직/취업 힘듭니다.
해당분야는 수박 겉핥기로 취업하는 쉬운 분야가 아닙니다.
체계적인 커리어 관리가 중요합니다.
이런 고민이 있다면 상담을 진행해보는 건 어떨까요?
- 경력자 혹은 신입 이직 및 취업 상담. (면접 전, 모의면접 진행 가능)
- 학업 및 반도체 설계 커리어 관리 (석사, 박사 진학? 취업?)
- 맛비랑 비메모리 설계엔지니어의 삶에 대해 이야기 해보고 싶다..?
🔎 가능한 멘토링 분야
- 비메모리 반도체 설계 엔지니어로 성장하는 방법
- 비메모리 반도체 설계 엔지니어로 취직하기 / 이직하기
- 비메모리 반도체 설계 분야 학습 방법
- 기타 개발자로서 진로에 대한 고민 모두
🕗일주일에 한번만 진행하는 1:1 상담
토요일 오전 8시에서 9시, 일주일에 딱 한분만 모시고 1시간동안 진행합니다.
한시간 지났다고 해서, 땡치고 bye 하는가? 도 아닙니다.
제 성격상 만족할만한 결론은 꼭 내드립니다.
1:1 로 이야기 해보면서 맞춤 전략을 짜봅시다.
✅ 상담 결과물을 드려요
여러분의 현재 상황을 듣고 실시간으로 내용을 정리합니다.
상담이 끝난 후 정리된 상담 내용은 이메일로 전달드립니다.
🗓진행은 구글 Meet 에서
진행 순서
- (구매자) 결제를 해주세요.
- (판매자) 제가 메일을 보내드립니다. (시간 및 구글 meet 링크 공유)
- (구매자) 메일 확인해주시고, 답장주세요.
- 구글 meet 을 통해 만나서 1:1 상담을 진행합니다.
● 진행방식
- Google meets을 이용한 1:1 화상회의 방식 (카메라 OFF)
- 예약이 되면 기재하신 연락처(e-mail)를 통해 접속주소를 알려드립니다.
- 상호 원활한 대화를 위해 "이어폰과 마이크 혹은 헤드셋" 을 준비해 주세요!
- 마이크가 없을 경우 채팅창으로 대화를 나눠야하는데 시간 Loss가 발생할 수 있습니다.
● 준 비 물
- 질문할 내용 list (사전 공유 필수)
- 마이크+스피커 혹은 헤드셋 (상호 원활한 커뮤니케이션을 위해 필수)
강의
로드맵
전체 1수강평
- 설계독학's Verilog 마스터 Season 1 (실전 코딩 테스트 문제로 완성하는 디지털 설계 엔지니어의 커리어 도약)
- 설계독학's Verilog 마스터 Season 1 (실전 코딩 테스트 문제로 완성하는 디지털 설계 엔지니어의 커리어 도약)
- 설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
- 설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
- 설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
게시글
질문&답변
22장 vaild/ready
안녕하세요 🙂먼저 해당 조건에 대해 반대로 생각해보면, 이해에 도움이 될 거 같아요.이 수식을 뒤집어 생각해보면 더 명확합니다. (not 을 취해보죠) assign s_ready = ~m_valid | m_ready; // s_ready 가 0 이 되는 경우를 생각해봅시다.s_ready가 0이 되는 시점은 m_valid = 1 && m_ready = 0 일 때뿐입니다. 즉, "내가 내보낼 데이터가 꽉 차 있는데(m_valid=1), 다음 녀석이 못 받겠다고 버티는 경우(m_ready=0)" 에만 비로소 앞단에 "나도 더 이상 못 받아!"라고 s_ready = 0을 치는 것이죠.이것이 바로 Back-pressure의 핵심입니다. 따라서, 원래의 의미로 생각을 해보면,~m_valid: "내 마지막 칸이 비어있으니, 일단 밀어 넣어라." 또는 ( "|" or 기호 가 있으니까)m_ready: "내 마지막 칸이 차 있어도, 다음 녀석이 가져갈 거니까 한 칸씩 전진 가능하다. 그러니 밀어 넣어라."의 의미로 s_ready 가 1 이 됩니다.이해에 도움이 되셨기를 바래요.즐공하세요 🙂
- 1
- 1
- 25
질문&답변
./build시, waveform 'divide color' 사용
안녕하세요 🙂강의 영상을 촬영할때, 전부 "./build" 를 통해서 제작했습니다.tool 관련해서 버튼이 왜 막혀있는지는 모르겠네요. 지금 다시 해봤는데 저는 풀려있습니다. 강의때 사용했던 버전은 2020 이었고, test 는 2024 로 했어요.(사진)
- 1
- 2
- 23
질문&답변
Latch와 관련하여 (Time borrowing, Latch-based design)
안녕하세요 🙂저는 주로 "Latch 를 만들면 안되는" 설계를 해서, Latch 를 일부러 만들어서 사용하지는 않습니다. (엄창난 High Freq 를 요구하지않고, 안정성을 더 중요시 해서 그래요)실제로 사용하는가, 관점에서.네, 사용합니다.아주 높은 클럭 주파수를 뽑아내야 하는 고성능 프로세서 설계에서 주로 쓰입니다.실제로 쓰긴 하지만, 아무나 아무 때나 쓰지는 않습니다.장점: 클럭 주파수를 한계치까지 끌어올릴 수 있고, FF보다 면적이나 전력 면에서 유리한 면이 있습니다.단점(매우 큼): 질문자님이 짚으신 것처럼 타이밍 분석(STA) 난이도가 지옥 수준으로 올라갑니다. Static Timing Analysis 툴이 경로를 분석할 때 계산이 복잡해지고, 자칫 설계자가 의도하지 않은 레이스 컨디션(Race Condition)이 발생할 위험이 커요.정리하면, 일반적인? 로직설계에서 Latch 는 금기이나, 수 GHz 단위로 동작하는 CPU 설계팀 같은 곳에서는 타이밍 마진을 조금이라도 더 확보하기 위해서 Latch 를 사용합니다.즐공하세요!
- 1
- 2
- 49
질문&답변
output, reg 선언
안녕하세요 🙂네네 코딩 스타일인데, 저도 사람인지라 이것저것 씁니다.System Verilog "logic" 을 주로 사용합니다.기존 Verilog에서는 wire(연속 할당)와 reg(절차형 할당)를 엄격히 구분해서 써야 했죠. 이게 은근히 설계 실수를 유발하고 번거롭습니다. SystemVerilog의 logic은 이 둘을 하나로 통합한 것이라 보시면 됩니다.Latch 의 경우는 타입(logic)이 Latch를 만드는 게 아닙니다. Latch는 '코딩 스타일' 때문에 발생합니다.logic을 쓰더라도 always_comb나 always_ff 같은 전용 블록을 함께 사용하면 오히려 Latch 발생을 더 잘 잡아낼 수 있습니다. (그리고.. 어차피 tool 이 Lint 를 통해서 잡아줍니다 ㅎㅎ)현업에서 신경써야 할 것은 맞지만, 실수를 하더라도 금방 잡히니 너무 걱정하지 마세요.즐공하세요!
- 1
- 3
- 37
질문&답변
gvim
안녕하세요 🙂vim 은 커스터마이즈가 가능한 자유로운 에디터 입니다.우분투 상에서 gvim 을 설치 명령어는sudo apt install vim-gtk3즐공하세요 🙂
- 1
- 1
- 39
질문&답변
FPGA 공식문서 읽는법
안녕하세요 🙂FPGA 공식 문서 읽는 게 참 고역이죠... 저는 사실 시간이 해결을 해주더라.. 의 케이스 입니다.제가 처음 시작할 때 썼던 방법을 짧고 굵게 공유해 드릴게요.1. "전부 다 읽겠다"는 생각부터 버리세요. 그 방대한 문서를 다 읽으려면 프로젝트 끝납니다. 필요한 기능(예: I2C 제어, FIFO 사용법)이 있으면 그 부분만 쏙 골라 읽는 '발췌독'이 기본입니다.2. 그림(Block Diagram, Timing Diagram)이 8할입니다. 글자 백 번 읽는 것보다 타이밍도 한 번 그려보는 게 훨씬 빠릅니다. 신호가 언제 튀는지(Edge), 데이터가 언제 유효한지(Valid) 그림으로 먼저 이해하세요.3. 주소(Register Map)는 엑셀에 따로 정리하세요. Nios 같은 프로세서를 쓰신다면 레지스터 맵 확인이 필수일 텐데, 문서 켜놓고 작업하면 헷갈립니다. 내가 쓸 핵심 레지스터 주소랑 비트 설정만 엑셀에 딱 정리해두고 코딩 시작하는 게 실수를 줄이는 길입니다.보드 설계까지 같이 하신다면 'Pin Connection Guidelines' 같은 문서도 꼭 챙겨보세요. 전원이나 접지 처리 잘못하면 나중에 로직 아무리 잘 짜도 동작 안 합니다.처음이라 막막하시겠지만, 하나씩 직접 구현해 보면서 찾아가다 보면 금방 손에 익으실 거예요. 경험이 쌓이시다보면, 더 잘하게 되실꺼에요. (저도 아직도 막막한 부분이 있습니다 허허 ㅠ)즐공하세요!
- 1
- 2
- 45
질문&답변
안녕하세요 설치 관련 질문 드립니다.
아 다행이네요.Folder path 를 원하시는 path 로 적어주시면 해결되셨을 것 같은데요.해결하셨다고 답글 남겨주셔서 감사합니다.즐공하세요!
- 1
- 3
- 31
질문&답변
멤버십 관련 문의
안녕하세요 🙂 제가 매일 확인을 못해서 ㅠ혹시 지금도 안되었다면, 디스코드 아이디 남겨주시면 확인해서 직접 등업 시켜드리겠습니다.감사합니다!
- 1
- 1
- 24
질문&답변
16장 mealy 설계.
안녕하세요 🙂작성하신 코드는 Mealy Machine이 맞습니다.이유: always @(*) 출력 블록을 보시면, o_done이 결정될 때 현재 상태(c_state == S_DONE)뿐만 아니라 입력 신호(i_run, is_done)가 조건문(if)에 직접 관여하고 있습니다. 출력이 '현재 상태'와 '입력' 모두에 의존하기 때문에 전형적인 Mealy 설계라고 할 수 있습니다.최적화 관점에서는 출력에 d/ff 을 달면 출력신호의 글리치를 최소화 할 수 있겠네요.즐공하세요 🙂
- 1
- 2
- 52
질문&답변
14장 Cycle 관련, Testbench 코드.
안녕하세요 🙂제작 당시, simulation 상에서 waveform 의 값을 명확하게 보려고 조정하던게 들어갔습니다. RTL 코드는 문제 없습니다. 3 cycle 을 의도한게 맞습니다. "14장 실습코드에서 valid 신호에 대해"시뮬레이션 관련하여서는, 매번 run 을 해줘야하는 이유 현재 simulation 이 project mode 가 아닌, standalone 방법이기 때문인데요. 따라서 현재 환경에서는 다시 xvlog, xelab 과정을 거치는 방법을 진행해야 합니다.project mode 로 simulation 을 만드시면 tcl 에 "relaunch_sim" 이라는 명령어로 코드수정 후 바로 simulation 을 돌릴 수 있습니다. (사실 relunch_sim 이 xvlog, xelab 다시 하는 것과 동일합니다) 프로젝트 모드 변경 방법. 제미나이 글입니다. 따라해봤는데, 잘 되네요. 필요하시면 반영 하시면 되겠습니다. 즐공하세요 🙂 (one time 이 아닌, 꾸준한 개발이면 프로젝트 모드가 좋아보이네요.)(사진) 1. Tcl 스크립트를 이용한 프로젝트 자동 생성기존 3개의 명령어를 대신하여, Vivado 프로젝트를 만들고 시뮬레이션을 실행하는 run_sim.tcl 파일을 만듭니다.파일 생성 (run_sim.tcl):Tcl# 1. 프로젝트 생성 (이미 있으면 열기) if {[file exists my_sim_project.xpr]} { open_project my_sim_project.xpr } else { create_project my_sim_project ./my_sim_project -part xc7a35tcpg236-1 # (part 번호는 사용하시는 보드에 맞춰 수정하세요) } # 2. 소스 파일 및 TB 파일 추가 add_files {./power_of_8.v ./tb_power_of_8.v} # 3. 시뮬레이션 설정 (Top 모듈 지정) set_property top tb_power_of_8 [get_filesets sim_1] # 4. 시뮬레이션 실행 (GUI 모드로 실행) launch_simulation 실행 방법 (터미널): 이제 터미널에서 아래 한 줄만 입력하면 Vivado 프로젝트가 생성되면서 시뮬레이션 GUI가 바로 뜹니다.Bashvivado -mode gui -source run_sim.tcl 2. 프로젝트 모드에서의 워크플로우 (중요)프로젝트 모드로 한 번 진입하면, 더 이상 터미널에서 명령어를 칠 필요가 없습니다.최초 실행: 위 명령어로 Vivado를 띄웁니다.코드 수정: 리눅스 외부 에디터(VS Code 등)나 Vivado 내부 에디터에서 .v 파일을 수정하고 저장합니다.즉시 반영 (Relaunch): Vivado 시뮬레이션 화면 상단의 'Relaunch Simulation' 아이콘을 클릭합니다.내부 동작: Vivado가 알아서 xvlog -> xelab -> xsim 과정을 백그라운드에서 다시 수행합니다.결과: 끄고 켤 필요 없이 약 5~10초 내에 수정된 파형이 업데이트됩니다.
- 1
- 2
- 39
블로그
전체 5
2021. 04. 29.
3
(질의응답 History 4.) verilog를 이용한 neural network accelerator 설계 질문
3학년 전자과 학생분이시구요. 직접 도움이 되는 좋은 답변을 드리진 못했어요. 해드리고 싶은 이야기를 정리하면. 1. 본인이 정체되어 있다고 생각이 드신다면, 직접 새로운 무언가를 찾으려고 노력해야 한다라고 생각합니다. (ex. 가고싶은 회사의 지원자격을 살펴보기) 2. 학교 과제는 말그대로 학생이 해결해야하는 문제라고 생각해요. ====== 질문 ====== 질문 제목 : verilog를 이용한 neural network accelerator 설계 질문질문 내용 : 안녕하세요! ai accelerator에 대한 게시물이라 여기다 질문을 남겨봅니다!!현재 대학교에서 전자전기공학부 3학년까지 공부한 아무것도 모르는 학생입니다ㅠ제가 학부연구생을 하면서 binary neural network의 hardware accelerator를 verilog로 설계해보게 되었습니다.1. 처음에는 학부 수업시간에 배우던 회로에 대한 내용보다는 단순히 코딩을 하고 컴퓨터 작업만 하게되어 전자전기공학부인지 컴퓨터공학인지하는 생각이 들며 이렇게 되는게 맞는가 하는 생각이 들었습니다. 그래서 이게 전자전기공학이라는 전공을 살려서 하고 있는 일인지 의문이 들었습니다. 뭔가 좀더 회로를 설계하는 쪽의 전문적인 일을 할줄 알았습니다. 제가 하고 있는 이 분야의 공부를 하면 앞으로도 계속 이런 생각이 가끔씩들까봐 걱정되어 질문합니다. 이 분야도 저의 전공을 살려서 하는것이 맞는지 그리고 이 분야를 공부하면서 나아갈수 있는 길이 어떻게 있는지 궁금합니다ㅠ2. 교수님께서는 inference용 가속기를 verilog로 설계해보라고 하셨습니다. 이에 구글링이나 책을 찾아보며 verilog에 대해 어느정도 공부를 하였습니다( 이때 맛비님에 대한 유투브도 알게 되어 많은 도움이 됐습니다! ) inference용 가속기를 위해 먼저 파이썬을 통해 파라미터값을 학습하였고 그 값들을 베릴로그에서 이용하는 방식으로 코딩을 해보았습니다.하지만 원하는 결과는 나오지 않았고 어디 부분이 문제인지 조차 모르겠었습니다github이나 구글링을 통해 다른 사람들의 코드 내용을 보기도 하고 했지만 binary를 이용한 neural network에 대한 참고할 수 있는 자료를 많이 찾지 못했습니다그래서 더 이상 도움을 받지 못하고 코드를 아무리 수정해도 결과가 나오지 않는 현재 상황이 되었습니다..혹시 이 문제에 대해 조언이나 보고 공부할 참고강의나사이트에 대해 알려주실 수 있을까요...?(교수님한테는 직접적인 큰 도움을 받지못하고 있습니다..ㅠㅠ)바쁘신 와중에 긴 글 읽어주셔서 감사합니다!답변하기 힘든 질문이었다면 죄송합니다감사합니다! ====== 답변 ====== 안녕하세요 :)답변하기 힘든 질문 맞구요 ㅎ 지극히 사견이니 너무 믿진 마세요.1번답변.Verilog HDL 이 컴퓨터공학의 느낌을 받으신다면...? 더 많은 공부가 필요하다고 생각해요. :)컴공과에서 설계를 공부하지 않아요. 저는 전자과가 적합하다 생각하구요. Verilog HDL 설계 경험을 더 쌓으시다 보면, 본인의 답을 찾으실 수 있을 것 같아요.미래가 불안하시면, 가시고 싶은 회사의 지원 자격을 보세요. 본인이 지원자격을 갖춘 사람이 되도록 공부방향을 잡으시면 될 것 같습니다.2번답변. 이 부분은 약간의 훈계? 를 해드려야 할 것 같습니다.아시다시피, 이 분야는 이제 길어야 10년도 채 안되었습니다. 그나마 좋은 자료는 제가 위에 쓴 글의 "Vivienne Sze" 이분 자료가 가장 훌륭하다고 생각해요.저도 직장인인지라.. 직접적으로 조언을 해드릴 여유?는 없어요. + 학생 때 하는 과제는 현업 오시면 정말 쉬운일입니다.(지금은 학생이시니까 어려운거 맞아요. 극복해야죠.)교수님이 내준 과제에서 교수님에게 도움을 받지 못한다면.. 제가 당연히 도움을 드리기 어렵지 않을까요..? 어찌보면 당연한거죠 :) 그럼 즐공하세요 :) ====== 추가 답변 ====== 혹시나 실망? 하실까봐..1번의 추가 답변3학년 학부연구생이면, 굉장히 훌륭하시다고 생각합니다.지금 어려운 부분을 극복하시다보면 좋은 결과가 있을꺼라 생각해요."뭔가 좀더 회로를 설계하는 쪽의 전문적인 일을 할줄 알았습니다." 이 부분을 벌써 걱정하시다니... 현업으로 오세요 :)2번 추가 답변"nference용 가속기를 위해 먼저 파이썬을 통해 파라미터값을 학습하였고 그 값들을 베릴로그에서 이용하는 방식으로 코딩을 해보았습니다."방향성은 맞아요.그럼 즐공하세요 :)

2021. 04. 21.
1
(질의응답 History 3.) always(*) 문에 관하여
어느 블로그에 Verilog HDL 문법 중, always(*) 를 쓰면 비메모리 설계 인생이 망할? 것 처럼 적어놓으신 경력자 분이 계시더군요. 그 글 때문인지, 여러번 질문을 받았구요. 제 답변을 적어봤습니다. IEEE 에서 쓰라고 만든 문법이구요.. 결론은 제대로 알면 써도 됩니다. 꼰대력을 발동해서 더 적자면!!! 지식은 반드시 걸러서 받아드리셔야 합니닷! 물론 제가 알려드리는 내용이 틀릴 수 있어요, 제가 틀린 부분을 찾아내셨다면, 여러분들이 더 뛰어난 것이니 좋아하시면 됩니다 :) 추가로 어디가 틀렸는지 알려주시면 정말 감사하겠습니다 ㅠ.ㅠ Q. FSM으로 uart 설계중이었는데 그 보통 state 컨트롤시 always(*) 조합회로로 컨트롤을 하는데 이거에 대한 글을 쓴 블로그를 보았는데요. 진짜 always(*)문 안에 레지스터를 쓰게되면 실제 양산시에 큰 문제가 생기나요?갑자기 궁금해서 여쭤봅니다. (글 링크는 안알랴줌... 괜히 볼까봐..;;;;) 맛비's A. 예전에 어떤 학생도 이분 글로 물어보던데.. 음..개인적으로 그렇게 동의하는 글은 아니에요. 다 틀렸다는 아닌데.. 공격적인 말투하고.. 본인말이 무조건 맞다 식의 문장이 조금 걸릴 뿐.. (다 맞지 않지만요)저희 회사 사장님 및 선배들.. 다 망했겠네요..ㅎ 저도 이번생의 설계 엔지니어는 망했군요.. ㅠㅠalways(*) 문 이 문법은 쓰세요. Verilog 2001 정식 문법입니다.. 왜 그걸 이렇게 표현했는지.. 이거 Combinational Logic 입니다......저분 글에 반박하면always@(*)어떤 양아치가 이런 문장을 책에 처음 썼는지 모르겠으나 이 후로 나온 책들이 모두 이런 문장을 사용했다. 이 문장은 일단 컴비네이셔널 로직을 register 로 선언하게 된다. register 로 선언되면 메모리가 된다. 컴비네이셔널 로직에 플립플롭이나 래치가 되면 시그날 처리가 애매해 진다.IEEE 라고 하는 양아치...? 가 만들었구요.. ㅠ.ㅠreg 로 선언했다고 해서 register 아니구요. Combinational Logic 으로 만들어집니다. (이 한줄이면 충분해요.) 당연히 reg 로 선언해서 컴비네이셔널 로직으로 합성이 가능하죠. 그런데 그게 경우에 따라 레지스터가 될수도 있잖아요. 컴비네이셔널 로직을 설계하는데 만에하나 레지스터나 래치같은 형태로 합성되면 회로에 재앙이 발생합니다.코딩 스타일로 충분히 막을 수 있는 재앙을 왜 잘못될 확률이 있는 방식으로 설계하냐는 말이죠.경우에 따라서.. 가 어떤 경우인지는 모르겠는데, 문법을 정확하게 모르면 안쓰는 것이 좋다 의 뉘앙스로는 공감합니다. 하지만 저는 써요 https://stackoverflow.com/questions/6009998/verilog-always-block-using-symbol여기의 답변이 저의 생각하고 일치합니다.

2021. 04. 15.
5
(질의응답 History 2.) 안녕하세요? 맛비님 블로그 보고 FPGA를 입문하려는 학생입니다. (박사과정 학생분)
요약하면. 3월 말쯤에, 연구에 사용할 FPGA 보드를 선택하는 것을 여쭤보셨습니다. 제 생각은, 연구용이기 때문에, FPGA 의 리소스는 많을 수록 좋다고 생각해요. :) 공부용은 Zybo Z7-10 or 20 이 적절하다 생각하구요. Q1. 맛비님 안녕하세요? 저는 xx대학교에서 박사과정을 밟고 있는 학생입니다. 먼저 HW 설계관련해서 좋은 자료를 제공해주신점에 감사드립니다. 다름이 아니라 궁금한점이 있어 메일을 보내게 되었습니다. 말씀드리기 앞서 저는 석사과정간 neuromorphic computing을 위한 시냅스 소자 공정 및 학습 시뮬레이션을 연구 했고, 올해 박사과정에 진학하여 연구주제를 탐색하고 있습니다. 그러던 중 FPGA를 이용하여 neural network architecture 디자인을 연구해보고자 review paper, digital circuit, computer architecture를 공부해보고 있습니다. 제가 궁금한 점은 맛비님이 블로그에 올려주신 Zybo Z7-20보드와 많은 논문에서 사용하고 있는 Zynq ZC706 보드에 관한 내용입니다. FPGA를 사용해 본적이 없어 입문은 Zybo Z7-20 보드로 천천히 공부해 나갈려고 하는데, 추후에 neural network architecture를 디자인 하는데 있어 부족함이 없는지 궁금합니다. 부족함이 있다면 처음부터 Zynq ZC706 보드를 구매하여 연구를 진행하고자 합니다. 제가 직접 알아봐야하는 내용이지만 소자 연구실에서 FPGA를 이용한 neural network architecture를 디자인 하는 연구를 처음 시도 할려는지라 판단이 안서 이렇게 메일을 드리게 되었습니다. 읽어주셔서 감사합니다. 맛비's A1. 안녕하세요. xxx님. Zybo Z7-20 보드는 알고계신대로 공부용이구요. 40만원이하라 사실상 Resource 가 많이 없습니다. ㅠ 연구용으로 쓰신다고 하시면, Zynq ZC706 을 사용해야 할 듯 싶네요. (Zynq 를 사용해야 하나요?? 금액대비 HW resource 가 적어서 FPGA 만을 위한 프로젝트면 그렇게 추천드리고 싶진 않아요. Embedded Target 이 아니라면 Alveo Card 를 추천드립니다만.. 사용방법은 본인이 감당하셔야하는 문제..) neural network architecture 를 연구하신다고 하셨는데, Network 의 size 의 차이일 뿐, 작은 Network 라고 가정하면 Zybo 에도 넣을 순 있습니다. 다만 Network 의 크기는 케바케 인지라 제가 답을 드릴 순 없구요. 결론은 리소스는 다다익선 입니다. 돈이 되신다면 (연구비로 살텐데) 좋은거 사세요. :) FPGA 가 처음이시라면 Board 와 친해지시는데 시간이 필요해보이긴하네요. 기존에 있는 유료 강의도 찾아서 들으시면 도움이 되실 것 같습니다. 제 유튜브는 진도가 너~~~무 느려요. :) 그럼 즐공하세요 :) Q2. 답변 감사합니다.! 초심자라 판단이 안됐는데, 말씀해주신대로 Zynq ZC706 보드로 선택해야겠네요.! (Alveo Card는 처음부터 건들기에 겁이 나기도 하고... 교수님께서 논문에서 사용되는 보드를 원하시는거 같아서...) 제가 지금까지 연구했던 내용, 소속돼있는 연구실의 연구주제가 달라 FPGA로 neural network architecture를 검증하는 연구가 겁이 나기도 했는데 맛비님 덕분에 많은 도움이 되었습니다. 자일링스 manual과 추가적으로 맛비님이 만드신 유료강의를 수강하려는 생각도 하고 있습니다. (진짜요..?!! ^^) 마지막으로 다시 한번 감사드린다는 말 드리고 싶습니다.! 감사합니다.

2021. 04. 13.
9
(질의응답 History 1.) 전자과 30살 취준생 분의 진로 고민
첫 글이라 내용이 길 수 있습니다. (원래 시작은 마음가짐이 좋죠!) 2021 년 1월 중순에 네번 정도? 주고받은 내용입니다. (진지하게 고민하신 분이라고 생각합니다.) 요약하면 30살에 설계 분야를 시작할 수 있는지, 어떻게 하면 좋을지를 여쭤보셨습니다. Q1. 안녕하세요나이는 30이지만 다시 전공을(전자공학) 살려서 취업 준비를 하는 취준생입니다.4년제 대학교를 다닌 졸업생입니다.제 목표는 시스템 반도체쪽 FPGA에 관심이 있습니다.하지만 앞서 말한 것과 같이 학교에서는 VHDL를 조금만 배운 기억이 있었지만 어느 정도 텀이 있었기에 기억이 리셋이 되었네요. 대학생 당시 quartus 2 프로그램으로 조금만 다루었습니다. xilinx 프로그램을 한번도 사용해보지는 않았습니다.그래서 디지털 논리회로, verilog를 이용한 디지털 시스템 설계, VHDL, C언어 이렇게 다시 할 예정입니다. 툴은 xilinx와 quartus 2 두 개다 이용할 예정입니다.혹여나 이 책 말고도 전자회로, 컴퓨터 구조나 혹은 또 다른 것을 어느 것을 해야 하는 지를 알지 못하여 조언 좀 부탁드립니다.우선은 중소기업에서 경험을 쌓을 예정입니다. 맛비's A1. 안녕하세요. 반갑습니다. 조금 긴 조언을 드리자면, 선택과 집중이 필요한 시기인 것 같습니다.모든 것을 다 할 수 없다고 생각합니다. 저도 모르는 거 엄청 많습니다.제가 30살로 돌아가서 처음 한다고 하면, 이렇게 할 것 같아요.C 언어 -> 디지털 논리회로 -> Verilog HDL(VHDL 은 제외 시켰습니다. 노력대비 보상이 적습니다.)Verilog 를 배우시면 FPGA 를 하실텐데,저 같으면 Xilinx 계열만 하겠습니다.(제가 회사를 몇군데 다니면서, Altera 를 쓰는 곳은 본적이 없습니다.)전자회로는 안할 것 같네요. (거듭 말씀드리지만, 30살로 돌아갔을 때입니다. 중요합니다. 하지만 개념만 기억하고 계시면 됩니다.)정작 설계에서 필요한건 컴구조 인데, 분야에 따라서 깊이 있게 쓸 수 있고 아닐 수 있습니다.전 AI core 설계라 컴구조의 세부내용까지 기억을 못 합니다. 하지만 필요해요. 그래야 아키텍터가 되실 수 있습니다.자... 마지막으로 중소기업에서 경험. 이라..필요하죠. 하지만 좋은 선택을 하시길 바라겠습니다. 저도 대기업에 있다가 중소기업을 다닌적이 1년 있는데, 정말 고되었습니다. 지금은 스타트업이지만 엔지니어로써의 제 인생에서 가장 행복한 시기가 아닌가 싶습니다.어디 회사가 좋다 라고 제가 말씀은 못드립니다. 하지만, 잡플래닛에 나와있는 별점과 리뷰는 꼭 보세요.30살 시작이면 더욱 마음 다잡으셔야 합니다.솔직하게 이 분야가, 배우는 과정이 정말 힘들다 말씀드리구요. 마음 단단히 먹으세요. 목표가 어디신지는 모르겠으나, 제가 다녀 본 회사들의 동료들은 석사 or 박사 다이렉트로 졸업해서 오신분들이 많았습니다.그래도, 이 분야는 학벌보다 경험이 더 중요하다고 믿습니다. 누가 많이 개발해 봤느냐, 얼만큼 제품을 성공시켜 봤느냐가 더 중요합니다.늦었다가 아닙니다. 더 많이 하시면 됩니다.진짜 최선을 다해보세요. 그럼 됩니다.이 분야가 워낙 좁아서, 원하시는 바 이루시길 바라겠습니다.그럼 건승을 빕니다 Q2. 안녕하세요우선 댓글 답변 감사드립니다.오늘 대학교 교수님과 상담을 받는 것이 늦게 되어서 빠른 답변을 못하게 되었네요.교수님과 맛비님께서 조언을 해주신 것과 하드웨어 엔지니어 자료를 추가적으로 보게 되면서 궁금점이 생겼습니다.제가 배운 것은 전기회로, 전자회로1, 집적회로설계(전자회로 2), c언어, 디지털논리회로, VLSI, 컴퓨터구조, 확률 및 응용, 반도체 물성 및 소자 및 공정, 마이크로프로세서, 임베디드, 신호 및 시스템, 이동네트워크 등을 우선적으로 하였지만 원서로 된 책이 있으면 책 모든 부분을 배운 적은 한번도 없는 상태입니다. 제가 생각했을 때에는 너무 얇게 배워서 걱정인 상태입니다.1. 지방대 2020년에 졸업을 한 후, 학점 xxx 영어자격증은 없습니다. HDL관련에서는 VHDL 일부분만 배웠습니다. 이러한 상태에서 취업을 할 경우에 학위 학점와 영어 자격증(토익 or 토스 or 오픽) 1개만 취득을 하게 된다면 FPGA 혹은 다른 분야에서 취업이 가능한 건가요? 대학교 교수님께서 이렇게 말씀을 하셔서 현직에서 종사하신 분의 말씀도 듣고 싶습니다.(영어는 OPIC IM2~3, 만약 가능하면 IH까지 준비할 생각입니다.)2. 제가 처음에 생각했던 것은 FPGA분야라고 하면 verilog와 몇 가지를 어느 정도를 공부하여 취업이 가능한 걸로 알고 있었습니다. 하지만 대학교에서만 배운 것으로만 모른 채로 들어간다는 것이 조금 이해가 안되네요. 이러한 공부 과정을 중소기업, 중견기업, 대기업에서 다시 배우게 되는 건가요?3. FPGA, ASIC에서 사용되는 언어는 verilog, VHDL를 이용하여 겹치는 부분(front-end, back-end)에서도 Vivado를 사용하는 건지를 모르겠습니다. primetime툴이라는 것도 처음 보게 되네요...어느 정도 연관이 되어 있는지 궁금합니다. 가급적 분야가 겹치면 취업 자리도 많다고 생각하기 때문입니다. 모델심은 quartus2에서 VHDL으로 이용하여 써 본적이 있었습니다.http://esslab.hanyang.ac.kr/uploads/security_circuit_design/lecture_note/40422a4d874fbd828c522ec3bb60baec/%5B%EA%B0%95%EC%9D%98%EB%85%B8%ED%8A%B8-14%5D%20ASIC%20flow.pdf맛비님께서 중소기업부분을 말씀하셨는 데, 잡코리아에서는 대기업은 없으며 중견기업은 있지만 경력직만 뽑고 있는 상태이고 현재 FPGA 신입 및 인턴 자리가 너무 없어서 조금 걱정이드네요. 맛비's A2. 안녕하세요 참... 아이러니 하죠?FPGA 신입은 없고 경력만 있다는게.신입이 있어야, 연차가 쌓여서 경력이 되는데 도대체.. 신입을 안뽑으니.1번의 제 생각대기업 취업을 염두해 두신다면, OPIC 중요하죠. (참고로 전 IM-2 받고 들어갔습니다.)제가 면접관의 입장이 되어보니.. 영어는 그렇게 눈에 안보이더라구요. 영어로 설계 하실건 아니잖아요. 우리가 외국계도 아니구요. (외국계 목표시면 해야되요.)2번의 제 생각배운다............ 취업해서 배우는거 맞아요. 하지만 배우는 것 보다 훨씬 더 중요한게 있다고 생각합니다. 저는 동료들에게 실무를 가르치지 않습니다. 가이드를 해줄 뿐이죠.설령 질문자님께서 가이드를 해줄 사람이 없더라도, 원하시는 목표를 달성하기 위해 스스로 고민하고 공부하셔야합니다.그래서 배운다라는 표현을 그렇게 믿지 않아요. 스스로 공부한다가 더 중요합니다. 제 자랑이 아니고 실제로, 회사/집에서 짬내서 공부했어요. 아직까지 저는 대단한 사람이 아니지만요 ㅠ3번의 제 생각제 후배가 이 질문을 한다면 이렇게 가이드를 해줄 것 같네요.FPGA, ASIC 이 무엇인지, 그리고 제품이 나오는 과정 (Flow) 를 찾아보세요.마지막으로여기서 제가.... 긍정적으로 잘되실꺼에요. 힘내세요 라고 하고 이 글을 끝낼 수 있어요.다음에 쓰는글은 제 생각입니다.안보셔도 되요. 제 경험만 적습니다. 답은 아닙니다. ...... 경력직만 뽑는다.이건 저도 안타까워요.라떼도 그랬습니다. (이 분야는 아직도 왜이래..? 이랬는데, 역지사지 해보면 답이 나와요.)근데 누군가는 그 자리에 들어가요. 저도 신입으로 어찌저찌 들어와서 경력자가 되었어요.그런데 제가 경력자가 되고 보니.. 제 팀원을 뽑는다고 했을 때, 신입 채용에 조심스러운 부분이 있어요. (경력선호)신입이나 인턴을 뽑는다면, 그 사람의 면접 질문의 답변 태도를 볼 것 같아요. 실력은 당연히 중요합니다. 그치만 영어는 비중이 낮을꺼에요. (실무를 할 수 있느냐)그나마 제가 신입이 될 수 있었던 노하우를 알려드리면....취업을 하고 싶은 회사가 있다면.그 회사가 어떤 사람을 원하는지 파악하고 그런 사람이 되기 위해 노력하시는게 맞을꺼에요. 그럴 시간조차 없다면, 운에 맡겨야죠..뻔한 이야기인데, 저의 경험으로는 이거에요.걱정을 더 만들어 드려서 죄송하구요.제 말이 정답은 아닙니다. 상처? 가 되셨다면 이런 이상한 x도 있구나 생각하시고 저에대해 무관심 하시면 되겠습니다.스스로 답을 찾아보세요.잘 이겨내셔서 쟁취하시길 바라겠습니다. Q3. 안녕하세요. ^^맛비님의 꿀같은 답변 감사드립니다. 상처, 이상한x이라고 생각은 전혀 없습니다. 저에게 있어서는 솔직한 정보를 주시는 게 더 마음에 와닿았습니다.제가 햇갈려 한 것은 영어만 공부하여 취업을 하느냐 혹은 전공부터만 하느냐 였습니다. 그래서 모든 의견을 통합하여 보니 둘 다 하는 것이 맞다고 생각되어지네요. 우선적으로 전공[3] : 자소서[1] : 영어[6] 으로 할 생각으로 마음이 굳쳐 지고 있습니다. 왜냐하면 영어는 증명자료라고 생각되기 때문입니다. 자격증 유효기간도 있으니 빠르게 습득하여 다시 전공을 공부할 예정입니다. 전공도 2번째 답변에 의해서 어느 정도는 해야 겠다는 생각이 들게 되었네요.또 몇 가지 질문 다시 하게 되네요. 이렇게 많은 질문을 하게 되어, 민폐를 너무 많이 주는 거 같아서 죄송합니다. 그만큼 저에게 있어서 올해 초반 스타트를 어떻게 공략을 한 것인가에 대해 많이 생각됩니다.1. 저번에 2번의 답변을 읽고 나서, 대기업 혹은 중견기업들은 보통은 해당 분야에 사수, 부사수가 있으며 사수가 가이드라인을 제시해 줍니다. 중소기업은 사수가 있을 수가 있고, 없을 수도 있습니다. 보통은 중소기업은 사수가 없나요?중소기업에서 1년 다니셨다고 하셔서 그 때 정말 고되었다는 의미가 혼자서 모든 임무를 한 것지에 대해서 궁금점이 생기네요..2. 저번 3번과 겹치는 부분입니다. 우선 저는 RTL엔지니어를 FPGA엔지니어라고 생각합니다.밑에 사이트에서 자료를 조합해보았습니다. 물론 ASIC과정이 좀 더 전체적인 구체적으로 적혀 있습니다.FPGA엔지니어는 ASIC과정에서는 제품 사양 최종 확정, front-end 과정부분만 해당이 되어서 중첩이 된다고 생각했었습니다. 그래서 제가 궁금한 점은 이것이 맞는지에 대한 것입니다.아니면 제품 사양 최종 확정에서만 FPGA가 있어서 그쪽만 해당이 되는지에 대한 것입니다.ASIC와 FPGA차이점 :https://itrustme.tistory.com/entry/FPGA%EC%99%80-ASIC%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90ASIC 과정https://m.blog.naver.com/PostView.nhn?blogId=beer50cc&logNo=110034592201&proxyReferer=https:%2F%2Fwww.google.com%2FFPGA 과정http://blogspot.designonchip.com/2009/10/rtl-engineer.html현재 저는 4년 동안 유학을 준비하다가 너무 흐지부지가 되어 자포자기 상태였습니다. 원래 목표는 VLSI 설계였습니다. 하지만 영어의 벽을 느껴서 우선은 FPGA설계 및 취업을 하여 돈을 번 후 다시 도전할 생각으로 마음이 굳쳐진 상태입니다. 저도 4년 동안 시간을 낭비가 한 것에 대한 많은 후회를 가지고 있었습니다. 하지만 이미 엎지른 물은 담을 수가 없으니 어쩔 수가 없는 상태네요... 그러는 도중에 전공과 관련되서 VLSI & FPGA & 임베디드 & ASIC & 회로설계 등의 정보를 구글링으로 찾다가 설계독학맛비님의 유튜브를 보게 되었습니다. 정보 또한 최근 자료여서 더욱더 와닿았습니다.zybo z7 20의 영상을 찍는 여부에 대한 이메일이 긍정적으로 와서 zybo z7 20를 배워보고 싶네요.제가 있어서는 쓴소리든, 좋은 소리든 모든 것을 피드백되어서 고칠려고 노력중입니다. 너무 많은 질문을 하여 죄송합니다. ㅠㅠ좋은 하루 보내세요. 맛비's A3. 안녕하세요!제글을 읽고 영어 비중이 6으로 가다니..질문자님께서 답을 내리셨다면 그렇게 가시죠.짧게 답변드릴께요. 쓴소리는 이전 글로 충분하다고 생각합니다. 1번의 제 생각은.사수 / 부사수 있어요. (중요한가요...?)제가 중소기업에서 힘들었던 이유는?그 회사 자체가 제가 생각했던 거와 달랐어요. 외부에서 보여지는 거와 막상 들어와보니 다르더라구요. 그리고 제가 발전이 없더라구요. 계속 여기있으면.. 이 사람들 처럼 되겠다.....는 공포..감...? ㅠㅠ2번의 제 생각은RTL엔지니어 != FPGA엔지니어공유해주신 글을 읽어보진 못했지만, 다들 훌륭하신 분들 같네요.이렇게 찾아보시면서 답을 만들어 보세요.제가 하는 내용이 도움이 되셨으면 좋겠습니다.질문은 좋은거에요. 하지만, 해보기전에 걱정만 앞서서.. 시작을 못하는 건 아닐지 걱정되네요.신중한건 좋지만, 뭐든지 과하면 독이 됩니다. 그리고 저는 답을 충분히 드린 것 같아요. 이제 저에게 질문글을 쓰는건 시간낭비입니다. ㅎ시작해보세요 Q4. 안녕하세요.저는 쓴소리를 더욱더 환영합니다. 그래야지 저는 제가 뭘 잘못했는 지에 대해서 판단할 수 있습니다. 네... 제가 센스가 많이 떨어지는 편이네요..아마 영어 비중을 조금 더 낮출 생각입니다. 현재 제 친구가 프로젝트를 1개를 같이 해보자고 하는 것과 오픽은 토플과 별개로 오래 안걸린다고 하네요. 그래서 아마도 비중을 영어 4 : 전공 5 : 자소서1로 갈 예정입니다.전공 5는 원래는 C언어를 할 예정이었지만 친구가 프로젝트를 한개 하자 하여 디지털 논리회로와 verilog문법을 익혀야 해야 할 거 같더군요.. VHDL 제외입니다 +_+. 아마 저 2개를 어느 정도 한 후에, C언어 & 컴퓨터 구조를 할 예정입니다.제 개인적인 생각이지만 단시간에 FPGA설계를 한다는 것은 부정적이라고 생각되어지네요. 원래는 zybo z7 20를 배운뒤에는 할 생각이 있었습니다. ㅎㅎ제가 사수, 부사수가 중요하다고 생각되어지는 게 저만의 실수를 바로 잡기 위해서 입니다. 제 개인적인 생각이지만 처음 일할 경우에는 경험이 많이 없어서 부사수인 제가 실수를 좀 하는 경우를 방지하기 위해서 입니다.2번쨰는 이제야 쉬어가기 6장을 읽어서 조금 이해가 되었습니다. ASIC에서는 검증용 FPGA네요. 그리고 RTL엔지니어는 ASIC든 FPGA든 그 안에 있는 RTL flow네요 ..답변을 해주셔서 감사드립니다. 이제 어느 정도 계획을 잡고 맛비님의 유튜브도 참고하고 시작할려고 합니다.좋은하루 보내세요 맛비's A4. 안녕하세요!!멘탈이.. 아주 갑이십니다. 저같았으면 아주.. ㅎㅎ질문자님의 지금 댓글이, 제 생각하고 일치합니다.프로젝트 해보세요. 정말 도움이 많이 됩니다. 이론만으로는 배울 수 없는 것들을 정말 많이 배우실 수 있을거에요. 자신감도 생기구요. 이력서에 소설? 을 만들 수 있구요.참고로 프로젝트 하실꺼면, 목표가 있어야 하잖아요.다음 링크에 프로젝트를 올려보는 것을 목표로 해보세요.https://www.hackster.io/projects?ref=topnavFPGA 관련 프로젝트도 찾아보시면 많아요. 남들이 한거도 보시고, 직접 올려보시면 동기부여가 될 것 같습니다.가끔? 대회 같은 것도 열려요."2번쨰는 이제야 쉬어가기 6장을 읽어서 조금 이해가 되었습니다. ASIC에서는 검증용 FPGA네요. 그리고 RTL엔지니어는 ASIC든 FPGA든 그 안에 있는 RTL flow네요 .."이거 맞아요.그래도 나중에 더 경험을 쌓으시면 ASIC 전문가, FPGA 전문가 트랙으로 커리어를 선택하실 수 있을꺼에요. 참고로 저는 요새.. FPGA 의 길로 가볼 계획입니다. 원래 시작은 ASIC 용 IP 설계였어요. 현재는 FPGA 용 IP 설계를 하고 있습니다. 분명 두 flow 에는 차이가 있어요.그래도 언제든지 둘 사이를 넘나들 수 있습니다. 그게 RTL 엔지니어에요.이제는 제가 잘되실거라고 답을 할 수 있겠네요. 힘내세요

2021. 04. 13.
6
인프런 블로그에 여러분들의 진로 고민과 그에 대한 저의 생각을 다루려고 합니다.
설계독학 채널을 운영하면서, 비메모리 설계 분야에 관심이 있고 + 종사하시는 분들이 제 생각과는 다르게 "많다" 라는 것을 알았습니다. 인프런 블로그에 이제까지 개인적으로 저에게 진로 고민을 남겨주신 분들의 내용을 올릴 생각이구요. 질문하신 분들의 개인 신상은 전부 삭제해서, 올릴 예정입니다. (누군지 알 수 없어야죠!) 어찌보면 인맥이 좁은 이 분야에서 (현재 혹은 미래) 여러분들과 같이 일할 수 있는 동료입니다. 이런 고민을 갖고 계신 분들도 있구나. 같이 공감해주시면 좋을 것 같아요. 추가로, 기술적인 고민을 물어보신 것도 적을꺼에요. :) 공부하기 싫을때!! 보세요.






