"华为FPGA设计流程指南是一个指导文档,旨在规范华为部门内FPGA设计的流程,确保设计的合理性、一致性与高效性,并促进在不同FPGA厂商间及从FPGA到ASIC的顺利移植。文档以Altera的FPGA器件和相关工具(modelsim+LeonardoSpectrum/FPGACompilerII+Quartus)为例,但其原则可应用于其他厂商和工具。内容包括基于HDL的FPGA设计流程概述、Verilog HDL设计规范、逻辑仿真、逻辑综合和设计目录等关键步骤的详细解释。"
在华为的FPGA设计流程中,首先强调的是基于HDL(硬件描述语言)的设计,其中Verilog HDL是常用的语言。设计流程包括以下几个核心步骤:
1. **功能仿真**:这是设计初期的验证阶段,通过编写测试程序(testbench)来验证模块的功能是否符合预期。
2. **逻辑综合**:将高级语言描述的逻辑转换为门级网表,这个过程由工具如LeonardoSpectrum执行。设计师应遵循一定的综合原则,例如处理大规模设计和关注工具警告。
3. **前仿真**:在布局布线之前进行的仿真,检查综合结果是否满足设计要求。
4. **布局布线**:根据设计要求在FPGA芯片上分配逻辑资源并连接它们,通常由FPGA厂家的工具(如Altera的Quartus)完成。
5. **后仿真(时序仿真)**:在布局布线后进行,验证实际时序性能是否满足设计约束。
在Verilog HDL设计部分,文档提出了编程风格要求,包括文件组织、大小写规则、标识符命名、参数化设计、代码格式化、注释规范以及可视化设计方法,这些都是为了提高代码的可读性和可维护性,以及保证设计的可综合性。
逻辑仿真部分,介绍了如何创建测试程序来验证设计功能,以及如何利用预编译库加速仿真过程。
逻辑综合部分,强调了使用LeonardoSpectrum等工具时应注意的原则,如对待大规模设计的方法,重视综合工具的警告信息,以及如何处理黑盒(Blackbox)模块。
整个流程不仅关注技术实施,还强调文档的重要性,旨在帮助新员工快速适应部门的设计规范,实现设计流程的标准化。