EDA工具是IC开发者进行数字系统开发的左膀右臂,但EDA工具五花八门,所以对各种EDA工具做一个总体的归类和描述,显得尤为重要;与此同时,也能让IC初学者和设计
者对IC行业有个整体的认识把握。
总体来讲,EDA工具可以又2种分类方法:按公司分类和按功能划分。
按公司分类,可以分为2种:一类是专业的EDA软件公司开发的工具,即第三方EDA软件工具,像目前4大著名的专业EDA公司:Cadence Design Systems、Metor Graphics、Synopsys和Synplicity。目前这4家的软件都被广泛的使用。另一类是PLD器件厂家为了销售芯片而开发的EDA工具,像我使用过的Altera,此外还有Xilinx、Lattice等都是非常有名的。专业的EDA软件公司推出的软件独立于半导体器件厂家,功能强,相互之间的兼容性好,适合进行复杂和高效率的设计,即ASIC的设计。后者能针对自己的器件的工艺特点进行优化设计,提高资源利用率,降低功耗,适合教学和开发单位使用。
按功能分类,EDA软件工具可分为如下几类:
1. 集成的FPGA/CPLD开发工具。
像Altera推出的MAX+PLUS II和继MAX+PLUS II之后的新一代开发工具QUARTUS II,相对MAX+PLUS II,Quartus II提供了更优化的综合和适配功能,改善了对第三方 仿真和时域分析工具的支持(如我用到的仿真工具ModelSim和时序分析工具PT(PrimeTime)),适合大规模FPGA的开发,同时Quartus也被众多高校选为教学EDA软件。还有像Xilinx公司的ISE和Lattice公司的ispLEVER。
集成FPGA/CPLD开发工具其实就是将以下阶段工具一体化,提高开发效率。但缺点是用户常常只会重设计,而忽视设计之后各阶段的工具的使用,如如仿真,布局布线,时序分析。然后要将数字系统做到最优,设计之后的流程尤为重要。
2. 设计输入工具。
EDA输入可以有多种输入方式,可以有原理图、HDL文本、波形图、状态机、真值表等。设计输入工具一般包括在集成开发软件或者综合/仿真工具中。
3. 逻辑综合器。
逻辑综合器是设计输入的下一阶段,它将设计者设计的HDL文本,原理图或者状态图描述转化为门级电路甚至更低电路描述网表文件。针对不同的器件有不同的综合工具,对FPGA/CPLD,著名的HDL综合工具有
-Synopsys公司的FPGA Express(已停止开发), FPGA compiler和FPGA Compiler II;
-Synplicity的Synplify Pro/Synplify;
-Mentor的Leonardo Spectrum。
专业的逻辑综合软件通常比FPGA/CPLD厂家的集成开发软件自带的逻辑综合功能更强。著名的有Snopsys的Design Compiler和Cadence的Ambit。
4. 仿真器。
仿真工具提供了对设计进行模拟仿真的手段,包括布线以前的功能仿真(前仿真)和布线以后包含延时的时序仿真(后仿真)。仿真器按对设计语言的不同处理方式可以分为2类:编译型仿真器和解释型仿真器。编译型仿真器的仿真速度快,但需要预处理,因此修改后不能即时看到修改后的结果,需要重新仿真;解释型仿真器仿真速度慢一点,但可以随时修改仿真环境和仿真条件,查看仿真结果。常用的HDL仿真软件有(以Verilog为例):
-ModelSim,Mentor子公司Model Technology出品。属于编译型仿真器,仿真速度快,功能强;
-NC-Verilog,Cadence公司的仿真工具,以NC开头;
-VCS,Synopsys的Verilog仿真软件。对于VHDL则是Scirocco。
-NanoSim, Synopsys的Verilog仿真软件。现实中,VCS用于前仿,NanoSim用于后仿。 |