본문 바로가기

Programming/SystemVerilog

UVM TLM 인터페이스 export, port, imp port 차이점

UVM TLM 포트 종류

  1. UVM TLM Export
  2. UVM TLM Port
  3. UVM TLM Imp Port

 

 

 

1. UVM TLM Export

  • UVM TLM Export는 child component에서 Parent component로 트랜잭션을 포워딩하는 포트이다.

그러니까,

component a 안에 child component b 가 있고, 그 안에서 child component c가 인스턴스화되었다고 할 때,

c에서 만든 트랜잭션이 b를 지나 a를 지나 a 바깥에 있는 어떤 컴포넌트 d랑 통신하고자 할때!

a->b->c를 잇는 것이 uvm tlm export이다.

child 컴포넌트에서 만들어진 트랜잭션을, 최종 통신을 위해 제일 상위의 부모 컴포넌트로 보내게 해주는 것이 TLM Export!

 

  • TLM Export는 unidirectional(단방향)과 bidirectional(양방향) 두 종류가 있다.
  • export는 모든 상응하는 child export나 imp port에 연결될 수 있다. 이런 인터페이스 연결을 따라가다 보면, 궁극적으로는 적어도 하나의 implementation과는 연결되어야 한다.

 

2. UVM TLM port

  • UVM TLM Port는 transaction을 전송한다.
  • TLM Port에는 unidirectional 과 bidirectional 두 종류가 있다.
  • port는 그에 상응하는 port, export, imp port 모두와 연결될 수 있다.

 

3. UVM TLM imp port

  • TLM imp port는 트랜잭션을 받는 포트이다.

왜 imp냐면, TLM 통신을 할 때는 받는 쪽이 transaction을 받아오는 함수 get(), write()등을 implementation한다.

통신 규칙을 implement 하는 쪽이 받는 쪽이기 때문에, imp port를 갖는 component가 receiver라고 생각하면 편하다.

  • TLM imp port에는 unidirectional과 bidirectional 두 종류가 있다.