(计算机应用技术专业论文)基于soc的mcu设计技术研究.pdf_第1页
(计算机应用技术专业论文)基于soc的mcu设计技术研究.pdf_第2页
(计算机应用技术专业论文)基于soc的mcu设计技术研究.pdf_第3页
(计算机应用技术专业论文)基于soc的mcu设计技术研究.pdf_第4页
(计算机应用技术专业论文)基于soc的mcu设计技术研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机应用技术专业论文)基于soc的mcu设计技术研究.pdf.pdf 免费下载

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

文档简介

摘要 随着i c 产业的飞速发展和集成电路设计、制造技术的不断进步,s o c 系统 级芯片的设计已成为i c 设计领域的主流和必然趋势。在s o c 芯片的开发方法中, i p 核复用技术已成为一种主流的设计方法。本文研究的是对s o c 片上系统的 m c u 进行设计的相关方法和技术。 在本文的研究课题中,系统研究了m c u 的设计技术。对设计方案的制订、 模块化设计流程、模拟仿真、逻辑综合、软硬件协同设计等技术从应用的角度进 行了分析研究和掌握。对p i c l 7 c 4 2 为原型的m c u 的体系结构、指令系统和系统 时序进行了分析,并基于此系统对所实现的i p 核进行了按层次结构和模块功能的 划分。以p i c l 7 c 4 2m c u 的关键模块a l u 的设计和串行通信口的设计为实例, 对这些模块进行了功能和算法上的分析,设计了相应的方案。采用硬件描述语言 v e d l o gh d l 实现该模块的软件,其代码均为r t l 级可综合代码。以m a x + p l u s n 作为编程设计环境,在该软件平台上进行代码的编程和各级的仿真验证,电路 综合采用s y n p l i f y 。设计的模块可以实现口核复用。 本论文完成了a l u 运算模块和串口发送、接收模块的前仿真,基于f p g a 的电路综合及后仿真验证。完成了该u s a r t 串口基于a s i c 的电路网表综合、基 于网表的电路仿真验证,对a s i c 后端设计中的逻辑综合和时序分析验证进行了 研究。 关键词:m c ui p 核a l uu s a r t 电路综合 a b s t r a c t w i t ht h ed e v e l o p m e n to fi cd e s i g na n dm a n u f a c t u r et e c h n o l o g y , s o ch a sb e e n b e c o m i n gt h em a i n s t r e a mi ni cd e s i g nf i e l d i pr e u s i n gh a sb e c o m eam a i nd e s i g n m e t h o di nt h es o cd e v e l o p m e n t ad e s i g na n ds t u d yo fm c ub a s e do ns o ch a sb e e n d o n ei nt h i sp a p e r t h ed e s i g nt e c h n o l o g yo fm c uh a sb e e ns y s t e m i cs t u d i e di n t h i sp a p e r t h e t e c h n o l o g yo fc o n s t i t u t es c h e m e ,m o d u l a r i z ed e s i g nn o w s i m u l a t ea n de m u l a t e ,l o i g i c s y n t h e s i s ,c o o p e r a t ew i t hs o f t w a r ea n dh a r d w a r eh a sb e e nr e s e a r c h e da n dm a s t e r e d f r o mt h ep o i n to fa p p l i c a t i o n a na n a l y s i so na r c h i t e c t u r e ,i n s t r u c t i o na n ds y s t e m t i m i n go fp i c l 7 c 4 2m c uh a sb e e ni m p l e m e n t e d a n dp a r t i t i o nt h es y s t e mi nl e v e l s a n df u n c t i o nm o d u l e s t w oe x a m p l e s t h ek e ym o d u l e sa ii ,a n ds c r i mc o m m u n i c a t i o n p o r tb a s e do np i c l 7 c 4 2m c uh a v eb e e nd e s i g n e d t h ea n a l y s i so ff u n c t i o na n d a r i t h m e t i ch a sb e e nr e s e a r c h e da n dt h er e l e v a n ts c h e m eh a sb e e nd e s i g n e d t h ed e s i g n h a sb e e ni m p l e m e n t e dw i t hv e r i l o gh d la l lt h er t lc o d e so ft h ed e s i g nc a nb e s y n t h e s i z e d i t sp r o g r a m m i n ga n dd e s i g n i n gc o n d i t i o ni sm a x + p l u si i ,a n dw h a tc a n b ed o n eo nt h i sp l a t f o r mi sc o d i n ga n ds i m u l a t i o no fe a c hl e v e l t h es y n t h e s i z i n gt o o l i ss y n p l i f y i pm u s i n gh a sb e e nr e a l i z e d t h e n ,t h er t ld e s c r i b i n go fa l ua n du s a r tm o d u l eo fm c u h a sb e e nr e a l i z e d t h ec i r c u i t ss y n t h e s i z i n ga n dp r e s i m u l a t i o na r eb a s e do nf p g a t h es y n t h e s i z i n go f t h eu s a r tb a s e do na s i c ,t h em a p p i n go nt e c h n o l o g yl i b r a r y , t h es i m u l a t i o na n d v e r i f i c a t i o no fc i r c u i tb a s e do nn e tt a b l eh a v eb e e nd o n e ,t h e1 0 9 i cs y n t h e s i z i n ga n d t i m ea n a l y s i sv e r i f i c a t i o no ft h ea s i cp o s t d e s i g nh a v eb e e ns t u d i e d k e yw o r d s :m c u i pc o r ea l uu s a r tc i r c u i t ss y n t h e s i z i n g 西安电子科技大学 学位论文创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容外,论文中不包 含其他人已经发表或撰写过的研究成果;也不包括为获得西安电子科技大学或其 它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所作过 的任何贡献均已在论文中做了明确的说明并表示了谢意。 本人签名;立k 孝二一日期;立五丑上j l 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名:雌 导师签名 c 习渤隰立坐 第一章绪论 第一章绪论 目前,集成电路技术的发展突飞猛进,s o c 芯片的设计和制造已成为i c 产 业发展的主流机必然趋势。s o c 将电路系统设计的可靠性、低功耗等都考虑在i c 设计之内,把过去许多需要系统设计解决的问题都集中在i c 设计中解决,使系统 工程师可以将精力集中在研究对象领域中。微控制器( m c u ) 是s o c 系统设计 中的重要组成部分,研究m c u 的设计及其相关技术对我国的i c 产业发展有着现 实意义。本章论述了m c u 的设计背景及设计意义,并对相关设计工具的发展历 程进行介绍。通过对片上系统m c u 设计技术的学习研究,选m c ui p 核可复用 功能的两个典型模块a l u 和串口( u s a r t ) 作为实例进行设计。 1 1m c u 设计背景及意义 自1 9 5 9 年集成电路发明以来,集成电路技术的发展突飞猛进。目前,单片集 成度已达到千万门,设计复杂度已达到系统级,设计周期从八九十年代的1 8 个月 左右缩短到现在的6 个月左右,芯片特征尺寸已降低至o 1 3 u m 。另外,由于市 场的需要,i c 的更新换代加快,设计升级的周期不断缩短。这些因素使得基本的 单元库无法满足复杂电路对设计的要求,设计能力已经成为i c 产业发展的瓶颈。 面对这种困境,i p 核复用技术应运而生。 i p 核就是具有知识产权的i c 设计模块,具有相对独立的功能,可以复用, 通常由第三方设计商开发并出售。m 核设计是i c 设计的一个重要部分,已经成 为s o c 系统级集成电路设计的主要途径。采用i p 核复用技术进行设计时,设计 人员不需要用基本逻辑门单元将系统所需的所有功能一一实现,只需要购买具有 相应功能的i p 核,将它们按照体系结构的要求像搭积木一样的组合起来即可,从 而大大减少了设计的时间、难度和出错概率。 实际上,i p 的概念在i c 设计中已经使用了多年。标准单元库就是i p 的一种 形式。由于今天m 模块的集成规模已经达到了系统级的水平,所以i p 核的规模 也越来越大,所实现的功能也越来越强大。按照a s i c 设计方法的要求需要完成 行为( b e h a v i o r ) 、结构( s t r u c t u r e ) 和物理( p h y s i c a l ) 三个设计域的设计,因此 这些模块子系统也就在三个层次上分别成为软i p ( s o f ti p ) 核、固i p ( f i r mi p ) 核和硬i p ( h a r d i p ) 核。 采用i p 核复用技术进行设计是i c 产业大势所趋,口核复用技术由于可以大 大缩小设计周期、降低设计成本、降低出错的可能性,从而大大提高s o c 开发效 2 基于s o c 的m c u 设计技术研究 率,成为一种主流的设计方法。研究i p 核的设计和复用技术,开发自己的i p 核 对于我国的i c 产业发展有着很积极的推动作用。本文的研究课题既是对i p 核设 计技术的深入探索,并为后续相关的设计研究工作奠定基础。 1 2 相关设计工具介绍 电子设计自动化( e d a ,e l e c t r o n i cd e s i g na u t o m a t i o n ) 是利用计算机完成电 子系统的设计,e d a 技术是以计算机和微电子技术为先导,汇集了计算机图形学、 拓扑、逻辑学、微电子工艺与结构学和计算数学等多种计算机应用学科最新成果 的先进技术。 e d a 技术以计算机为工具,代替人完成数字系统的逻辑综合、布局布线和设 计仿真等工作。设计人员只需要完成对系统功能的描述,就可以由计算机软件处 理得到设计结果,而且修改设计和修改软件一样方便,可以极大地提高设计效率。 当今社会是数字化社会,数字集成电路应用非常广泛,其发展从电子管、晶 体管、小规模集成s s i 、l s i 、v l s i ( 几万门以上) 超大规模集成电路u l s i 和超 位集成电路g s i ,其规模几乎平均每l 2 年翻一番。集成电路的发展大大促进了 e d a 的发展,先进的e d a 已从传统的“自下而上”的设计方法改变为“自上而 下”的设计方法。a s i c ( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ) 的设计与制造, 已不再完全有半导体厂商独立承担,系统设计师在实验室里就可以设计出适合的 a s i c 芯片,并且立即投入实际应用之中。 a s i c 是专门为某一应用领域或某一专门用户需要而设计制造的l s i 或v l s i 电路,具有体积小、重量轻、功耗低、高性能、高可靠性和高保密性等优点。硬 件设计人员在设计硬件电路时,不限于只能使用通用元器件,而且可以根据硬件 电路的设计需要设计自用的a s i c 芯片或可编程逻辑器件。 1 传统的系统硬件电路设计方法 在e d a 出现之前,人们采用传统的硬件电路设计方法来设计系统。传统的 硬件电路采用自下而上( b o t t o mu p ) 的设计方法。其主要步骤是:根据系统对硬 件的要求,详细编制技术规格书,并画出系统控制流图;然后根据技术规格书和 系统控制流图,对系统的功能进行分化,合理地划分功能模块,并画出系统功能 框图;接着就是进行各个功能模块的细化和电路设计,各功能模块电路设计调试 完毕以后,将整个功能模块的硬件电路连接起来,再进行系统调试;最后完成整 个系统的硬件电路设计。例如在一个系统中,其中一个功能模块是一个十进制计 数器,设计的第一步是选择逻辑器件,由数字电路的知识可知,可以用于非门、 或非门、d 触发器、j k 触发器等基本逻辑元器件来构成一个计数器。设计人员根 据电路尽可能简单,价格合理,购买和使用方便及各自的习惯来选择元器件。第 第一章绪论 二步是进行电路设计,画出状态转移图,写出触发器的真值表,按逻辑函数将元 器件连接起来,这样计数器模块就设计完成了。系统的其它模块也照此方法进行 设计,在所有硬件设计完成后,再将各模块连接起来进行调试,如有问题则进行 局部修改,直至系统调试完毕。 从上述过程可以看到,系统硬件的设计是从选择具体逻辑器件开始的,并用 这些元器件进行逻辑电路设计,完成系统各独立功能模块设计,然后在将各功能 模块连接起来,完成整个系统的硬件设计,上述过程从最底层设计开始,到最高 层设计完毕,这种设计方法称为自下丽上的设计方法。传统自下而上的硬件电路 设计方法主要特征如下:采用通用的逻辑元器件,在系统硬件设计的后期进行仿 真和调试,主要设计文件是电原理图。 传统的自下而上的硬件电路设计方法已经沿用了几十年,随着计算机技术、 大规模集成电路技术的发展,这种设计方法已落后于当今技术的发展。一种崭新 的自上而下的设计方法已经兴起,为硬件电路设计带来一次重大的变革。 2 新兴的e d a 硬件电路设计方法 每一一 2 0 世纪8 0 年代初,在硬件屯路设计中开始采用计算机辅助设计技术( c a d ) , 开始仅仅是利用计算机软件来实现印刷版的布线,以后慢慢地实现了插件板级规 模的电子电路的设计和仿真。在我国所使用的工具中,最有代表性的设计工具是 t a n g o 和早期的o r c a d 。它们的出现,使得电子电路设计和印刷版布线工艺实现 了自动化,但还只能算自下而上的设计方法。随着大规模专用集成电路的开发和 研制,为了提高开发的效率,增加已有开发成果的可继承性,以及缩短开发时间, 各种新兴的e d a 工具开始出现,特别是硬件描述语言h d l ( h a r d w a r ed e s c r i p t i o n l a n g u a g e ) 的出现,使得传统的硬件设计方法发生了巨大的变革,新兴的e d a 设计方法采用了自上而下( t o p - d o w n ) 的设计方法。所谓自上而下的设计方法, 就是从系统总体要求出发,自上而下地逐步将设计内容细化,最后完成系统硬件 的整体设计。 各公司的e d a 工具基本上都支持两种标准的h d l ,分别是v h d l 和v e r i l o g h d l 。利用h d l 语言对系统硬件电路自上而下进行设计一般分为三个层次。第 一层次为行为描述,它是对整个系统的数学模型的描述。第二层是寄存器传输描 述r t l ( 又称数据流描述) 。第三层是逻辑综合。 由逻辑综合工具产生门级网络表后,在最终完成硬件设计时,还可以有两种 选择:一种是有自动布线程序将网络表转换成相应的a s i c 芯片的制造工艺,定 制a s i c 芯片;第二种是将网络表转换成相应的p l d 编程码点,利用p l d 完成 硬件电路的设计。 设计流程,可编程逻辑器件的设计是指利用e d a 开发软件和编程工具对器 件进行开发的过程,它包括设计准备、设计输入、功能仿真、设计处理、时序仿 4 基于s o c 的m c u 设计技术研究 真和器件编程及测试七个步骤。 1 3 本论文所完成的工作 本课题来源于国防科技预研基金“基于s o c 模拟集成电路婵核开发”项目, 这是一个数字电路和模拟电路混合的系统设计研究。在该项目中,数字部分的关 键设计内容是m c u 微控制器的设计。在本文的研究课题中,通过对片上系统m c u 设计技术的学习研究,进行了对p i c l 7 c 4 2 为原型的m c u 的体系结构、指令系统 和系统时序的分析,m c up 核可复用功能模块a l u 、串口( u s a r t ) 的设计,并 通过了系统的前仿真,基于f p g a 的电路综合及后仿真验证。 论文的主要工作包括系统研究,模块的划分,用硬件描述语言编程实现,仿 真和验证这几个部分。 在指令系统和系统时序与p i c l 7 c 4 2 完全兼容的前提下,对所实现的i p 核进 行了各层次、各模块的功能和结构的划分。将系统分为内核模块和外围模块两大 部分。内核部分主要完成m c u 的运算、状态转移和程序地址生成,外围部分主 要实现m c u 的执行功能。内核模块的设计包括a l u 模块,p c 模块,时钟模块, 堆栈模块,译码模块,数据存储器模块和程序存储器模块。外围模块的设计包括 中断模块,定时器计数器0 模块,定时器计数器1 2 3 模块,事件捕捉模块,脉 宽调制模块( p w m ) 模块。 完成了该m c u 中的a l u 、u s a r t 模块的r t l 级代码描述及测试向量的编 写。实现了各模块的前仿真,基于f p g a 的电路综合及后仿真验证。 完成了实验板代码下载,示波器波形输出验证,功能仿真。通过了系统的前 仿真,基于f p g a 的电路综合及后仿真验证。对a s i c 后端设计中的逻辑综合和 时序分析验证进行了探讨研究。 第二章m c u 设计技术 第二章m c u 设计技术 随着制造技术的不断发展,集成电路设计技术也在不断更新、进步。从最原 始的手工画版图来设计集成电路,到采用c a d 技术进行辅助设计,到现在占主 流的采用e d a 技术进行设计,设计思想也在不断进步。本章介绍了两种硬件描 述语言v e r i l o gl i d l 和v h d l 及其区别,以业界所公认的a l t e r a 公司可编程逻辑 器件开发软件m a x + p l u si i 和q u a r t u si i 为例介绍了集成电路软件设计过程,在 此基础上对口核的设计和复用技术进行研究,并详细论述其设计流程。 2 1 硬件描述语言及设计工具 目前数字系统的设计可以直接面向用户需求,根据系统的行为和功能的要求, 自上而下地逐层完成相应的描述、综合、优化、仿真与验证,直到生成器件。实 现电子设计自动化,其中电子设计自动化( e d a ) 的关键技术之一就是可以用硬 件描述语言( h d l ) 来描述硬件电路。设计电路的经典方法是依赖于电路原理图 的人工设计法,而现在的大规模复杂电路,则广泛采用基于计算机语言的现代设 计方法。这种变革实际上有几方面的原因,其中最重要的一个原因是没有一个设 计工程师队伍能够用人工方法有效、全面、正确地设计和管理含有几百万个门的 现代集成电路( i c ) 。而利用硬件描述语言( h d l ) ,工程师们能够很容易地实现 对大型复杂电路系统的设计和管理。在设计过程中,为了能抓住市场机遇,设计 工程师还必须快速完成对市场需求的正确设计,因而即使是相当小型的电路设计, 也提倡采用基于语言描述的设计方法。 基于语言的设计方法简便而且独立。它允许设计者根据工艺的改进情况来改 变更新自己的设计。随着器件物理尺寸的缩小,更密集、具有更高性能的电路仍 能够通过已有的基于h d l 的模型进行综合设计。 对于从许多具有设计专利的原始资料中整合知识产权( m ) 来说,h d l 是人 们首选的一种便于使用的中间工具。有了这样一种通用的设计语言,可以方便地 通过模型的整合来进行电路测试。如像缩短设计周期,可以将电路模型分别或者 放在一起来进行综合设计。采用h d l 最显著的意义在于:能够通过基于语言的 描述,对于正在进行设计的电路自动进行综合,而不是经历人工设计方法中那些 费力的步骤( 如用卡诺图求最小逻辑等) 。 基于h d l 的综合方法是现代工业上采用的主流设计方法。可以通过构建一 个软件原型或模型来验证其功能,然后利用一种综合工具自动对所设计的电路进 6基于s o c 的m c u 设计技术研究 行优化,并且可以创建一个针对物理实现的网表( n e t l i s t ) 。 h d l 和综合工具的应用都着眼于有关功能设计的思想,出发点并不是具体的 晶体管或逻辑门;用这些工具能够完成电路综合设计,所设计的电路能达到所要 求的功能特性,且满足面积和性能的限制条件。由简单的h d l 模型还能产生一 些其他的电路结构,在通过快速估测进行设计上的折中。功能模型也被称为行为 模型。 h d l 可作为各种不同的工具平台使用,用来完成设计输入、设计验证、测试 生成、故障分析和模拟、定时分析和校验,以及原理图的自动生成等任务。这种 较宽的覆盖范围使得设计通过工具链路时,不再需要设计描述的翻译过程,从而 大大提高了设计流程的工作效率。 有两种语言普遍受到工业界的关注,v e r i l o gh d l 和v h d l 。这两种语言都 有i e e e ( 电气和电子工程师协会) 标准,而且两种语言都得到a s i c ( 专用集成电 路) 和f p g a ( 现场可编程门阵列) 综合工具的支持。 2 1 1v h d l 和v e d l o g h d l 介绍 v h d l 语言是由美国国防部于1 9 8 2 年开发,全称为v e r y - h i g h - s p e e d i n t e g r a t e dc i r c u i th a r d w a r ed e s c r i p t i o nl a n g u a g e ,并于1 9 8 7 年被i e e e 协会和美 国国防部确立为i e e e 标准。最初的目的是用它来代替电路图描述电路,以免存 储电路图占用大量的存储空间。因此v h d l 语言对硬件电路的描述能力较强,可 以实现行为级、r t l 级和门级描述。 v e r i l o gh d l 语言是由g d a 公司于1 9 8 3 年首创,于1 9 8 5 年取得了巨大成功, 并于1 9 9 0 年成为i e e e 标准。最初开发该语言的目的只是作为仿真和验证的语言, 之后又开发了相关的故障模拟和时序分析工具。v e r i l o gh d l 语言对硬件电路的描 述能力也较强,可以实现行为级、r t l 级和门级描述。v e r i l o gh d l 是用来描述 从抽象到具体级别硬件的工业标准语言,它是由美国国防部在2 0 世纪8 0 年代开 发的h d l ,现在已成为i e e e 承认的标准硬件语言。v e r i l o gh d l 支持硬件的设计、 验证、综合和测试,以及硬件设计数据的交换、维护、修改和硬件的实现,具有 描述能力强、生命周期长、支持大规模设计的分解和已有设计的再利用等优点。 v h d l 语言和v e r i l o gh d l 语言相比较,v h d l 语言的语法是基于a d a 语言 开发的,语法严谨,但很复杂。v e r i l o gh d l 语言的语法是基于c 语言开发的, 语法简单,风格自由。从学习语言的时间来看,v h d l 学习周期较长,v e r i l o g h d l 学习掌握的时间周期较短。从语法方面,v h d l 语言语法复杂,描述设计时代码 较长,但是语法严谨,出错可能性比较小;v e r i l o gh d i 语言语法简单,描述设计 时代码较短,但是由于语法风格自由,如果不注意细节的话可能会出现一些隐性 第二章m c u 设计技术 7 的错误。从功能上来看,v h d l 和v e r i l o gh d l 语言对电路的描述能力基本上没 有太大差异,但是由于v e r i l o gh d l 语言的设计初衷是为了仿真和验证,因此其 仿真验证的功能较强,利于较大设计的仿真验证,与现代设计的潮流相符合。 基于以上原因,本设计采用的是v e r i l o gh d l 语言进行设计,且代码均为r t l 级可综合代码。 2 1 2 设计工具介绍 a l t e m 可编程逻辑器件开发软件主要是m a x + p l u si i 和q u a r t u si i ,其简单 易学、易用、可视化、集成化设计环境等优点为业界所公认。m a x + p u j si i 和 q u a r t u si i 提供了一种与结构无关的设计环境,设计人员无须精通器件的内部结 构,只需运用自己熟悉的输入工具( 如原理图输入或高级行为描述语言) 进行设 计,就可通过m a x + p l u si i 和q u a r t u si i 把这些设计转化为最终结构所需要的格 式。有关结构的详细知识已装入开发工具软件,设计人员无须手工优化自己的设 计,因此设计速度非常快。 使用m a x + p l u si i 和q u a r t u si i 软件开发可编程逻辑器件,包括设计输入、 项目编译、设计校验及器件编成等过程,m a x + p l u si i 和q u a r t a si i 提供了逻辑 设计能力,设计人员可将文本、图形和波形等设计方法自由组合,建立起层次化 的单器件或多器件设计。编译过程完成最小化逻辑综合、适配设计项目与单个器 件或多个器件以及形成编程和配置数据等工作。设计校验包括功能仿真、时序仿 真、影响速度关键路径的时延预测以及多种系列器件混合使用的多器件仿真。 本论文的课题设计采用的是m a x + p l u si i - 1 - 具进行代码的编写和各级的仿 真验证。 1 h l a x + p l u si i 特点 m a x + p l u si i 是m u l t i p l ea r r a ym a t r i xa n dp r o g r a m m a b l el o g i eu s e rs y s t e m 的缩写,它提供了与结构无关的设计环境,支持f l e x 、m a x 及c l a s s i c 系列器 件。 m a x + p l u si i 具有开放性的界面,可与其它工业标准的e d a 设计输入、综 合及校验工具相连接。提供与结构无关的设计环境,支持多平台工作,既可以在 w m d o w s 下运行,也可以在s u ns p a cs t a t i o n s 、h p 9 0 0 0s e r i e r 7 0 0 8 0 0 和i b mr i s c s y s t e m 6 0 0 0 工作站上运行。m a x + p l u si i 提供丰富的逻辑功能库供设计人员调 用,其中包括7 4 系列全部器件的等效宏功能库和多种特殊的宏功能( m a c r o f u n c t i o n ) 模块以及参数化的宏功能( m a g ef u n c t i o n ) 模块。m a x + p l u si i 还具 有开放核的特点,允许设计人员添加自己的宏功能模块。充分利用这些逻辑功能 模块,可以大大减轻设计的工作量,成倍缩短开发周期。m a x + p l u si i 软件支 8 基于s o c 的m c u 设计技术研究 持各种h d l 语言设计输入,包括v h d l 、v e f i l o gh d l 和a l t e m 自己的硬件描述 语言a h d l 。 2 设计流程 使用m a x + p l u si i 的设计过程包括以下几步,若任一步出错或未达到设计 要求则应修改设计,然后重复以后各步,其设计框图如图2 1 所示。 l 设计输入卜1一编译项目卜_- q 仿真与定时分析l- q 编程测试睫 _ 一修改设计l , 图2 1m a x + p l u si i 的设计框图 在基于f p g a 的电路网表综合时,我采用的是s y n p l i c i t y 公司的综合工具 s y n p l i f y 。 s y n p l i f y 对电路( 包括电路图和硬件描述语言) 的综合能力较强,可以对综 合过程和结果进行多样设置,以使得综合所得的电路网表能够达到最佳效果。 m a x + p l u si i 将处理流程集成化,用户不需要多于预综合及标注延迟的过 程。此外m a ) ( + p l u si i 对f p g a 下载芯片的支持最全面,使得用户在选择下载 实现的器件时自由度最大。 2 2 可复用i p 核设计 随着i c 产业各方面的飞速发展,在制造领域以深亚微米( d e e ps u b u m ) 技 术为代表,在设计领域以口核复用及软硬件协同设计( s o f t w a r e h a r d w a r e c o d e s i g n ) 技术的共同推动下,s o c 芯片的设计和制造已成为i c 产业发展的主 流及必然趋势。口核复用技术由于可以大大缩小设计周期、降低设计成本、降低 出错的可能性,从而大大提高s o c 开发效率,成为一种主流的设计方法。研究 i p 核的设计和复用技术,开发自己的p 核对于我国的i c 产业发展有着很积极的 推动作用。 2 2 1 模块化设计流程 在设计模块较大、功能较复杂的程序时,为了调试和查错方便,总是将整个 程序分成若干个模块来进行编程。应该如何划分模块才能提高速度,增加复用性 等,这都是软件工程师应考虑的问题。划分的过程就是把一个复杂设计逐渐划分 成较小而且较为简单的功能单元。这个过程通常被称为自顶向下的设计方法,或 者是分层设计方法。 如果要设计含百万门的芯片,通常把整个系统划分成若干个子模块,这就是 第= 章m c u 设计技术 9 常说的等级设计方法,这样将每次处理问题的规模缩小。如果模块里的器件数还 太多,还可以进一步把模块划分成一组子模块。划分时要考虑的因素包括模块的 大小,模块数目和模块之间的连线数等。通常,在同一划分层中,模块数在5 到 2 5 个左右。在对每一级上的模块进行布局布线后,还要在芯片级进行布局布线, 并要保证整个芯片的功能正确和时序收敛。 布图规划是为每个模块和整个芯片选择一个好的布图方案。在划分后,一般 根据其包含的器件数估计模块的面积,再根据该模块和其他模块的连接关系以及 上一层模块或芯片的形状估计该模块的形状和相对位置。布图规划在整个布图设 计中占有重要地位,但也由于它比较复杂,常常由设计者手工完成。 布局的任务是要确定模块在芯片上的精确位置,其目的是在保证布通的前提 下使芯片面积尽可能小。由于布局时还未作布线,因此无法精确评价布局的质量。 有时,某一布局结果致使布线不能百分百地完成,这主要是由于某些布线区间分 配不合理造成的。此时,就要返回到布局阶段重新进行布局。因此,如何精确估 计布线区面积和布通率是布局阶段的重要课题之一,布线阶段的首要目标就是百 分百的完成模块问的互连,其次是在完成布线的前提下进一步优化布线结果,如 提高电性能,减少过孔数等。对于布线区域非预先设置的布图模式首先要划分和 定义布线区域,有时还需要对布线区域安排顺序。鉴于集成电路布图的复杂性, 通常又把布线分成两步来完成:总体布线和详细布线。总体布线要完成线网的合 理分配,但它只是把线网分配在合适的布线区域内,以确保得到尽可能高的布通 率,而不关心走线的具体位置。详细布线则最终确定连线的具体位置。采用两步 布线可以在总体分析线网连接要求和布线区资源后,合理地分配线网,避免局部 拥挤。它不但简化了布线问题本身,而且提高了布线的质量。布线完成后要提取 电路中的电阻和电容参数,采用专门的提取工具进行提取,并且利用这些参数进 行静态时序分析或反馈给布局布线工具进行优化设计。 在每一过程都可以进行相应的优化,从而尽可能的为后面的工作提供最佳的 设计做准备,从整体上来说就是为了减小整个芯片的面积,同时满足功能和时序 要求。有些优化属于压缩工作,包括维和二维压缩,在压缩过程中必须保证版 图的设计不违反设计规则。工程变更是指只改变设计中的- d , 部分,对这部分重 新布局或布线不会影响整体的设计。 图2 2 为a s i c 设计的基本流程图,其中含盖了几乎所有的后端设计步骤。 l o 基于s o c 的m c u 设计技术研究 2 2 2 逻辑综合 图2 2a s i c 设计的基本流程图 a s i c 综合是指把设计的r t l 级代码描述转换成用标准门单元连接的逻辑电 路。这些标准门单元包含在具体的综合库中,综合库随着将要流片的生产线不同 而变化。综合时,综合软件根据设计综合脚本中的具体优化条件将设计映射到相 应的工艺库中进行综合优化,并自动调用标准门单元完成逻辑电路。 本设计采用s y n o p s y s 公司的d e s i g nc o m p i l e r 对v e r i l o gh d l 的r t l 级代码 进行综合。综合过程中使用自己编写的脚本文件对综合过程进行约束,以得到预 期的结果。脚本文件里是综合时需要的s y n o p s y s 行命令,相当于一个批处理文件, 用于设置综合的约束条件。 r t l 级代码进行综合优化的效果会直接影响到门级逻辑电路及后续版图的面 积、时序和功耗等等。所以在编写综合优化的约束条件时需要慎重。最关键的约 束条件主要是一些时序和面积的约束,比如工作时钟的描述、输入输出延迟的设 置和一些驱动能力以及负载的设置。如果时序约束条件太过严格,那么可能造成 综合出来的门级电路不能满足约束条件,或者电路面积很大,浪费了资源,增加 了功耗;如果时序约束很松散,特别是对时钟、输入输出延迟等,那么会造成时 序不能满足设计的要求,严重的甚至导致系统不能正常工作。此外,负载约束也 会对系统时序造成影响,太小可能会导致信号传递出错,太大则会降低信号传送 时间。 除了时序的满足外,在综合优化过程中还应该考虑到所设计的电路面积和功 耗。在本设计中,由于系统时钟较慢,因此在约束条件中,以面积优化为首要条 第二章m c u 设计技术 件,同时考虑时序和功耗等方面进行综合优化,匹配到相应工艺的标准单元中去。 2 2 3 时序分析 p r i m et i m e 是s y n o p s y s 卓越的静态时序分析工具,它有能力完成快速整片的 静态时序分析。它允许用户分析设计的所有关键路径并在有序的报告中描述它。 而且,这个报告包含其它的信息,比如扇入扇出值、每条线的电容负载值。静态 时序分析在布图前后都应该进行,在布图之前,p r i m et i m e 利用标准单元库中指 定的线载模型来估计线的延时。所用的时间约束和d e s i g n c o m p i l e r 相同,如果所 有关键路径上的时序都是可以接受的,那么就可以输出时间约束文件( s d c ) 用于 后端布图设计。在完成布图之后,实际提取的延时以标准延时文件格式被反标到 p r i m et i m e 进行时序分析,其包括线电容和r c 互联延迟信息。 在后端设计中,设计的动态时序仿真采用的是m o d e l s i m 软件来完成,而静 态时序分析采用的是p r i m et i m e 软件来完成。 2 2 4 布局布线 由于v l s i 技术工艺条件的限制、芯片的面积、线宽、布线层数以及引出线 压焊块的尺寸和位置有一定的标准和要求。因此,如何合理安排元器件在芯片上 的位置,以及它们之间的正确连接,使得占用的面积尽可能小,芯片内部数据和 控制信号的传输线路尽可能缩短等,都是一个难度极大的算法设计问题。大规模 集成电路要求在单片硅上制作多达几百万个晶体管的电路,设计工作量和每个阶 段的设计数据量十分庞大。由于这些原因,大规模集成电路设计必须采用e d a 技术。这样在布局布线时,e d a 工具会通过内部的布局布线算法自动选择最佳的 布线方案,进行标准单元布局时也要进行一些干预和限制,但是大部分依靠自动 布局。如果摆放必定造成后面布线工作的拥塞,得不到满意得效果,就要人为在 此处设一个块区域,不允许标准单元布局在其中,可见人机交互的结果不仅能减 轻人工劳动,缩短设计周期,而且提高了设计的可靠性和产品的质量。 一般来说布线所参照的指标包括:连线短、延迟小、不阻塞。布线质量的好 坏,通常由5 个方面来衡量:达到1 0 0 的布通率、布线面积最小、连线总长最小、 导孔数最少、布线均匀,并且布线速度快。 布线通常分为两个阶段:首先是总体布线,在总体布线基础上再进行详细布 线。总体布线是从总的方面考虑布线方式,合理分配布线空间使布线均匀合理, 并符合电性能要求,对于每一连线,指定其布线区域,并满足连接关系。详细布 线则是根据芯片的层次在布线区域中进行具体连线。有时自动布线达不到要求, 基于s o :3 的m c u 设计技术研究 则可通过人机交互设计进行调整。人机交互设计主要是用来保证1 0 0 的布通率, 通过人工干预,调整布局布线结果,使设计更为合理,芯片的利用率更高。总体 布线是从整个布线设计的全局出发将所有的线网合理的分配到各布线通道中去, 这一阶段仅仅确定线网各个部分属于哪个通道,但在通道中的具体位置还没有确 定下来。总体布线的目标与整个布线目标是一致的,即在完成1 0 0 布线的同时使 布线区的面积最小。以通道密度均匀为目标,在进行布线时可采用以下一些措施: 1 ) 对关键路径上的线网进行提前布线。 2 ) 对那些整段都在某个通道中的线网或选择方式较少的短线先进行布线。 3 ) 若发现已经布过的线段效果不理想,可拆掉一些线段后重新进行布线,再 重布那些拆掉的线段。 布局到总体布线这个阶段的工作往往要反复进行,否则必将影响后边的详细 布线。在实际问题中,根据按布线区域的不同定义、不同的接点排列以及实现布 线的不同方式,详细布线有好几种不同的类型。虽然不同的设计模式有各自的特 点,其布线目标也会有不同之处,但通道区布线的主要目标可统一地描述为:完 成通道区内的所有布线,并使所需要的轨道数量最少。 2 2 5 形式验证 形式验证技术是使用数学方法进行设计验证,不需要考虑技术,如时序和物 理效应等。形式验证通过它和相关设计进行比较来检查设计的功能。形式验证和 动态仿真的主要区别是前者通过提供两个结构和功能逻辑等价的设计进行技术验 证。动态仿真方法只能探测设计中比较敏感的路径,这样其他存在问题的地方可 能不会检测到。另外,形式验证所消耗的时间和动态仿真相比可以忽略不计。 第三章p i c l 7 c 4 2 m c u 的体系结构 第三章p i c l 7 c 4 2m c u 的体系结构 p i c l 7 c 4 2 是m i c r o c h i p 公司的一款中档m c u ,具有性价比高、功能强大 的优点。在当前m c u 市场上和应用中很受推崇。 该m c u 有以下特点: 工艺特征: 采用低功耗、高速的c m o s 工艺。 采用全静态设计。 工作电压范围宽,从2 5 v 到6 0 v 均可正常工作。 有民品和工品两种,可根据不同的工作环境温度进行选择。 采用低功耗设计,当工作于4 m 时钟,5 v 电压时,工作电流小于5 m a ; 当工作于3 2 k 时钟,4 5 v 电压时,工作电流在1 0 0 u a 左右;在工作电压 5 v 、系统挂起时,工作电流小于1 u a 。 m c u 内核特征: 仅有5 5 条单字指令。 除了跳转指令和表读写指令外,其余指令都是单指令周期完成。 工作最高频率3 3 m 壬z 。 指令周期1 2 1 n s 。 共有1 1 个中断源。 1 6 级硬件堆栈。 可实现直接、间接和相对寻址。 可以实现内部l ! s b 部程序存储器寻址。 有6 4 k x1 6 的程序存储器寻址空间。 m c u 外设特征: 具有3 3 个可以分别控制i o 方向的i o 端口 r a 2 、r a 3 端口开漏,可支持高电压、高电流,可以直接驱动l e d 具有两个事件捕捉输入端和两个脉宽调制输出端,事件捕捉寄存器为1 6 位宽度,最大记录时间1 6 0 n s ,脉宽调制宽度控制寄存器从l b i t 到1 0 b i t 可调。 定时器计数器0 的累加寄存器位宽1 6 位,且输入的时钟或外部输入信 号可以通过8 位的寄存器实现1 到2 5 6 倍的分频。 定时器计数器1 ,累加寄存器位宽8 位。 定时器计数器2 ,累加寄存器位宽8 位。 1 4 基于s o c 的m c u 设计技术研究 定时器计数器3 ,累加寄存器位宽1 6 位。 串口可以实现同步异步的单工双

温馨提示

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

评论

0/150

提交评论