FPGA 的设计开发流程主要包括以下步骤:设计输入( Design Entry )、仿真验证( Verification )、综合( Synthesis )及布局布线( Place & Route)和比特流生成。 在简单的 FPGA 设计中,设计输入就是使用硬件描述语言编写 RTL 的过程,虽然还有一些基于状态图、真值表、流程图、方框图的设计输入方法,现在基本已经被淘汰。硬件描述语言最重要的是 Verilog / SystemVerilog,其次是 VHDL 。目前基于 VHDL 的设计越来越少。 SystemVerilog 是 VHDL 和 Verilog 合并后产生的新语言,是它们的继承和发展。对于初学者,学习 SystemVerilog 就够了。设计输入编辑工具有很多, ModelSim 、Visual HDL 、 ActiveHDL 、ISE 、Quartus II 都有针对 HDL 的编辑工具,也有些人使用支持 Verilog 语法高亮的 UltraEdit 。 ActiveHDL 提供 HDL 语法高亮显示、自动产生文本结构、自动格式化文本等非常有益的文本编辑浏览特性,在国内很受欢迎。对于设计输入,核心的问题是有三个:(1)熟练使用 HDL 语言(2)准确的把握要完成的设计功能及其性能指标;(3)充分理解常见的设计思想,保证设计功能和性能指标的恰当表达。 设计输入的另外一个重要技能是学会使用 FPGA 厂商提供的设计库,里面有大量可根据应用定制的专门单元,如 FIFO 、SRAM 、差分IO 、 DLL 等。 综合( Synthesis )及布局布线( Place & Route)和比特流生成都是设计工具自动完成的步骤。当然,也需要使用者进行一些设置,以使得工具自动完成的结果更加符合预期。综合工具实现从 HDL 语言到门级网表的生成。 FPGA 厂商的 FPGA 集成开发环境一般提供综合工具,比如 Xilinx 的 XST 和 Altera Quartus II 内置的综合工具,目前使用最广泛的第三方综合工具是 Synplicity 公司的 Synplify 。布局布线采用 FPGA 厂商提供的工具。 Xilinx 有 Foundation Series, Altera有Quartus II。布局布线更具体的包括门级网表到 FPGA 基本单元的转换( Xilinx 称作 Translate ,Altera 称作 Map )和实际的布局布线( Xilinx 称作 PAR,Altera 称作 Fit )。布局布线的结果进一步被用来可以下载到 FPGA 比特流。在进行布局布线之前,我们需要设置顶层设计的每一个输入输出与实际 FPGA 管脚的对应关系。这种对应关系是在在电路板设计的原理图设计阶段确定的。如果你的板子是买来的开发板,在开发板的资料中通常会包括原理图。在没有原理图的情况下,厂家会在其他资料中明确给出每一个 FPGA 的管脚是怎么与其他芯片连接的。 (责任编辑:admin) |