-
SerDes 2/22MS Dairy/MS study 2023. 2. 22. 19:47반응형
이번에는 matlab을 한번도 써본적이 없는 나로써, matlab을 경험해보고 추후에 어떻게 공부를 할지 방향을 잡는 것을 목표로 두었다. 그리고 다시 serdes와 chip 설계에 대해서 공부하는 것을 목적으로 두고 공부를 시작했다.
오전에는 matlab을 중점으로, 오후에는 잡다한 지식을 쌓고 대학원에 대한 정리로 마무리를 하게 되었다.
먼저 matlab을 학부과정동안 안써본 것도 참 멍청한 것 같다....
진작 좀 쓸걸... 아무튼 그래서 유튜브를 찾아서 기본적인 행렬곱에 대해서 따라하면서 익혔다.
그리고 마지막을 script를 작성해서 .m 파일로 저장후에 실행을 시키는 방식을 배웠다. FIR filter를 matlab으로 작성해서 transfer function을 보는 것이었다.
내가 2시간 가량 기본부터 따라서 해보니까, 파이썬이랑 굉장히 유사한 것 같았다.
쥬피터를 이용해서 computer vision을 했을 때와 굉장히 유사하고, plot으로 그림을 그리고 하는 것도 그랬다.
아마 함수가 다 library로 정의가 되어있어서 쉽게 가능한 것 같다.
파이썬이랑 유사하다고 느낀 것이 바로, C언어와 같이 compiler 형태가 아닌 interpreter 형태여서 그런 것 같다.
그래서 serdes랑 matlab은 어떤 상관관계가 있는지 다시 검색을 하게 되었다.
SerDes designer라는 앱을 matlab에서 제공을 해서 가장 기본적인 EQ를 가진 channel 전달을 만들어서 볼 수 있었다.
또한 FFE나 CTLE, DFE와 같은 equalizer를 간편하게 dB설정이 가능했고 테스트를 할 수 있는 것 같았다.
내가 아직 쪼렙이어서 어떻게 설계를 하고 확인을 하는지는 모르지만, 여기서 eye diagram도 보고 할 수 있는 것 같은데, 이 부분은 나중에 선배들한테 물어봐야겠다.... 활용을 잘 못하겠다....
교수님이 매트랩에 익숙해지라고 하셨는데, 여기까지는 잘 모르겠다 ㅠㅠ 꼭 열심히 해야하는데,,,,
아무튼 그렇게 앱으로 설정한 것을 simulink로 돌려서 configuration으로 볼 수 있다. 그러면 내부 요소가 전부 simulink에서 simulation을 돌릴 수 있고, 실행시켜서 확인을 해볼 수 있다.
지금은 이정도까지는 알아두고 가야할 것 같다....
그래서 내일부터는 simulink에 대한 익숙함을 쌓기 위해서 tutorial을 보려고 한다.
또 matlab으로 FFT를 다루는 것을 살짝 맛보기로 보고 가면 좋을 듯 싶다.
그리고 FIR filter에 대해서 디지털 신호 처리 부분의 강의를 보려고 한다.
또 HDL과 matlab을 이용해서 simulation하고 설계하는 것을 알아야할 것 같은데 좀 어렵다...
이어서 다시 interface에 관한 것을 천천히 보기로 했다. 내가 너무 급하게 긴장(?)을 하는 것 같아서 그냥 맘 놓고 나는 무지하다라는 마인드로 접근을 하려고 한다.
그래서 이전에 배운 것을 총망라해서 복습을 해보자며 진행했다.
Tx측에서의 Equalizer (EQ) 는 FFE (feed forward equalizer)로 pre-shoot / de-emphasis 라고 하고 Bit가 변하는 고주파 부분을 증폭시키는 filter이다. 이는 보통 모델링에서 dB설정이나, FIR filter tap 설정으로 컨트롤한다고 한다.
Rx측에서는 CTLE (continous time linear equalizer) 와 FFE가 있다. CTLE는 pole과 zero에 따라서 전달함수가 정해지는 것이다. FFE와 CTLE는 마찬가지로 고주파를 boost 시키는 역할을 한다.
DFE는 deceision feedback equalizer로 symblo을 판단하는 회로가 존재해서 복잡한다. 이는 노이즈 증폭 없이 ISI를 낮출 수 있고, tap 값을 설정할 수 있다.
이는 마찬가지로 matlab에서 serdes designer로도 가능한 것 같다.
IBIS-AMI model이라고 최신 model로 modeling된 상태인 것 같다.
그렇게 이어서 ADC wireline을 보면 간단하게 keyword 중심으로 살펴보았다. (제대로 이해를 못해서....)
bootstrap circuit switch 는 Vgs를 constant하게 유지시키는 역할로, 전원 design에서 쓰인다. Capacitor에 정보 저장을 하는데 이를 유지하기 위해서 나온 circuit 이다.
ADC clocking... clock 생성후에 phase를 쪼개서....
DSP block은 ADC offset 조정과 gain을 조정하는 역할을 맡는다. 그래서 위와 같은 형태로 구성이 되어있고, 속도 측면에 의해서 deserializer를 거치고 나서 offset와 gain을 조정하며, overflow를 방지하기 위한 logic도 존재한다.
FFE는 parallel 하게 동작을 하면서 출력을 보내게 된다.
CDR은 Mueller-Muller algorithm을 이용하는데 UI당 하나의 샘플링으로 pre cusor와 post cursor가 동일하면 CDR을 locking하게 된다. 이런 수식이 존재하고 이를 반영해서 예시로 sampling clock을 조정하는 것을 알 수 있다.
아무튼 wireline의 속도 증진을 위해서는 BW의 상승이 필요하게 되며, 이는 ADC의 time interleaving을 두배로 띄우는 것이 필요하다.
마지막을 Tape out이 되는 과정을 간략하게 살펴보았는데, 이 용어가 나온 배경이 과거에서 시작됐다고 한다.
이전에는 reel tape을 직접 들고 뛰던 시절이어서 ㅋㅋㅋㅋ
아무튼 Tape out은 공장으로 최종 보내는 단계를 말하고 pattern generation (PG) 라고도 한다.
GDS 파일을 (이진파일임) 넘겨서 공정측에서 chip을 뽑아내는 것이다.
그 과정이 front-end로는 logical design이 시작이다. 즉 HDL 설계를 하고 netlist를 뽑는 것이다.
back-end로 PnR을 진행을 하는데, 여기서 배선에 따른 신호 loss를 고려해야한다.
그렇게 GDS 파일이 나오면 MTO (mask tape out)을 하는 것이다.
4학년때는 EDA 툴로 그냥 RTL만 짜고 전부 자동화를 했었는데, 석사 때는 어떤식으로 PnR을 하고 chip 설계가 나오는지 궁금할 따름이다.... 화이팅!!
질문
공부할것
핵심
'MS Dairy > MS study' 카테고리의 다른 글
SerDes 3/2 (0) 2023.03.02 SerDes 2/24 (0) 2023.02.24 SerDes 2/21 (0) 2023.02.21 Power Integrity - real world (0) 2023.02.16 Power Integrity - overview (0) 2023.02.16