微电子集成电路:信息领域变革的先导力量与决定性因素

EDA技术与FPGA原理1149.1边界扫描测试的访问接口,用作编程功能可省去专用的编程接口,减少系统引出线,有利于各可编程逻辑器件编程接口的统一,因此应用广泛。

21世纪是以电子信息产业为主导的知识经济时代,信息领域正在发生巨大变革,而其主导力量和决定因素正是微电子集成电路。硅片技术特别是深亚微米(DSM)和极深亚微米(VDSM)技术的日趋成熟,极大地促进了集成电路产业的快速发展。

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

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

EDA技术与FPGA原理

1. EDA技术特点

EDA是电子设计领域的一场革命,它起源于计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)。利用EDA工具,电子设计人员从概念、算法、协议等方面设计电子系统,从电路设计、性能分析到IC布局或PCB布局生成,整个过程都可以在计算机上自动完成。

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

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

2.FPGA原理

当今数字电子系统的设计方法和手段已发生了根本性的变化,由分立数字电路发展到可编程逻辑器件(PLD)和专用集成电路(ASIC)。FPGA和CPLD(Programmable Logic Device,复杂可编程逻辑器件)都属于PLD的范畴,它们在现代数字系统设计中发挥着越来越重要的作用。

FPGA是一种可以由用户编程实现所需逻辑功能的数字集成电路,不仅具有设计灵活、性能高、速度快等优点,而且上市时间短、成本低。FPGA设计与ASIC前端设计十分相似。FPGA应用在半导体领域日益普及,已成为集成电路中最具活力和发展前景的产业。同时,随着设计技术和制造工艺的提高,器件性能、集成度、工作频率等指标不断提高,FPGA日益成为系统级芯片设计的首选。

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

FPGA器件采用逻辑单元阵列(LCA)结构和SDRAM技术,其中LCA由三种类型的可编程单元组成。

(1)可配置逻辑块(CLB):又称核心阵列,是实现自定义逻辑功能的基本单元,分散在整个芯片各处;

(2)输入/输出模块(IOB):分布在芯片周围,提供内部逻辑和器件封装引脚之间的可编程接口;

(3)可编程互连(PI):包括不同长度的线段和连接开关。其功能是将各种可编程逻辑块或I/O块连接起来,形成特定的电路。

世界上 FPGA 的生产厂家很多,但影响较大的是 Xilinx 和 Altera。世界上第一块 FPGA 最早由 Xilinx 公司于 20 世纪 80 年代中期推出。不同厂家生产的 FPGA 在可编程逻辑块的规模、内部互连结构、所采用的可编程元件等方面都存在很大差异,实际使用时应加以区分。

FPGA设计应用及优化策略

1. FPGA设计层次分析

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

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

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

作为现代集成电路设计的重点和热点,FPGA设计一般采用自上而下、由粗到细、循序渐进的方法。设计的最上层指的是系统的整体要求,最下层指的是具体的逻辑电路实现。自上而下的方法就是把整个数字系统逐步分解成各个子系统和模块。如果子系统很大,再进一步分解成更小的子系统和模块,一层层分解,直到整个系统中各子模块之间的关系合理,便于设计和实现。

2. VHDL在FPGA设计中的应用

集成电路设计规模和复杂程度日益增大,传统的系统级芯片设计原理图方法已不能满足设计要求。硬件描述语言(HDL)在大规模数字系统设计中具有诸多优点,因此采用硬件描述语言进行系统行为级设计已成为FPGA、ASIC设计的主流。目前,最流行、最具代表性的硬件描述语言是美国国防部(DOD)开发的VHDL(VHSIC硬件描述语言)和GDA(网关设计自动化)开发的Verilog HDL。

VHSIC 是超高速集成电路(Very High Speed Integrated Circuit)的缩写,所以 VHDL 就是超高速集成电路硬件描述语言(Hardware Description Language for Very High Speed Integrated Circuits)。VHDL 语法严格,1987 年成为 IEEE 标准,即 IEEE STD 1076-1987,1993 年进一步修订为 IEEE STD 1076-1993。

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

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

● 具有良好的可读性和可移植性,其源文件既是程序又是文档,易于重用和交流;

● 支持自顶向下设计和基于库的设计;

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

