(通信与信息系统专业论文)面向综合的asip设计.pdf_第1页
(通信与信息系统专业论文)面向综合的asip设计.pdf_第2页
(通信与信息系统专业论文)面向综合的asip设计.pdf_第3页
(通信与信息系统专业论文)面向综合的asip设计.pdf_第4页
(通信与信息系统专业论文)面向综合的asip设计.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(通信与信息系统专业论文)面向综合的asip设计.pdf.pdf 免费下载

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

文档简介

浙江大学硕士学位论文y 2 3 6 8 2 摘要 本文回顾了集成电路设计方法学的发展,提出了它们的共同点是基于综合的 设计思想,详细地介绍了综合的基本原理、特点、作用、综合的系统结构及设计 流程:同时,虽然各公司提供的综合工具能很好地进行从h d l 级的描述到门级 的转换,但是 婴l 的结构有时会导致综合的结果难以满足预先的要求和综合时 间的增加,所以h d l 的编码风格对综合结果的影响很大。为了使综合有一个好 的起点,本文提供了大量的针对综合的编码技巧。在此基础上,介绍了a s i p 的 设计方法,详细地描述了基于综合的设计方法在简单a s i p 的设计的应用、a s i p 的硬件实现,并把不同编码风格应用于a s i p 设计,进行了比较。 浙江大学硕士学位论文 a b s t r a c t t h ep a p e ra t t e m p t st o s u r v e yt h ed e v e l o p m e n to fi cd e s i g nm e t h o d o l o g i e sa n d h a v ej d e n t i f i e dt h ec o m m o na m o n gt b e mt h a ta r eb a s e do r s y n t h e s i s id e s c r i b e dt h e p r i n c i p l e s 、c h a r a c t e r i s t i c s 、f u n c t i o n 、s y s t e m s t r u c t u r ea n dd e s i g nf l o wo f s y n t h e s i s i nd e t m l 。a l t h o u g hs y n t h e s i st o o ld o e sa ne x c e l l e n tj o bo fc o n v e r t i n gh d l t og a t e s , t h es t r u c t u r eo ft h eh d l m a y n o ta l l o wt o o lt om e e tt h ed e s i g n e r - s p e c i f i e dc o n s t r a i n t s a n dv e r yl i k e l yt or e s u l ti na ni n c r e a s ei nc o m p i l et i m e t h es t a r t p o i n tf o rs y n t h e s i s a f f e c t st h eq u a l i t yo fr e s u l t sa f t e rs y n t h e s i s ,t h u s ,t oa t t a i ng o o ds t a r t p o i n t ,t h ep a p e r p r e s e n t e dal o to fc o d i n gs t y l e s t h e n ,t h ep a p e r i n t r o d u c e sa s i rt h ef i v ek e ys t e p si n a s i pd e s i g ni sp r e s e n t e d i 印p l i e dd e s i g nm e t h o d o l o g yb a s e do ns y n t h e s i st ot h e d e s i g no fs i m p l ea s i p ,m o r e o v e r ,c o d i n gs t y l e si s u s e di nc o m p a r i s o no fa s i p s a b o u t t i m i n ga n d a r e a 。 p a g e2o f 6 4 浙江大学硕士学位论文 第一章绪论 1 1 集成电路设计方法学和工具的变革 1 9 5 9 年设计出来的第一个集成电路只有4 个晶体管,而到了1 9 9 7 年,一个 芯片上可集成的晶体管数目已高达4 0 多亿个。 4 0 多年来集成电路技术发生了惊人的变化。它经历了小规模( s s i ) 、中规 模( m s i ) 、大规模( l s i ) 、超大规模( v l s i ) 阶段,特大规模( u l s i ) 阶段,目 前已进入系统集成芯片( s o c ) 。 随着集成技术的不断发展和集成度的迅速提高,集成电路芯片的设计工作 越来越复杂,因而急需在设计方法和设计工具这两方面有一个大的变革,这就 是人们经常谈论的设计革命。各种计算机辅助工具的涌现以及设计方法学的懿 生正是为来适应这样的要求,回顾3 0 多年来电子系统( 集成电路) 设计自动 化e d a 的方展,大致可分为以下几个阶段,如下图。 7 0 年代的第一代e d a 称为计算机辅助设计c a d 系统,它以交互式图形 编辑和设计规则检查为特点,硬件采用1 6 位小型机。那时的逻辑图输入,逻 辑模拟,电路模拟与版图设计及版图验证是分别进行的,人们需要对两者的结 果进行多次的比较和修改才能得到正确的设计。第一代c a d 系统的引入使设 计人员摆脱了繁复、易出错误的手工画图、机械刻红膜的传统方法,大大提高 了效率,因而得到迅速的推广。但它仍不能适应规模较大的设计项目,而且设 计周期长、费用高。 8 0 年代出现了第二代e d a 系统,常称为计算机辅助工程c a e 系统。它 浙江大学硕士学位论文 以3 2 位的工作站为硬件平台。它集逻辑图输入,逻辑模拟,测试码生成,电 路模拟,版图设计,版图验证等工具于一体,构成了一个比较完整的设计系统。 工程师以输入线路图的方式开始设计集成电路,并在工作站上完成全部设计工 作。它不仅有设计全定制电路的版图编辑工具,还包括有门阵列,标准单元的 自动设计工具和具有经过制造验证的,针对不同工艺的单元库。对于门阵列, 标准单元等电路,系统可完成自动布局,自动布线功能,因而大大减轻了版图 设计的工作量。 进入9 0 年代,芯片的复杂程度越来越高,数万门甚至数十万门的电路设 计的需求越来越多。单是依靠原理图输入方式已不堪承受,采用硬件描述语言 即v h d l 语言与h d lv e r i l o gh d l 语言的设计方式就应运而生,设计工作从 行为,功能级开始,e d a 向设计的高层次发展。这样就出现了第三代e d a 系 统,其特点是高层次设计的自动化h l d a 。在第三代e d a 系统中,引入了硬 件描述语言,此外引入来行为综合和逻辑综合工具。采用较高的抽象层次进行 设计,并按层次式方法进行管理,可大大提高处理复杂设计的能力,设计所需 的周期也大幅度缩短;综合优化工具的采用使芯片的品质如面积,速度功耗等 获得来优化,因而第三代e d a 系统迅速得到来推广应用。高层次设计阶段是 与具体的生产技术即工艺无关,一个h d l 原码可以通过逻辑综合工具综合为 f p g a 电路,也可综合为某一工艺所支持的专用集成电路即a s i c 电路,他们 的区别在于综合时所用的库不周。 8 0 、9 0 年代设计的共同特点是它们都采用了基于综合的设计思想,自上 而下,通过不断提高设计抽象层次来达到提高设计效率的目的,这在以后章节 会着重讨论。进入2 0 0 0 年,随着半导体工艺技术的不断进步,芯片的设计规 模越来越大,特别是进入0 1 8 微米以后,已经可以在一个芯片上实现一亿门 的设计规模。这样规模的电路完全可以将一个完整的电子系统在单个的芯片上 来实现,于是便出现了所谓的系统芯片( s o c ) 。s o c 的定义:包含个或多 个微处理器内核,至少1 0 万门的用户门以及相当容量的存储器,同时在芯片 上实现数字电路、模拟电路等多种电路。 主要特征是: 实现复杂系统功能的v l s i ; 采用超深亚微米工艺技术; 使用一个和多个嵌入式c p u 和d s p ; 具备外部对芯片进行编程的功能; 系统内部是一个异步、事件驱动的系统。 s o c 设计突破以前的基于综合的设计思想,而采用了面向集成的全新的设计 思想,这种设计思想的核心是设计重用技术。 s o c 设计方法学的特点: 注重软硬件划分,这时由s o c 系统本身的复杂性决定的; 以i p 核重用为基础,面向通讯结构的硬件设计; 以s o c 为中心的嵌入式软件开发; 充分的多层次的软硬件协同验证方法。 实现s o c 设计的几个关键问题: i p 模块设计问题; 软、硬件协同验证问题: 深亚微米工艺的后端实现问题。 浙江大学硕士学位论文 1 2 芯片的设计步骤及不同设计方法 芯片设计通常分为正向设计和逆向设计两大类。在这两大类中,芯片的设计 步骤有“自顶向下”和“由底向上”两种,如下表所示。 方法步骤自项向下自底向上 正行为设计系统划分,分解 向结构设计单元设计 设逻辑设计功能块设计 计电路设计子系统设计 版图设计系统总成 版图解析版图解析 逆 电路图提取电路图提取 向 功能分析功能分析 设 结构修改单元设计 计 逻辑设计功能块分析 电路设计子系统设计 版图设计系统设计 正向设计通常用来实现一个新的设计,而逆向设计是在培析别人设计的基础 上进行某种修改或改进。在”自顶向下“的正向设计时,首先需要进行行为设计, 要确定该v l s i 芯片的功能,性能及允许的芯片面积和成本等。接着进行结构设 计,根据芯片的特点,将其分解为接口清晰,相互关系明确的,尽可能简单的子 系统,得到一总体结构。这结构可能包括有算术运算单元,控制单元,数据通道, 各种算法状态机等。下一步是把结构转换成逻辑图,即进行逻辑设计。接着进行 电路设计。这时需要进行硬件仿真。最后进行版图设计。对于“由底向上”的正 向设计,是在系统划分和分解的基础上先进行单元设计,在单元精心设计后逐步 向上进行功能块,子系统设计以至到最终的系统完成。对于逆向设计,无论是“自 顶向下”还是“由底向上”,开始的版图解剖,电路图提取和功能分析这几步都 是必需的。 新一代系统是一个统一的、协同的、集成化的、以数据库为核心的系统。它 的结构框架有面向目标的各种数据模型及数据管理系统、有一致性较好的用户界 面及用户界面系统,有采用图例的设计管理环境和设计管理系统。它的主要特 点为: 统一的数据库; 操作的协同性; 结构的开放性; 系统的可移植性。 总的来讲,我们希望能在尽可能短的时间内以最低的成本来获得最佳的设计 目标,而所用的芯片面积又是最小的。但实际上要全面达到这种要求是很困难的, 只能进行某种折衷。目前集成电路己渗透到各个应用领域。品种五花八门,不同 品种在性能上和价格上会有很大差别,因而实现各种设计的方法和手段也就有所 不同。设计人员可以根据不同的要求选择现有的各种设计方法。现介绍一下各种 方法: 浙江大学硕士学位论文 全定制法。它适用于要求得到最高速度,最低功耗和最省面积的芯 片设计。全定制法通常采用随机逻辑网络,但完全由随机逻辑网络 组成的芯片已不多见。通常a s i c 的设计很少采用这种全定制方法, 因为它的设计周期很长,设计成本很高。 定制法。它适用于芯片性能指标比较高而生产批量又比较大的芯片 设计。通常分为两大类:( 1 ) 标准单元法;( 2 ) 通用单元法。以上 两类方法中,所使用的单元事先都经过精心设计并存在单元库中, 在设计时根据电路要求从库中调出所需单元及压焊块,进行自动布 局布线,最后得到被设计电路的掩膜版图。又称为库单元法,它的 特点是设计自由度较大,芯片中没有无用的单元或晶体管,芯片面 积较小。但建立一个物理单元库需要很大的初始投资。而且制造周 期较长、成本也较高。 半定制法。它适用于要求设计成本低,设计周期短而生产批量又比 较小的芯片设计。包括数字电路门阵列和线性阵列两大类。这种方 法比起定制法和全定制法来周期缩短,成本降低,但门阵列的门利 用率较低,芯片面积要大。 模块编译法。它是一种自动的设计方法。先对设计模块的性能进行 描述,再通过编译直接得到该电路的掩摸版图。这种方法目前适用 于r o m 、r a m 、a l u 、寄位移存器、乘法器等规则结构和模块式结 构的芯片设计。 可编程逻辑器件法。它是一种已完成来全部工艺制造的、可以直接 从市场上的产品,刚购来时不具有任何逻辑功能,但一经编程就可 在该器件上实现设计人员所要求的逻辑功能。 逻辑单元阵列法( l c a ) 。也称为f p g a 。与p l d 样,也是一种 已完成了制造,可从市场直接购得产品,设计人可通过开发工具对 其进行“编程”来实现特定的逻辑功能。 在8 v s b 的a s i c 实现中也是采用了定制法,而且是采用了”自顶向下”的正向 设计方法。 1 3 深亚微米技术带来的挑战 深亚微米制造技术给原来的e d a 设计技术带来了很达的挑战,这主要表现 在以下几个方面: 连线延时迅速上升,将导致原来的e d a 设计过程不收敛。以前器件延时 是延时的主要因素,而在深亚微米时代,连线延时已经成为延时的主要 部分,而且连线只有在布局布线完成以后才能准确知道,这样势必造成 设计的反复迭代,甚至导致不设计不收敛。这样,目前的设计是面向单 元设计的,即安放好单元再考虑如何连线,今后将改变为面向互连的, 即先设计好互连线网,然后在互连线网上安放各模块。 需要更精确的器件模型。器件尺寸缩小后,原来对性能起次要作用的二 级效应应现在成为不可忽视的主要因素,这样就必须建立更精确的器件 模型以保证仿真结果的可靠性。 功耗问题。由于集成度和工作频率更高,使单位面积的功耗加大,功耗 已经成为制约集成度进一步提高的主要因素之,如何在较高层次就引 浙江大学硕士学位论文 入功耗的考虑也是当前需要解决的课题。 版图设计。由于布线层次的增加,布图问题包括寄生参数提取不再是二 维问题而成为三维问题。 时钟分布。对于时序电路而言,时钟线总是分布在整个芯片上,小的连 线尺寸导致单位长度上的电阻提高,这就给时钟同步带来很大困难,严 重时可以导致系统崩溃。 深亚微米工艺还带来了很多诸如信号完整性等新的问题需要加以考虑。 1 4e d a 设计技术的最新发展 面对深亚微米设计带来的挑战,可以从以下两方面进行努力: 从设计工具的改进方面加以考虑 ( 】) 整体布局规划技术( f l o o r p l a n ) ;这一技术的指导思想是,在逻 辑设计的早期对连线延时进行预估,并将预估的连线延时结果作 为约束条件,进行逻辑优化。实现预估的前提是进行整体布局规 划,它是依据电路所实现的功能,先将其划分成各个模块,对于 模块内部的连线,由于相对路径较短,采用较小的延时模型进行 预估。而对于跨越模块间的连线,由于相对路径较长,相应采用 较大的延时模型进行估计。另外,在从逻辑综合向版图综合提交 设计文件时,除了包含反映连接关系的网表文件外,还将布局规 划的划分信息也带入版图综合过程,使之同样成为版图综合过程 的约束文件。这样将逻辑设计和版图综合设计结合起来加以考 虑,因而可以使得优化叠代过程实现快速收敛。 ( 2 ) 低功耗设计技术与专用的时钟布图工具;为了实现低的功耗设 计,已经发展了多种新的设计手段。一是通过降低工作电压实现 低的功耗。但这种降低是有限度的,因为过低的工作电压会导致 功率馈入发生困难。二是采用门控时钟。因为并不是任何时候 个功能模块都在工作,对于这些暂时不工作的模块,可以将时钟 关断,当需要工作时再将其唤醒。注意到c m o s 电路的静态功 耗几乎为零,因而可以有效地降低整个电路的功耗,但对时钟进 行门控后,将会给时钟同步管理带来了负面影响。三是引入门级 低功耗优化设计技术。在进行电路设计时,有的信号切换频率很 高、有的很低。对于切换频率高的信号线,在综合时设法让其通 过较少的门,从而降低整个电路的动态功耗。 ( 3 ) c y c l e b a s e d 驱动仿真技术。对时序电路的仿真通常采用事件驱 动方式,只要任何一个输入发生某种变化,将会重新计算整个电 路的输出值。但对于同步设计而言,采样只发生在时钟的有效边 沿,非采样期间,输入的变化并不影响输出值,因而提出了 c y c l e b a s e d 驱动仿真技术,它只在有效的时钟边沿检查计算结 果,加快了处理速度。但只提供了一种快速的功能仿真手段, 不能进行时序分析。 从设计方法学的改进方面加以考虑。 在强大的市场应用需求驱动下,微电子技术将继续保持高速发展的趋 势。从d s m 到v d s m ,将来还进入纳米技术。o 】8 的半导体技术使得一块芯 浙江大学硕士学位论文 片上布置】亿个晶体管成为可能。1 9 9 6 在美国加州了v s i a 组织,目标是通 过开发开放式技术标准,使得各类可重用模块的混合和匹配成为可能,能够 按照特定的数据格式类型,在不同的工具之间流畅地移植,并且可以在设计 流程中顺利集成,从而加速s o c 市场的发展。它将为系统芯片建立一套类 似于计算机系统板生产的通用标准,这意味着未来系统芯片集成技术的核心 将是基于这些新标准、工具和服务的可重用i p 的设计和供货。可重用设计 技术的核心是i p 模块。在本质上,它应当是一个高性能、可参数化、可综 合、可供测试的、用h d l 语言描述而成的,与具体实现工艺无关的“软核”。 作为一种独立于工艺的设计,可嵌入式地应用于各类片上系统中。可重用设 计技术可以大大缩短芯片的设计周期,并使得极大规模的系统芯片设计变得 方便快速。 1 ,5 本文的主要工作 本文工作的重点是针对综合的各种编码技巧、a s i p 的设计以及基于综合的 设计方法在a s i p 上的应用。 第二章详细地介绍了综合的原理、作用、特点、系统结构以及基于综合的设 计方法的设计流程。 第三章详细地介绍了针对综合的各种各样的编码技巧。 第四章主要介绍了a s i p 设计。 第五章主要介绍了综合在a s i p 设计中的应用。 浙江大学硕士学位论文 2 1 引言 第二章逻辑综合 随着电子技术的飞速发展,电子产品市场竞争日趋激烈,当今电子系统面临 两方面的挑战:一:用户对电子产品要求越来越高,要求产品应具有高质量、高 可靠性、体积小、质量轻和功耗低等特点;二:电子产品的更新换代周期越来越 短,要求缩短产品的设计开发周期。为来迎接挑战,人们纷纷采用e d a 工具来 设计开发产品。逻辑综合方法是通过有效地把设计人员头脑中的概念转换成正确 的逻辑电路,突破了传统的“自下而上”设计方法,引入“自上而下”的设计方 法,实现了高层次设计到最终物理实现的全过程自动化。 2 2 逻辑综合的作用 在集成电路设计领域,综合一词是指把一个比较概念化的设计形式转化为比 较具体、比较实在的设计形式,这通常称为自项向下的过程。其实做任何事都是 从抽象开始,比如订计划、作方案,再落实具体的过程。早期的综合是靠人的脑 力完成,这里所说的综合是依靠计算机的自动综合。自动综合是设计自动化中自 顶向下设计方法的特点之一。最早出现的自动综合工具是逻辑综合,即把逻辑真 值反映出来的逻辑功能设计变为由逻辑元件组成的逻辑图表示的具体的结构设 计。随着v l s i 技术的发展,设计方法的不断进步,又发展了高层综合工具一行 为综合,它能把硬件的行为描述转化为结构描述。当然在逻辑综合出现之前,已 有从逻辑图到版图的转化工具一自动步图,后来又有从电路图到版图的自动转 换。因为这些也是自上向下的设计流向,所以也纳入综合的范畴。可以说整个自 上向下的设计过程,就是由各个层次的综合工具相协接完成的自动化过程。 逻辑综合的作用是根据一个系统逻辑功能与性能的要求,在众多结构、功能、 性能均己知的的逻辑元件的逻辑单元库的支持下,寻找出一个逻辑网络结构的最 佳的( 至少是次佳的) 实现方案。这个过程主要包括两个方面的内容: 1 逻辑结构的生成与优化。主要是进行逻辑化简与优化,达到尽可能地用较少 的元件和连线形成一个逻辑网络结构( 逻辑图) ,满足系统逻辑功能的要求。 逻辑网络的性能优化。利用给定的逻辑单元库,对己生成的逻辑网络进行元件配 置,进而估算性能与成本。性能主要指芯片的速度,成本主要指芯片的面积与功 耗。速度与面积或速度与功耗是矛盾的。这一步允许使用者对速度与面积或速度 与功耗互相矛盾的指标进行性能与成本的折衷,以确定合适的元件配置,完成最 终的、符合要求的逻辑网络结构。下面介绍第一方面的内容一逻辑化简与优化。 浙江大学硕士学位论文 2 3 逻辑化简的基本原理 2 3 1 逻辑函数的多维体表示 这里介绍一种类似卡诺图的逻辑函数多维体表示方法,此方法比卡诺图更加 规范化,更利于在计算机上用来对逻辑函数的化简。 一般逻辑函数具有多个输入与输出,可表示为y = f ( ) ( ) ,x 表示输入,y 表示输出。下面给出一个三输出的逻辑函数真值表的一种阵列表示形式: t = 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 x 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 圆点左边为输入、圆点右边为输出,每行代表输入情况下的对应输出。对于上 阵列,可以合并一、二两行和三、四两行,因为他们有相同的输出,输入只有一 位不同,用x 表示就行。 根据输出变量取值的不同,可把各种输入序列归入三个集合:导通集合、断 开集合及无关集合。使某输出位为1 的输入序列的集合为该输出位的导通集合, 使某输出为0 的输入序列的集合为该输出位的断开集合,使某输出为x 的输入 序列的集合为该输出位的无关集合。从真值表可直接得到整个逻辑函数的三个集 合。逻辑函数的三个集合均可形象地表示在一个m + n 维的多维空间中。这个多 维空间中的n 维对应逻辑自变量x ,另外m 维对应逻辑因变量y 。由于x 变量和 y 变量都只能取值l 或0 ,所以这个多维空间可看成一个有限的空间。同时由于 无论从物理意义上还是从运算规则上看,x 变量与y 变量都是不等同的,因此可 以想象成m 个相同的n 维子空间重叠而成。n 个x 变量构成一个n 维子空间, 每位y 与一个子空间对应。一个集合在多维空间的图象由每行分别对应的图象合 成。y 为1 在相应的子空间有一个图形,此图形由该行全部x 位坐标决定;若为 0 ,则无此图形。每行在多维空间对应的全部图形称为一个多维体,这个多维 体可能是某几个子空间相同图形相同图形的叠加。有几行就有几个多维体。一个 多维体可表示成a ob ,a 代表n 位输入,b 代表1 t i 位输出。 一、多维体与布尔表达式 由多维体的阵列表达式可直接获得逻辑函数的布尔表达式。 导通集合与二级“与或”表达式。任何组合逻辑均可表示成二级“与或” 布尔表达式,这可从导通集合得到。导通集合的阵列表达式的左右两半分 别为“与“阵列和”或“阵列,”与“阵列中的每行为”与“关系,产生 一个乘积项,x 位为1 则为x ,为0 则为x 的反。”或“阵列中的每列为” 或“关系,每列对应一位输出。每列中所有1 所在行的乘积项之逻辑”或 “就是该输出位的”与或“布尔表达式。 断开集合与二级“或与”表达式。把断开集合的阵列表达式的左右两半 分别看作“或”和“与”两个阵列。“或”阵列中每行表示一个逻辑“或”, 各x 为0 则为x ,为】则为x 的反。“与”阵列中按列取所有1 对应行的 p a g e l 2o f 6 4 浙江大学硕士学位论文 逻辑“或”相与构成了“或与”表达式。 从导通集合导出的布尔表达式只保证导通;而从断开集合导出的布尔表达式只保 证断开。 二、逻辑函数的覆盖 逻辑函数的覆盖是一个符合一定条件的多维体的集合。可以定义两种意义的 覆盖;导通覆盖,它包含导通集合的所有顶点而不包含断开集合中任一顶点;断 开覆盖,它包含断开集合的所有顶点而不包含导通集合任一顶点。我们只讨论导 通覆盖,显然它与二级“与或”布尔表达式有关。 覆盖的性质: 必须包含导通集合中的所有顶点,不得包含断开集合的任何顶点,但可 包含无关集合的某些顶点。 覆盖中的每个多维体称为蕴涵体,而每个蕴涵体必须至少包含一个属于 导通集合的顶点。 组成覆盖的所有蕴含体都必须是质蕴涵体。若一个蕴涵体不会被另一个 已存在或可能存在的蕴涵体全部包含,则称为质蕴含体。 覆盖中所有质蕴涵体都必须是必要质蕴涵体。若一个质蕴涵体中至少有 一个顶点未被覆盖中的其他质蕴涵体包含,则称为必要蕴涵体。 一个逻辑函数的覆盖不一定是唯一的,但相比较而言,有的覆盖会好一些,逻辑 表达式简单一些,从而在实现时成本较低,用较少的元件,或元件输入端数较少, 因而连线较少。 2 3 2 综合的基本思路 逻辑综合的出发点是一个多输入、多输出的真值表,由真值表不难转换出 该逻辑函数的三种集合:导通集合、断开集合和无关集合。三种的全部应充满m + n 维逻辑空间;同时这三个集合不允许由任何的相互重叠。逻辑函数的这三个 集合是逻辑综合的真正起点,故应对它们的正确性进行检查。常常在真值表中未 能全部给出无关集合的全部信息,或者真值表中含有逻辑上的矛盾,都可通过上 述见检查得以发现,并设法予以纠正。综合的目标是找到一个具体的逻辑结构实 现逻辑函数的功能。这个逻辑结构便体现为一个合适的覆盖c 。下面列出覆盖c 应满足的部分条件及判断方法: 覆盖c 完全覆盖导通集合c o n ; 覆盖c 与断开集合c o f f 无交; 覆盖c 中每个元素皆为蕴含体; 覆盖c 中诸元素无相互包含; 覆盖c 中无冗余蕴含体。 逻辑综合的关键问题之一是覆盖的质量。减少组成覆盖的多维体个数,可以减少 “与”门的个数;减少“与”阵列中o 和1 的个数,增加x 的个数,可减少“与” 门的输入端数;减少“或”阵列中1 的数目,可减少“或”门的输入端数。元件 的输入端数的,可使元件的尺存减少,也使前级的扇出减少,连线数减少,有利 于提高速度,降低布线困难。所有这些考虑主要涉及两个问题。一是要设法得到 逻辑函数的全部质蕴含体的集合,二是要从质蕴含体集合中选出必要质蕴含体的 最佳组合构成理想的覆盖。 1 质蕴含体集合的获得 p a g e l 3o f 6 4 浙江大学硕士学位论文 质蕴含体集合的获得有以下几种方法: ( i ) 锐积法 此法特点是用求有交锐积方法从全多维体中减去断开集合获得大个多 维体集合t 。法步骤如下: 锐积法求质多维体集合; 排除非蕴含体。 f 2 ) 星积法 此方法的的特点是以断开集合和无关集合的并集为出发点,通过多维 体集合自身相容运算,产生一批星积再加入进原集合以获得大个多维体集合。算 法步骤: 置初值; 自身相容法求星积t ; 判相同; 排除非蕴含体。 ( 2 ) 求余法 求余法的基本思路是以同断开集合无交的为约束条件,对导通集合中 每一多维体,逐一试探,变输入部分中非x 为x ,变输出部分中0 为1 , 以求得该多维体若干个“极大”的余面;若某个多维体没有余面,则 以其自身为余面。所有这些余面的集合就是质蕴含体集合,而且该集 合中没有与导通无关的非蕴含体,所得集合即质蕴含体集合z 。 2 覆盖的最小化 质蕴涵体集合中不包含任何非蕴含体,也不包含任何非质蕴含体,但其中还 可能存在某些冗余成分,因此一般只把质蕴含体集合作为初始覆盖。消除覆盖中 的冗余法成分成为覆盖的最小化。具体有以下几个步骤: 冗余的判断; 设某个逻辑函数的导通集合为c o n ,现得到它的一个覆盖c ,c 是一个质蕴涵 体集合,该集合c 中某个质蕴涵体c 的独立贡献为 t = ( c # ( c c ) ) nc o n 式中t 可能是一个集合。如果t 为空,则表明这个质蕴涵体c 无独立贡献, 它是一个非必要质蕴涵体,它对应一个冗余的“与”门。如果集合t 不为空, 说明该质蕴涵体c 和它对应“与“门是必要的。假定一个必要质蕴涵体c 的 输出部分有m 个1 ,表明相应”与“门的扇出为m ,该”与“j - j 输出端连 至m 个或“门的输入端,这也相当于该”与“门有m 个输出线。若反映 该质蕴涵体独立贡献的集合t 中输出部分含有1 的列数为m 、,则表明该” 与“门必要的输出线为m 、,如果m 讣于m ,则表明该质蕴涵体c 对应的” 与“有冗余的输出线。综上所述,覆盖中存在两类冗余:冗余蕴涵体和冗余 连线。根据上式的计算可知:c 为冗余蕴涵体的条件是t = 审;c 中的冗余连 线是c y # t v ( t 巾) 。 冗余蕴涵体的删除 可以根据条件逐个判断逐个删除,也可以使用一种选拔必要质蕴涵 体的方法。 冗余连线的删除 冗余连线为蕴涵体中冗余的输出位,即冗余扇出。若某蕴涵体c 计算出它的独立贡献不为空,则它的必要扇出应该是t 集合中输出阵 浙江大学硕士学位论文 列t y 逐行按位求“或“的结果,用这个结果替换c 中的y 部分c ,自 然就消除了冗余扇出。 覆盖的评价与最小化的若干策略 覆盖的优劣通常用它的成本进行量化,成本越低越好。成本的因素 相当复杂,同采用的逻辑结构形式、追求目标、使用算法等多方面因素 有关,假定采用二级“与或“逻辑结构,成本主要因素有: ( 1 ) “与“门的个数,即必要质蕴涵体个数; ( 2 ) 连线的数目,也即“与“门和”或“门的输入端口数; ( 3 ) 单个“与“i - j 的输入端口数; ( 4 ) 单个“或“门的输入端口数; ( 5 ) 单个“与“门的扇出数。 如何合理考虑以上因素,制定一个覆盖总成本的计算方法是比较困难 的,但可以分出以上诸因素的轻重关系。如把减少“与“门个数放在第 一位,其次降低连线总数,其他为争取目标。即c s l 。与”门个数;c s 2 = 连线的数目。则每个与门对第二成本的贡献作为单个门的成本即c s o = 输入端数+ 扇出数。影响覆盖成本的主要环节是在最小化过程中删除 非必要质蕴涵体这一步骤,即z = z - - z ,选择怎样的z 进行删除对覆盖 总成本有很大的影响,而这种影响又是不可预估的。以下是最小化过程 中,降低成本的一些策略考虑: ( 1 ) 先作冗余蕴涵体的删除,以期获得最少“与”门个数,再作 冗余连线的删除。 ( 2 ) 注意发现并删去相对冗余蕴涵体。 ( 3 ) 在进行非必要质蕴涵体删除时,从局部合理性考虑应删去成 本高的蕴涵体( 或许对降低总的第二成本有利) ,或者删去输 入端多的而输出端多少的蕴涵体( 或许对降低第一成本有 利) 。基于这种考虑,在冗余蕴涵体删除时,对集合z 中的蕴 涵体应进行,某种预排序为好。 ( 4 ) 在进行冗余连线删除时,可按各蕴涵体扇出数由大到小重新 排序,先对多扇出的蕴涵体求必要扇出,删除冗余输出位, 以期各“与”门的扇出量趋于均匀。 2 4 逻辑网络的性能化简 2 4 1 引言 数字集成电路的设计必须满足一定的时序关系。最早是用s p i c e 进行时序分 析和时序验证,8 0 年代初期出现了与原始输入模式无关的拓扑算法,8 0 年代后 期,人们开始对拓扑算法中的伪路径问题进行研究,提出了各种敏化路径的定义, 并把它应用到时序分析和时序验证中。 2 4 2 同步时序电路中的时序关系 在一个同步时序电路中,所有的触发器都由个共同的外部时钟线控制,这 浙江大学硕士学位论文 条时钟线通常称为全局时钟。为了实现严格的同步,电路中的时序关系必须满足 一定的条件,一个上升沿触发器有三个端口:数据输入端、数据输出端、控制端。 它的基本工作原理为:当控制端来一个上升沿时,触发器对数据输入端进行采样, 并把采样值送到输出端;当控制端为为其他情况时,数据输出端保持。实际上, 由于物理元件本身的特性,为了保证采样过程的准确,数据输入端必须在实际采 样时间到达之前就稳定即要有一定的建立时间( s e t u pt i m e ) ;同样,在采样时间 之后,数据输入端仍然必须保持一段时间即所谓的保持时间( h o l dt i m e ) 。对于 某个特定的器件来说,两者都是常数。建立时间和保持时间如下图所示: 1 厂 厂_ ii ,t l5 9 “! 卜叶一呻 i ”r - f _ ,jl |【,。,。一 f 2 l out 广一 ,- - - - _ 一 】 上升沿触发的触发器的时序关系 在时序驱动的逻辑综合中,般会对s e t u p t i m e 和h o l d t i m e 进行检测,缺省 情况下,只对s e t u pt i m e 进行检测。它是这样对s e t u pt i m e 进行检测的:一般说 来,一个触发器的输入端总是组合逻辑电路的输出端;同时,它的输入端总是触 发器的输出端,这样组合逻辑电路的时序必须满足一定的关系。假定时钟周期为 t ,那么每隔一个t 就会出现一个上升沿,r 如果组合逻辑电路在t = 0 时得到输 入,最晚在t = d l 时得到输出,输入到触发器的输入端。假定该触发器的s e t u p t i m e 是s ,则为了实现正确的同步,必须满足如下关系: t d 1 s或d 1 t s 如果组合逻辑的输出最早在d 2 时得到,且该触发器的保持时间为h ,则为了得 到正确的同步,应满足如下关系: d 2h 所以要综合该组合逻辑电路,应包括要实现的逻辑功能和必须满足的时序关系。 主要以以下两种形式反映: 输入的到达时间;它反映了该组合逻辑电路所处的时间环境。 输出的要求时间。它限制了该组合逻辑的速度。 2 4 3 时序分析 所谓的时序分析即在综合综合出一个组合逻辑电路之后,验证它是否满足 给定的时序关系。因为数字集成电路时序分析的精确值完全由它的模拟行为所决 定,一般不能得到该精确值,所以在时序分析时要坚持以下两条原则: 时序分析的结果相对于真实值必须时保守的; 时序分析的结果必须尽可能接近于真实值。 p a g e1 6o f 6 4 浙江大学硕士学位论文 时序分析的方法有以下几种: i 、s p l c e 分析法。 该方法的优点是精确,缺点是工作量太大、费时。方法是通过对一 个电路建立它的连续微分方程组来计算得到精确的值。 2 、门级时序分析。 它的算法是拓扑算法。优点是简单高效、计算结果是保守的( 许多 时序优化工具都用到) ;缺点是出现伪路径问题,由于伪路径的存 在,往往过高估计网络的延迟而出现假的错误结果。伪路径即非敏 化路径( 输出与路径无关的路径) ,产生的原因是没考虑到网络的 逻辑功能。为了判别敏化路径而提出很多算法。 3 、基于敏化路径的算法。 因为它考虑到了网络的伪路径,所以它的计算结果好于拓扑算法。 时序分析在数字集成电路的设计中有着非常重要的作用,在进行时序分析 和时序验证时,必须同时考虑网络的逻辑行为和时间行为。 逻辑综合分为两个阶段:第一阶段为t r a n s l a t i o n g ,它的原理即是前节所述。 第二阶段为根据你给定的约束和给定的目标库进行m a p p i n g 和o p t i m i z a t i o n g 。约 束中有性能目标约束和环境约束。目标约束主要是频率和面积,他们之间具有优 先级,一般来说先满足优先级高的约束,然后在不伤害优先级高的约束的情况下 对优先级低的约束进行优化,在给定的库里寻找满足约束的元件来进行配置以达 到设计目标。s y n o p s y s 所提供的d e s i g nc o m p i l e r 的缺省优先级是时序最高,若你 想以面积为最高优先级,你可以用环境变量进行设置。而且时序的起点为输入端 口或寄存器的时钟端,结束点为输出端口或寄存器的数据端。时序检测在缺省情 况下只作s e t u p 检测,你可利用相应的命令作h o l d 检测。 2 5 逻辑综合的特点 逻辑综合是第三代e d a 电子设计软件的核心。它建立在硬件描述语言的基础 上,通过图文混合方式来定义电子系统的行为,直接从顶层的概念即行为级开始 对系统进行描述,经过设计综合优化,自动转移到门级或开关级电路,它与传统 设计方法的不同在于,设计中的主要仿真验证工作是在行为级完成,这不仅可以 发现早期系统的结构错误,避免设计工作的浪费,而且也大大减少了逻辑仿真的 工作量。与传统设计方法相比,逻辑综合方法具有以下五个突出特点: 增加了设计人员的创造性。 逻辑综合方法利用硬件描述语言来描述系统的行为,相当于编程序,最大 限度地实现了用计算机来代替人地繁杂而非创造性的工作,让设计人员把主 要精力放在结构或概念级的创造性设计,充分发挥其创造性。 复杂系统设计。 一个复杂系统包含几十万甚至几百万门,传统设计方法已无法完成,逻辑综 合提供了自上而下的概念设计方法,从系统级初始策划、行为级设计,对整 个系统进行全面有效地管理,从根本上解决了大系统的电子自动化设计问 题。 设计优化 设计优化是指对电子系统设计进行速度、面积、可靠性和可测性等优化。逻 辑综合利用概念驱动、允许设计者指定各种设计实现工艺,自动生成各种优 浙江大学硕士学位论文 化的门级或开关级电路,让设计人员进行比较,获得最佳地性价比。 设计可重用性。 设计可重用性是现代i c 设计的一种趋势,它大大缩短了电子系统的更新换 代周期,新系统设计周期,减少设计费用。逻辑综合使用硬件描述语言描述 系统行为,生成与工艺无关的电路网表,最大限度地提高了设计的重用性。 主要体现在以下三方面: 1 设计可用不同工艺实现。 2 为设计提供各种速度的电路实现。 3 当新系统调用以前的某些功能模块,不管工艺差别,直接调用即可。 设计可移植性。 硬件描述语言各个e d a 工具都支持,若使用新工具,直接调用原设计即可。 2 6 逻辑综合系统结构 逻辑综合系统结构主要e h - - 个模块和两个器件库组成。如下图所示 原理图 v h d l v e r il o g e d if 逻辑综合系统结构 其中通用器件库是为了与传统设计方法兼容而提供的门级器件库,以便输入 原理图,a s i c 宏单元库是逻辑综合实现特定a s i c 工艺所必需的工艺库。 混合设计输入器支持v h d l 或v e r i l o gh d l 输入,传统方法的门级原 理图输入以及来自e d i f 格式文件输入,实现了“自上而下”和“自下而上”方 法的结合,使设计人员可以更灵活地完成其设计。 多级逻辑仿真器具有行为级和门级仿真能力。它包括数字电路的逻辑功能仿 真、时序仿真和故障仿真、以便尽早发现设计过程中的各种逻辑或时序错误,提 高设计效率。现在地仿真工具有c a d e n c e 公司提供的v e r l o gx l ,s y n o p s y s 公 司提供的v c s 等。 设计综合优化器包括设计综合器和设计优化器,设计综合器自动把行为描述 转化为门级或开关级电路网表。设计优化器接受设计综合器产生的网表,利用设 计人员指定的a s i c 宏单元库对设计进行速度面积等优化,最后产生门级网表。 2 7 基于综合的设计方法 逻辑综合方法设计流程如下图所示。它从系统功能模块划分开始,包括功能 模块设计到实现特定工艺的a s i c 电路全过程,最后由a s i c 自动布局布线软件 浙江大学硕士学位论文 完成物理实现。 逻辑综合方法设计流程 1 系统规范定义。 设计规范中要给出系统要实现的功能、系统的期望性能以及时序要求等 掩等。 2 系统功能模块划分。 模块划分的目的是把一个复杂系统分成许多具有特定功能的小模块,以 便于设计测试、管理以及资源重用。功能模块划分时应注意以下三点: 按层次结构划分。层次结构设计是复杂系统设计的基础。它从对顶层系 统的般描述开始,层层深入直到对系统的详细描述,避免流不必要的 设计重复,减少了设计调试工作量。例如h d t v 的8 v s b 信道接收芯片 分为接口电路和处理电路,处理电路又分为9 个小模块。 模块功能相对独立性。功能模块划分时应尽量使各模块具有相对独立的 功能,即各模块的工作不受其他模块的影响。这样,当需修改某模块时, p a g e 】9 0 f 6 4 浙江大学硕士学位论文 不会影响其他模块功能,从而提高设计效率。 模块划分尽量使各模块规模差不多,且大小保持在1 0 0 01 0 0 0 0 门左右。 在同步时序电路中,若出现异步时序,应使它独立成为一个模块。 3 功能模块设计输入。 功能模块设计是对各功能模块的实现,逻辑综合方法为了方便灵活地设 计输入,提供了多种输入方法,主要包括以下三种: 原理图输入。它的主要作用是为了与传统设计方法兼容,便于重新利用原 有资源。 v h d l 获v e r j l o gh d l 语言输入。它们类似于计算机高级语言,大大 减少了设计输入工作量,缩短了设计周期。 e d i f 格式输入。以便于第三方工具所提供的e d i f 文件输入。 4 行为级综合。 也称为高层次综合,它的任务是将一个设计的行为级描述转换成寄存器传输级 的结构描述。它首先翻译和分析设计的h d l 语言描述,并在给定的一组性能, 面积和或功耗的条件下,确定需要那些硬件资源,如执行单元,存储器,控 制器,总线等( 通常将这一步称为分配( a l l o c a t i o n ) ) ,以及确定在这一结构中 各种操作的次序( 通常称之为调度( s c h e d u l i n g ) 同时还可通过行为级和寄存 器传输级硬件仿真进行验证。由于实现设计的功能可能有多种硬件结构,因而 高层次综合的目的是要在满足目标和约束条件下,找到一个代价最小的硬件结 构,并使设计的功能最佳。 5 逻辑综合。 是将逻辑级的行为描述转换成逻辑级的结构描述,即逻辑门的网表。逻辑级的行 为描述可以是状态转移图,有限状态机,也可以是布尔方程,真值表或硬件描 述语言。逻辑综合过程还包括一系列优化步骤,如资源菸享,连接优化和时钟 分配等。优化目标是面积最小,速度最快,功耗最低低或它们之间的某种折衷。 一般讲,逻辑综合分成两个阶段:与工艺无关的阶段,这时采用布尔操作或 代数操作技术来优化逻辑;工艺映像阶段,这是根据电路的性质( 如组合型 或时序型

温馨提示

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

评论

0/150

提交评论