您当前的位置:五五电子网电子知识单片机-工控设备EDA/PLD技术EDA技术与FPGA原理介绍及应用 正文
EDA技术与FPGA原理介绍及应用

EDA技术与FPGA原理介绍及应用

点击数:7115 次   录入时间:03-04 11:39:06   整理:http://www.55dianzi.com   EDA/PLD技术

  21世纪是信息产业主导的知识经济时代,信息领域正在发生一场巨大变革,其先导力量和决定性因素正是微电子技术'>集成电路。片的日益成熟,特别是深亚微米(DSM,DeepSub-Mron)和超深亚微米(VDSM,Very Deep Sub-MICron)技术,极大促进了集成电路产业的快速发展。

  集成电路发展经历了电路集成、功能集成、技术集成,直至今天基于计算机软硬件的知识集成,这标志着传统电子系统已全面进入现代电子系统阶段,这也被誉为进入3G时代,即单片集成度达到1G个管技术'>晶体管、器件工作速度达到1GHz、数据传输速率达到1Gbps。

  EDA(EleCTRonic DesignAutomation,电子设计自动化)技术基于计算机辅助设计,它融合了应用电子技术、计算机技术、信息处理技术、智能化技术的最新成果,以实现技术'>电子产品的自动设计。EDA是现代电子设计技术的核心,在现代集成电路设计中占据重要地位。FPGA(FiELDProgrammable GateArray,现场可编程门阵列)作为可编程逻辑器件的典型代表,它的出现及日益完善适应了当今时代的数字化发展浪潮,它正广泛应用在现代数字系统设计中。

  EDA技术与FPGA原理

  1.EDA技术特征

  EDA是电子设计领域的一场革命,它源于计算机辅助设计(CAD,Computer AidedDesign)、计算机辅助制造(CAM,Computer Aided Made)、计算机辅助测试(CAT,Computer AidedTest)和计算机辅助工程(CAE,Computer AidedEngineering)。利用EDA工具,电子设计师从概念、算法、协议开始设计电子系统,从电路设计、性能分析直到IC版图或PCB版图生成的全过程均可在计算机上自动完成。

  EDA代表了当今电子设计技术的最新发展方向,其基本特征是设计人员以计算机为工具,按照自顶向下的设计方法,对整个系统进行方案设计和功能划分,由硬件描述语言完成系统行为级设计,利用先进的开发工具自动完成逻辑编译、化简、分割、综合、优化、布局布线(PAR,PlaceAnd Route)、仿真及特定目标的适配编译和编程下载,这被称为数字逻辑电路的高层次设计方法。

  作为现代电子系统设计的主导技术,EDA具有两个明显特征:即并行工程(ConcurrentEngineering)设计和自顶向下(Top-down)设计。其基本思想是从系统总体要求出发,分为行为描述(BehaviourDescription)、寄存器传输级(RTL,Register Transfer Level)描述、逻辑综合(LogicSynthesis)三个层次,将设计内容逐步细化,最后完成整体设计,这是一种全新的设计思想与设计理念。

  2.FPGA原理

  今天,数字电子系统的设计方法及设计手段都发生了根本性变化,正由分立数字电路向可编程逻辑器件(PLD,ProgrammableLogic Device)及专用集成电路(ASIC,Application Specific IntegratedCircuit)转变。FPGA与CPLD(Programmable LogicDevice,复杂可编程逻辑器件)都属于PLD的范畴,它们在现代数字系统设计中正占据越来越重要的地位。

  FPGA是由用户编程来实现所需逻辑功能的数字集成电路,它不仅具有设计灵活、性能高、速度快等优势,而且上市周期短、成本低廉。FPGA设计与ASIC前端设计十分类似,在领域中FPGA应用日益普及,已成为集成电路中最具活力和前途的产业。同时,随着设计技术和制造工艺的完善,器件性能、集成度、工作频率等指标不断提升,FPGA已越来越多地成为系统级芯片设计的首选。

  FPGA由PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)发展而来,其基本设计思想是借助于EDA开发工具,用原理图、状态机、布尔表达式、硬件描述语言等方法进行系统功能及算法描述,设计实现并生成编程文件,最后通过编程器或下载用目标器件来实现。

  FPGA器件采用逻辑单元阵列(LCA,Logic CellArray)结构、SDRAM工艺,其中LCA由三类可编程单元组成。

  (1)可配置逻辑块(CLB,Configurable LogicBLOCk):被称为核心阵列,是实现自定义逻辑功能的基本单元,散布于整个芯片;

  (2)输入/输出模块(IOB,Input/OutputBlock):排列于芯片四周,为内部逻辑与器件封装引脚之间提供可编程接口;

  (3)可编程互连资源(PI,Programmable Interconnect):包括不同长度的连线线段及连接,其功能是将各个可编程逻辑块或I/O块连接起来以构成特定电路。

  全球生产FPGA的厂家很多,但影响力最大的是Xilinx公司和ALTEra公司,世界上第一片FPGA是在20世纪80年代中期Xilinx公司率先推出的。不同厂家生产的FPGA在可编程逻辑块的规模、内部互连线结构及所采用的可编程元件上存在较大差异,实际使用时应注意区分。

  FPGA设计应用及优化策略

  1.FPGA设计层次分析

  FPGA设计包括描述层次及描述领域两方面内容。通常设计描述分为6个抽象层次,从高到低依次为:系统层、算法层、寄存器传输层、逻辑层、电路层和版图层。对每一层又分别有三种不同领域的描述:行为域描述、结构域描述和物理域描述。

  系统层是系统最高层次的抽象描述,针对于电子系统整体性能。算法层又称为行为层,它是在系统级性能分析和结构划分后对每个模块的功能描述。算法层所描述的功能、行为最终要用数字电路来实现。而数字电路本质上可视为由寄存器和组合逻辑电路组成,其中寄存器负责信号存储,组合逻辑电路负责信号传输。寄存器传输层描述正是从信号存储、传输的角度去描述整个系统。寄存器和组合逻辑本质上是由逻辑门构成,逻辑层正是从逻辑门组合及连接角度去描述整个系统。

  FPGA各个描述层次及综合技术关系如图1所示。传统的综合工具是将寄存器传输级(RTL)的描述转化为门级描述。随着以行为设计为主要标志的新一代系统设计理论的不断成熟,能够将系统行为级描述转化为RTL描述的高层次综合技术不断涌现。

  作为现代集成电路设计的重点与热点,FPGA设计一般采用自顶向下、由粗到细、逐步求精的方法。设计最顶层是指系统的整体要求,最下层是指具体的逻辑电路实现。自顶向下是将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大则进一步分解为更小的子系统和模块,层层分解,直至整个系统中各子模块关系合理、便于设计实现为止。

  2.vhdl在FPGA设计中的应用

  集成电路设计规模及复杂度不断增大,用传统原理图方法进行系统级芯片设计已不能满足设计要求,而硬件描述语言(HDL,HardwareDescriptionLanguage)在进行大规模数字系统设计时具有诸多优势,因此利用硬件描述语言进行系统行为级设计已成为FPGA与ASIC设计的主流。目前最流行、最具代表性的硬件描述语言是美国国防部(DOD)开发的VHDL(VHSICHardware Description Language)和GDA(Gateway DesignAutomation)公司开发的Verilog HDL。

  VHSIC代表Very High Speed IntegratedCircuit,因此VHDL即甚高速集成电路硬件描述语言。VHDL语法严格,1987年即成为IEEE标准,即IEEE STD1076-1987,1993年进一步修订成为IEEE STD 1076-1993。

  VHDL作为IEEE标准,已得到众多EDA公司支持,其主要优点有:

  ● 描述能力强,支持系统行为级、寄存器传输级和门级三个层次设计;

  ● 可读性好、移植性强,其源文件既是程序又是文档,便于复用和交流;

  ● 支持自顶向下的设计和基于库(Library-based)的设计;

  ● 支持同步、异步及随机电路的设计;

  ● 与工艺无关,生命周期长。

  VHDL语言主要应用在行为层和寄存器传输层,这两层可充分发挥出VHDL面向高层的优势。利用VHDL实现数字电路的实质是利用综合工具将高层次描述转化为低层次门级描述,其中综合可分为三个层次:高层次综合(High-LevelSynthesis)、逻辑综合(Logic Synthesis)和版图综合(Layout Synthesis)。3.基于VHDL的FPGA系统行为级设计

  具体包括以下重要环节:设计输入(Design Entry)、设计综合(DesignSynthesis)、设计约束(Design Constraints)、设计实现(DesignImplement)、设计仿真(Design Simulation)和器件编程(Device Programming)。



