PCIe IP 的交付物中,存在可综合的RTL代码、PHY PMA的仿真模型以及综合使用的DB库文件。在IC设计的开发环境中,通常支持VCS编译,VCS仿真,spyglass检查,以及DC综合。
不同的进程需要的文件存在差异。例如VCS前仿真是需要PMA仿真模型用于模拟硬件行为,但此时不需要DB库文件。DC综合需要DB库文件,但是不能读取仿真模型,因为不可综合代码会导致DC报错。为了保证在不同的进程能够读取正确的代码,我们需要对PCIe IP的交付物进行整理,分为多个filelist,分别记录不同用途的文件。
使用3种filelist记录,分别是pcie_cmn.f、pcie_sim.f、pcie_syn.f。
pcie_cmn.f记录可综合RTL代码,每个进程都需要使用。
pcie_sim.f 仅仅记录仿真时额外需要的仿真模型和宏定义。
pcie_syn.f 仅仅记录综合需要的文件以及宏定义,如db文件,底层cell文件列表,综合单独定义的宏定义。
因此:在实际使用进程中,VCS编译使用pcie_cmn.f,VCS仿真验证使用pcie_cmn.f+pcie_sim.f 。 DC综合使用pcie_cmn.f+pcie_syn.f




为了方便在环境中加入不同的filelist,需要对makefile进行调整,添加如下语句:
•filelist_f:通用基础列表,由开发环境脚本指定,添加pcie_cmn.f
•vcs_filelist:VCS 仿真专属列表,由开发环境脚本指定,vcs_sim_lib定义存在时,则添加pcie_sim.f
•syn_filelist:DC 综合专属列表,由开发环境脚本指定,添加pcie_syn.f
Makefile |