数字系统设计技术概述_第1页
数字系统设计技术概述_第2页
数字系统设计技术概述_第3页
数字系统设计技术概述_第4页
数字系统设计技术概述_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章数字系统设计技术概述

1.1数字系统设计技术的基本要素

有人说,现在的时代是信息化的时代,信息化的特任是对所有的信息进行数字化处理、

数字化传输、数字化控制,由此构成的系统是数字系统。

有人说,信息化的核心内容是多媒体,而多媒体系统的核心技术是计算机技术。计算

机的处理方式、控制方式、传输方式必然是数字化的方式,所以,多媒体系统当然就是数

字化的系统。

自然界固有的物理信息,如温度、时间、湿度、听觉(声音)、视觉(图像)等都是模

拟的信息,那么,数字化的方式就在于对这些信息要进行数字化编码、数字化传输、数字

化解码的处理。一个系统的编解码过程如图1-1所示。

息输

输出

制表示

图1-1编码和解码的过程

研究不同的编码解码方式、不同的传输方式,以实现系统的功能,改进系统的性能,

这就需要解决核心理论和实现方法的问题。在此基础上如何形成硬件、软件系统,则是数

字系统设计技术的方法学问题。

所谓数字系统设计技术,就是指在解决了对不同目标信息的数字化编码、数字化传输、

数字化解码的基本理论、算法定义和协议规范之后,对其如何进行系统的构成,如何以最

优化的性能(如速度,还原性等指标)、最低廉的成本(如芯片面积、集成密度等)来实现

该系统的技术。

所谓数字系统,可以是基于计算机平台的软件系统、可以是基于计算机内核的软硬件

协同嵌入系统(或称SOC)、也可以是以状态机为核心的硬件系统。

2ACTEL数字系统现场集成技术

本书介绍的主要是指以状态机设计为特征的FPGA数字硬件系统。随着FPGA单片规

模的不断扩大,在FPGA芯片内实现以CPU核为核心的软硬件协同系统也成为现实。不管

哪种系统形式,采用FPGA作为实现载体的数字系统技术主要是指数字系统的硬件设计。

纵观这样的数字系统设计,有如下两个概念化信息:

(I)任何一个用户待实现的目标逻辑功能,从原理上而言,均可采用如上数字系统的

任一形式来实现,问题在于,需要根据用户目标逻辑功能的性能指标、成本指标、用途指

标来权衡选择采用或适合采用哪一种系统方案。有的系统设计需要采用基于计算机平台的

软件系统实现即可,有的系统则需要采用基于CPU内核的软硬件协同的嵌入式系统或状态

机内核的硬件电路来实现。只要需要采用后两种方案的设计就会用到本书所介绍的FPGA

数字系统现场集成技术。

(2)对于嵌入式系统,从原理上而言,任一特定的目标逻辑功能或控制方式,既可以

采用基于CPU的指令运算的程序化方式去实现,也可采用有限状态机的全硬件方案去规

划。当讨论对于以FPGA为目标载体的数字系统设计时,其主要的设计形式在于有限状态

机为特征的全硬件数字系统的设计。这两种方案的设计模式是不一样的,显然,其设计的

性能结果亦大不相同。

关于这样的数字系统设计技术,主要有如下4个基本要素:

1.1.1系统的构成

现代数字系统的构成,其实质是数字VLSI系统的构成,即SOC芯片系统的构成(如

图1-2所示)是SOC系统的典型构成原理。

H

t

mMeMory

clr

m

H

t

l

rtrH

H

R

m

图1-2SOC系统的典型构成原理

数字VLSI系统设计主要包括系统级、功能级、逻辑级设计,以最终的目标芯片的硬

件实现为特征。因此,数字系统设计在实质上不仅对设计者专业的理论知识具有要求,同

时又必须有电路与系统、微电子等知识体系的支持。

这是一个从系统的功能耍求提出,经过逻辑抽象,进而具体化到物理结构的过程。任

何复杂的数字系统从原理上而言都可以最终分解成基本的逻辑门和存储器元件。这种分解

