728x90 반응형 assertion3 [SVA] 1-3. Introduction [SVA] 1-3. Introduction SW vs. HW Assertion 그렇다면, SW Assertion과 HW Assertion의 차이는 무엇일까? SW의 경우, 컴파일러 또는 인터프리터가 number라는 변수에 -5가 저장되어 있는 것을 이미 알고있다. 즉, assert 구문을 마주했을 때 stack(일종의 메모리)에 number에 저장되어 있는 값을 이미 알고 있기 때문에 조건의 참, 거짓을 쉽게 판별할 수 있다. 하지만, HW의 경우 조건의 참, 거짓 여부를 알기 위해서는 조건의 시간적인 정보가 필요하다. 즉, SVA를 잘 사용하기 위해서는 SW와 HW 두 시간 도메인을 잘 이해해야 한다. 이는 SW Assertion 구문보다 SVA 구문이 학습하고 적용하기 어려운 이유가 된다. 2024. 11. 15. [SVA] 1-2. Introduction [SVA] 1-2. Introduction SVA Example 이번에는 SystemVerilog Assertion을 사용한 예제를 확인해보자. 예제1 : grant 요청 후 4 clock 이내에 ack 수신 확인 1234567891011121314151617module grant_ack_check( input logic clk, input logic reset_n, input logic grant, input logic ack); // 4 Clock 이내에 ack 신호가 들어와야 함을 검증하는 Assertion property grant_to_ack_within_4_cycles; @(posedge clk) disable iff (!reset_n) grant.. 2024. 11. 14. [SVA] 1-1. Introduction [SVA] 1. IntroductionSystemVerilog Assertion의 진화 과정 초기 SystemVerilog에는 시간적인(순차적인) 도메인을 검사하기 위한 방법이 제공되지 않았다. PSL 같은 외부 언어를 SystemVerilog와 연결하여 혼합된 언어 환경을 만들어야 했다. 이는 특정 EDA 벤더와 연결된 두 개의 시뮬레이터를 유지해야 했으므로 불편함이 있었다.이러한 문제를 해결하기 위해 SystemVerilog 표준 위원회는 언어에 고유한 하위 집합을 추가하여 이를 SystemVerilog Assertions(SVA)라고 명명했다.SVA는 SystemVerilog 언어와는 완전히 독립적이다. 다시 말해서, SVA의 문법은 SystemVerilog 문법과 완전히 다르다. 하지만, S.. 2024. 11. 13. 이전 1 다음 728x90 반응형