verilator 쓰면 쓸수록 괜찮네..

VCS가 너무 답답해서 알아보던 차에 verilator가 우연히 걸렸는데 iverilog 같은 물건인가 싶어서 우습게 알고 있다가 지금은 계속 그 진가를 확인해가고 있다.

왜 좋냐고?

1) 엄청 빠르다. 2) lint를 거의 실시간으로 할 수 있다. 3) test bench를 cpp로 작성해서 곧바로 붙일 수 있다.

어차피 verilog하는 일의 대부분은 기능 구현하는 것에 소비된다. 물론 문법을 잘 따라가도록 수정하는 일도 빈번하고.

그런데 lint가 실시간으로 되고 있고 어차피 기능을 테스트하는 것도 불필요하게 그래프까지 다 띄워가며 할 필요 없이 C++로 중요한 기능만 확인하면 되니까 이렇게 편한 물건이 없는 거다. VCS는 한번 떠오르려면 한참 걸리는데다 원하는 결과가 나오지 않아서 컴파일-수정-컴파일 하다보면 얼마나 많은 시간이 어이없이 소비되는지 정말 말도 못할 정도다.

verilator는 wsl 위에서도 잘 돌고 macOS, linux에도 잘 돌고 엄청나게 빠르다. VS code도 참 좋아서 eclipse 같은 것에서 어설프고 느리게 돌아가는 것에 비하면 정말 이 이상 더 뭔가가 필요없을 정도다. 더구나 vs code는 terminal 창을 아래 띄워놓고 octave 같은 것들 WSL로 돌리면 MATLAB이 전혀 아쉽지 않다. octave가 빠를 때가 훨씬 많다. 의미 없는 toolbox같은 것들 쓸 일 없다면 octave가 답이다.