可以手工进行,也可以由计算机自动进行。其设计过程就是把高级的系统描述最终转化为

跟芯片物理实现相对应的描述过程。

为了完成这样的转换,人们研究出描述数字系统的特殊的抽象方法,总结出所谓的层

次化,结构化的方法。层次化的设计方法能使复杂的系统简化,并能在不同的设计层次及

时发现错误并加以纠正。结构化设计方法则把复杂抽象的系统划分成一些可操作的模块,

允许多个设计者同时设计,而且某些子模块的资源可以共用。

层次化、结构化的描述方法由图1-3所示,图中三个互不相同的设计域由三条射线表

示,分别为行为域、结构域、物理域。

图1-3层次化、结构化的描述方法

4ACTEL数字系统现场集成技术

行为域描述一个特定的系统做些什么,要完成什么功能。结构域描述实现某一功能的

具体结构以及各组成部件是怎样连接在一起的。物理域描述结构的物理实现,以及怎样实

际制作一个满足一定的连接关系的结构,并能实现所要求功能的芯片。

每个设计域都可以在不同的抽象层次上描述,图中同心圆表示不同的抽象层次,这些

抽象层次从高到低通常包含下面的设计级别:系统结构级(块、功能块)、寄存器传输级、

逻辑级、电路级和晶体管级。

1.1.2设计方法学

纵观数字系统设计的发展历史可以看到,系统的设计能力主要受到如下两个因素的影

响:其一,电子器件的发展水平和集成电路的工艺技术的进步;其二,系统设计方法的创

新和设计手段的进步。集成电路工艺技术向深亚微米工艺的进步,推动超大规模系统单片

实现的可能性,引导和促进应用设计者的更大规模系统的构成的需求。同样,随着计算机

技术和软件技术的发展,设计方法学得以不断创新,设计工具的能力大大加强,为推动和

发展这种更大规模的系统构成开创了条件。正是这种互相的推动,引导数字系统设计方法

发生着一系列的变化。其发展的主要特征是:

其一,在20世纪60-70年代通用电路的系统构成的通用化传统设计方法是基于过去落

后的半导体工艺条件下形成的,主要是人工设计,标准器件的利用,板级形成的系统。随

着集成电路技术的发展,人们迫切要求提高系统集成度,降低系统体积和功耗,实现系统

的单片专用化。

其二,在20世纪80~90年代,专用数字系统的专用化设计是其主要特征。这是基于超

大规模集成电路技术的发展,人们不断追求更高集成度的专用系统单片化。但是,由于计

算机的发展水平所限,设计工具的落后和非标准化,其设计手段也具有很大的专用性特征。

加之那时的芯片集成主要是以工艺集成的ASIC为主,前期风险投入大,导致许多专用ASIC

系统设计只能由专业的集成电路设计工程师在半导体生产厂商支持卜.,采用专用的设计工

具来进行,大部分应用设计者还是较难于介入到专用系统的设计之中。

其三,20世纪90年代以来,专用系统的通用化设计方式开始发展和普及,超大规模

集成电路工艺技术的发展,专用集成系统的需要口益增长,特别是FPGA技术的成熟,使

FPGA芯片规模不断上升,价格不断下降。现场集成技术逐渐成为跟_L公集成并驾齐驱的

技术;同时,计算机技术的飞速发展,推动高智能的EDA工具技术的发展和EDA通用化

设计平台的普及,从而在先进的EDA工具和FPGA技术推动下,众多的应用设计者经过通

用化的设计方法(如VHDL行为设计,自动综合技术,系统验证仿真技术)的培训,已能

成功涉足大规模的专用数字系统的设计。因此,专用系统的通用化设计模式引发了新一代

数字设计的革命。

在这样的背景下,数字系统设计方法学不仅在进一步发展着传统的自顶向下,自底向

上、以核心部件外延的设计模式,同时在EDA工具的支持推动下,进一步发展着以时序驱

动的设计方式,到基于IP重用的设计模式,并向着基于集成平台的软硬件协同设计、协同

