Programming

VSLI 에서 Compilation, Elaboration, Simulation의 의미

아보카도맛있다 2020. 9. 9. 10:40

디지털 디자인에서 compilation, elaboration, simulation의 의미는 무엇인가

Compilation, Elaboration, and Simulation은 HDL 코드가 tool에 의해 process 되는 step들이다.

이러한 과정들은 설계가 기능적으로(functionally) 올바른지 검증할 수 있게 해준다.

 

 

Compilation

source code를 읽고 syntax와 semantic error를 검사함

 

 

 

 

Elaboration

시뮬레이션을 위한 모든 과정들을 준비하는 단계라고 보면 된다.

parsing과 simulation 사이에 발생한다.

- 모듈들을 module instance에 결합시킨다.

- model hierarchy를 빌드한다.

- parameter 값을 계산한다.

- hierarchical name을 resolve한다.

- net connectivity를 establish한다.

 

 

 

 

Simulation

HDL로 작성된 design model이 executed 되는 process 스텝

HDL description은 여러개의 concurrent process, assignment, 그리고 그 컴포넌트들간 connection으로 구성되있다. 대부분의 HDL simulator는 event driven execution을 한다. 무슨 뜻이냐면, signal&net에서의 변화가 관련된 프로세스의 evaluation(값을 계산)을 trigger한다. simulation에서 시간 관념도 있는데, evaluation을 진행함에 따라 execution process에서의 current time slot을 next time slot으로 이동시켜서 시간을 track.