'uvm' 태그의 글 목록
본문 바로가기
반응형

uvm33

[해외 취업] 엔비디아 취업 도전기 (2) - 1차 인터뷰 Follow up 4월: 1차 인터뷰 Follow up기다림3월 말, 엔비디아 엔지니어와 2-round virtual meeting이 끝난 후 4월은 기다림의 연속이였습니다.개인적으로 좋은 분위기에서 많은 커뮤니케이션을 나누었다고 생각했기 때문에 기다림이 길어질수록 실망감이 커져갔습니다. 면접일로부터 2주가 지난 후 정중하게 HR에 follow-up 메일을 보냈고, 아직 면접을 본 팀으로 부터 결과 리뷰 중이라는 답변만 받을 수 있었습니다. 그렇게 4주가 지나고 난 뒤, 한번 더 follow-up mail 을 발송했습니다.이번에도 process 진행이 없다면 깔끔하게 마음을 접는다는 생각으로 mail을 보냈네요.. 5월: 2차 인터뷰 진행Next step마지막 follow-up 메일을 보내고 1주일이 다시 지났을 무렵, .. 2025. 7. 1.
[해외 취업] 엔비디아 취업 도전기 (1) - Resume 작성 및 1차 인터뷰 3월: 엔비디아 지원 및 1차 인터뷰지원서 제출: 엔비디아 Design Verification Engineer 직무 지원3월 중순, 저는 엔비디아의 Design Verification Engineer 직무에 지원하게 되었습니다.현재 업무에서 기술적인 성장이 힘들어 부서 이동을 고민을 하던 도중 링크드인을 통해 엔비디아 리쿠르터에게 연락을 받았고, 정말 생각지도 못한 기회였기 때문에 이틀 밤을 새서 Resume를 작성하고 지원서를 제출했습니다. 엔비디아는 GPU 뿐만 아니라 고속 인터커넥트와 관련된 기술적 도전이 많은 회사로, 그동안 제가 쌓아온 SystemVerilog 및 UVM 기반의 Memory Controller/Solution IP 검증 경험이 잘 맞을 것 같았습니다.사실, 반도체 회사를 다니는 .. 2025. 6. 30.
[SystemVerilog 실무] 10. Assertion 이해 및 활용 SystemVerilog Assertion(SVA)은 설계의 특정 동작이 올바르게 이루어지는지를 타이밍 기반으로 검증하는 도구입니다. Assertion은 시뮬레이션뿐 아니라 Formal Verification에서도 중요한 역할을 하며, 시스템의 신뢰성을 높이는 데 핵심적인 기술입니다.Assertion의 개요Assertion은 검증할 논리 조건과 조건 만족 여부에 따른 동작을 정의하는 구문입니다.: assert () ; else ;label은 assertion의 이름이며 디버깅 시 유용하게 사용됩니다.pass_action에는 $display() 등, fail_action에는 $error()와 같은 메시지 출력이 주로 사용됩니다.Assertion의 종류Im.. 2025. 5. 10.
[SystemVerilog 실무] 9. Functional Coverage의 이해 SystemVerilog에서 Functional Coverage는 단순히 테스트가 실행되었는지를 넘어서 **"테스트가 어떤 상황을 실제로 검증했는가"**를 정량화하는 데 핵심적인 역할을 합니다. 이번 포스트에서는 Functional Coverage의 개념부터 covergroup 작성법, bins 설정, 주요 메서드 및 시스템 함수까지 실습 중심으로 정리해보겠습니다.Functional Coverage란?설계 명세서(Specification)를 기준으로, 테스트가 해당 명세를 얼마나 커버했는지를 측정하는 기법입니다.사용자가 직접 coverage 항목을 정의해야 하며, 시뮬레이터가 자동으로 추출해주지 않습니다.구조 커버리지(코드 기반)와 달리, 설계 코드와는 독립적인 방식으로 정의됩니다.체계적인 검증 전략 수.. 2025. 5. 10.
[SystemVerilog 실무] 8. Package와 Interface SystemVerilog는 대규모 SoC 검증 환경에서 모듈성과 재사용성을 높이기 위한 다양한 구조를 제공합니다. 이번 포스트에서는 검증 환경의 설계 품질을 높여주는 Package와 Interface의 개념과 실무 활용법을 다룹니다.Packages: 선언의 재사용과 정리패키지는 관련된 정의들을 하나로 묶어주는 컨테이너입니다. 클래스, 함수, typedef 등 여러 선언을 그룹화하여 코드 관리와 재사용성을 극대화할 수 있습니다.package my_pkg; 형태로 선언내부에 typedef, function, class 등을 선언 가능endpackage로 마무리장점선언의 모듈화 및 재사용성 강화소스 간 네임스페이스 분리로 충돌 방지유지보수 및 가독성 향상Import 방식 비교import my_pkg::*;: .. 2025. 5. 10.
[SystemVerilog 실무] 7. 랜덤 테스트와 Constraints 기초 하드웨어 설계 검증에서 코너 케이스를 놓치지 않고 커버리지를 극대화하기 위한 가장 강력한 도구 중 하나는 바로 랜덤 테스트입니다. 이 글에서는 SystemVerilog에서 제공하는 Randomization 기능과 Constraints 사용법을 소개하고, 실무에서 어떻게 활용할 수 있는지 살펴봅니다. 랜덤 테스트가 필요한 이유Directed test는 기능 위주의 검증에는 효율적이지만 corner case 탐지에 한계가 있습니다.반면 Constraint 기반 랜덤 테스트는 미처 생각하지 못한 상황까지도 포괄할 수 있는 가능성을 제공합니다.Regression Test와 Random TestRegression Test: 동일한 시나리오를 다양한 입력 및 조건에서 반복 수행해 기능 이상 유무를 검증합니다.Ran.. 2025. 5. 10.
반응형