포터블 스티뮬러스(Portable Stimulus)를 활용한 버추얼 시퀀스 구축 방법론

최태우 기자 / 기사승인 : 2020-07-09 13:00:07
  • -
  • +
  • 인쇄
▲ [source=pixabay]

범용검증방법론(Universal Verification Methodology, UVM)을 이용한다면 테스트벤치에서 스티뮬러스를 생성할 때 주로 시퀀스라는 메커니즘을 사용한다.

시퀀스에는 두 가지 종류가 있다. 하나는 단일 인터페이스를 구동하는 단순한 시퀀스이고, 다른 하나는 좀 더 복잡한 동작을 제어하는 데 쓰이는 버추얼 시퀀스다. 단순한 시퀀스의 경우 단일 시퀀스 항목에 잘 맞는 경향이 있지만, 버추얼 시퀀스는 원래 의도한 작업을 해내기 위해 여러 개의 하위 시퀀스를 구성하는 경우가 많다.

제대로 된 버추얼 시퀀스는 만들기도 까다롭지만, 원래 작성자의 명확한 의도를 벗어난 형태로 다시 사용하기는 더 어렵다. 포터블 스티뮬러스(Portable Stimulus)는 버추얼 시퀀스를 만드는 과정을 간편하게 해주고 버추얼 시퀀스를 실행해 얻는 검증 가치를 더 늘려주며 버추얼 시퀀스를 만드는 데 사용한 설명을 여러 방면으로 재사용할 수 있게 지원하는 방법론이다.

DMA 엔진을 중심으로 한 여러 가지 가상의 상황에서 Portable Stimulus를 어떤 식으로 응용할 수 있는지 예시를 통해 자세히 설명하고자 한다.

DMA 엔진 개요
이 글에서 사용한 DMA 엔진은 비교적 단순한 8-채널 DMA 엔진이다. 여기에는 DMA 전송을 프로그래밍하기 위한 레지스터 인터페이스가 있고, 데이터 전송에 사용하기 위한 DMA 엔진용 마스터 인터페이스가 두 개 있다.

각각의 DMA 채널은 메모리간 직접 전송을 수행할 수도 있고, 경계 핸드 셰이크 신호를 사용하여 메모리에서 주변 기기로, 혹은 주변 기기에서 메모리로 데이터를 전송할 수도 있다.

DMA 엔진에 쓰이는 단순한 시퀀스는 단순한 형태로 보일 수 있다. 이러한 단순한 시퀀스는 DMA 전송을 나타내는 시퀀스 항목 하나를 무작위 처리한 다음 그 시퀀스 항목을 드라이버를 통해 프로그램 레지스터 등으로 전송한다.

단순한 시퀀스라고 해도 설계의 몇 가지 측면을 종합적으로 검증하는 데 중대한 검증 가치를 제공할 수 있다. 이 글에서 소개한 단순한 DMA 전송 시퀀스의 경우, 단순한 DMA 엔진 채널 작동을 종합적으로 검증할 수 있도록 지원한다.

여기에 기능 커버리지를 추가하여 우선순위로 지정하고자 하는 DMA 채널 작동의 주요 측면을 지정하고, 그러한 면을 검증했음을 확인할 수 있다. 퀘스타 인팩트(Questa inFact)를 사용하면 100% 무작위 스티뮬러스를 사용했을 때보다 훨씬 효율적으로 이러한 트랜잭션 레벨 커버리지 목표를 달성할 수 있다.

 

 

- PSS(Portable Test and Stimulus)에 대해 궁금하세요? 아래의 배너를 클릭, 빠르고 강력하게 검증 생산성을 높일 수 있는 방법을 확인하세요! -

 

[저작권자ⓒ IT비즈뉴스. 무단전재-재배포 금지]

  • 글자크기
  • +
  • -
  • 인쇄
뉴스댓글 >

주요기사

+

많이 본 기사

마켓인사이트

+

컴퓨팅인사이트

+

스마트카

+

PHOTO NEWS