FPGA与普通数字芯片设计流程的差异
设计步骤 | FPGA | 数字芯片 |
逻辑设计与仿真 | 在这一点上二者非常接近,一般采用硬件设计语言进行设计,并进行功能仿真。FPGA的仿真一般采用Modelsim或由FPGA厂商提供的仿真工具。近年来一些开源的仿真工具(如Verilator等)也开始等到采用 | |
综合 | 多采用一种综合软件或FPGA厂商提供的工具,将逻辑设计转换为等效的逻辑单元电路 | 采用EDA软件厂商提供的工具,如Synopsys Design Complier(一种芯片综合软件)等,将逻辑设计转换为等效的门电路 |
布局布线 | 有些FPGA厂商也将该步骤称为适配。这一步几乎都会采用FPGA厂商提供的工具。而且设计者除了对工具提供一些指导参数以外,基本上无法再做更多干预 | 采用EDA软件厂商提供的工具,如Synopsys IC Compiler(一种版图设计工具)等。设计者可以对版图设计做直接干预。和FPGA相比,设计者在这一步有更多和更灵活的选择 |
静态时序分析 | 多采用FPGA厂商提供的工具 | 采用EDA软件厂商提供的工具,如Synopsys Prime Time(一种时序分析软件)等 |
二者在这一步的设计方法非常类似,一般都需要提供时序约束文件 | ||
其他验证方式 | 门级(Gate Level)仿真,该步骤耗时长。在实践中一般较少运行该仿真,除非怀疑之前的综合或版图设计结果问题 | 和FPGA相比,数字芯片的设计者往往需要运行更多验证工具来保证设计的正确性。常用的工具有:
|
最终结果 | 比特流文件,用来对FPGA器件进行现场编程 | GDSII文件,交由芯片代工厂流片 |