实现、协同验证的新时代进步。

1.1.3设计工具

本书介绍的FPGA数字系统设计技术的核心是基于EDA工具平台的设计方法,主要内

容包括:VHDL或Verilog行为设计语言,FPGA原理及应用设计,数字系统设计的综合技

术、验证技术,以及EDA工具及其使用方法。

时至今日,EDA工具的操作是数字系统设计工程师必备的设计手法,基于计算机技术

平台的采用EDA工具的现代电子设计自动化技术是数字系统设计的主流和必然趋势。

根据数字系统设计流程,设计中所需的主要的EDA工具主要包括如下几个组成部分:

(1)设计输入与编辑工具

传统的设计输入方法是图形符号输入方式,也就是对应于电路原理图的设计形式,设

计者的任务总是将系统的功能要求进行逻辑分解并转换为功能模块或基本元件,进而以电

路原理图的形式表达。而现在,更多的工具支持的是所谓的硬件描述语言的行为描述方式

或混合输入方式.设计者往往不需要直接或完整地考虑系统的结构构成,而侧重于系统的

体系和功能的行为描述,这样的设计输入到电路构成之间的映射、转换和优化,则可由采

用相应的EDA工具的称之为编译、综合的过程来完成。

(2)设计综合工具

设计综合是电子设计自动化的过程的核心,逻辑综合的前提是给定电路应实现的功能

描述和实现此电路的约束条件(如速度、面积、功耗,电路类型等);综合的目标是获得一

个满足上述要求的设计方案或电路结构。实际上,在数字系统设计的不同层次上,都有要

求实现综合的需求。

(3)设计实现(布局布线)工具

在数字系统的芯片设计过程中,所有的,作都是为了将功能定义、逻辑划分转换为电

路的物理实现。这个过程就是所谓的设计实现过程,也可称为布局布线过程。其特点是,

布局布线的过程跟目标芯片的实现工艺相关联。

不管是采用工艺集成ASIC作为目标实现的物理我体,还是采用现场集成FPGA作为

6ACTEL数字系统现场集成技术

目标实现的物理载体,在实现布局布线工具实施操作前,都一定会要求设计者指定目标载

体或工艺及其约束条件(其实质是指定一个特征工艺库来指导工具的布局布线过程)。

在布局布线过程中,由于具体的芯片元胞结构,布线结构等资源的局限性,故在对系

统的逻辑结构引入新的分布延时,这些延时往往会影响系统逻辑功能的实现。

所以,一般在布局布线后,还需对系统进行系统时延仿真,以使能及时修正系统逻辑

或系统的布局布线方式。

(4)仿真验证工具

设计验证是数字系统设计中的主要环节,设计工程师进行的50%~70%的工作量将放在

设计验证工作之上。验证的目的是保证设计实现时提供的功能特性是正确的,系统设计规

格定义是一致的。

验证的关键在于如何证明设计中没有错误,但实际上是很困难的,这就存在一个验证

的充分性的问题:即一个设计验证到什么程度才叫充分,对一个设计的验证采用什么样的

验证策略和验证手段才能实现,代价最低、耗时最少;采用什么样的工具来实施有效的验

证,为验证工作趋于100%的充分性提供可能。

对一个设计的验证决定采用什么样的验证手段和验证策略是一个非常复杂的决策过

程。在众多的验证手段和验证策略中主要的验证手段可粗略地划分为:功能仿真技术、静

态时序分析技术、形式验证技术。主要的验证策略包括:自顶向下的验证、自底向上的验

证、基于平台的验证、基于系统接口的自动的验证,

仿真是设计验证的主要形式。从仿真的抽象层次来看,包括基于事件的仿真、基于时

钟周期的仿真、基于对象转换的仿真。从设计的流程上来看,有单位延时的功能仿真(又

称前仿真)和布局布线后的系统时延仿真(又称后仿真)。

(5)数据下载与编程工具

在采用FPGA作为目标芯片的数字系统现场集成的设计过程中,对于FPGA的目标数

