어..? 이런걸 배웠었나?

응.. 괜찮아 회사는 오픈북이야

디지털검증 4

UVM 이란 무엇인가?

UVM 이란 무엇인가? UVM이란 Universal Verification Methodology의 약자로, 검증을 위한 프레임워크이다.검증을 위한 언어라고 많이들 착각하고 있으나, 검증 관련 언어는 systemverilog이다.UVM은 systemverilog로 작성된 클래스들의 패키지이다.(프레임워크란 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조이다. 소프트웨어 개발에 있어 하나의 뼈대 역할을 한다.) UVM의 전신은 OVM(Open Verification Methodology)이라고 한다.과거에는 EDA vendor사(시놉시스, 케이던스, 멘토)들이 독립적으로 검증 방법론을 개발해 왔던 것과 달리,UVM은 Accellera standard로서, 여러 벤더사들이 공동 지원하..

UVM 2024.09.28

[SystemVerilog] DPI의 심화(3) - data exchange

SystemVerilog와 C 사이의 data exchange는 DPI-C interface를 통해 이루어진다. 이번 게시글에서는 SV가 C 함수를 호출한다는 것 자체보다, SV에서 C로 함수 호출시 argument를 건네줌으로써 data를 교환할 수 있다는 데에 초점을 맞추어서 본다!! Data Mapping between SV and C 대부분의 SystemVerilog Data Type들은 C언어와 직접 대응되는 data type이 있는 반면, 그렇지 않은 데이터 타입들(4 state variable이나 array)들은 DPI-C나 API에 define된 특정 type을 필요로 한다.. ( 기존의 SystemVerilog Data Type이 아니라, user-defined? DPI에서 새롭게 정의된..

SystemVerilog 2024.03.31

[SystemVerilog] DPI의 개념 (1)

DPI 란? Direct Programming Interface. SystemVerilog와 다른 프로그래밍 언어(C, C++ SystemC등) 간 통신을 할 수 있도록 도와주는 인터페이스이다. DPI Import and Export Methods Import Method 다른 프로그래밍 언어로 구현된 함수를 SV 코드에서 호출하는 메소드 Export Method SV로 구현된 메소드를 다른 프로그래밍 언어에서 호출하는 메소드. 의의 : 위 메소드들에 argument를 pass & return함으로써, 서로 다른 두 언어간 data를 주고 받을 수 있다.!! Import Declaration import "DPI-C" function int calc_parity(input int a); systemver..

SystemVerilog 2024.03.31

[ SystemVerilog ] static변수와 함수의 의미, protected란?

systemverilog에서 static 변수란, globa variable과 비슷한 의미이다. 만약 class 변수를 static으로 선언한다면 여러 class object들, 혹은 코드 여러 곳에서 바라본 이 variable이, 단 하나의 data member copy임을 의미한다. 그러니까 쉽게 말해, one and only~! 실제 객체는 하나뿐이며, 이 객체가 할당된 메모리 한 곳만을 모두가 바라본다는 사실~ 그럼, 클래스 하나로 여러개의 인스턴스를 생성했을 때, 모든 인스턴스의 static member는 같은 레퍼런스이며, 한 곳에서 수정되면 다른 모든 곳에서 수정된다는 뜻이다. 마치 global variable처럼 말이다. 원래 우리는 programming 할때 global variable ..

SystemVerilog 2022.10.27