● 独立于工艺流程,生命周期长。

VHDL语言主要用在行为层和寄存器传输层,可以充分发挥VHDL对于高层的优势。用VHDL实现数字电路的本质是利用综合工具将高层描述转化为低层门级描述,其中综合又可分为三个层次:高级综合、逻辑综合、版图综合。

3.基于VHDL的FPGA系统行为级设计FPGA设计应用及优化策略

1. FPGA设计层次分析

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

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

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

作为现代集成电路设计的重点和热点,FPGA设计一般采用自上而下、由粗到细、循序渐进的方法。设计的最上层指的是系统的整体要求,最下层指的是具体的逻辑电路实现。自上而下的方法就是把整个数字系统逐步分解成各个子系统和模块。如果子系统很大,再进一步分解成更小的子系统和模块,一层层分解,直到整个系统中各子模块之间的关系合理,便于设计和实现。

2. VHDL在FPGA设计中的应用

集成电路设计规模和复杂程度日益增大,传统的系统级芯片设计原理图方法已不能满足设计要求。硬件描述语言(HDL)在大规模数字系统设计中具有诸多优点,因此采用硬件描述语言进行系统行为级设计已成为FPGA、ASIC设计的主流。目前,最流行、最具代表性的硬件描述语言是美国国防部(DOD)开发的VHDL(VHSIC硬件描述语言)和GDA(网关设计自动化)开发的Verilog HDL。

VHSIC 是超高速集成电路(Very High Speed Integrated Circuit)的缩写,所以 VHDL 就是超高速集成电路硬件描述语言(Hardware Description Language for Very High Speed Integrated Circuits)。VHDL 语法严格,1987 年成为 IEEE 标准,即 IEEE STD 1076-1987,1993 年进一步修订为 IEEE STD 1076-1993。

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

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

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

● 支持自顶向下设计和基于库的设计;

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

● 独立于工艺流程,生命周期长。

VHDL语言主要用在行为层和寄存器传输层,可以充分发挥VHDL对于高层的优势。用VHDL实现数字电路的本质是利用综合工具将高层描述转化为低层门级描述,其中综合又可分为三个层次:高级综合、逻辑综合、版图综合。

具体来说,它包括以下几个重要环节:设计输入、设计综合、设计约束、设计实现、设计仿真和器件编程。

设计输入主要采用HDL(硬件描述语言)、ECS(工程原理图捕获)和FSM(有限状态机);

设计综合就是利用开发工具对逻辑设计描述与约束进行优化,将HDL文件转化为硬件电路实现方案,其实质是对设计目标进行最优化的过程。

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

设计实现对于FPGA来说分为编译规划、布局布线(PAR,Place And Route)、程序位流文件生成;对于CPLD来说则是编译、配置、位流文件生成;

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

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

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

在FPGA设计中,首先要深刻理解HDL源代码的编写非常重要;不同的综合工具包含不同的综合子集,也就是说有些HDL语句在某些综合工具中是无法综合的;同一个逻辑功能可以用不同的HDL语句来描述,但是所占用的资源可能差别很大。同时要深刻理解并发性是硬件描述语言与普通高级语言的根本区别,因此硬件电路的设计不能被传统的顺序执行思维所束缚。

另外,我们应意识到速度优化和面积优化在FPGA设计中起着重要作用。对于大多数数字系统设计来说,速度往往是首要要求,但FPGA的结构特点、综合工具性能、系统电路组成、PCB板制作情况、HDL代码表达等都会对工作速度产生明显影响。在电路结构设计中,可以采用流水线设计、寄存器平衡、关键路径等方法来优化速度。

(1)管线设计

流水线技术在速度优化中相当流行,它可以显著提高系统设计运行速度的上限,在现代微处理器、数字信号处理器、MCU单片机、高速数字系统的设计中,流水线技术是必不可少的。图4、图5是典型的流水线设计图,图4没有采用流水线设计,图5采用了两级流水线设计。在设计中,将延时较大的组合逻辑块切割成两个延时大致相等的组合逻辑块,并在这两个逻辑块中插入触发器,即满足如下关系:Ta=T1+T2,T1≈T2。通过分析可知,图4中Fmax≈1/Ta;图5中第一级流水线最高工作频率为Fmax1≈1/T1,第二级流水线最高工作频率为Fmax2≈1/T2≈1/T1。 总的设计最大频率为Fmax≈Fmax1≈Fmax2≈1/T1,因此图5的设计速度与图4相比几乎提高了一倍。