据下载和编程是设计过程的最后一环。对于不同类型的FPGA,其数据下载与编程的方式

不一样,所配用的工具也不同。常用的数据下载与编程技术主要可分为下述几种:

①对于SRAMFPGA的是系统可重配置技术(ISR)

SRAMFPGA的功能定义由两种方式进行:

其一,连接电脑的下载电缆,可以按照FPGA数据手册给出的数据下教的接线规则,

通过软件包中的数据下载工具,将经过布局布线后转化的编辑网表文件的数据流,下载到

SRAMFPGA的芯片中(如图1-4所小),实现FPGA芯片的功能定义。但由于SRAM具有

掉电后的数据易失性,故一旦芯片的供电中断,数据自然失去。

下我电缆目标牌件

SRAMFGPA

图1-4SRAMFPGA的ISR数据下载

共二,通过SRAMFPGA周边配置的PROM中的网表数据,在FPGA被加电时,自动

启动FPGA中的数据下载程序,将PROM中的芯片功能定义数据流自动载入FPGA,实现

FPGA的数据配置(如图1-5所示)。只是对于PROM中的数据编程,要通过软件包中的数

据下载软件中的网表格式转换软件,将系统功能定义的网表文件转为PROM格式,再由通

用编程器实现对PROM数据的烧写。

SRAMFPGAPROM

图1-5配置PROM的SRAMFPGA工作模式

②对FlashMEMORYFPGA或E2PROMPLD的是系统可编程(ISP)

对于FlashMEMORYFPGA或E2PROMPLD都属于可以在系统编程,且非易失性存储

的器件,因此,都可采用专•用的5脚或8脚在系统编程(ISP)下载电缆来实现芯片功能定

义数据的下载编程(如图1-6所示)。该过程可由软件包配附的下载编程软件执行。

下载电缆目标器件

图1-6CPLD的系统编程(1SP)

③对反熔丝FPGA的是专用编程器数据烧写

反熔丝FPGA的编程原理,是根据芯片功能定义网表文件的要求,通过公司专门配用

的数据编程器,实现在数据下载的过程中,由编程器给定的程序指引将相应的需要编程的

熔丝进行融通,实现应有的芯片逻辑定义(如图1-7所示)。

图1-7反熔丝FPGA的是专用编程器数据烧写

8ACTEL数字系统现场集成技术

1.1.4目标芯片

数字系统设计的FI标是集成电路系统实现。在VLSI工艺技术和EDA技术高度发展的

今天,几乎所有用户系统的设计都将归结为系统的芯片设计,归结为专用集成电路的设计。

主要的实现途径可以分成:工艺集成技术、现场集成技术。

所谓工艺集成技术,是指通过VLSI工艺去实现的集成电路的制作过程,其主要目标

芯片是ASIC(专用集成也路)。

按目前具体的工艺技术来分,有双极电路工艺、CMOS电路工艺、双极心MOS工艺。

按电路构成形式来分,有全定制IC、半定制IC。

全定制IC将从系统原理、模块结构、电路功能/性能各方面进行全优化的用户系统设

计,追求性能最佳、面积最省、功耗最小等综合系统指标的实现。

半定制IC则主要有门阵列设计、标准单元设计等,其FI的是在支付一定代价的条件下,

追求获取另一些特征指标。例如门阵列设计由于其母片是事先制作的规范结构,故芯片系

统设计制作流程少、周期短、产品上市速度快,但芯片面积利用效率则较低。

所谓的现场集成技术,是指通过以FPGA(现场可编程门阵列)为代表的可编程逻辑

器件去现场实现数字系统的设计。

目前,主要的FPGA产品按原理来分,有3类:基于SRAM阵列开关编程的FPGA、

基于E2PROM或Flash阵列开关编程的FPGA、基于反熔丝阵列开关编程的FPGA。此外,

模拟现场可编程门阵列和数模混合型现场可编程门阵列也在开发之中。FI前FPGA亦在向

系统级大规模器件和低压低功耗器件方向发展。

1.2数字系统的设计方法学

