
IDM 회사의 디지털 회로 설계 부서에 들어가거나 팹리스 업체에서 일하게 된다면, 검증용 SRAM 모델은 대부분 셋업 되어 있을 것이라 생각한다. SRAM 모델은 어떤 공정을 사용할지 정해지기 전이나 메모리 spec이 확정되지 않았을 때, RTL 검증 환경을 만드는 과정에서 유용하게 사용된다. 신입사원 꼬꼬마 시절엔 나도 그냥 아무 생각 없이 가져다 썼던 것을 이제야 직접 만들어 보게 되었다. 메모리의 종류나 SRAM의 특성 등에 대해서는 여기서 자세히 다루지는 않을 것이다. 간략히 말하자면, SRAM은 래치에 데이터를 저장하는 휘발성 메모리이고, line buffer나 FIFO와 같이 데이터를 임시로 저장해야 하는 경우에 주로 사용하게 된다. 대부분의 사람들이 익숙한 DRAM의 경우에는 보통 logic..

Verilog를 사용해본 유저들이라면, SystemVerilog가 생소하지는 않을 것이다. SystemVerilog는 설계를 위해 사용되는 언어라기보다는 검증에 최적화되어 있다. 오로지 설계를 위해서라면, Verilog2001까지의 문법만으로도 대부분의 logic을 구현하기에 전혀 무리가 없다. 그러나 검증의 세계에 첫발을 디디면 완전히 새로운 세상이 펼쳐진다. Verilog라는 단일 언어로는 복잡한 logic을 효율적으로 검증하기에는 한계가 있다. 특히 Verilog로 OOP(객체지향) 관점에서의 Testbench를 꾸미기에는 무리가 있으며, 이를 위해서 탄생한 것이 오늘 소개할 SystemVerilog이다. 일단, 본인은 logic 검증 엔지니어가 아님을 밝혀두는 바이다. 솔직히 말해 IP 설계자로서..