Assertion-Based Verification 세미나

오늘 Cadence에서 방문하여 Assertion-Based Verification에 관한 세미나를 했다.
SystemVerilog를 사용하므로서 Verilog에서 assertion을 쉽게 사용할 수 있는 지 알기쉽게 잘 설명해주었다. 본래 이틀짜리 교육코스가 있으나 Lab과정을 생략하고 요약하여 2시간동안 진행하였다.
SystemVerilog가 주목을 받고 표준화된 것이 2006년인데도 이미 주요 EDA툴들이 지원할 뿐만아니라 사용하기에도 편해진 것을 보면 CAD툴들의 발전속도는 정말 빠른 것 같다.

인상적인 내용은
- assertion을 이용하여 black-box design을 white-box design으로 만든다.
- assertion watches for forbidden behavior and tracks expected behavior.
- assertion은 design engineer와 verification engineer 모두가 사용하는 것이 바람직하다.
- code coverage의 부족함을 functional coverage로 확장한다.
- Formal Analysis을 이용하여 기본 module에 대해서는 testbench없이 검증한다.

설계자들은 쉽게 사용환경이나 언어를 바꾸지 않으려는 습성이 있기때문에 한순간 모든 설계자들에게 SystemVerilog의 사용을 강요할 수는 없다.
Verilog에 open-source verification library를 연동하여 사용하도록 유도하는 것이 조금 더 접근이 쉬울 것인지 아예 SystemVerilog를 사용하도록 점차 유도 해야하는 것인지 두 가지 모두 고민해야할 듯.