仿真器一般都会有如下三个阶段,这三个阶段所做的事情如下: compilation 主要是读取源文件,处理语言的语法语义,报错也是报在语法和语义的检查上,并且转换成二进制的形式。 elaboration 主要处理hierarchy的结构,算parameter的值(override),处理hierarchical references,连线,处理bind等。准备好所有simulation需要的信息。 simulation 仿真DUT定义的行为。