UVM TLM 포트 종류
- UVM TLM Export
- UVM TLM Port
- 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 두 종류가 있다.
'Programming > SystemVerilog' 카테고리의 다른 글
UVM TLM port interface 관련 메소드들 (0) | 2021.04.22 |
---|---|
UVM TLM에 대해서 알아봅시다! (0) | 2021.04.21 |
항상 헷갈리는 시스템베릴로그 $cast - Up-Casting과 Down-Casting (14) | 2021.04.21 |
시스템베릴로그의 Virtual Classes와 Polymorphism (0) | 2021.04.21 |