数字系统设计,以其设计目标来规范,可以概括为ASIC的工艺集成设计和FPGA的

现场集成设计两类。而从设计方法而言,这两种设计模式都是类同的。

1.2.1设计方法的一般模式

如图1-8所示,数据系统集成化设计的一般模式大约可分为3种:自顶向下设计、自

底向上设计、在中间相遇设计。

自顶向下

功能级j'

行为级

寄存器传输级工在中间相遇

逻辑级

版图级

自底向上

图1-8数字系统集成化设计的一股模式

自顶向下设计模式,是当前采用EDA技术(如VHDL行为描述全FPGA目标现场实

现)进行设计的最常用的模式。

所谓自顶向下的设计,就是设计者首先从整体上规划整个系统的功能和性能,然后对

系统进行划分,分解为规模较小、功能较为简单的局部模块,并确立它们之间的相互关系,

这种划分过程可以不断地进行下去,直到划分得到的单元可以映射到物理实现。

图1-9所示的是自顶向下与自底向上的设计比较。

自顶向下(Tcp-down)白底向上(Bottom-up)

图1-9自顶向下与自底向上的设计比较

自底向上设计方法是从传统的手工设计发展而来的。在进行手工电路设计时,一个硬

件系统的实现过程是从选择具体的元器件开始的。当从手工转变为CAD设计时,为电路设

计开发的CAD软件也是按照这种设计流程建立起来的,CAD设计与手工设计过程的区别

只是在CAD设计中,由底层逻辑库中调用逻辑门单元的过程是借助计算机完成的。这种设

10ACTEL数字系统现场集成技术

计过程的优点是符合硬件设计工程师的传统习惯,缺点是在进行底层设计时,缺乏对整个

系统总体性能的把握。如果在整个系统完成后发现性能还需改进,则修改起来就比较困难。

随着系统规模与复杂度的提高,这种设计方法的缺点就越来越突出,因而逐渐被自顶向下

的设计方法所取代。

自顶向下的设计方法是随着硬件描述语言(HDL)和EDA工具同步发展起来的。硬

件描述语言可以在各个抽象层次上对数字系统进行描述,而且借助于EDA设计工具,可以

自动实现从高层次到低层次的转换,这就使得自顶向下的设计过程得以实现。采用自顶向

下的设计方法的优点是显而易见的。由于整个设计是从系统顶层开始的,结合模拟手段,

可以从一开始就掌握所实现系统的性能状况,结合应用领域的具体要求,在此时就调整设

计方案,进行性能优化或折衷取舍。随着设计层次向下进行,系统性能参数将得到进一步

的细化与确认,并随时可以根据需要加以调整,从而可保证设计结果的正确性,缩短设计

周期,设计规模越大,这种设计方法的优势越明显。自顶向下的设计方法需要先进的EDA

设计工具和精确的工艺库的支持。

自顶向下设计又称为正向设计,设计流程的主要特征有:

①规范设计活动的桂则,是设计活动在各个阶段具有交流比较的可能。

②规范工具的选择,为各种工具之间的选择供规范。

③规定团队设计人员的工作次序和内容,以便同一设计项忖可进行多人分工与协作,

从而可缩短设计周期。

④设计流程自身的科学性规范化可保障所从事的设计的正确与可靠。

通常数字系统集成化设计的一般流程如图1-1()所示,以ASIC或FPGA为实现目标时,

大致分为9步。

图1-10集成电路设计的一般流程

(1)行为级描述

在完成系统性能分析与功能划分的基础上,对于各个电路功能模块,用硬件描述语言

完成行为描述。

(2)行为级优化、仿真以及向RTL级描述的转化

对上一步中完成的描述进行算法优化和功能仿真。算法优化的目标是选择最优化的算

法实现;功能仿真的目的是验证给定的行为描述是否能够实现所需的功能。在进行行为级

优化的同时,通常还有进行RTL级描述的转化。进行这种转化的原因在于现有主要的EDA

工具只能接受RTL级描述进行逻辑综合。同样,对得到的RTL级描述,也要进行功能

仿真。

