FPGA设计技巧与案例开发详解
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.2 FPGA/CPLD开发流程

本节将通过一个最基础、最简单的入门例程,来同步分析FPGA/CPLD的开发流程,以帮助读者从设计中来,到开发中去,了解整个开发流程。

下面参照Altera公司关于FPGA设计流程(如图4.1所示)的阐述,进行扼要的分析。

图4.1 FPGA设计流程

Step1:设计源于Idea,如果没有一个设计的框架,则不能盲目地进行开发。因此第一步是设计的来源。

Step2:通过Verilog HDL或原理图、IP核等方式设计电路。

Step3:利用Quartus II进行电路综合。

Step4:利用Quartus II进行逻辑电路的布局布线。

Step5:使用第三方软件进行仿真测试、逻辑验证等。

Step6:固化FPGA/CPLD。

这是一个最简单的开发流程,当然也是FPGA设计的精髓。没有经过仿真、验证的设计,任何人也不可能保证电路的稳定性。因此,从思维出现到Quartus II综合,有必要进行第三方工具的仿真测试,在结果满足预期的前提下,再进行硬件验证。在本书中,笔者主要基于Quartus II的开发与Modelsim的测试验证,两款软件相辅相成,其联调设计开发流程如图4.2所示。

图4.2 Quartus Ⅱ与Modelsim联调设计开发流程

由图4.2可知,产生方案且论证通过后,进行的是Verilog HDL的设计,同步进行Modelsim的功能仿真测试,以保证设计功能的正确性。Quartus Ⅱ与Modelsim软件开发同时进行,完成功能仿真之后,通过Quartus Ⅱ综合电路进行布局布线。完成全编译后,通过Modelsim进行必要的时序仿真,以更深层次地对时序电路进行测试。时序仿真通过后,才可进行最后的FPGA板卡硬件测试,继续优化代码,完善设计。

Testbench仿真测试在实际开发项目中占的比重很大,甚至有可能超过Verilog HDL的设计。一个完整的工程设计,势必有完整的设计方案、经过千锤百炼的Verilog HDL及一整套的Testbench测试体系。笔者简要地设计了Testbench仿真测试框图,如图4.3所示。

图4.3 Testbench仿真测试框图

在FPGA开发中,正确的思路都是“由顶层到底层”设计框架,继而展开每一个子模块的设计。因此,针对Quartus Ⅱ与Modelsim的同步联调机制,首先在Quartus Ⅱ与Modelsim中分别设计整个项目的设计与测试顶层框架;接着针对每一个设计模块单独进行Testbench测试;在每一个Verilog HDL设计模块的仿真测试都通过的前提下,继续进行整个顶层框架的仿真测试。只有掌握这样的思路后,才能在FPGA工程设计量比较大的项目中,更好地管理整个仿真测试体系,让开发变得更简单。