(微电子学与固体电子学专业论文)8位risc+mcu软核的设计.pdf_第1页
(微电子学与固体电子学专业论文)8位risc+mcu软核的设计.pdf_第2页
(微电子学与固体电子学专业论文)8位risc+mcu软核的设计.pdf_第3页
(微电子学与固体电子学专业论文)8位risc+mcu软核的设计.pdf_第4页
(微电子学与固体电子学专业论文)8位risc+mcu软核的设计.pdf_第5页
已阅读5页,还剩99页未读 继续免费阅读

(微电子学与固体电子学专业论文)8位risc+mcu软核的设计.pdf.pdf 免费下载

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

文档简介

8 位r i s em e u 的软核设计 摘要 h g d 0 8 r 0 1m c u 软核是由台腿工业大学微电子设计研究所设计的一神8 位 的瓤s c 微控制器。这个软核与m i c r o c h i p 公司的p i c l 6 c 5 7 兼容,麟够广泛 蟪应耀予工监控制、仪器仪表、汽车工监等镁域。 该软核源自予国家“九五”夔点科技攻关项躁课题:m c u 寒层语骞撼述 及其嵌入式技术研究。 这个项裔遵循了自上而下的设计流摇,从系统划分、编写代码、r t l 仿 粪、练会、门级谤真,到森爨毒线、遐气援烈检查、设诗溉燹| j 捡套,鹅表魄较 等。在设计的不同阶段使用了不同的e d a 工具,包括c a d e n c e 、s y n o p s y s 、 a v a n t ! 、m o d e l s i m 、m a x p l u s l i 等镩。少 本文奔鲻了 i g d 0 8 r o l 软核韵r i s e 体系结构、数据通道设计、时序设计 以及硬毒线控割设计等,阏时还余缨了改软核粒验涯滚程与方法。 m c u 是嵌入式系统的心脏,由于嵌入式系统的广泛应用,掌握m c u 设计 技术驻得非常重要。这个项目是邋向嵌入式核心技术的第一步,还有更多的工 佟需要傲。 关键谪:徽投制嚣; 硬l 孛攒述语言 精简指令集、软核 知识产权? d e s i g no f 8 - b i tr i s cm c us o f tc o r e a b s t r a c t h g d 0 8 r 0 1m c u - c o r ei s d e v e l o p e db y t h ei n s t i t u t eo fv l s i d e s i g n ,h e f e iu n i v e r s i t y o f t e c h n o l o g y , i sa n8 - b i tr i s c m i c r o c o n t r o l l e ru n i t t h i sc o r ei s c o m p a t i b l e w i t hp i c l 6 c 5 7o f m i c r o c h i p t h e c o r ec a nb ew i d e l yu s e di nt h ea r e a so fi n d u s t r i a l c o n t r o l ,i n s t r u m e n t a t i o n ,a n da u t o m o b i l ea n d s oo n t h ep r o j e c to fd e v e l o p i n gt h ec o r ec o m e sf r o man a t i o n a lk e y p r o g r a m i ns c i e n c ea n d t e c h n o l o g i e s ,s t u d y o nm c uh i g hl e v e l l a n g u a g ed e s c r i p t i o na n de m b e d e ds y s t e mt e c h n o l o g y t h ep r o j e c ti sf o l l o w e dt h et o p - d o w nd e s i g nw a y i t sf r o mt h e s y s t e mp a r t i t i o n ,c o d i n g ,r t ls i m u l a t i o n ,s y n t h e s i s ,g a t e l e v e l s i m u l a t i o n ,t op r ,d r c ,e r c ,l v s ,e t c w eu s e dd i f f e r e n te d a t o o l so nd i f f e r e n td e s i g np h a s e ,i n c l u d i n gc a d e n c e ,s y n o p s y s ,a v a n t ! , m o d e l s i m ,m a x - p l u s l ia n ds oo n t h et h e s i si n t r o d u c e st h e a r c h i t e c t u r e ,d a t a p a t h ,h a r d w i r e c o n t r o lo ft h es o f tc o r e ,a n di n t r o d u c e st h ev e r i f i c a t i o no ft h es o f t c 0 r e m c ui st h eh e a r to ft h ee m b e d e ds y s t e m s oi t s v e r yi m p o r t a n t t od e v e l o pt h et e c h n o l o g yo fm c us i n c et h ee m b e d e ds y s t e mi sw i d e l y u s e di ns om a n ya r e a s t h ep r o j e c ti st h ef i r s ts t e pg o i n gt ot h ec o r e t e c h n o l o g yo ft h ee m b e d e ds y s t e m ,i tn e e d sm o r e w o r kt od o k e yw o r d s : m i c r o c o n t r o n e ru n i t v e r i l o gh d l r i s cs o f tc 0 r e i p 插图清单 图1 1s o c 设计的主要阶段4 图1 2 集成电路设计的典型流程8 图2 1h g d 0 8 r 0 1 指令格式1 4 图2 2 系统划分结构图1 5 图2 3h g d 0 8 r 0 1 顶层结构图1 6 图2 4 冯诺依曼结构图1 7 图2 5h g d 0 8 r 0 1 的哈佛结构1 7 图3 一l 整体数据通道图1 9 图3 2 内部数据总线结构图2 0 图3 3 程序存储器结构2 1 图3 4 数据存储器结构2 2 图3 5 状态寄存器2 4 图3 6o p t i o n 寄存器2 5 图3 7p c 寄存器2 6 图3 8 间接寻址2 7 图3 9a l u 结构示意图2 9 图4 一lh g b 0 8 r 0 1 的工作时钟3 2 图4 2 看门狗和分频器的原理框图3 5 图4 3 复位结构图3 6 图4 4 设备复位时间( 1 ) 3 8 图4 5 设备复位时阳j ( 2 ) 3 8 图4 6 整体时序图,3 9 图5 1 指令译码与硬布线控制在h g d 0 8 r 0 1 中的作用4 0 图5 2 指令译码与硬布线控制的结构4 1 图5 3 基于微操作的指令流程图4 2 图5 4 建立在数据通道上的指令流程图4 3 图5 5 特殊寄存器内部通道展开4 5 图6 1 组合逻辑路径长度5 1 图6 2 组合逻辑路径长度的控制5 2 图6 3 内部数据总线的代码模型5 5 图7 1 仿真验证的典型流程6 0 图7 2r t l 级仿真的流程6 l 图7 3r t l 级仿真时钟输出波形6 2 图7 4r t l 级仿真地址和指令的波形6 2 图7 5 环境因素组合情况示意图6 7 图7 6r t l 仿真指令功能的自动验证( 1 ) 6 9 图7 7r t l 仿真指令功能的自动验证( 2 ) 6 9 图7 8 标准文件法的自动验证流程图7 0 图7 9 比较程序算法框图7 l 图7 1 0p c b 制作流程图7 3 图7 1 1 主动串行配置方式的逻辑连接图7 4 图7 1 2 被动串行配置方式的逻辑连接图7 4 图7 1 3f p g a 测试用p c b 版图7 5 图7 1 4 测试系统结构图7 6 图7 1 5 下载电缆示意图7 7 图7 1 6s o f 文件生成过程7 8 图7 1 7f p g a 验证逻辑分析仪的仿真结果( 1 ) 8 0 图7 1 8f p g a 验证逻辑分析仪的仿真结果( 2 ) 8 1 图7 1 9a s i c 验证及实现的典型流程8 2 图7 - - 2 0h g d 0 8 r 0 1 的a s i c 门级仿真图8 3 图7 2 1 g d 0 8 r 0 1 的自动布局柿线版图8 4 图7 - - 2 2 网表比较结果图8 5 表格清单 表1 1 设计方法学的比较 表3 一1 分频器分频比例表 表4 1 系统复位后寄存器的状态 表7 1h g d 0 8 r 0 1 测试的操作数范围卫撕钾印 一 一 一 一 笙二童堕壹 第一章前言 集成电路是现代信息产业和信息社会的基础,是改造和提升传统产业的核 心技术。为了推进我国集成电路产业的发展,必须掌握集成电路设计的最新技 术,生产制造出具有自主知识产权的产品,以满足国家在经济、国防等方面的 迫切需要。 1 1 集成电路设计概况 集成电路产业在7 0 年代开始分工,半导体工艺设备和i c c a d 设备成为独 立产业,以其精湛的专业技术为i c 厂家提供高质量的设备。此时i c 厂家可以 有更多的精力用于产品的设计与工艺的研究。到了8 0 年代,i c 产业再一次分 工,形成了f o u n d r y 加工和f a b l e s s 设计的分工。这一次分工加上i c c a d 工具 发展为e d a 系统,为大批没有半导体背景的系统设计师介入i c 设计提供了条 件,使得i c 的作用也渗透到各行各业,开拓了i c 的应用领域,扩大了对i c 的需求。到了9 0 年代,测试也成为独立的产业分离出去。至此,集成电路设计 已经完全独立于i c 产业的其他环节,集成电路设计业也成为一个独立的行业。 1 1 1 集成电路设计的发展 这几十年,集成电路工艺和集成电路设计都有了很大的发展。集成电路工 艺的发展使器件集成规模按照每年5 8 的速度增长,而集成电路设计效率的增 长却只有每年2 1 ,这样在集成电路工艺发展与集成电路设计效率增长之间就 出现了一个剪刀差。 为了弥补这个剪刀差,e d a 工具不断推陈出新,使得集成电路设计能力大 约每十年出现一次阶跃式的提高,有效地缩小了设计与工艺能力的差距。集成 电路设计能力主要经过了如下四次飞跃: 2 0 世纪7 0 年代的版图编辑系统的出现,把i c 中的重复结构建立版图 库,利用系统的复制功能,提高了版图设计效率; 8 0 年代出现以门阵列、标准单元布局布线为主要内容的第二代i c c a d 系统,由于这套系统已经把i c 的电学功能纳入设计之中,自此i c c a d 系统更多地称为e d a ; 9 0 年代出现的综合系统,把设计水平从原理图输入提高到行为描述, 第一章前言 进一步缩短了设计周期,提高了设计效率; 第四次飞跃是s o c ( s y s t e m 。o n a c h i p ) 技术的出现,这种技术能够利用已 有的i p ( i n t e l l e c t u a lp r o p e r t y ) ,把一个系统集成在一片硅片上。 在集成电路工艺和e d a 工具的推动下,集成电路设计方法学也得到了很 大的发展。在设计方法学发展的各个历史时期,设计者关心的焦点不一样,可 以利用的设计资源不一样,设计的能力也有很大的差异。按照出现的先后集成 电路设计方法学可以分为如下四种: 面积驱动的设计( a r e ad r i v i n gd e s i g n ) :早期设计者所使用的基础模 块是晶体管,在这一阶段,设计者关心的焦点是如何减小芯片面积; 时序驱动的设计( t d d ,t i m ed r i v i n gd e s i g n ) :随着设计复杂度的加 深,在考虑芯片面积的同时,更多关注门级模块之间的延时; 基于模块的设计( b b d ,b l o c k b a s e dd e s i g n ) :芯片集成度进一步提 高,同时产品投放市场的时间要求越来越短,设计人员利用已有的模 块,以模块为中心,迅速设计出新产品。 基于平台的设计( p b d ,p l a t f o r m b a s e dd e s i g n ) :是基于虚拟元件( v c ) 的设计,以在芯片上实现系统功能为目标,需要有软硬件协同设计平 台,具有标准总线结构。 后三种设计方法学的比较见表1 1 。 表l 一1 设计方法学的比较 特性t d db b dp b d 设计复杂度5 k 2 5 0 k 门1 5 0 k 一1 5 m 门3 0 0 k 门以上 设计层次 r t lb e h a v i o r a l - r t l a r c h i t e c t u m l 设计粒度门和存储器功能块、核虚拟元件 设计复用没有随机的有准备的 总线结构没有,定制的定制的标准的 布局一个层次上有层次的有层次的 布线一个层次上一个层次上有层次的 1 1 2s o c 设计 s o c 是1 0 年前就出现的概念,它是微电子技术当前最迫切的发展方向。从 技术层面看,系统级芯片技术是超大规模集成电路( u l s i ) 发展的必然趋势和主 流。 1 s o c 的定义 第一章前言 系统芯片,英文缩写为s o c ( s y s t e m o n a c h i p ) 。简单地说s o c 就是在一 个硅片上集成了一个完整的系统,它应该包含硬件和软件两部分,硬件部分集 成了c p u 、r o m 、r a m 、端口等,软件集成了操作系统( 嵌入式操作系统) , 甚至包括一些重要的应用软件。 一般来说,s o c 具备如下特性: 实现复杂系统功能的v l s l : 采用超深亚微米工艺技术; 使用一个或数个嵌入式c p u 或数字信号处理器( d s p ) ; 集成了操作系统和一些软件; 具备外部对芯片进行编程的功能; 主要采用第三方的i p 核进行设计。 2 s o c 设计的关键技术 s o c 不是一个专业领域的内容,微电子、计算机及应用领域等多学科的交 叉融合推进了s o c 的发展。 s o c 设计涉及到的的关键技术主要有软硬件协同设计技术、深亚微米设计 技术、i p 复用技术、低功耗设计技术和s o c 测试技术等等。 s o c 的设计将包括嵌入式操作系统、嵌入式系统程序和应用程序的开发、 软件与硬件的划分、协同设计、协同仿真;电路的综合、布局布线等等。s o c 芯片设计需要从系统出发,进行统一的系统功能定义与描述,采用系统级软硬 件协同设计方法,在系统级上比较不同实现结构的选择对产品性能的影响,从 而进行设计的权衡。这些选择包括:软硬件划分、总线和处理器负载分析、r t o s 规划和资源竞争。这种权衡使得在物理实现之前就可以进行有效的分析和结构 的优化,不但大大提高了可预测性,而且提高了设计效率,减少往复设计的次 数,既节省时间又节约了成本。 支持s o c 设计的一个重要的支柱是深亚微米( d e e ps u b m i e r o n ) 设计技术。 集成电路工艺进入深亚微米,使单位面积的硅片上可以集成的晶体管数量大为 增加,在集成度因深亚微米技术上升到一个新阶段之后,把一个系统所需的大 量的电路集成到一块硅片上已成为可能。所以深亚微米技术为s o c 的实现提供 了最基本的条件。 但是随着设计进入深亚微米,原本不太突出的连线延迟问题变为需要认真 考虑的棘手问题,原来的设计方法和工具也受到严峻考验,另外系统芯片的电 路规模庞大,集成度高,又同时集成了数字和模拟电路,所以其设计的复杂程 度大大超过了已往的集成电路设计。相对于设计复杂度的增加,另外一方面, 现在的市场竞争非常激烈,产品更新换代的速度非常快,这又要求设计的周期 尽量缩短。这样就形成了一对似乎难以调和的矛盾。为了降低s o c 设计的难度, 第一章前言 提高设计的速度,工程师往往在设计中使用一些以前设计中用到的功能模块, 有些模块很通用,往往重复多次用于多个设计。这些已验证的、可重复利用的 i c 模块是技术含量最集中的部分,通常被称为i p ( i n t e l l i g e n tp r o p e r t y ) ,或虚 拟部件( v i r t u a lc o m p o n e n t ) 、芯核( c o r e ) 。由于有了这些经过严格测试的i p , 使芯片的设计变得更为快捷,设计的风险也大为降低。但是如何评估i p 、选择 i p ,使i p 能够便捷地嵌入系统中等成为i p 复用的难题,本章后面将详细地介 绍i p 复用技术。 3 s o c 设计的流程 目前的s o c 设计方法,通常参照系统工程的方法进行。在系统分析、具体 实现、系统集成各个阶段都按照设计、验证、测试以及文档并行的方式进行。 s o c 设计可以分为如下几个主要阶段( 见图1 1 ) : 图1 1s o c 设计流程的主要阶段 系统行为建模 通过对系统的需求分析,通常采用高级语言( 如c 、s d l 语言) 编写 抽象的系统行为模型,并进行系统功能验证。其结果是完成系统的规范说 明和设计模型及相关文档。 系统结构建模 功能描述之后,可以定义一系列基于系统功能描述的软、硬件结构模 型,该模型可能包括微处理器、微控制器、d s p 、总线、存储单元、外围 设计、r t o s ( r e a l - t i m eo p e r a t i n gs y s t e m ) ,和其他一些专用的硬件处理单元。 4 蔓二童萱童一 这些元件应是可重用的v c 模块。 结构映射方案评估 这一阶段将功能进行划分并映射到不同的结构模型上去,即将不同的 功能映射为不同的软、硬件资源,对于硬件应将种功能映射为一个精确 的硬件模块,对于软件应将一种功能映射为个针对于特定进程的任务。 最后对结构方案进行性能评估,选择性能最好的结构方案。 结构方案精炼 结构方案评估之后得到的结构方案还只是实现系统的一种粗略结构, 它还必须依靠系统设计规范进一步进行精炼、细化,得到各硬件模块和软 件模块的设计规范。 软硬件设计 这一阶段主要是设计新的硬件模块,综合重用的硬件v c 模块,并开 发出相应的软件,其中硬件r t l 仿真和软件调试需要花费较多时间。 软硬件协同验证 在s o c 设计中,软件占据了相当大的比例,系统芯片的验证采用软硬 件协同验证,可以缩短设计的周期。需要注意的是,由于系统芯片非常复 杂,因此在进行软硬件协同验证之前最好先单独验证各个模块。 系统集成 将通过软硬件协同验证的各软硬件模块集成起来,形成最终的系统芯 片。 1 1 3i p 重用技术 1 i p 的分类 通常i p 分为三类:软i p 、固i p 和硬i p ,也称软核( s o f tc o r e ) 、固核( f i r m c o r e ) 和硬核( h a r dc o r e ) 。 硬核的电路布局和工艺是固定的,不能更改。硬核已完成了全部的前端和 后端设计,灵活性最小。i p 模块提供给用户的是封装好的行为模型,用户能从 外部测试硬核的性能,但无法得到厂家真正的电路设计。 软核包括逻辑描述和不能物理实现的测试文档。与硬核相比软核有更大的 灵活性,用户能把用硬件描述语言的设计的软核修改为自己所需要的设计,综 合到选定的厂商工艺上,并通过布局布线实现具体的电路。 固核是一种介于软核和硬核之间的i p ,通常以带有工艺信息的门级网表的 形式提供。固核既不是独立的,也不是固定的,它可以根据用户的要求进行修 改,使它适用于某种可实现的工艺过程。固核允许用户重新确定关键的性能参 数。从完成i p 模块的代价来看,硬核i p 代价最高;从i p 灵活性来看,软核i p 笙二至萱童一一 的可重复使用性最高。 2 i p 的标准化 在实际工业应用中,i p 重用并非易事,有效和自由地“拼装”芯片是一件 很有挑战性的工作。通常各个公司之间的设计观点、设计准则和数据格式不同, i p 重用的基础薄弱,所以i p 产业遇到的第一个问题就是:i p 接口的标准化和 i p 核设计的规范化。 为了推动i p 产业的发展,解决i p 标准化的问题,国际上出现了一些建立 i p 标准的机构,例如虚拟插座接口联盟( v s i a ,v i r t u a l s o c k e ti n t e r f a c e a l l i a n c e ) 。 i p 标准化涉及到s o c 设计的各个领域,v s i a 根据i p 设计以及贸易流程, 确定了如下8 个工作领域: 系统级设计( s y s t e m l e v e ld e s i g n ) 实现验证( i m p l e m e n t a t i o n v e r i f i c a t i o n ) 功能验证( v e r i f i c a t i o n ) 物理测试( m a n u f a c t u r i n g r e l a t e dt e s t ) v c 转让( v i r t u a lc o m p o n e n tt r a n s f e r ) i p 保护( i pp r o t e c t i o n ) 片上总线( o n - c h i p b u s ) 模拟混合信号( a n a l o gm i x e d s i g n a l ) 从这些工作领域可以看出,i p 标准化工作涉及的知识面相当广,需要各个 领域专家的参与,它是一个复杂的系统工程。 3 知识产权保护 i p 产业的整个基础,实际上是建立在设计保护知识产权的基础上。很明显, i p 的保护和安全性是非常重要的。由于i p 的交流已经跨国,同时网上交易已 经流行,现行法律没有相关的条款,同时由于这种交易通常通过协议来保护, 除非i p 核供应商制定完善的权利和义务方案,协议纠纷很容易出现,却很难认 定明确的相关责任。所以当务之急是建立完善的保护方案和相关的范例。 1 2 嵌入式系统设计方法的演变 集成电路技术的发展和消费电子产品需求的增加,使嵌入式电子系统的设 计更加复杂。如何缩短产品的设计周期,适应市场需求的变化,一直是嵌入式 系统设计所关心的焦点。随着s o c 的出现,从基于芯片的设计方法,过渡到基 于i p 的设计已经是嵌入式系统设计的必然趋势。 6 第一章前言 嵌入式系统设计按其历史演变可以分为三个不同层次。 第一层次是以p c bc a d 软件和在线仿真器为主要工具的设计方法。这是 长期以来我国单片机应用系统设计人员一直沿用的方法。首先根据嵌入式应用 系统要实现的功能要求,对系统功能进行模块划分,再对功能模块进行硬件和 软件功能实现的分配。硬件设计主要是根据性能参数要求对各功能模块所需要 使用的元器件进行选择和组合,利用印制电路板( p c b ) 计算机辅助设计( c a d ) 软件对系统的元器件进行布局和布线。软件设计主要包括任务分析、资源分配、 模块划分、流程设计和细化、编码调试等。最常用和最有效的工具是在线仿真 器( i c e ) 。 第二层次是使用e d a 工具软件和可编程逻辑器件的设计方法。设计工程 师在硬件设计时利用可编程逻辑器件,逐步取代原先要通过印制板线路互连的 若干标准通用逻辑器件,减少了印制板的面积和接插件的数量,降低了系统综 合成本,增加了可编程应用的灵活性,更重要的是降低了系统功耗,提高了系 统工作的速度、可靠性和安全性。 这样,硬件设计人员从过去选择和使用标准通用集成电路器件,逐步转向 利用各种e d a 工具和标准的c p l d 和f p g a 等,设计出部分集成电路器件。 再把可编程逻辑器件、可编程外围器件、所选择的a s i c 与嵌入式微处理器或 微控制器在印制板上布局、布线构成系统。 第三层次是以i p 内核库为设计基础,采用软硬件协同设计技术的设计方 法。集成电路正步入s o c 设计时代,s o c 设计方法不是把系统所需要用到的所 有集成电路简单地二次集成到一个芯片上,而是从整个系统性能要求出发,把 嵌入式微处理器、模型算法、芯片结构、外围器件各层次电路直至器件的设计 紧密结合起来,并通过建立在全新理念上的系统软件和硬件的协同设计,在单 个芯片上完成整个系统的功能。 为了缩短s o c 设计周期,提高系统的可靠性,必然要使用成熟优化的i p 内核模块来进行设计集成和二次开发,利用胶粘逻辑技术g l t ( g l u el o g i c t e c h n o l o g y ) ,把这些i p 内核模块嵌入到s o c 中。i p 内核模块是s o c 设计的基 础,究竟购买哪一级i p 模块,要根据现有基础、时间、资金和其他条件权衡确 定。基于i p 核的嵌入式系统设计,使系统设计从板级进入芯片级,对系统工程 师提出了更高的要求。 1 3 当前集成电路设计的流程和方法 前面从设计方法学的角度把集成电路设计分为四种:面积驱动设计、时序 驱动设计、基于模块的设计和基于平台的设计。但是在具体设计过程中,会有 7 第一章前言 不同的具体设计流程和方法。 1 3 1 当前集成电路设计的典型流程 由于s o c 尚未进入成熟期,目前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 s ) 设计是集成电路设计的主流。下面以a s i c 设计为例介绍当前集成电路设计的 典型流程( 见图1 2 ) 。 图1 2 集成电路设计典型流程 系统级设计主要是设计系统的体系结构,对系统进行模块划分,定义端口 信号,并设计整体时序。为了确保系统设计的可靠性,通常在系统级设计阶段 需要对系统进行行为建模,然后通过仿真验证系统设计的正确性。通常使用c 语言进行系统行为建模,最近又流行了象s y s t e mc 这样专门面向系统级建模的 语言。h g d o g r 0 1 项目用c 语言对系统设计进行了建模,增强了系统设计的可 靠性。 r t l ( r e g i s t e r t r a n s f e rl e v e l ) 硬件语言描述是在寄存器传输级对各个模块 进行语言描述,通常使用v e r i l o g 语言和v h d l 语言进行描述。在这一层次需 要对设计做仿真,称为r t l 仿真,r t l 仿真保证了r t l 描述在功能逻辑上的 正确性。 综合可以把语言描述的设计映射到实际的工艺上加以实现。这时得到了设 计的门级电路,在综合库中有各个门单元的工艺参数,如门延时等,所以综合 后的设计具有了一定的工艺信息,对它可以做门级仿真,门级仿真相对于r t l 级仿真来说增加了门延时。 综合并通过门级仿真后,可以对门级网表做布局布线,得到设计的版图。 从版图中可以提取出连线延时等一些更详细的物理参数,把从版图中提取的参 第一章前言 数反标到门级网表中,可以进行布局布线后仿真,此时对设计进行的仿真非常 接近于实际的电路。布局布线后仿真通过,且从版图中提取的网表与布局布线 前的门级网表相比较一致,就完成了全部的设计流程。 1 3 2 集成电路设计的方法 集成电路设计有许多具体的方法,这些方法适用于不同的设计要求。设计 者可以根据产品的产量、设计复杂度、设计周期的约束等决定使用哪种方法。 全定制法 全定制法的特点是针对每个晶体管进行电路参数和版图的优化,以获得最 佳的性能( 包括速度和功耗) 以及最小的芯片面积。这种设计方法的工作效率 很低,设计周期很长,设计成本很高。全定制法适用于要求得到最高速度、最 低功耗和最省面积的芯片设计。 定制法 定制法通常分为两大类:标准单元法和通用单元法。两种方法都采用精心 设计的单元库,只是标准单元法采用的单元高度相等,宽度不等;通用单元法 采用的单元高度和宽度都不等。设计时只需调用单元库中的单元,然后进行布 局布线生成设计电路的版图,所以统称为库单元法。定制法适用于芯片性能指 标比较高而生产批量比较大的芯片设计。 半定制法 半定制法使用于要求设计成本低,设计周期短而生产批量又比较小的芯片 设计。一般采用此方法设计出产品并投入市场,在占领市场后再用其它方法进 行一次再设计。 半定制法包括数字电路门阵列和线性阵列( 1 i n e a ra r r a y ) 两大类。前者简称 为门阵列,它又分为通道门及门海两种。门阵列和线性阵列都是预先在芯片上 已生成了由基本门( 或单元) 所组成的阵列,即完成了连线以外的所有芯片加 工工序。设计完成后只需加工接触孔和连线即可实现设计。通常这种方法对门 阵列的利用率较低,芯片的面积较大。 模块编译法 模块编译法是一种全自动的设计方法。先对设计模块的性能进行描述,再 通过编译直接得到电路的掩膜版图。这种方法适用于r o m 、r a m 、a l u 、移 位寄存器、乘法器等规则结构和模块式结构的芯片设计。 可编程逻辑器件法 f p g a ( f i e l dp r o g r m m a b l eg a t e a r r a y ,现场可编程门阵列) 与c p l d ( c o m p l e xp r o m g r a m m a b l el o g i cd e v i c e ,复杂可编程逻辑器件) 都是可编程逻 9 第一章前言 辑器件,它们都可以编程写入复杂的组合、时序逻辑,并且在实验室内就可以 实现,逻辑修改也非常方便,所以深受系统设计人员的喜爱。 用可编程逻辑器件进行设计可以大大缩短设计的周期,降低设计风险,对 于产量小的设计,成本可以得到较大的降低。由于可编程芯片内部逻辑的利用 率较低,每片芯片都会有浪费,所以当产品的产量很大时,使用可编程逻辑器 件将使产品的成本过高。所以可编程器件法一般在电子系统的开发阶段使用, 可以做设计的器件测试( e m u l a t i o n ) ,对设计进行诊断,h g d 0 8 r 0 1 就采用了 f p g a 验证设计。随着可编程器件成本的不断降低及电子系统更新换代的速度 加快,可编程器件的应用越来越普及。 基于i p 重用的设计方法 s o c 设计一般采用多个i p 模块,包括d s p i p 、m p u i p 及存储器i p 等,设 计者把这些i p 组合起来实现一个系统的功能,然后对整个设计进行仿真验证, 对局部进行修改。这种设计方法相当于把以往的系统集成放到芯片设计中完成, 各个i p 就像以往的芯片。运用i p 的方法使设计提高到一个较高的层次,设计 者可以把注意力放在系统级设计上。 1 4 课题工作内容、意义和论文结构 1 3 1 课题工作内容 本论文源自合肥工业大学微电子设计研究所承担的国家“九五”重点科技 攻关项目,专题名称是“微控制器( m c u ) 系列产品开发及应用9 7 7 5 8 一0 1 5 3 ”, 子专题“m c u 高层语言描述及其嵌入技术研究”,合同编号9 7 7 5 8 0 1 5 3 0 8 。 该子专题的目标是掌握微控制器( m c u ) 高层语言( 硬件描述语言) 描述的方 法,以及采用自上而下( t o p d o w n ) 的方法进行自主知识产权芯片设计的相关 技术。 本人的课题工作内容主要包括以下几点: h g d 0 8 r 0 1 软核的设计 在分析m i e r o e h i p 公司p i c l 6 c 5 7 芯片的基础上,确定系统的结构和划分, 用v e r i l o gh d l 硬件描述语言描述各功能模块,然后完成r t l 级仿真。 h g d 0 8 r 0 1 软核的f p g a 验证 用m a x - p l u s i i 软件对设计进行f p g a 综合,然后通过门级仿真验证,设计 f p g a 验证用的p c b 板,最后在f p g a 测试系统中完成设计的f p g a 器件验证。 h g d - 0 8 r 0 l 软核的a s i c 实现 采用1 2 u r n 工艺库对完成的设计进行a s i c 综合、门级仿真、自动布局布线 1 0 笙= 兰萱童一 以及设计蕊莉检查、网表院较等一系列工佟,最终荦导刭褒c o m p a s s 软l 牛环境 中实现的h g d 0 8 r 0 1 软核的物理蔽胬,荠将其交给王艺线滚片。 1 3 。2 课戆王佟豹意义 本课题源商国家九五踅点科技攻关顼爵,其宥耋要的意义。具体翔下: 为i p 设计提供了实践经验 本项目按照囱上而下的设计方法,从语言描述、综合、仿真测试到布局布 线、舨熙设计等,摸索了一套e d a 工具,掌握了i p 设计的基本方法。在项目 进行过程中逯到过许多的爨难,但也因此积累了i p 设计的许多实践经验。这些 经验为戳看设计歪多曼好的l p 葵定了璺实的基础。 2 掌握了r i s c 指令系统m c u 设计的关键技术 m c u 设计是集成电路设计领域较为高端的技术,本项舀克服了许多函难, 了解并掌攫了r i s c 指令系统m c u 的体系结构设计、译码、硬布线控制设计、 看门狗设计等等一系列r i s cm c u 设计的关键技术。在此基础上,未来设计出 更功能更为强大,性能更为突坦的r i s cm c u 已成为可悲。 h g d e 8 r 奄l 软核其鸯重要数产业化意义 m c u 的应嗣领域稻当广泛,扶家用电器、工业控制、到汽车、仪器仪表等 等,到处都可以觅蓟m c u 的身影。m c u 楚系统的核心部分,其设计相对复杂, 所以m c u 设计技术是集成电路设计领域及电子信息领域的一项核心技术。掌 握了这项技术,就可以生产制造出信息产业领域具有完全自主知识产权的产品, 对我国信息产业的蜒起鸯不可忽略的撼动作用。 弗基予l p 嬲泼入式系绞设计奠定了基础 嵌入式系统设计正步入基予l p 的s o c 游代,微控制器是嵌入式系统款核 心,所以m c u 软核楚构筑基于i p 的嵌入式系统韵核心,h g d 0 8 r 0 1 颂籍韵成 功为基于i p 的嵌入式系统设计打下了坚实的基础。 1 3 3 论文结梅 本论文共分为八章。 第一章前言,介绍了集成电路设计的概况,当前集成电路设计的方法和流 程以及课题王 乍的内容秘意义。 第二章指令系统敷顼层设计,夯缨了h g d 0 9 r 0 1 的攒令系统翻顶层结构, 探讨了r i s cm c u 韵指令系统以及m c u 豹体系结构。 第一章前言 第三章数据通道的设计,介绍了h g d 0 8 r 0 1 的数据通道组成,说明了存储 器的结构、寄存器的功能和a l u 的结构等。 第四章时序发生器部分的设计,介绍了h g d 0 8 r 0 1 的时钟设计、复位设计、 整体时序设计以及看门狗和分频器的设计,探讨了m c u 时序设计的相关技术。 第五章指令译码与硬布线设计,介绍了h g d 0 8 r 0 1 的译码与硬布线设计, 从硬件描述的角度,探讨了基于数据通道的m c u 控制部分的设计。 第六章v e r i l o gh d l 语言设计,介绍了使用硬件描述语言进行代码设计的 要点,并给出了一些设计实例,探讨了m c u 高层语言描述的相关技术。 第七章h g d 0 8 r 0 1 的仿真验证,介绍了仿真验证方法与流程,探讨了软核 验证的相关技术。 第八章总结与展望,总结了论文的工作,并对将来的工作设想做了介绍。 第二章指令系统和顶层设计 第二章指令系统和顶层设计 选择适当的设计指标对项目研究是非常重要的,在设计指标时要考虑到设 计的能力和研究的方向。综合各方面的因素我们选择了p i c l 6 c 5 7 微控制器作 为制定设计指标的参考。 微控制器( m c u ) 在我国常称为单片机,它的运用很广,种类繁多,m i c r o c h i p 公司的p i c 系列单片机是其中性能杰出的一类产品。p i c l 6 c 5 7 单片机采用了 宽度为8 位的r i s c 指令,因为r i s c 指令系统是微处理器研究的一个重要方面, 8 位宽度指令作为微处理器研究的起点比较合适,且产品市场需求广阔,所以 我们把它作为h g d o s r 0 1 的功能定义和系统结构的参照物。 下面从h g d 0 8 r 0 1 的指令系统和顶层设计开始,阐述h g d 0 8 r 0 1 软核的 设计。 2 1 指令系统 h g d 0 8 r 0 1 采用了p i c l 6 c 5 7 的指令集,具有看门狗、分频器和计数器等电 路,其功能与p i c l 6 c 5 7 完全兼容。h g d 0 9 r 0 1 的指令系统是r i s c 指令系统, 仅有3 3 条指令,寻址方式简单。指令的宽度是固定的1 2 位,除了条件测试指 令和程序分支指令是两个周期外,所有指令的执行周期都是一个指令周期。 2 1 1 指令种类 h g d 0 8 r 0 1 的指令可以分为如下几类: 传送指令 传送数据,可以在寄存器之间和寄存器与存储器之间传送数据,也包括寄 存器清零指令,因为这相当于把0 送给了寄存器。 算术逻辑运算指令 包括加法、减法、自加l 、自减1 的算术运算指令和“与”、“或”、“非”、 “异或”的逻辑运算指令。 移位指令和半字节交换指令 包括左移和右移指令及半字节交换指令。 位操作指令 第二章指令系统和顶层设计 包括对位的置位、清除和测试指令。 程序分支指令 包括子程序调用、程序转移指令和返回指令。 睡眠指令和空操作指令 空操作指令不执行任何操作,执行睡眠指令时工作时钟停止振动,降低功 耗。 2 1 2 指令格式 指令分为操作码和操作数,操作码指明进行操作的种类,操作数指定被操 作的对象。 h g d 0 8 r 0 1 的指令格式可以分为四种,见图2 1 。 图2 1h g d 0 8 r 0 1 指令格式 所有指令的操作码都是指令代码的高几位,指令代码的低几位是寄存器的 地址位( f ) 、立即数( k ) 或者转移地址( k ) 。对于位操作,指令代码中还有3 位的位选择( b ) ,需特别指出的是对于面向寄存器字节操作的指令,其代码中 有一位( d ) ,它决定操作的结果存放在工作寄存器里或者是存放在寄存器文件 中。 2 1 3 寻址方式 h g d 0 8 r 0 l 主要有如下几种寻址方式: 立即寻址,立即寻址方式中,立即数包含在指令代码中,它是指令代码 的低8 位; 直接寻址,存放操作数的寄存器文件地址包含在指令代码中,它是指令 代码的低5 位; 间接寻址,f s r 寄存器中存放地址指针,i n d f 是一个虚拟寄存器,访 问i n d f 时,地址由f s r 提供; 隐含寻址,有些指令中隐含了对工作寄存器的寻址,如o p t i o n 等; 2 1 4r i s c 指令集和两级指令流水 1 r i s c 指令集 h g d 0 8 r 0 1 是一种r i s c 的m c u ,它具有许多r i s c 机的特点,集中体现 为如下两点: 所有指令都是固定的1 2 位,都是单字的宽字位指令,除了程序分支 指令是双周期的,其余指令都是单周期的指令: 指令的功能不交叉,指令格式只有简单的几种,寻址方式较少; 上述几点突出体现了h g d 0 8 r 0 1 的r i s c 风格,从中可以发现哈佛结构和 后面将介绍的两级流水结构与r i s c 指令系统有着非常密切的关系,因为从体 系结构来看,它们是h g d 0 8 r 0 1 的三个突出的特点,所以把它们分别做详细的 介绍。

温馨提示

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

评论

0/150

提交评论