728x90 반응형 SystemVerilog6 [SVA] 2-2. SystemVerilog Assertions(SVA) [SVA] 2-2. SystemVerilog Assertions(SVA) Assertion 기본 구조 123456789101112// Simple assert statementassert(expression>); // Assert statement with statements to be executed for pass/fail conditionsassert(expression>) begin// If condition is true, execute these statementsend else begin// If condition is false, execute these statementsend // Optionally give name for the assertion[assert_name] : asser.. 2024. 11. 25. [SVA] 1-4. Introduction [SVA] 1-4. Introduction Assertions의 주요 장점개발 시간 단축된다. SVA를 사용하지 않고 기존 Verilog 문법으로 Checker를 작성하는 것은 어렵고 시간이 많이 걸리며, 오류가 발생할 가능성이 매우 크다. SVA를 사용하면 이해하기 쉬운 문법으로 검증이 가능하며, 요구된 조건이 실제로 실행되었는지도 쉽게 확인이 가능하다. 관련 문법은 추후에 학습할 것이다.버그가 발생한 원인을 가장 가까이서 확인할 수 있다. Assertion은 설계된 Logic과 가까운 곳에 위치하여 작동한다. 따라서, 버그가 발생한 원인을 설계 내부까지 추적할 필요 없이, 문제의 발생 지점에서 바로 확인할 수 있다. Assertion을 배치하기에 유용한 곳은 FIFO, Counter, Block-to.. 2024. 11. 17. [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. [SystemVerilog] 1.1 SystemVerilog란? 1 Introduction 1.1 SystemVerilog란? 반도체 Chip의 복잡도와 크기가 증가하면서 설계보다는 검증의 비중이 점점 커지고 있다. 오직 설계하는 것을 목표로 한다면, Verilog-2001까지의 문법으로도 대부분의 Logic을 구현할 수 있다. 하지만, Verilog만으로는 복잡한 Logic을 효율적으로 검증하기에 무리가 있다. 그래서, 검증을 효율적으로 정확하게 하기 위해 탄생한 언어가 바로 SystemVerilog이다. HDL(Hardware Description Language)의 역사 ~1980 1990 2000 2010~ VHDL - ’81: VHSIC - ’87: IEEE 1076-1987 (VHDL-1987) - IEEE 1164-1993 - IEEE 1076-2002 .. 2023. 10. 22. 이전 1 다음 728x90 반응형