新闻中心

EEPW首页 > 医疗电子 > 设计应用 > 多种EDA工具进行FPGA设计的原理及方法简介

多种EDA工具进行FPGA设计的原理及方法简介

作者:时间:2014-07-25来源:网络收藏

  摘要:介绍了利用多种工具进行设计的实现原理及方法,其中包括设计输入、、功能、实现、时序、配置下载等具体内容。并以实际操作介绍了整个的设计流程。

本文引用地址:http://www.eepw.com.cn/article/256057.htm

  关键词:

  在数字系统设计的今天,片上系统(SoC)技术的出现已经在设计领域引起深刻变革。为适应产品尽快上市的要求,设计者必须合理选择各厂家提供的加速设计的工具软件,以使其产品在本领域良性发展。FPGA设计是当前数字系统设计领域中的重要方式之一。本文以多种EDA厂家工具为基础,系统介绍 FPGA设计的流程。

  1 数字逻辑划分与FPGA内部结构

  

 

  图1所示为数字逻辑权状分类图,由其可以看出,现场可编程门阵列(FPGA)是专用集成电路中可编程逻辑器件的重要分支。

  随着微电子工业的发展与进步,FPGA的集成度已经达到数百万门,如Xilinx公司的Xcv3200e最大门数为320万门,Altera公司的 Apex20k1500e为150万门,且系统时钟频率已达到200MHz,支持多种I/I电压标准,并具有丰富的可重复利用的IP核,便于加速系统设计。

  FPGA的内部资源(以Xilinx公司为例)一般分为可编程逻辑块CLB、输入输出块IOB和可编程连线PI三部分。通过编程控制PI连接各CLB单元,可以形成具有特定功能的电路。使用各公司的专用设计软件设计FPGA,最终可形成由PI控制CLB单元的位流文件。

  Xilinx公司主推的Virtex系列FPGA产品采用0.22微米工艺,具有如下特性:支持9种I/O标准、4个延时锁定环、块存储与分布存储并存、可编程流水延时存储、热控制、配置速率为500Mb/s。而Altera公司的Apex20ke系列同样是其公司主推的FPGA产品,在内部嘏线资源方面与Xilinx公司产品不同。在Virtex器件中,分为双长线、单长线、长线几种,在布线时可以按最近原则进行取舍;而在Apex20ke中,连线仅为一种等长,所以在时序分析时比较准确。

  2 FPGA设计流程

  FPGA设计人体分为设计输入、、功能仿真(前仿真)、实现、时序仿真(后仿真)、配置下载等六个步骤,设计流程如图2所示。下面分别介绍各个设计步骤。

  2.1 设计输入

  设计输入包括使用硬件描述语言HDL、状态图与原理图输入三种方式。HDL设计方式是现今设计大规模数字集成电路的良好形式,除IEEE标准中 VHDL与Verilog HDL两种形式外,尚有各自FPGA厂家推出的专用语言,如Quartus下的AHDL。HDL语言描述在状态机、控制逻辑、总线功能方面较强,使其描述的电路能特定综合器(如Synopsys公司的FPGA Compiler II或FPGA Express)作用下以具体硬件单元较好地实现;而原理图输入在顶层设计、数据通路逻辑、手工最优化电路等方面具有图形化强、单元节俭、功能明确等特点,另外,在Altera公司Quartus软件环境下,可以使用Momory Editor对内部memory进行直接编辑置入数据。常用方式是以HDL语言为主,原理图为辅,进行混合设计以发挥二者各自特色。

  通常,FPGA厂商软件与第三方软件设有接口,可以把第三方设计文件导入进行处理。如Quartus与Foundation都可以把EDIF网表作为输入网表而直接进行布局布线,布局布线后,可再将生成的相应文件交给第三方进行后续处理。

  2.2 设计综合

  综合,就是针对给定的电路实现功能和实现此电路的约束条件,如速度、功耗、成本及电路类型等,通过计算机进行优化处理,获得一个能满足上述要求的电路设计方案。也就是是说,被综合的文件是HDL文件(或相应文件等),综合的依据是逻辑设计的描述和各种约束条件,综合的结果则是一个硬件电路的实现方案,该方案必须同时满足预期的功能和约束条件。对于综合来说,满足要求的方案可能有多个,综合器将产生一个最优的或接近最优的结果。因此,综合的过程也就是设计目标的优化过程,最后获得的结构与综合器的工作性能有关。

  FPGA Compiler II是一个完善的FPGA逻辑分析、综合和优化工具,它从HDL形式未优化的网表中产生优化的网表文件,包括分析、综合和优化三个步骤。其中,分析是采用 Synopsys标准的HDL语法规则对HDL源文件进行分析并纠正语法错误;综合是以选定的FPGA结构和器件为目标,对HDL和FPGA网表文件进行逻辑综合;而优化则是根据用户的设计约束对速度和面积进行逻辑优化,产生一个优化的FPGA网表文件,以供FPGA布局和布线工具使用,即将电路优化于特定厂家器件库,独立于硅持性,但可以被约束条件所驱动。

  利用FPGA Compiler II进行设计综合时,应在当前Project下导入设计源文件,自动进行语法分析,在语法无误并确定综合方式、目标器件、综合强度、多层保持选择、优化目标等设置后,即可进行综合与优化。在此可以将两步独立进行,在两步之间进行约束指定,如时钟的确定、通路与端口的延时、模块的算子共享、寄存器的扇出等。如果设计模型较大,可以采用层次化方式进行综合,先综合下级模块,后综合上级模块。在进行上级模块综合埋设置下级模块为Don't Touch,使设计与综合过程合理化。综合后形成的网表可以以EDIF格式输出,也可以以VHDL或Verilog HDL格式输出,将其导入FPGA设计厂商提供的可支持第三方设计输入的专用软件中,就可进行后续的FPGA芯片的实现。综合完成后可以输出报告文件,列出综合状态与综合结果,如资源使用情况、综合后层次信息等。

  2.3 仿真验证

  从广义上讲,设计验证包括功能与时序仿真和电路验证。仿真是指使用设计软件包对已实现的设计进行完整测试,模拟实际物理环境下的工作情况。前仿真是指仅对逻辑功能进行测试模拟,以了解其实现的功能否满足原设计的要求,仿真过程没有加入时序信息,不涉及具体器件的硬件特性,如延时特性;而在布局布线后,提取有关的器件延迟、连线延时等时序参数,并在此基础上进行的仿真称为后仿真,它是接近真实器件运行的仿真。

  2.4 设计实现

  实现可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳布局,选择逻辑与输入输出功能连接的布线通道进行连线,并产生相应文件(如配置文件与相关报告)。通常可分为如下五个步骤。

fpga相关文章:fpga是什么



上一页 1 2 3 下一页

关键词: FPGA 仿真 综合 EDA

评论


相关推荐

技术专区

关闭