一、FPGA设计软件
FPGA的设计软件很多,具体说来可包含以下软件:
1.设计输入(DesignEntry)
Summit公司的VisualHDL、Mentor公司的Renoir、Aldec公司的ActiveHDL。均支持图文混合的层次化设计。三者都提供PC版本,VisualHDL还有工作站版本。
2.仿真(Simulation)
仿真包括功能仿真和时序仿真。其中,功能仿真在布局布线之前;时序仿真在布局布线之后。仿真工具有Mentor公司的Modelsim和Aldec公司的ActiveHDL,二者同时支持VHDL和Verilog的仿真。Cadence公司也提供仿真工具,对Verilog的支持更强。Modelsim同时提供PC和工作站版本,ActiveHDL只有PC版本。
3.综合(Synthesis)
综合工具实现从HDL语言到FPGA或ASIC网表的生成。目前有Synopsys公司的FPGACompilerII、Mentor公司的Examplar和Synplify公司的Synplicity。三者都有PC和工作站版本。
4.布局布线(Place&Route)
布局布线采用FPGA厂商提供的工具。Xilinx有FoundationSeries和AllianceSeries两个系列。Altera的两个系列是MaxPlusII和Quartus。
二、FPGA基本开发流程
主要包括:
1、设计输入(DesignEntry);
2、设计仿真(Simulation);
3、设计综合(Synthesize);
4、布局布线(Place&Route);
5、配置(Configuration)
1、设计输入
主要有原理图输入和HDL输入两种方式,一般开发商都同时支持两种输入方式。还有的甚至提供更多的输入方式,如Xilinx公司的ISE6.0就提供四种输入方式,包括EDIF网表输入。有些熟悉硬件设计的工程师开始喜欢利用原理图进行设计,这种方法非常直观,但基于可移植性和规范化方面的考虑,绝大部分深入FPGA设计和ASIC设计的工程师最终都将统一到HDL平台上来。
2、设计仿真
包含功能仿真和时序仿真两项主要内容,功能仿真忽略了综合和布局布线导致的时延等因素,仅仅从逻辑上进行仿真,这对设计思路的验证是有帮助的,但必须通过时序仿真作进一步验证,发现并修正时序问题。
3、设计综合
将HDL语言生成用于布局布线的网表和相应的约束。综合效果直接导致设计的性能和逻辑门的利用效率,因此,许多可编程逻辑器件开发商都支持第三方综合和仿真工具,著名的有:Synplicity、Synopsys和ModelSim等。
4、布局布线
工具利用综合生成的网表,在FPGA内部进行布局布线,并生成可用于配置的比特流文件(有了比特流文件就可down到板子里了)。布局布线工具与可编程逻辑器件工艺及其布线资源密切相关,一般由可编程逻辑器件开发商直接提供。