(2)寄存器平衡

寄存器平衡是通过平衡寄存器间的组合延迟逻辑块来实现速度优化。两个组合逻辑块之间的延迟差异过大,导致设计整体的工作频率Fmax依赖于T1,也就是最大的延迟模块,从而限制了设计整体的性能。通过改进图7的设计,将组合逻辑1中延迟较大的部分逻辑转移到组合逻辑2中,成为图8的结构,以降低延迟T1,使得t1≈t2,且满足T1+T2=t1+t2。经过寄存器平衡后的图8结构中,Fmax≈1/t1>1/T1,从而提高了设计速度。

(3)关键路径法

关键路径是指设计中从输入到输出延迟最长的逻辑路径。优化关键路径是提高设计工作速度的有效方法。图9中,Td1>Td2,Td1>Td3,关键路径即为延迟为Td1的模块。由于输入到输出的延迟取决于延迟最长的路径,与其他延迟较小的路径无关,因此降低Td1可以改善输入到输出的总延迟。

关键路径法可以在优化设计的过程中反复使用,直到无法降低关键路径延迟为止。许多 EDA 开发工具都提供时序分析器,帮助找到延迟最长的关键路径,以便设计人员改进设计。对于结构固定的设计,关键路径法是速度优化的首选方法,可以与其他方法配合使用。

在FPGA设计中,面积优化本质上是资源利用率的优化。面积优化的实现方式有很多,比如资源共享、逻辑优化、串行化等。资源共享是使用较多的,如下图所示。

在使用FPGA设计数字系统时,经常会遇到需要重复调​​用同一个模块的情况,比如多位乘法器、快速进位加法器等运算模块,它们占用了大量的芯片资源,大大增加了系统成本和器件功耗。因此,采用资源共享技术可以明显优化资源。图10、11是资源共享的典型例子,从图中可以看出,采用资源共享技术省去了一个多位乘法器,从而达到了降低资源消耗、优化面积的目的。最后针对FPGA的设计实现提出了一些改进方案。FPGA的实现分为编译规划、布局布线(PAR,Place And Route)、程序比特流文件生成三个阶段。当设计达不到性能指标或无法完全布线时,可以进行以下改进:

● 使用时间约束;

● 增加布局布线层次(PAR Effort);

● 重新设计关键路径的数字逻辑;

● 运行可重入布线;

● 运行MPPR(多通道布局布线);

● 运行 Floorplan 以查看布局图和连接性。

下面重点介绍可重入布线 (Re-entrant Routing) 和 MPPR,这两者都可以改善布局布线结果并提高系统性能。可重入布线是指在已经运行过 PAR 之后再次运行 PAR,但跳过布局过程并直接进入布线,如图 12 所示。MPPR 根据不同的成本表多次运行 PAR,并通过对每次 PAR 迭代进行评分来确定最佳路径并保留该路径,其中评分基于未布线连接数、连接延迟和时序约束。

结论

当今社会,集成电路产业已成为高技术产业群的核心战略性产业,逐步演变为设计、制造、封装测试协调发展的产业格局,正在进入以知识产权为创新核心的新时代。这标志着集成电路产业竞争已由技术竞争、资本竞争进入智力竞争、知识产权竞争的高级阶段。

FPGA在集成电路设计应用中占有重要地位,而现场可编程性是FPGA最突出的优势。利用强大的开发工具,用户可以在最短的时间内对FPGA内部逻辑进行反复设计和修改,直到满意为止,大大缩短了产品设计开发周期,提高了最终产品的性能。因此,FPGA以其独特的技术优势在电子设计领域得到越来越广泛的应用。随着科学的发展和技术的进步,作为重中之重的集成电路设计行业必然会遇到更大的挑战和发展机遇。

单片机

自学 PLC 编程的方法与技巧:从基础到实践,提升编程能力

2024-6-9 17:08:47

单片机

倒车雷达预警系统:提高驾驶安全性,减少汽车倒车事故

2024-6-9 18:07:08

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索