www.55dianzi.com


 设计输入主要采用HDL(硬件描述语言)、ECS(Engineering SchematiCCapture,原理图编辑器)和FSM(Finite State Machine,有限状态机);

      设计综合就是依据逻辑设计描述和约束条件,利用开发工具进行优化处理,将HDL文件转变为硬件电路实现方案,其实质就是优化设计目标的过程;

      设计约束主要包括设计规则约束、时间约束、面积约束三种,通常时间约束的优先级高于面积约束;

      设计实现对于FPGA分为编译规划、布局布线(P AR,Place AndRoute)、程序比特流文件产生;对于CPLD则是编译、配置、比特流文件产生;

      设计仿真分为功能仿真和时序时延仿真。功能仿真在设计输入之后、综合之前进行,只进行功能验证,又称为前仿真。时序时延仿真在综合和布局布线之后进行,能够得到目标器件的详细时序时延信息,又称为后仿真;

      器件编程是指在功能仿真与时序时延仿真正确的前提下,将综合后形成的位流编程下载到具体的FPGA/CPLD芯片中,又称芯片配置。FPGA/CPLD编程下载通常可使用JTAG编程器、PROM文件格式器和硬件调试器三种方式,其中JTAG(JointTest Action Group,联合测试行动组)是工业标准的IEEE1149.1边界扫描测试的访问接口,用作编程功能可省去专用的编程接口,减少系统引出线,有利于各可编程逻辑器件编程接口的统一,因此应用广泛。

      4.FPGA设计优化及方案改进

      在FPGA设计中,必须首先明确HDL源代码编写非常重要;不同综合工具包含的综合子集不同致使有些HDL语句在某些综合工具中不能综合;同一逻辑功能可用不同HDL语句进行描述,但占用资源却可能差别很大。同时应当深刻理解并发性是硬件描述语言与普通高级语言的根本区别,因而设计硬件电路不能受传统顺序执行思维的束缚。

[1] [2]  下一页


本文关键字:技术  EDA/PLD技术单片机-工控设备 - EDA/PLD技术