SystemVerilog는 기존의 Verilog에 아주 많은 프로그래밍 능력을 추가했다. 이러한 향상을 의도한 목적은 다음 3가지로 볼 수 있다. 코드 간결화 설계시 기능적 결함 줄이기 시뮬레이션과 합성이 동일하게 동작하도록 만들기 Procedural blocks 기존의 Verilog에서는 always문을 사용하여, combinational, latch 와 sequential logic을 생성하였다. 여기서 문제는 합성 툴과 시뮬레이션 툴이 설계자의 어떤 종류의 logic을 표현할려고 헀는지 알 방법이 없다는 것이었다. 이러한 툴들은 procedural block안에 있는 코드를 해석할 수 있었고, 설계자의 의도를 nice한 방식으로 추측하는 것 뿐이었다. combinational logic에서 간단한 ..