(3)选定工艺库,确定约束条件,完成逻辑综合与逻辑优化

逻辑综合和逻辑优化的目标是将前面得到的RTL描述映射到具体的工艺上加以实现。

因而从这一步开始,设计过程就同工艺相关了。

12ACTEL数字系统现场集成技术

自动逻辑综合的前提是要有逻辑综合库的支持,逻辑综合库内部包含了相应的工艺参

数。对不同的工艺,其综合库中的工艺参数就会不同。

(4)门级仿真

门级仿真的目标是为了验证逻辑综合出来的电路的正确性。完成逻辑综合后的门级仿

真包含了门单元的延迟信息,因而门级仿真需要相应工艺的仿真库的支持。

(5)测试生成

完成逻辑综合后,可产生相应的网表文件,但在将设计提交给下一步进行布局布线时,

应当提供相应的测试文件。

测试分为功能测试和制造测试两部分。功能测试就是为了检验线路的逻辑、时序是否

正确。前面的行为级仿真、RTL级仿真都属于功能测试的范畴。制造测试是针对半导体工

艺而设计的,目的是检测制造过程中的物理故障,通常称为测试向量。对复杂电路,具有

高故障覆盖率的测试向量一般要借助;测试综合工具,通过ATPG(AutomaticTestPattern

Generation)产生。

(6)布局布线

对于IC设计来说,这一步是借助版图综合的工具,在对应工艺的版图库支持下,完成

自动布局布线。对于FPGA设计来说,只需借助FPGA提供商的专用工具来实现电路逻辑

的物理实现。从这一步开始,设计过程就同半导体物理实现(版图)有关,通常称为后端

设计。

(7)参数提取

在逻辑综合后的门级电路网表中,只包含了门单元的工艺参数。当完成版图综合后,

由于各单元的布局布线已经确定,所以可以进一步获取实际电路中连线电阻、连线电容等

分布参数。

(8)后仿真

这一步的H标就是将上一步提取的分布参数包含于原来的门级网表中,进行包含门延

迟、连线延迟的门级仿真。这一步主要是考察在增加连线等延迟后,时序是否仍然满足设

计要求。

(9)制版、流片

对于IC设计来说,在完成上面8个步骤的设计后,可交付集成电路制造厂家进行投片

生产。对于FPGA设计来说,只需向FPGA器件进行数据下载即可。

1.2.2目前流行的主要设计方法

在EDA工具技术推广普及的条件下,FI前流行的主要设计方法为3种类型,如图1-11

所示。

ASIConDSMComplexASICPlugandPlay

WithaFewIPsSystemonaChip

Timing-DrivenPlatform>Baeed

DesignDesign

图l-ll目前流行的主要设计方法

(I)基于时序驱动的设计方法

基于时序驱动的设计方法,无论是HDL描述还是原理图设计,特征都在于以时延优化

为目标的着眼于门级电路结构设计用全新的电路来实现系统功能,这种方法主要适用于完

成规模较小数字系统集成的设计。对于规模较大的系统级电路,即使团队协作,要想始终

从门级结构去实现优化设计,也就很难保证设计周期短,上市时间快的要求。

(2)基于IP重用的设计方法

基于IP重用的数字IC的设计方法,可以满足芯片规模要求越来越大、设计周期要求

越来越短的需求。其特征是IC设计中的IP功能模块的复用和组合。采用这种方法设计数

字IC。数字IC包含了各种IP模块的复用,数字IC的开发将可分为模块开发和系统集成配

合完成。IC工程师对IP重用技术关注的焦点是:如何进行系统功能的结构划分;如何定义

片I:总线进行模块互连;应该选择哪些功能模块,在定义各个功能模块时如何考虑尽可能

多地利用现有IP资源而不是重新开发;在功能模块设计时考虑怎样定义才有利于以后的IP

复用,如何进行系统睑证等.

基于IP重用的数字系统集成的设计方法,其主要特征是模块的功能组装,其技术关键

在于如下三个方面:(1)怎样开发可重用的IP软核、硬核;(2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论