해당 내용은 인천 인력개발원 SNS 기자단 11기로 활동하면서 작성한 글입니다. 원본은 다음 링크입니다.
https://blog.naver.com/ic6520/223567301382
안녕하세요!
대한 상공회의소 인천인력개발원 SNS 기자단 11기 이기호입니다.
어느덧 기자단으로써 마지막 활동 일이 되었습니다.
기자단 활동을 마치기 전에, 이번 과정에서 진행한 프로젝트와 이 교육 과정에 대해 정리하려고 합니다.
우선 프로젝트 소개에 앞서서 간단하게 어떤 분야와 과목을 공부했는지 정리하겠습니다.
프로젝트에 대해서만 보시고 싶으면 이 문단을 건너 뛰시면 됩니다.
Harman 세미콘 아카데미에서 공부하는 분야는 크게 3가지로 나뉩니다.
- Verilog를 활용한 FPGA 설계 및 칩 설계
- ATmega와 STM32 보드를 이용한 임베디드
- Cadence 사의 virtuoso를 활용한 레이아웃
그리고 이런 분야를 배우기 위해 다음과 같은 과목을 듣습니다.
- Verilog를 이용한 RTL 시스템 반도체 설계
- SoC를 위한 Peripheral 설계
- 하만 커넥티드 SoC 반도체 Peripheral 설계 프로젝트
- 임베디드 시스템을 위한 SW 구조설계
- 전자회로 해석 및 설계
- 하드웨어 환경 감시를 위한 신호처리 시스템 설계 프로젝트
- Arm Architecture 이해 및 RTOS 활용
- Full Custom IC One Chip 설계
- Digital/Analog 회로를 이용한 One Chip 설계
- 하만 커넥티드 자율 이동체 개발 프로젝트
- 직무 종합 프로젝트
- 재량 교과(취업, 진로 교육)
자세한 Harman 세미콘 아카데미 교육과정에 대한 내용은 아래 링크에 정리되어 있습니다.
그럼 이제 프로젝트를 보겠습니다.
프로젝트 혹은 정리해둘 만한 과제 목록
일단 Harman 과정에서 진행하는 메인 프로젝트는 3가지가 있습니다.
- 직무종합 프로젝트 - Verilog
- 하만 커넥티드 자율 이동체 개발 프로젝트 - STM32
- 원칩 레이아웃 프로젝트 - 레이아웃
이 외에도 보고서를 작성한 프로젝트는 2가지가 더 있습니다.
- 조별 레이아웃 프로젝트 - 레이아웃
- 하드웨어 환경 감시를 위한 신호처리 시스템 설계 프로젝트 - 회로 설계
이 외에 보고서를 작성하는 프로젝트가 아니지만
교육 과정에서 따로 정리해둘 만한 과제, 수업 시간에 진행한 내용들은 다음과 같습니다.
- UART, SPI - Verilog
- AXI4-Lite (AXI Slave to SPI Master) SPI 센서 연결 - Verilog
- 전자회로 해석 및 설계 - 회로설계
- 스톱워치 - Atmega128
그럼 이제 각각의 프로젝트를 하나씩 살펴보겠습니다.
메인 프로젝트
메인 프로젝트에는 3가지가 있습니다.
- 직무종합 프로젝트 - Verilog
- 하만 커넥티드 자율 이동체 개발 프로젝트 - STM32
- 원칩 레이아웃 프로젝트 - 레이아웃
- 직무종합 프로젝트 - Verilog
Harman 과정의 마지막 프로젝트입니다. Verilog를 활용해서 설계를 합니다.
이전까지 듣던 Verilog 강사분과 다른 분이 가르치십니다.
그러다 보니 나중에 시간이 지나면 내용이 바뀔 수 있으니 염두에 두시기 바랍니다.
이 프로젝트에서는 두 대의 보드를 연결해서 UART를 통해 서로의 보드를 제어하고,
4자리 7segment로 출력하는 스톱워치를 제작합니다. 2명이 한 조가 되어서 진행합니다.
이 이후에 약간의 변형을 거칠지는 모르겠지만, 프로젝트가 끝나지 않아서 해당 내용에 대해 작성합니다.
기본적으로 조금 간단해 보이지만, 기존의 Verilog 강의와 다른 관점에서 진행합니다.
여태까지는 Verilog를 기능 구현을 위한 회로 설계 언어의 관점에서 봤다면, 이제는 회로의 관점에서 봅니다.
기본적으로 Verilog는 회로 설계를 위해 HDL(Hardware Description Language)입니다.
그러다 보니 아무리 복잡한 코드를 작성해도 Flip/Flop (Register), Counter, MUX와 함께, AND/OR/NAND/XOR과 같은 기본 논리 게이트를 통해서 코드 내용이 구현됩니다.
이 프로젝트에서는 스톱워치를 단순히 코드가 아닌 F/F, 카운터, 먹스, 등을 통해서 회로를 먼저 구현하고,
이후 그 회로에 맞춰서 코드를 작성합니다.
그래서 먼저 기능을 생각해서 어떻게 작동할지 구상하는 단계부터 시작합니다.
이후 설계 사양을 작성하고, 보드를 선택하고, 회로를 설계합니다.
이후 회로를 바탕으로 Verilog로 코드를 작성해서 확인합니다.
그러다 보니 디지털 회로의 관점에서 Verilog 코드를 실제 회로로 합성하는 과정에서 생기는 차이점을 배웁니다.
아직은 다 끝나지 않아서 이 정도로만 언급하겠습니다.
- 하만 커넥티드 자율 이동체 개발 프로젝트 - STM32
이 프로젝트는 STM32를 통해서 여러 기능을 제어하는 'Arm Architecture 이해 및 RTOS 활용' 교과목에 이어서 진행하는 임베디드 분야의 최종 프로젝트입니다.
말 그대로 STM32보드를 활용해서 DC 모터나 초음파 센서 등을 활용해서 자율 이동이 가능한 이동체를 만드는 과정입니다. 약 4, 5명이 한 조가 되어서 진행합니다.
기본적인 기능은 기존 강의에서 다 알려주니 조별로 개성 있는 주제를 정하고,
먼저 자율 이동이 가능한 이동체를 만들고, 주제에 맞춰서 추가로 기능을 탑재하면 됩니다.
이건 보드 설명서나 데이터 시트를 잘 읽고서 안내한 대로 C언어로 작성하면 됩니다.
시간은 좀 걸리지만, 차분히 진행하면 다 끝낼 수 있습니다.
다만, 기능의 구현은 금방 하지만, 여러 기능을 합쳤을 때 생기는 오류를 수정하는데 많은 시간을 쓸 것입니다.
- 원칩 레이아웃 프로젝트 - 레이아웃
여기서는 회로 설계 과정에서 이용되는 단위 셀이라 부르는 기본 논리 게이트들에 대한 레이아웃과 이들을 하나의 칩에 넣어서 설계하는 레이아웃 분야의 최종 프로젝트입니다. 이건 개인이 개별적으로 진행합니다.
여기서 잠시 배경을 설명하면 레이아웃은 Verilog나 VHDL로 설계된 RTL 레벨의 설계를
Gate 레벨의 설계로 바꾼 넷리스트 파일을 가지고 설계합니다.
플립플롭, 카운터, 먹스로 설계한 것이 RTL 설계라 부르는 데,
이 각각의 소자를 Gate 수준으로 바꾼 것이 넷리스트입니다.
여기서 Gate를 CMOS(트랜지스터) 수준으로 바꿔서 한정된 공간 안에 배치하고, 배선을 연결하고
클럭과 딜레이를 계산하는 것이 레이아웃의 업무입니다.
그리고 기본적으로 반도체 생산을 맡는 공정(8나노, 5나노, 3나노)에 따라 최소 단위가 달라지기에
각 공정별로 레이아웃이 달라집니다.
여기서는 기본적으로 수업 시간에 단위 셀(논리 게이트) 들에 대한 트랜지스터 수준의 회로를 배우고
면적을 최소화하는 레이아웃을 수업 시간에 만듭니다.
여기서는 그동안 만든 단위 셀들과 덧셈기와 같은 일부 회로를 하나의 칩에 넣는 과정을 진행합니다.
충분한 시간이 있기 때문에, 수업 시간만 잘 따라오면 다 마무리 지을 수 있습니다.
다만, 단위 논리게이트가 아무리 적어도 트랜지스터 2개에서 4개는 사용하기에,
기본적인 기능을 구현해도 기본적으로 수 십 개는 들어갑니다.
거기에 마음대로 배치할 수도 없고, 공정별로 거리 간격과 최소 길이에 대한 제한이 있어서
굉장히 많은 수정을 해야 됩니다.
이를 DRC(Design Rule Check)라고 해서 공정에서 만들 수 있는 레이아웃인지 체크하는 것과
LVS(Layout Versus Schematic)이라고 하는 디자인 넷리스트와 레이아웃을 비교해서 빠트린 것이 없는지 비교하는 과정을 거칩니다.
이렇게 3가지가 공식적으로 각 분야의 최종 프로젝트입니다.
모두 시간이 오래 걸리고 보고서를 작성해야 되므로 기록을 잘 해두시기 바랍니다.
보고서가 있는 프로젝트
여기서는 메인은 아니지만 보고서를 작성한(=나중에 포트폴리오에 넣기 좋은) 프로젝트를 정리합니다.
해당 프로젝트는 2가지가 있습니다.
- 조별 레이아웃 프로젝트 - 레이아웃
- 하드웨어 환경 감시를 위한 신호처리 시스템 설계 프로젝트 - 회로 설계
- 조별 레이아웃 프로젝트 - 레이아웃
여기서는 위의 원칩 프로젝트와 다르게, 특정한 기능을 하는 회로를 구현합니다.
정확히는 이 프로젝트를 먼저 마무리하고
기본 단위 셀 레이아웃과 함께 이 프로젝트에서 만든 레이아웃을 같이 원 칩에 넣어서 만듭니다.
여기서는 4,5명이 한 팀이 되어서 프로젝트를 진행합니다.
이건 주제가 다양해서 따로 할 말은 없지만, 결국 어떤 회로든 트랜지스터로 만들어진 회로도만 있으면 만들 수 있습니다.
아래 블로그가 이번 강의를 맡으신 강사님의 블로그인데, 이전 수강생들의 프로젝트를 확인할 수 있습니다.
- 하드웨어 환경 감시를 위한 신호처리 시스템 설계 프로젝트 - 회로 설계
이거는 이번 교육에서 자주 사용할 초음파 센서 모듈 회로를 직접 만들어 보는 프로젝트입니다.
정확히 같은 것은 아니고, 제작을 위한 키트가 있습니다.
이건 혼자서 진행합니다.
결론만 말하면 주요한 부품들은 다 키트에 들어 있으니, 잘 납땜해서 동작을 확인하고
사용한 IC 칩의 기능과 회로의 구성을 이해하고 보고서를 작성하면 됩니다.
다만 펄스 발생기를 만드는데, 이게 아날로그 회로라서 같은 부품으로 만들어도 사람마다 결과가 다릅니다.
아주 미묘한 차이가 다른 결과를 만들기에 잘 만들기를 바랍니다.
이 외에 정리해 두면 좋은 과제, 수업 시간에 진행한 내용
여기서는 따로 보고서를 작성하거나, 프로젝트라 불리지는 않지만, 정리해 두면 나중에 도움이 될만한 내용입니다.
- UART, SPI - Verilog
- AXI4-Lite (AXI Slave to SPI Master) SPI 센서 연결 - Verilog
- 전자회로 해석 및 설계 - 회로설계
- 스톱워치 - Atmega128
- UART, SPI - Verilog
수업 시간 중에 작성하게 되는 코드입니다.
좀 옛날에 나온 통신 같지만, 선의 개수도 적고 신호가 단순해서
센서와 같이 칩셋에서 나오는 데이터가 적은 경우에 적합해서 지금도 많이 쓰인다고 합니다.
따로 언급은 안 하지만, 기본 중의 기본이라 정리해 두시길 바랍니다.
- AXI4-Lite (AXI Slave to SPI Master) SPI 센서 연결 - Verilog
이건 앞의 통신 이후에 배우는 내용입니다. 이것도 수업 중에 작성하게 됩니다.
이것에 대한 자세한 내용은 위의 수업 내용 설명에서 참조하시고
여기서는 간단하게만 언급하면 ARM cpu와 통신하는 통신 규격인 AMBA Switch에서 메모리나 고속 장치를 제외한 외부와 연결되는 통신이 AXI이고 이중 4번째로 나온 좀 간소화된 규격이 AXI4-Lite입니다.
결론은 SPI Master에서 통신을 통해 받은 데이터를 ARM cpu에 넘겨주는 코드입니다.
요새는 자주 사용되는 코드라고 하니, 잘 정리해 두시기 바랍니다.
- 전자회로 해석 및 설계 - 회로설계
이 수업을 진행하면 매일 과제를 줍니다. 회로 이론과 전자회로에 대한 과제인데, 회로에 대한 이해를 높일 수 있으니, 잘 정리해두시기 바랍니다.
결국에는 아날로그 회로든 디지털 회로든 전부 RLC이기 때문에 기초를 잘 이해해야 나머지에 대한 이해를 쉽게 할 수 있습니다.
- 스톱워치 - Atmega128
솔직히 말해서 ATmega128은 수업 중 처음에 시작해서 거처 가는 과정입니다.
C언어부터 시작해서 ATmega128 하고 STM32로 넘어가는 과정인데,
마지막쯤에 할 것이 스톱워치일 것입니다.
STM32의 기초가 될 코드이니 잘 정리해두시기 바랍니다.
프로젝트 및 교육 소감
이렇게 2024년 3월 7일부터 9월 13일까지 총 6개월간 진행된,
Harman 세미콘 아카데미에 대한 내용을 정리했습니다.
좋은 점도 있었고 나쁜 점도 있었지만,
결과적으로 맨 처음 들어올 때의 목표인
프로젝트 포트폴리오를 쌓는다는 목표를 달성해서 만족했습니다.
이런 교육을 들을 때는 명확한 목표를 가지고 수업을 들으시기 바랍니다.
또 이렇게 SNS 기자단 활동을 하면서
제가 6개월간 들었던 교육에 대한 기록을 남기고
다른 사람들이 교육에 대한 정보를 찾는 데 도움이 되었기에
SNS 기자단은 잘 한 선택이었다 생각합니다.
교육을 들으신다면 한번 도전해 보세요.
마지막으로, 혹시나 교육을 들으신다면 교육받은 내용을 까먹지 말고
이렇게 SNS 기자단 활동을 하시거나,
개인 블로그에 기록을 남기시기 바랍니다.
기록을 남기지 않으면 생각보다 많이 잊어버립니다.
마지막으로, 다양한 분야를 공부하다 보니 취업을 희망하는 분야와 다른 분야를 공부할 수 있는데,
원하는 분야가 아닌 프로젝트라고 대충 하지 말고 열심히 하세요.
이런 프로젝트에서 활동하면서 의견이 갈리고, 도와준 내용들도
나중에 자소서에서 작성할 만한 갈등, 협업, 성격 등을 표현할 수 있는 예시가 되기 때문에
가능하면 적극적으로 참여하셔서 다양한 추억이나 기억들을 남기시기 바랍니다.
사회에서 사람들은 성실한 사람을 좋아하고, 프로젝트에서 한 말과 행동이 이야기가 돼서 성실함을 증명합니다.
향후 계획
프로젝트의 전반적인 내용을 보면
- Verilog를 활용한 FPGA 설계 및 칩 설계
- ATmega와 STM32 보드를 이용한 임베디드
- Cadence 사의 virtuoso를 활용한 레이아웃
위 3가지 분야에 골고루 프로젝트를 진행합니다.
그러다 보니 특정 분야에 대한 프로젝트는 조금 적다고 느끼실 수 있습니다.
저 같은 경우는 Verilog를 통한 칩과 회로 설계 분야의 취업을 고려하고 있습니다.
하지만 Verilog 프로젝트는 보고서를 작성한 것은 딱 한 개이고
나머지는 교육기간 중에 실습한 내용입니다.
그래서 약간 부족하다 생각하시면 이 교육 이후에도 개별적으로 프로젝트를 진행할 수 있습니다.
따라서 관심 있는 분야를 먼저 선정하시고
관련된 내용을 찾아서 직접 개인적인 미니 프로젝트를 진행해 보시기 바랍니다.
예시를 들어보자면,
Verilog 수업 시간에 듣기로는, 이제는 회로가 비대해져서 사람이 일일이 확인할 수가 없기에
C언어로 알고리즘을 구현하면 그것을 Verilog로 구현하는 것이 목표라고 합니다.
프로그래밍 언어로 쓰인 알고리즘을 Verilog 코드로 구현해 보시거나,
아니면 영상 처리, 신호처리, 통신, SoC, FPGA, ASIC 등 관심 있는 분야에서
많이 쓰이는 회로를 직접 찾아보시기 바랍니다.
아래에는 이와 관련된 칩 설계와 관련한 교육기관의 링크를 정리해 두었습니다.
직접 자료를 찾으셔서 교육 이후 향후 계획에 참고가 되시길 바랍니다.
마무리
여러 가지 일들이 많이 있었지만,
전부 다 끝났고,
배운 내용을 바탕으로 새롭게 출발하겠습니다.
이렇게 Harman 세미콘 아카데미에서 진행한 프로젝트와 내용들을 정리했습니다.
올해 3월부터 교육을 듣는 동안 매일 7시간씩 공부를 하다 보니
거의 고등학교 때처럼 공부를 했습니다.
이렇게 바쁘게 공부하다 보니 눈 깜짝할 새에 6개월이 지나간 것 같고
매번 지금 하고 있는 일에 집중하느라, 돌아볼 시간이 없어서
뭘 했는지 잘 기억나지 않았는데,
정리해 보니 생각보다 많은 것을 했습니다.
여러 가지 일들이 많이 있었고,
좋았던 일도 있고 나빴던 일도 있었지만,
전부 다 끝났고,
여기서 얻는 내용을 바탕으로 교육을 마치고
새롭게 출발을 준비해서 좋은 결과를 얻겠습니다.
Harman 세미콘 아카데미 SNS 기자단 11기의 마지막 기사를 마무리하겠습니다.
이상 SNS 기자단 11기 이기호였습니다.
끝까지 읽어주셔서 감사합니다.
Harman 세미콘 아카데미 과정을 수료하고
새로운 도전을 해보시기 바랍니다.
#인천인력개발원 #국비지원 #Harman #하만_세미콘_아카데미
#Verilog #임베디드 #레이아웃 #포트폴리오 #프로젝트 #자소서
대한상공회의소 7개 인력개발원, 기술인력 양성 및 취업, 교육훈련 안내, 입학정보, 취업 및 구인 정보, 국비지원교육, 전문기술 교육
ic.korchamhrd.net
'하만 SNS 기자단 기사' 카테고리의 다른 글
[Harman] Harman 세미콘 아카데미 교육과정 소개 (0) | 2024.08.31 |
---|