SoC 설계/Verilog, SystemVerilog 12

Verilog: Icarus Verilog, GTKwave

하드웨어 프런트엔드 (Hardware frontend) 설계를 위해서는 HDL 시뮬레이터와 합성 툴이 필요하다. C나 C++, Python과 같은 SW 들은 무료로 사용할 수 있는 Visual Studio, GCC와 같은 컴파일러들이 있지만, 하드웨어 설계 분야는 거의 대부분이 유료의 상용 소프트웨어들이고, 개인이 구매하기엔 소프트웨어 가격이 매우 높다. 주로 사용되는 상용 툴로는 Synopsys사의 VCS, Cadence사의 NCS, Mentor사의 Questa, Modelsim 등이 있다. Doulos가 운영하는 EDA Playground는 회원가입을 하면, Cadence, Synopsys, Mentor의 상용 시뮬레이터를 무료로 사용해 볼 수 있다. 또한, 디자인이 작거나, 약간의 불편함을 감수한다..

Verilog: timescale, delay

timescale timescale은 컴파일러 지시자 중 하나로서, 컴파일러 지시자는 backward quite(`)으로 시작한다 timescale은 합성과 상관없이, 회로를 테스트하기 위한 시뮬레이션에만 영향을 준다. timescale은 시뮬레이션시 기본적인 시간 단위를 결정하는데, 아래와 같이 설정하는경우, 기본 시뮬레이션 단위인 time unit은 1 ns이고, time precision은 1 ps 가 된다. // usage: `timescale [time unit]/[time precision] `timescale 1ns/1ps timescale 관련하여 몇가지 유용한 시스템 함수들을 알아보면, 시스템 함수인 $printtimescale은 time unit과 time precision을 출력할 수..