您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 第1章 概述可编程逻辑器件
第一章概述EDA技术产生的原因在计算机技术的强劲推动下,电子技术获得了飞速的发展,电子产品几乎渗透了工业、生活的各个领域,电子技术发展的根基是微电子技术的进步,即建立在半导体工艺技术的大规模集成电路加工技术。微电子技术和现代电子设计技术相互促进相互推动又相互制约。随着电子技术、仿真技术、电子工艺和设计技术与新的计算机软件技术的融合和升华,从而产生了EDA(ElectronicsDesignAutomation)技术。EDA技术定义广义定义:以计算机硬件和系统软件为基本工作平台,继承和借鉴前人在电路和系统、数据库、图形学、图论和拓扑逻辑、计算数学、优化理论等多学科的最新科技成果而研制的商品化EDA通用支撑软件和应用软件包。EDA技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方法设计电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。一般定义:1.1EDA技术的发展EDA技术发展分为三个阶段:1.20世纪70年代的计算机辅助设计CAD(ComputerAidedDesign)阶段2.20世纪80年代的计算机辅助工程设计CAE(ComputerAidedEngineering)阶段3.20世纪90年代电子系统设计自动化EDA阶段1.计算机辅助设计CAD阶段特点这个阶段分别研制了一些相对独立的软件工具,典型的有PCB制板布线设计,以及其它用于电路仿真的工具,该阶段的主要贡献使设计者从繁琐、重复的计算和绘图中解脱出来。该阶段的产品主要有如AUTOCAD、TANGO、PROTEL、SPICE等软件。局限:各个软件工具包相互独立而且是由不同公司开发的,因此一般每个工具包只完成一个任务。同时,该时期的EDA软件不能处理复杂电子系统设计中的系统级综合与仿真。2.计算机辅助工程设计CAE阶段特点EDA工具则以逻辑模拟、定时分析、故障仿真、自动布局和布线为核心,重点解决电路设计没有完成之前的功能检测等问题。局限:大部分从原理图出发的EDA工具仍然不能适应复杂电子系统的设计要求,而具体化的元件图形制约着优化设计。3.电子系统设计自动化EDA阶段EDA工具不仅具有电子系统设计的能力,而且能提供独立于工艺和厂家的系统级设计能力,具有高级抽象的设计构思手段。设计工具完全集成化,可以实现以HDL语言为主的系统级综合与仿真,从设计输入到版图的形成,几乎不需要人工干预,因此整个流程实现自动化。该阶段的EDA的发展还促进设计方法的转变,由传统的自底向上的设计方法逐渐转变为自顶向下的设计方法。1.2EDA技术的主要内容EDA技术主要包含以下四个方面内容:(1)可编程逻辑器件;(2)硬件描述语言;(3)软件开发工具;(4)实验开发系统。1.2.1可编程逻辑器件可编程逻辑器件(ProgrammableLogicDevice,简称PLD)它是一种由用户编程以实现某种逻辑功能的逻辑器件。可编程逻辑器件中应用最广泛的是:现场可编程门阵列(FieldProgrammableGateArrays,简称FPGA)和复杂可编程逻辑器件(ComplexProgrammableLogicDevice,简称CPLD)。FPGA/CPLD的集成规模非常大,可利用先进的EDA工具进行电子系统设计和产品开发。由于开发工具的通用性、设计语言的标准化以及设计过程几乎与所用器件的硬件结构没有关系,因而设计开发的各类逻辑功能块软件具有很好的兼容性和可移植性。它几乎可用于任何型号和规模的FPGA/CPLD中,从而使得产品设计效率大幅度提高。1.2.2硬件描述语言HDL是电子系统硬件行为描述、结构描述、数据流描述的语言。硬件描述的语言种类很多,有的从PASCAL发展而来,也有一些从C语言发展而来。有些HDL已成为IEEE标准,但大部分是本企业标准。目前常用的硬件描述语言有:VHDL、Verilog、ABELVHDL语言作为IEEE的工业标准硬件描述语言,在电子工程领域,已成为通用硬件描述语言Verilog语言支持的EDA工具较多,适用于RTL级和门电路级的描述,其综合过程较VHDL稍简单,但其在高级描述方面不如VHDL。ABEL语言一种支持各种不同输入方式的HDL,被广泛用于各种可编程逻辑器件的逻辑功能设计,由于其语言描述的独立性,因而能够适用于各种不同规模的可编程器件的设计。1.2.3EDA软件开发工具EDA工具在EDA技术应用中占据及其重要的地位。EDA工具大致可以分为五个模块:(1)设计输入编辑器,(2)HDL综合器,(3)仿真器,(4)适配器(或布局布线器),(5)下载器。1.2.4实验开发系统实验开发系统包括芯片下载电路及EDA实验/开发的外围资源(类似于用于单片机开发的仿真器),供硬件验证用。1.3EDA技术的设计流程完整地了解EDA技术的设计流程,对于正确选择和使用EDA软件、优化设计项目、提高设计效率十分有益。一个完整的EDA设计流程既是自顶向下设计方法的具体实施途径,也是EDA工具软件本身的组成结构。在实践中进一步了解支持这一设计流程的诸多设计工具,有利于有效地排除设计中出现的问题、提高设计质量及总结经验。设计输入(原理图/HDL等)逻辑综合和优化目标器件的适配器件编程下载硬件测试仿真功能仿真时序仿真修改图1-1EDA设计流程图1.设计的编辑和编译用一定的逻辑表达手段将设计表达出来;2.逻辑综合将用一定的逻辑表达手段表达出来的设计经过一系列的操作,分解成一系列的逻辑电路及对应的关系(电路分解);3.适配在选用的目标器件中建立这些基本逻辑电路的对应关系(逻辑实现);4.编程下载将前面的软件设计经过编程变成具体的设计系统(物理实现);5.仿真/硬件测试验证所设计的系统是否符合要求。同时,在设计过程中要进行有关“仿真”,即模拟有关设计结果,验证是否与设计构想相符。1.3.1设计输入利用EDA技术进行一项工程设计,首先需要利用EDA工具的文本编辑器或图形编辑器将设计工程用文本方式或图形方式表达出来,进行排错编译,为进一步的逻辑综合作准备。常用的源程序输入方式有三种:1)原理图输入方式:2)HDL程序的文本输入方式:3)状态图(波形图)输入方式:1.原理图输入方式:利用EDA工具提供的图形编辑器以原理图的方式进行输入。原理图输入方式比较容易掌握,直观且方便,所画的电路原理图与传统的器件连接方式完全一样,很容易被人接受,而且编辑器中有许多现成的单元器件可以利用,自己也可以根据需要设计元件。2.HDL程序的文本输入方式:HDL程序的文本输入方式是最一般化、最具普遍性的输入方法,任何支持HDL的EDA工具都支持文本方式的编辑和编译。这种方式与传统的计算机软件语言编辑输入基本一致,克服了上述原理图输入法存在的各种弊端,为EDA技术的应用和发展打造了一个广阔的天地。一定程度上可以说,正是由于HDL语言的应用才使得EDA技术得到了极大的发展。3.状态图(波形图)输入方式:以图形方式表示状态图的输入。当填好时钟信号名、状态转换条件、状态机类型等要素后,就可以自动生成VHDL程序。这种设计方式简化了状态机的设计,比较流行。目前有一些EDA软件支持这种输入方式。1.3.2逻辑综合综合就是把某些东西结合到一起,把抽象层次上的一种表述方式转换到另一种表述的过程。在电子设计领域,综合的概念可以理解为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。欲把HDL的软件设计与硬件的可实现性挂钩,需要利用EDA软件系统的综合器进行逻辑综合。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形的描述,针对给定硬件结构组件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述文件。1.3.3目标器件的适配逻辑综合通过后必须利用适配器将综合后的网表文件针对某一具体的目标器进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布线与操作,适配完成后可以利用适配所产生的仿真文件作精确的时序仿真。适配器的功能是将由综合器产生的网表文件配置于指定的目标器件中,产生最终的下载文件,如JEDEC格式的文件。适配所选定的目标器件(FPGA/CPLD芯片)必须属于原综合器指定的目标器件系列。对于一般的可编程模拟器件所对应的EDA软件来说,一般仅需包含一个适配器就可以了,如Lattice的PAC-DESIGNER。通常,EDA软件中的综合器可由专业的第三方EDA公司提供,而适配器则需由FPGA/CPLD供应商自己提供,因为适配器的适配对象直接与器件结构相对应。1.3.4.目标器件的编程/下载如果编译、综合、适配和行为仿真、功能仿真、时序仿真等过程都没有发现问题,即满足原设计的要求,则可以将由FPGA/CPLD适配器产生的配置/下载文件通过编程器或下载电缆载入目标芯片FPGA或CPLD中。通常,将对CPLD器件的下载称为“编程”(Program),对FPGA器件中的SRAM的下载称为“配置”(Configure)。1.3.5设计过程中的仿真编程下载前,一般要利用EDA工具对适配生成的结果进行模拟测试,即所谓的仿真。仿真分为时序仿真和功能仿真。在综合之后,VHDL综合器一般都可以生成一个网表文件。这里所谓的网表,是特指电路网络,网表文件描述了一个电路网络。目前最通用的是EDIF格式的网表文件。VHDL文件格式也可以用来描述电路网络,即采用VHDL语法描述各级电路互连,称之为VHDL网表。功能仿真是仅对VHDL描述的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及具体器件的硬件特性,如延时特性。功能仿真的好处在于耗时短,对硬件库、综合器等没有任何要求。对于规模比较大的设计项目,综合与适配的耗时是很大的,如果每一次设计修改后都进行时序仿真,会大大降低开发效率。1.3.6硬件仿真/硬件测试硬件仿真和硬件测试的目的,是为了在更真实的环境中检验VHDL设计的运行情况。许多设计中的因素可能会导致设计与结果的不一致。所以,VHDL设计的硬件仿真和硬件测试是十分必要的。一般的FPGA/CPLD器件都支持JTGA技术,具有边界扫描测试能力BST(BoardScanTest)和在线编程ISP(InSystemPrograming)能力,测试起来非常方便。1.4EDA技术的设计方法电子线路设计采用的基本方法主要有三种:1)直接设计、2)自顶向下(Top-to-Down)设计、3)自底向上(Buttom-to-Up)设计。1.“自顶向下”的设计方法从系统整体进行设计,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这有利于早期发现结构设计上的错误,避免设计工作的浪费,同时也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。“自顶向下”的设计方法具有以下主要特点。(1)电路设计更趋合理(2)采用系统早期仿真(3)降低了硬件电路设计难度(4)主要设计文件是用HDL语言编写的源程序2.基于IP的设计一个较复杂的数字系统往往由许多功能模块构成,而设计者的新思想往往只体现于部分单元之中,其它单元的功能则是通用的,如FFT、FIR、IIR、Viterbi译码、PCI总线接口、调制解调、信道均衡等。这些通用单元具有可重用性,适用于不同的系统。FPGA厂家及其第三方预先设计好这些通用单元并根据各种FPGA芯片的结构对布局和布线进行优化,从而构成具有自主知识产权的功能模块,称之为IP(Intelle
本文标题:第1章 概述可编程逻辑器件
链接地址:https://www.777doc.com/doc-3176645 .html