EDA技术与FPGA基础

EDA技术与FPGA基础
3.1 EDA技术
滚动体现代电子技术的核心是EDA(Electronic Design Automation电子设计自动化)技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA 技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。
EDA技术在硬件实现方面融合了大规模集成电路制造技术,IC版图设计技术、ASIC测试和封装技术、FPGA/CPLD编程下载技术、自动测试技术等;在计算机辅助工程方面融合了计算机辅助设计(CAD),计算机辅助制造(CAM)、计算机辅助测试(CAT)、计算机辅助工程(CAE)技术以及多种计算机语言的设计概念:而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等等。因此EDA技术为现代电子理论和设计的表达与实现提供了可能性。当然,这里的所谓EDA主要是指数字系统的自动化设计,因为这一领域的软硬件方面的技术已比较成熟,应用的普及程度也比较高。而模拟电子系统的EDA正在进入实用,其初期的EDA工具不一定需要硬件描述语言。此外,从应用的广度和深度来说,由于电子信息领域的全面数字化,基于EDA的数字系统的设计技术具有更大的应用市场和更紧迫的需求性。
EDA技术的发展历程同大规模集成电路设计技术、计算机辅助工程、可编程逻辑器件,以及电子设计技术和工艺的发展是同步的。20世纪80年代,集成电路设计进入了CMOS(互补场效应管)时代,复杂可编程逻辑器件已进入商用阶段,而在80年代末,出现了FPGA(Field Programmable Gate Array现场可编程门阵列)和CPLD(Complex Programmable Logic Device复杂可编程逻辑器件),其特点是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,电子系统设计工程师可以在实验室中设计出专用的IC, 实现系统的集成,从而大大缩短了产品上市时间,降低了开发成本。进入20世纪90年代,集成电路设计工艺步入了超深亚微米阶段,百万门以上的大规模可编程逻辑器件陆续面世,促进了EDA技术的形成。更为重要的是各EDA公司致力于推出兼容各种硬件实现方案和支持标准硬件描述语言的EDA工具软件的研究,这些都有效地将EDA技术推向成熟。
3.2 FPGA结构与设计
随着微电子技术的飞速发展,可编程逻辑器件的发展取得了长足的进步,CPLD ( Complex Programmable Logic Device)和FPGA (Field Programmable Gate Array)成为目前在电子系统设计中应用最广泛的可编程逻辑器件。它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。同门阵列等其它ASIC(Application Specific Integrated Circuit)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产之中。本文的设计中用到了Altera公司的FPGA芯片,因此以下将主要介绍FPGA的结构、原
理及设计。
3.2.1基本结构
简化的FPGA的结构由4部分组成:输入/输出模块、二维逻辑阵列模块、连线资源和内嵌存储器模块。输入/输出模块是芯片与外界的接口,完成不同电气特性下的输入输出功能要求;二维逻辑阵列模块是可编程逻辑的主体,可以根据设计灵活地改变连接与配置,以完成不同的逻辑功能,FPGA的二维逻辑阵列模块是基于可编程的查表(Look Up Table, LUT)结构的,LUT是可编程的最小逻辑构成单元;连线资源连接所有的二维阵列模块和输入输出模块线长度和工艺决定着信号在连线上驱动能力和传输速度:内嵌存储器结构可以在芯片内部存储数据。
FPGA作为新一代的可编程逻辑器件,由于其基本原理的特殊性,除了具有一般可编程逻辑器件的特点之外,在电子系统设计中还具有一些自己的特点:
(1) 编程方式简便灵活。对于基于SRAM LUT结构的FPGA器件由于SRAM 的掉电易失性,其编程采用ICR (In-Circuit Reconfigurability)方式即在线可重配置方式。对于ICR方式的实现有多种选择,在调试时可使用PC机并行口实现,在实际应用中可使用专用配置器件或者微处理器等来实现ICR。设备铭牌制作
mjpg(2) 开发工具和设计语言标准化,开发周期短。由于EDA开发工具的通用性、设计语言的标准化以及
设计过程几乎与所用的FPGA器件的硬件结构没有关系,所以从而使得片上系统的产品设计效率大幅度提高,开发周期大大缩短。
(3) 功能强大,应用广阔。目前,FPGA可供选择范围很大,可根据不同的应用选用不同容量的芯片。利用它们可实现几乎任何形式的数字电路或数字系统的设计。
3.2.2基于EDA工具的设计流程止推垫圈
图3.1基于EDA工具的FPGA开发流程框图,对于目前流行的EDA工具软件,图3.1的设计流程具有一般性,以下将依次介绍各部分的功能。
设计输入是设计者将所要设计的电路以开发软件要求的某种形式表达出来,并输入到相应软件中的过程。设计输入有多种表达方式,最常用的是图形输入中的原理图输入
图3.1 基于EDA的FPGA设计流程
方式和HDL文本输入方式两种。原理图输入方式的特点是适合描述连接关系和接口关系,而描述逻辑功能则比较繁琐;而用HDL文本来描述设计,其逻辑描述能力强,但描述接口和连接关系则不如图形方式直观。目前有些EDA输入工具可以把图形的直观与HDL的优势结合起来。但总体上看,纯粹的HDL文本输入设计仍然是最基本、最有效和最通用的输入方法。
综合(Synthesis)指的是将行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配而成的过程。整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。
适配器也称为结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如对FPGA器件,产生Bit stream位流数据文件。通常,EDA软件中的综合器可由专业的第三方EDA公司提供,而适配器则需由FPGA供应商提供。
仿真就是让计算机根据一定的算法和一定的仿真库对EDA设计进行模拟,以验证设计,排除错误。仿真是在EDA设计过程中的重要步骤,它包括功能仿真和时序仿真。不考虑信号时延等因素、不涉及任何具体器件的硬件特性的仿真称为功能仿真,又叫前仿真;时序仿真又称后仿真,它是在选择了具体
器件并完成了布局布线后进行的包含定时关系的仿真。
把适配后生成的下载或配置文件,通过编程器或编程电缆装入FPGA中的过
程称为下载。通常将对基于SRAM工艺结构的FPGA器件的下载称为配置。如上一小节所述,FPGA器件的配置方式灵活,有多种的方式可供选择。
3.3常用EDA工具
3.3.1 各类EDA工具
EDA工具在EDA技术中占据及其重要的位置,在一般的设计中,常使用由FPGA供应商提供的集成EDA软件,也可使用第三方仿真、综合及调试工具软件下面以EDA设计流程中涉及的主要软件包为主、按功能分别介绍各类EDA工具。
输入工具(Design Input Tools)。输入工具主要是帮助用户完成原理图和HDL 文本的编辑和输入工作。好的输入工具应能够支持多种输入方式,包括原理图、HDL文本、波形图、状态图和真值表等。由于HDL的输入方式是文本方式,所以它的输入用普通的文本编辑器即可完成。常用的设计输入工具有:Mentor公司的FPGA Advantage(含HDL Designer Series)、Innovada 公司的Visual HDL, VHDL/ Verilog Turbo Writer等。
盐酸储存罐
逻辑综合工具(Synthesis Tools)。由于HDL综合器是目标器件硬件结构细节、数字电路设计技术、化简优化算法以及计算机软件的复杂结合体,而且HDL可综合子集迟迟未能标准化,所以相比于形式多样的设计输入工具,成熟的HDL综合器并不多。比较常用的,性能良好的FPGA设计的HDL综合器有如下3种:
彩钢板机房
(1) Synopsys公司的FPGA Compiler,FPGA CompilerⅡ和FPGA Express综合器。
(2) Synplicity公司的Synplify和Synplify Pro综合器。
(3) Mentor子公司Exemplar Logic的Leonardo Spectrum综合器。
仿真工具(Simulation Tools)。在EDA发展初期,快速地进行电路逻辑仿真是当时的核心问题,即使是现在,各设计环节的仿真仍然是整个EDA工程流程中最耗时间的一个步骤,因此仿真器的仿真速度、仿真的准确性、易用性成为衡量仿真器的重要指标。常用的HDL仿真器(即仿真软件)有Model Technology的ModelSim、Cadence的NC-Sim和Verilog-XL、Synopsys的VCS/Scirocco、Aldec的Active HDL等。
适配器(Fitter)。适配,即结构综合通常都由可编程逻辑器件的厂商提供的专门针对器件开发的软件来完成。这些软件可以单独或嵌入在厂商的针对自己产品的集成EDA开发环境中存在。如Lattice公司在
其ispEXPERT开发系统嵌有自己的适配器,但同时提供性能良好、使用方便的专用适配器;ispEXPERT Compiler;而Altera公司的EDA集成开发环境MAX+Plus II,Quartus II中都含有嵌入的适配器。Xilinx的Foundation和ISE中也同样含有自己的适配器。
3.3.2 Quartus II软件简介
QuartusⅡ是Altera提供的FPGA/CPLD开发集成环境,Altera是世界最大可编程逻辑器件供应商之一。QuartusⅡ在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plusⅡ的更新换代产品,其界面友好,使用便捷。在QuartusⅡ上可以完成图3.1所示的整个基于EDA的FPGA设计流流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。
Altera的QuartusⅡ提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为Altera、DSP开发包进行系统模型设计提供了集成综合环境。QuartusⅡ设计工具完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。QuartusⅡ也可以利用第三方的综合工具,如Leonardo Spectrum、Synplify Pro、FPGA CompilerⅡ,并能直接调用这些工具。同样,QuartusⅡ具备仿真功能,同时也支持第三方的仿真工具,如ModelSim。此外,QuartusⅡ与MATLAB和DSP Builder 结合,可以进行基于FPGA的DSP系统开发,是DSP 硬件系统实现的关键EDA工具。
QuartusⅡ包括模块化的编译器。编译器包括的功能模块有分析/综合器(Analysis &Synthesis)、适配器(Fitter)、装配器(Assembler)、时序分析器(Timing Analyzer)、设计辅助模块(Design Assistant)、EDA网表文件生成器(EDA Netlist Writer)和编辑数据接口(Compiler Database Interface)等。可以通过选择Start Compilation来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。还可以通过选择Compiler Tool(Tools菜单) ,在Compiler Tool窗口中运行该模块来启动编译器模块。在Compiler Tool窗口中,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。
此外,QuartusⅡ还包含许多十分有用的LPM(Library of Parameterized Modules)模块,它们是复杂或高级系统构建的重要组成部分,在SOPC设计中被大量使用,也可在QuartusⅡ普通设计文件一起使用。Altera提供的LPM函数均基于Altera 器件的结构做了优化设计。在许多实用情况中,必须使用宏功能模块才可以使用一些Altera特定器件的硬件功能。例如各类片上存储器、DSP模块、LVDS驱动器、PLL以及SERDES和DDIO电路模块等。
图3.2所示是QuartusⅡ开发设计流程。
图3.2上排是QuartusⅡ编译设计主控界面,它显示了QuartusⅡ自动设计的各主要处理环节和设计流程,包括设计输入编辑、设计分析与综合、适配、编程文件汇编(装配)、时序参数提取以及编程下载几个步骤。图3.2下排的流程框

本文发布于:2024-09-22 09:57:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/277990.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设计   技术   逻辑   器件   输入   硬件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议