이력 사항
現) 반도체 대기업 (CHIP 회로설계 4년차)
아날로그 IP / 디지털 시나리오 설계
A급 특허 출원
글로벌 외국 기업 엔지니어 기술 대응
前) 스타트업 인큐베이팅 업체 (MCU Firm-ware 설계)
前) 대기업 가전제품 업체 (All-in-one 정수기 생산 기술)
前) 중견기업 의료기기 업체 (CIS, DDI ASIC 설계)
CHIP 설계 취업/이직 충분히 도전할 수 있습니다.
저와 함께 CHIP 설계 취업/이직에 가까워지세요!
"반도체 아날로그/디지털 회로설계를 꿈꾸시나요?
대기업 S전자 현직자의 눈으로 기초부터 도와드립니다!"
반갑습니다! S전자에서 시스템반도체를 설계하고 있는 삼코치 입니다 :)
저는 스타트업에서부터 회로설계 직무에 도전하면서 많은 시행착오를 겪어왔습니다.
PCB 설계, F/W 설계, FPGA 설계, CHIP 설계를 구먹구구 식으로 경험했죠.
그런데 한 가지 아쉬움이 있었습니다.
'왜 회로설계 분야는 체계화된 실습 기회와 취업에 대한 정보가 적을까?'
반도체 공정, 프로그래밍 등의 분야는 콘텐츠가 많았지만, 회로설계는 정보가 적다보니 그저 '숨겨진 세상'이었습니다.
이 글을 읽는 회로설계 취준생분들 또한 저와 같은 답답한 심정을 느껴보셨을 겁니다.
그래서 현직자와 면담도 해보고, 교수님께 물어보고, IDEC 강의를 수강해보기도 하죠.
하지만 알들말듯 여전히 잘 모르는 경우가 대부분 입니다.
그.래.서! 제가 직접 취업까지 연결되는 체계화된 강의를 제작해 버렸습니다!
저는 [아날로그 회로-> 디지털 시스템 -> MCU 펌웨어 -> 드라이버 설계 -> 소프트웨어]를 모두 경험하면서,
'Top-down / Bottom-up'스킬을 통해 제품과 회로를 완벽히 설명해낼 수 있게 되었습니다.
그리고 인프런에서 실무적인 회로를 다루면서 '아날로그/디지털 회로'에 대해 저만의 직관적 해석 방법부터 Trade-off를 따지는 방법까지 모두 풀어드리려 합니다.
저와 함께 기초를 닦고, 실무 역량을 쌓아 자신만의 Chip 설계 Story를 만들어 가봅시다!
강의
로드맵
전체 1수강평
- 제품부터 시작하는 인우의 반도체 CHIP 회로설계 이야기
- 회로설계 입문자를 위한 디지털, 아날로그 설계와 실무 Project
- 회로설계 입문자를 위한 디지털, 아날로그 설계와 실무 Project
- 디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
- 디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
게시글
질문&답변
CPU 파이프라인 동작 코드 분석 중 의문점 질문 드립니다.
네 안녕하세요, 답변 남겨드립니다.말씀하신 내용대로 Block diagram과 코드가 1대1 매칭이 되고있지 않습니다. 다만 MUXING된 값을 DFF에 통과시키느냐, DFF 통과 후에 연산을 하느냐에 대한 2 clk 이후의 결과를 보면 동일하다는것을 알 수 있습니다. 그래서 결과값은 동일할 것입니다. 그런데 MUX 한 후에 신호를 DFF으로 보내게 되면 DFF 1개만 사용할 수 있지만, MUX 인풋 신호를 DFF로 보내면 2개를 사용해서 해서 리소스가 낭비됩니다.결과값과 타이밍에 대해서 문제가 없다면 위 코드와 같이 구성하는 것도 문제가 없기 때문에 위와 같이 구성되었습니다.
- 0
- 2
- 14
질문&답변
시뮬레이션 오류 질문
네 안녕하세요, 답변 남겨드립니다.포럼을 찾아보니 That's a common warning you'll get when you click on a signal to get it to display its drivers or loads. You don't have that license, so it tells you.Your problem is that the simulation stopped at time 0 ps ... find out why!라는 멘트가 있는데요,시뮬이 0초에서 끝나서 그렇다는 이야기인데, tb가 그렇게 될 수 밖에 없는지 한 번 확인해보시면 되겠습니다.
- 0
- 2
- 21
질문&답변
Trade Off 강의에서 궁금한 점이 있습니다.
네 안녕하세요, 답변 남겨드립니다.네 맞습니다. VDD가 커지면 P = V x I에서 V가 커져서 Power가 그만큼 커지므로 저전력 설계가 힘들어집니다. 제가 전력에 대한 이야기를 빼먹어서 헷갈리셨겠군요ㅠ이해하신것이 정확히 맞습니다!
- 0
- 2
- 14
질문&답변
DRAM ctrl 과제 질문
안녕하세요, 답변 남겨드립니다.1.혹시 여기서 cnt값을 추가해서 확인하고 싶으면, 어떻게 해야 할까요? cnt는 DRAM cell 내부에서 조건에 따라 카운팅을 해줘tRCD,tWLC등의 조건을 만족하는지 확인하는 파라미터입니다.-> 초반부 과제에서 제가 각 모듈별 signal에 대해 확인할 수 있는 방법을 소개해드린 파트가 있는데요, 그 파트를 확인해보시면 됩니다. 각 인스턴스를 확인할 수 있게 되어있어서 그 부분 활용하시면 될겁니다. 모든 wire 및 reg 신호는 확인할 수 있게끔 되어있습니다.혹은 말씀하시는 cnt가 interger와 같은 변수라서 그에 대한것을 확인하고 싶으신 것이라면, always_ff @(posedge clk) begin $monitor("Time: %0t | cnt: %0d", $time, cnt); end이런식으로 모니터 구문 등 시스템 베릴로스 문법을 활용하시면 됩니다. 해당 부분은 첫 번째 WR신호를 마친후 o_ack가 high로 변하는 타이밍입니다.해당 타이밍에 저는 curr_row와 next_row의 addr값이 서로 다르다고 생각하였습니다.그래서 precharge로 넘어가야 할 것이라 예상했는데, 실제로는 같은 row로 인식하여 한번 더 쓰기를 진행했습니다. 다만 이번엔 dq핀에서 40이 아닌 50으로 출력값이 나왔습니다....혹시 왜 이렇게 동작했는지 알려주실 수 있을까요..-> curr_row와 next_row의 addr값이 서로 다르다고 생각하였습니다. 이 부분에 대해서 실제로 그러한지 확인하는 것이 중요해서, 위 신호를 따로 빼서 확인해보고 실제로 다른지 확인해보고, 그에 따라 두 신호에 대한 정의와 또 다른 신호를 어떻게 driving하고있는지에 대해 코드를 확인해보시면 되는데요, 이 부분 한 번 확인해보시고 이해가 안되시면 한번 더 질문주시겠어요?
- 0
- 2
- 41
질문&답변
hamming code 과제 질문
네 안녕하세요, 답변 남겨드립니다. instacne를 불러올 때에 맨 앞에 문법설명파트에서 보시면 아시겠지만 port의 위치를 직접 지정해줄수도 있지만, 그냥 순서대로 나열할 수도 있습니다. 순서대로 나열할 경우에는 module을 선언할 때 선언한 순서대로 wire나 reg가 들어가게 됩니다. 잘 보면 var5 4 3 2 1 과 var 1 2 3 4 5 순서에 대해서 module과 instance가 반대로 되어있습니다. 따라서 잘 동작하는 것이 맞는데이처럼 헷갈릴 수 있기 때문에 가장 좋은 것은 위치를 직접 지정해주는 것입니다.
- 0
- 2
- 24
질문&답변
부품 심볼이 없습니다.
네 안녕하세요, 답변 남겨드립니다.일단 가장 최신의 LTspice 버전을 다시 한 번 받아보시기 바랍니다.저와는 약간 다른 창이 뜨는것 같아서 버전 문제로 보입니다.또한 경로를 수동으로 설정해줄 수 있는데,TOOL -> Setting -> search path에서 받으신 라이브러리가 있는 폴더 경로를 설정해주셔도 잘 나올겁니다.한번 시도해보시기 바랍니다!
- 0
- 1
- 24
질문&답변
여기서 강사님이 보여주신 내용대로 안나옵니다/
네 안녕하세요, 답변 남겨드립니다.지금 선택하신 것은 comment라서 주석처리되는 내용이라 파란색 글씨로 적힐것이고,바로 아래에 SPICE directive를 클릭하시고 강의 내용에 있는 라이브러리 텍스트를 입력하시면 되겠습니다.현재까지 문제 없이 잘 하셨습니다!
- 0
- 2
- 34
질문&답변
bank addr 질문
네 안녕하세요, 답변 남겨드립니다.저희가 다루는 것은 4개의 bank가 있는 그룹이긴 한데,혹시 8개는 어떤 내용을 보셨을까요?4개이든 8개이든 이해하고계신것처럼 개수에 따라 bit를 조절하면 되긴합니다!
- 0
- 2
- 34
질문&답변
시뮬레이션 에러,,
네 안녕하세요, 답변 남겨드립니다.해당 부분에 대해서는 제 환경에서는 재현이 안되어 디버깅이 어렵네요ㅠLTspice 포럼에서도 동일한 문제에 대해서 다루는 글을 보았는데,먼저 아래 글들 참조해보시면 좋을 것 같습니다.혹시 error가 아니라 warning이면 무시하고 진행하셔도 될텐데, 그렇게해도 시뮬이 잘 도는지 체크해보시고, 시도해봐도 안되시면 한번 더 질문 남겨주시기 바랍니다.https://electronics.stackexchange.com/questions/621550/when-i-do-a-simulation-in-ltspice-i-receive-errorshttps://groups.io/g/LTspice/topic/warning_multiple_definitions/100021283
- 0
- 2
- 90
질문&답변
과제4 hamming code 질문
안녕하세요, 답변 남겨드립니다. 해당 질문관련해서 카페에 동일한 내용이 있어서 다뤄드린바가 있어서 아래 내용 확인해보시면 좋을 것 같습니다.https://cafe.naver.com/samcoach/247말씀하신 것처럼 통신에 대한 부분을 처리하기 위해서 반전을 시킨 것인데, 부연 설명을 드리자면일반적으로 코드를 반전시키는 경우는 아래와 같습니다.코드에서 입력 메시지와 출력 메시지의 비트 순서를 반전시키는 것은 일반적으로 통신 시스템에서의 신호 전송 방식과 관련이 있습니다. 특히, 일부 통신 프로토콜에서는 데이터를 전송할 때 비트 순서가 반전되어 수신될 수 있습니다.1. 전송 방식: 일부 시스템에서는 비트가 오른쪽에서 왼쪽으로 전송되는 경우가 있습니다. 이 경우 수신 측에서 비트 순서를 반전시켜야 원래의 데이터 형식을 복원할 수 있습니다.2. 하드웨어 구현: 특정 하드웨어 아키텍처에서는 비트 순서가 반전된 상태로 데이터를 처리할 수 있습니다. 이 경우, 데이터의 일관성을 유지하기 위해 소프트웨어에서 반전 처리를 해 주어야 합니다.3. 오류 검출 및 수정: 오류가 발생했을 때, 수신 측에서 데이터를 정확히 복원하기 위해 비트 순서를 반전시키는 과정이 필요할 수 있습니다. 이는 오류 수정 알고리즘의 일환으로 적용될 수 있습니다.만약 이러한 반전이 실제 시스템의 요구사항에 따라 필요하지 않다면, 해당 코드를 생략해도 괜찮습니다. 그러나 이를 통해 특정 상황에 대한 유연성을 제공하고, 다양한 통신 환경에서의 데이터 처리 시나리오를 고려할 수 있습니다.
- 0
- 1
- 31