학부 디지털 설계 수업 Verilog + 테스트 자동화 Python 작성 경험
학부 디지털 설계 수업에서 Verilog로 RTL을 작성하면서, 동시에 Python으로 테스트 스크립트를 짜는 경험을 했습니다. 처음엔 비슷한 문법처럼 보였는데, Verilog는 동시성을 기반으로 하드웨어를 기술하는 것이고 Python은 순차적으로 동작하는 소프트웨어를 작성하는 것이라는 근본 차이를 체득했습니다. HDL에서 always 블록이 여러 개 동시에 실행된다는 개념이 처음엔 직관적이지 않았습니다.
합성 가능 코드와 시뮬레이션 전용 코드의 경계를 명확히 해야 한다는 것도 실수를 통해 배웠습니다. Python은 검증 자동화와 결과 파싱에서 HDL이 못하는 역할을 보완한다는 걸 알았습니다. 이후 저는 설계 언어를 선택할 때 동시성이 필요한지 순차성이 필요한지를 먼저 구분하는 습관이 생겼습니다. 언어는 도구이고, 목적에 맞는 언어를 고르는 것이 설계의 출발이라는 걸 배웠습니다.