




已阅读5页,还剩62页未读, 继续免费阅读
(电路与系统专业论文)8位低功耗嵌入式微控制器设计及混合信号仿真.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士音位论义一 8 位 低 功 耗 嵌 入 式 微 拧 制 器 设汁 )i in 合 信号 仿 真 摘要 本文在对p i c l 6 c 7 1 和e m7 8 0 1 5 6 两款mc i 的指令集和系统结构进行深入 分析的基础上,按照自顶向下的数字集成电路设计流程,完成了mc u 2 0 0 3 微控 制器的微体系结构的定义和各个功能模块的划分,建立了 c语言参考模型。针 对mc u设计的低功耗、低成本、高性能需求,本文对电路结构进行优化,对时 钟切换和门控时钟电路进行了比较深入的研究。 本文首先建立了高度自 动化的设计验证平台, 之后采用可综合的硬件描述语 台 v e r i l o g语b 实 现对 m c u各 个模块的设计。 软件仿真平台采用 s y n o p s y s 的 v c s ,采用 c模型作为功能验证的参考模型。 硬件验证平台用x i l i n x 的2 0 万门 r i g a x c 2 s 2 0 0 p q 2 o 8 搭建。 用s y n o p s y s d e s i g n c o m p i l e r 完成综合和测试扫描链 插入 时钟树综合和布局布线1具采用c a d e n c e s i l ic o n e n s e m b l e 。 在整个设计过 程中,每个阶段结束都进行了相应的验证。 在完 成m c u a !1 试版本的 基础上, 本文还用s y n o p s y s 的d i s c o v e r y a m s 建立 了 混和信号仿真平台, 在mc u中集成一个8 位逐次逼近式a / d转换器, 并且成 功通过了混和信号仿真。 本文还在mc u的设计过程中, 数字集成电路自 顶向下的设计流程进行了研 究和探讨。 关 键词:mc u低功耗 验证 设计流程 指令集体系结构 混和信号仿真 晰江大誉硕士学位伦久一 8 位低功耗嵌入式微控制器设计 及混合信号 仿真 ab s t r a c t t h e t h e s i s c o m p l e t e d a n 8 - b i t mc u ( mi c r o c o n t r o l l e r u n i t ) fr o m fr o n t - e n d t o b a c k - e n d . a c c o r d i n g t o t o p - d o w n a s i c d e s i g n fl o w , i s a ( i n s t r u c t i o n s e t a r c h i t e c t u r e ) a n d s y s t e m s t r u c t u r e o f p i c 1 6 c 7 1 a n d e m7 8 0 1 5 6 w e r e t h o r o u g h l y a n a l y s i s e d . t h e n m i c r o - a r c h i t e c t u r e a n d f u n c t i o n a l m o d u l e s p e c i f i c a t i o n w e r e d e f i n e d , a n d a c r e f e r e n c e m o d e l o f t h e mc u w a s a l s o d e v e l o p e d . wit h t h e r e q u i r e m e n t s o f l o w p o w e r , l o w c o s t a n d h i g h p e r f o r m a n c e , t h e t h e s i s o p t i m i z e d c ir c u i t s t r u c t u r e a n d s t u d i e d c l o c k s w i t c h a n d c l o c k - g a t in g c i r c u i t i n - d e p t h . a t f i r s t , a h i g h a u t o m a t i o n d e s i g n a n d v e r i f i c a t i o n p l a t f o r m w a s d e v e l o p e d , t h e n a l l t h e mo d u l e s o f t h e mc u we r e s y n o p s y s v c s w a s e m p l o y e d a s t h e d e v e l o p e d u s i n g s y n t h e s i z a b l e v e r i l o g h d l . v e r i fi c a t i o n t o o l , a c r e f e r e n c e mo d e l w a s u s e d a s a g o l d e n m o d e l o f t h e mc u . h a r d w a r e v e r i f i c a t i o n p l a t f o r m w a s d e v e l o p e d o n x i li n x x c 2 s 2 0 0 p g 2 0 8 . s y n o p s y s d e s i g n c o m p i l e r w a s c h o o s e d a s s y n t h e s i s a n d d f t s c a n c h a i n i n s e r t i o n t o o l . c l o c k t r e e s y n t h e s i s a n d p l a c e 二是不断提高性能,以满足便携、 无线应用的需求: 三是走通用化道路,而不是 专门v对某 一个应用。 浙江大含硕士李位伦次- 8 位低功耗11x 入式微控制器设计及混合信号 仿真 1 . 1 . 2 混合信号设计 在 i c设计和制造业迅速发展的今大,数字集成电路的规模,速度和成本i f . 沿着摩尔定律指定的道路发展,mc u的数字部分的性能与人们希望值之间的差 距在不断 地缩小2 1 。 但m c u在模拟方面的进展却与于数字方面的发展速度不相 匹配, 分离元件和小规模专用功能集成电路仍然是嵌入式系统模拟信号处理的主 流, 它们的 存在障 碍了 嵌入式系 统的 发展 3 8 1 。 因 此 在m c u中 不断 地增加 集成 模 拟单元的数r 和质量, 将是降低嵌入式系统开发成本和生产成本, 提高产品上市 时间的一 项重要措施。 1 . 2 本文工作内容 本 文 采 用自 顶向 下的 设 计方 法 1 2 1 , 在 分 析p i c 1 6 c 7 1 3 6 和e m 7 8 0 1 5 6 3 7 的 体 系结构和指令集的基础上,定义mc u 2 0 0 3 的微体系结构,完成 mc u 2 0 0 3 核的 设计。在mc u 2 0 0 3核设计完成后,在 mc u 2 0 0 3中集成一个 a d c模块,探索 数字模拟混合信号仿真。 本文的主要1 : 作内容有: . m c u 2 0 0 3设计仿真平台的搭建以 及设计流程的探讨。数字前端t 作在 l in u x 平 台 下 完 成, 采 用v c s 3 3 和d e b u s s y 3 5 1作 为 仿 真 调 试 工 具: 验 证 平台采用s y n o p s y s 的数字 仿真器v c s ,结合c语言 编写的 参考模型, 采用 p e r l 语言 1 1 ! 完成结果比 较和错误查找;综合和测试链插入采用 s y n o p s y s 的d e s ig n c o m p i le r 13 1 1 . f p g a验 证 采用x i l in x开 发 版 在 w i n d o w s 平台下,分别采用i s e , s y n p l i f y , m o d e l s i m完成布局a线、 综合和仿真。 数字 后 端 采用c a d a n c e 公 司的s i l i c o n e n s e m b l e 3 4 完 成n t 中 树 综合 和 布 局 布 线, 采 用s y n o p s y s 的p r im e t i m e 3 3 完 成 静 态时 序 分 析 验 证 口 . 在研究 e m7 8 0 1 5 6的指令集体系结构的基础上,定义了 mc u 2 0 0 3的微 体系结构,并开发出相应的c语台原型 ( c原型) 。 浙江大李硕士李位祛炙 一 洲1 . 1 l 功耗嵌入式微榨制器设计 及混合信号 仿真 . 根据微体系结构完成mc u 2 0 0 3 的r t l 代码。 搭建验证平台, 并根据c原 型对这个 mc u 2 0 0 3 进行验证。 . 对r t l代码进行综合、 后仿真、 f p g a验证、 布局布线、 设计规则检查。 . 在完成整个 mc u 2 0 0 3的基础上,在混合信号仿真方面进行研究。在 m c u 2 0 0 3中集成一个 8位逐次逼近式 a d c ,并采用 s y n o p s y s的 d i s c o v e r y a m s 2 7 完成混和 信号 验证。 浙江大哮硕士李位伶式一 8 位低功耗嵌 入 式微并制 器设计 及混合 信号 仿 真 第2 章 设计方法论 在集成电路设计过程中, 设计流程对产品的可靠性, 对产品的设计时间( t i m e to m a r k e t )的影响都非常大 u -4 1 。而仿真验证环境则对整个集成电 路设计提供了 很好的 c a d支持。 2 . 1 设计流程 设计流程是整个集成电路设计的方法论, 在整个集成电路设计中起着纲领性 的作用。 一个规范的设计流程保证了设计出来的芯片的可靠性, 同时也会大大缩 短设计时间。 本文 采用的设 计流程a l 如图2 . 1 - 1 所示, 步 骤如下: 1 .体系结构和工作特性的定义。 2 .参考模型 ( c原型)和r t l代码的编写 3 .根据 c 原型对 r t l代码进行功能验证。 4 . f p g a验证。 5 逻辑综合、优化以及测试扫描链的插入。 6 .对综合后的代码和综合前的代码进行形式验证 7 . 对综合后的代码做静态时序分析 ( s t a ) ,如果时序不满足要求,回到第 5 步,或者到第2 步,修改r t l代码。 8对 综 合出 来的 网 表 进 行布 局、 时 钟 树 插 入以 及 全 局 布 线( g l o b a l r o u t in g ) . 9 从后端工具中提取网表到 d c中,重新综合。 .对插入时钟树的网表和插入扫描链的网表进行形式验证。 . 做全局布线后的s t a , 如果时序不满足, 需要重新布局或者重新做综合 1 2 .继续步骤 8的l 作,对全局布线后的版图进行细节布线 ( d e t a i l e d r o u t i n g ) 浙江土学硕士学位论文一8 位低功耗嵌入一微挣制擀吐汁艟混台信吁仿真 第2 章设计方法论 在集成电路设计过程中,设计流程对产品的可靠性,对产品的设计时问( t i m e t om a r k e t ) 的影响都非常大1 。而仿真验证环境则对整个集成电路设计提供了 很好的c a d 支持。 2 1 设计流程 设计流程是整个集成电路设计的方法论,在整个集成电路设计中起着纲领性 的作用。一个规范的设计流程保证了设计出来的芯片的可靠性,同时也会大大缩 短设计时间。 本文采用的设计流程【2 1 如图2 1 1 所示,步骤如下 1 体系结构和工作特性的定义。 2 参考模型( c 原型) 和r t l 代码的编写。 3 根据c 原型对r t l 代码进行功能验证。 4 f p g a 验证。 5 逻辑综合、优化以及测试扫描链的插入。 6 对综合后的代码和综合前的代码进行形式验证。 7 刈综合后的代码做静念时序分析( s t a ) ,如果时序不满足要求,回到第 5 步,或者到第2 步,修改r t l 代码。 8 对综合出来的网表进行布局、时钟树插入以及全局布线( g l o b a lr o u t i n g ) 。 9 从后端工具中提取网表到d c 中重新综合。 1 0 对插入时钟树的网表和插入扫描链的网表进行形式验证。 1 1 做全局布线后的s t a ,如果时序不满足,需要重新布局或者重新做综合。 1 2 继续步骤8 的:_ i = 作,对全局布线后的版图进行细节布线( d e t a i l e d r o u t i n g ) 晰江土学硕士学位论文一8 位低功耗嵌入式微控制器改计及混台信0 仿真 1 3 从后端工具导出网表到d c ,做布线后s t a 。如果时序不满足要求,要 求从第8 步或者第5 步重新开始。 1 4 对最后的版图做l v s 和d r c 检查,如果通过检查,则送到f o u n d r y 流 片,如果通不过检查,要求从第8 步或第5 步重新丌始。 2 2 设计平台 图21 1 设计流程 漫计平台对整个集成电路设计流程提供了完整的e d a 支持,保障整个设计 能够完整高效的进行。对设计平台的要求是要提供整个设计流程的e d a 软件, 浙江上学硕士学位论文8 位低功耗嵌入式微控制器吐计搜混台竹o j 仿真 并且配置这些软件的工作目录以及工作环境,使设计人员能顺利进行设计工作。 熬个目录树建立在s u ns o l a r i s 平台下,如图2 2 一l 所示。 所有文件在m c u 目录下,s r c 目录里面包含了所有的源代码,由u n i x 下 的c v s 做版本控制,各个开发人员在c v s 的帮助下维护自己的代码。s y n 目录 是综合的工作目录,s y n 目录下有启动d e s i g nc o m p i l e r 需要的s y n o p s y s _ d c ,s e t u p 。 在s y n 目录下有s c r i p t 、d b 、n e t l i s t 、r p t 、l o g 等目录,分别用来存放综合用的脚 本、综合中生成的d b 文件、综合后的网表、综合报告、综合的同志文件。s i m 日录是仿真的工作目录,c m o d e l 目录包含c 语言原型、随机指令发生器,r t l 目录旱面是综合前的r t l 代码,g a t e 目录是综合后的门级网表,s c r i p t 目录是 仿真验证用的脚本。p 3 . 1 . 1 指令集分析 流行的 指令集有r i s c和c i s c 两类f 1 j , c i s c 指令集指令密度大, 但是指令 长度长短不一, 每条指令的执行周期也不一样, 这样势必导致译码和控制电路结 构复杂。而r i s c指令集指令长度一致,译码和控制电路相对简单, 但是因为其 指令密度小, 所以经常采用深流水线结构,这样导致电路结构复杂,不适合在8 位 mc u 2 0 0 3,书实现口 e m 7 8 0 1 5 6 的 指令集是类r i s c指令集, 它的指令长度固定, 指令密度适中, 使用较浅的指令流水线结构。 基于这样的指令集体系结构的mc u 2 0 0 3 的电路结 构非常简单。 e m 7 8 0 1 5 6 单片机共有5 9 条指令, 宽度为1 3 位。 每一条指令码都可分割成 两部份,第一部分为标示指令功能的操作码 ( o p c o d e ) ,第二部份是运算时 所 需要的参数,口 l i 做操作数 ( o p e r a n d ) ,有些指令没有操作数。按照指令的功 能和对数据通道的使用,指令大致可以分为下列五种: . 控制指令,如 i n t , c a l l , j m p , n o p , r e t等不修改寄存器,只修 改m c u 2 0 0 3 运行指令的 流程的指令。 . 数据传输指令,如mo v , i o w, i o r等指令。 . 位操作指令,如s l e d , wd t c , e n i , d i s i , b c , b s等对寄存器某一 浙卜大曦硕士学位论炙一 洲洲氏 功耗嵌入式微r , 制器设计 及混合信号 仿真 位进行置一 或者清零的指令。 . 运算指令,如a d d , x o r , a n d等主要是需要a l u做一些运算的指 令。 . 复合指令, 如r e t l , j b c , j b s 等含有以上类别中两类以上功能的指令。 引入这样的指令降低了指令集的正交性, 增加了电路的复杂度, 但是引 入这样的指令能大大加快mc u 2 0 0 3 执行指令的速度。 以上是对指令按功能进行归类, 按照这样的指令集设计mc u 2 0 0 3 核的微体 系结 构 框架, 需 要对 指令集 进行 进 一步的 分 析阎 。 首 先要分析根据这样的 指令 集 体系结构, 整个mc u 2 0 0 3 核由哪些功能模块构成。 之后开始设计数据通道, 数 据通道主要是算术逻辑单元 ( a l u) ,这时需要对每条指令进行分析,为每条指 令设计一个 a l u 。然后把这些 a l u进行归纳化简,设计出一个多功能的共用 a l u 同时定义每条指令应该输出的a l u操作 a l u o f ) . 3 . 1 . 2 系统架构 户 c s t a c k p e r o 卜 刀 c o nt r o l l e r d ocod a r a l u s fr a cc 图 3 . 1 一 ,基本系统架构图 晰江文学硕士学位话支一h 他低山耗嵌入,c 微捧制群矬| 十发混台信i j 仿真 位进行置或者清零的指令。 运算指令,如a d d 、x o r 、a n d 等主要是需要a l u 做一些运算的指 令。 复合指令,如r e t l 、j b c 、j b s 等吉有以上类别中两类以上功能的指令。 引入这样的指令降低了指令集的f 交性,增加了电路的复杂度,但是引 入这样的指令能大大栅陕m c u 2 0 0 3 执行指令的速度。 以上是对指令按功能进行归类,按照这样的指令集设计m c u 2 0 0 3 核的微体 系结构框架,需要对指令集进行进一步的分析d 】。首先要分析根据这样的指令集 体系结构整个m c u 2 0 0 3 核由哪些功能模块构成。之后丌始设计数据通道,数 抓通道主要是算术逻辑单元( a l u ) ,这时需要对每条指令进行分析,为每条指 令设计一个a l u 。然后把这些a l u 进行归纳化简,设计出一个多功能的共用 a l u 。同时定义每条指令应该输出的a l u 操作( a l u o p ) 。 3 1 2系统架构 图3 1 1 基本系统架构图 晰江土学硕士学位论文一8 位低功耗收入式微控制器改计及混台倩l _ l 仿真 对这5 9 条指令的分析可知,整个m c u 2 0 0 3 核需要以下几个模块:程序指 8 t 。堆栈( p cs t a c k ) 、程序计数器( p c ) 、程序存储器( r o m ) 、控制器( c o n t r o l l e r ) 、 指令译码器( d e c o d e r ) 、算术逻辑单元( a l u ) 、累加器( a c c ) 、特殊功能寄存 器( s f r ) 。简单的系统架构图如图31 1 所示。 根据指令集,定义图3 1 1 的各个模块的输入输出。 l 、p cs t a c k p cs t a c k 是一个八级的循环堆栈,在m c u 2 0 0 3 处理中断或者调用子程序的 时候,将p c 压栈,在处理完中断或子程序返回的时候,再将栈顶的p c 值弹出。 所以p cs t a c k 模块的输入从p c 模块来的1 3 位的p c 值,输出是给p c 模块的 p c 值,还有c o n t r o l l e r 控制p cs t a c k 压栈出栈的控制信号。 2 、p c p c 由三部分组成,低八位是r 2 ,高三位是r 5 的低三位,p c 8 :9 】在运行时 刻决定。修改p c 有六种可能: p c 的自加运算,每执行一条指令,p c 加1 堆栈的弹出,在子程序返回或者中断服务程序返回的时候,p c 值更新 为栈顶值: 中断向量,处理中断的时候,p c 值变成中断处理程序的首地址 分支跳转指令,如j m p ,c a l l 等指令 普通指令对p c 寄存器r 2 的修改 普通指令或者p a g e 指令对r 5 低3 位的修改。 h t t 以上分析可知,p c 的输入四有种,p c + i ,堆栈弹出( p o p ) ,中断向量 ( i n t e r r u p tv e c t o r ) ,立即数( 所有修改r 2 和r 5 的指令) 。p c 的输出是r o m 的 浙讧史学硕士学位论文一8 位低助耗嵌入式微控制器世计i ! ;乏混台信号仿真 输入。 3 、r o m m c u 2 0 0 3 罩面的r o m 相当于程序存储器,存储m c u 2 0 0 3 执行的程序。因 为指令的长度是1 3 位,所以r o m 也是1 3 位的,又因为程序计数器p c 的宽度 为1 3 位,即p c 可以寻址8 k 的r o m ,所以r o m 的容量应该是8 k 1 3 。 4 、c o n t r o l l e r 本设计使用类r i s c 指令集,对数据通道的控制很简单,所以c o n t r o l l e r 模 块在m c u 2 0 0 3 中的作用主要是处理中断。中断来的时候,c o n t r o l l e r 会把c a l l i n t e r r u p t v e c t o r 指令传给d e c o d e r 。 5 、d e c o d e r 译码模块主要完成对指令的译码,产生a l u o p 等控制输入选择信号。为保 证m c u 2 0 0 3 的萨常工作,所有异常指令应该作为n o p 指令。 6 、a l u 由对各条指令的详细分析可知,a l u 要完成指令中的加、减、与、或、异 或、取反、自加、自减、移位、交换、移位等所有数据操作。a l u 的控制输入 来自d e c o d e r 对指令的译码,a l u 的数据输入有寄存器值、累加器值、立即数、 移位数、位操作位置等。 虽然a l u 的数据输入有这么多,但是根据对指令的分析,每条指令最多只 有两个操作数,所有同一时刻对a l u 的输入只有两个,所以需要对a l u 的数 据输入进行归类。具体的归类将在下一小节数掘通道设计中阐述。 7 、存储器 根据指令集,m c u 2 0 0 3 的存储器分成五个部分,控制寄存器( c o n t ) 、输 入输出寄存器( i o r ) 、累加器( a c c ) 、特殊功能寄存器( s f r ) 和寄存器堆( r e g i s t e r f i l e ) 。其中控制寄存器只能由c o n t w 和c o n t r 来读写,输入输出寄存器只 晰江土学j 置士学位论文一8 位低助耗嵌入| l = i = 微挣制槲耻汁驶混合f 斋l ,仿真 能d ii o rr 和 o wr 末读写,而累加器作为运算结果的中闻值,只能由需要累 加器参与运算的指令访问。特殊功能寄存器包括1 6 个寄存器,通用寄存器包括 l 组1 6 b y t e 的通用存储器,4 组3 2 b y t e 的存储器,这些寄存器都可以直接通过指 令进行访问。特殊功能寄存器中含有p c 的低8 位r 2 、程序状态字寄存器r 3 、 端口输入输出寄存器、中断标志位等。 图31 - 2 进一步的体系结构图 根据以上分析,可以画出更洋细的系统结构图,如图3 i 2 所示。根据图31 2 可以说明一条指令的执行过程:堆栈跟p c 相连,可以根据c o n t r o l l e r 的控制压 晰江土学顾士学位论文- 8 位低功耗嵌八“微控制器髓计及混合信0 仿真 栈或弹出。p c 值可以来自p c + i 、中断向量以及特殊功能寄存器中的相应值。p c 值作为r o m 的地址,r o m 输出相应的指令给c o n t r o l l e r ,c o n t r o l l e r 根据中断状 态的变化把指令传给d e c o d e r ,d e c o d e r 对指令译码,输出对a l u 的操作码 ( a l u o p ) 、访问寄存器的地址信号、读写信号、输给a l u 的立即数以及为操 作的位营。a l u 根据输入的操作码透行运算,根据c o n t r o l l e r 的控制,输出结果 到相应的寄存器。 3 2 数据通道设计 出图3 1 2 可知,整个m c u 2 0 0 3 核的工作过程是指令从土而下的控制流和 经过a l u 的数据流的流动过程。数据从寄存器或者指令的立即数出发,经过a l u 的运算,最后到达寄存器,这就是一个数据通道。数据通道的设计是整个 m c u 2 0 0 3 设计的基础。 a l u 部分是整个数据通道的核心,所有的数据都要经过a l u 处理。整个数 据通道的设计过程,很大一部分就是a l u 设计的过程。为一个m c u 2 0 0 3 核设 计一个a l u ,要从为每一条指令设计个a l u 开始。设计好每一条指令的a l u 之后对这些a l u 进行归纳,最后简化成一个多功能的a l u 。 f 面将选取六条具有代表性的指令,为这些指令设计a l u 。 1 d a a d a a 附柬调整在累加器中的8 位二进位数值,使累加器中的数值变成1 0 进 制的表示法,分别用高4 位和低4 位表示十位和个位。d a a 的算法如下一页的 程序所示:a r i t ha 是来自累加器a c c 的输入,d c i 和c i 分别是辅助进位标志位输 入和进位标志位输入,a r i t hd e s 是调整结果,d c o 和c o 分别是辅助进位标志和进 位标志输出。因为d a a 指令不影响程序状态字中的辅助进位标志位所以d c o 的输出应该被屏蔽。如果累加器的坻4 位大于9 或者d c i 为l ,那么a r i t hd e s 疗勺 低4 位是a r i t ha 的低4 位加6 。如果累加器的高4 位大于9 ,或者高4 位加上d c o 后大f9 ,那么a r i t h d e s 的高四位是a r i t h _ a 的高四位加6 的结果,c o 是这个加 晰杯大李硕士学位伦久- 8 位低功耗嵌 入 式 微扮制器设 计及混合信甘 仿真 栈或弹出 p c值可以来自p c + l 、 中断向量以及特殊功能寄存器中的相应值。 p c 值作为r o m的地址, r o m输出相应的指令给c o n t r o l l e r , c o n t r o l l e r 根据中断状 态的变化、把指令传给 d e c o d e r , d e c o d e r对指令译码,输出对 a l u 的操作码 ( a l u o p ) 、访问寄存器的地址信号、读写信号、输给 a l u的立即数以及为操 作的位w o a l u根据输入的操作码进行运算, 根据c o n t r o l l e : 的控制, 输出结果 到相应的寄存器。 ; 3 . 2数据通道设计 由图3 . i - 2 可知,整个mc u 2 0 0 3 核的工作过程是指令从上而下的控制流和 经过a l u的数据流的流动过程。 数据从寄存器或者指令的立即数出发, 经过a l u 的运算,最后到达寄存器,这就是一个数据通道。数据通道的设计是整个 mc u 2 0 0 3 设计的基础。 a l u部分是整个数据通道的核心, 所有的数据都要经过a l u处理。 整个数 据通道的设计过程,很大一部分就是a l u设计的过程。为一个 mc u 2 0 0 3 核设 计一个a l u , 要从为每一条指令设计一个a l u开始。 设计好每一条指令的a l u 之后,对这些a l u进行归纳,最后简化成一个多功能的a l u . 下 面将选取六条具有代表性的指令,为这些指令设计a l u . da a d a a用来调整在累加器中的8 位二进位数值, 使累加器中的数值变成1 0 进 制的表示法,分别用高4 位和低4 位表示十位和个位。d a a的算法如下一页的 程 序 所 示: a r it h a 是 来自 累 加器a c e 的 输 入, d c i 和c i 分 别 是辅 助 进 位标 志 位输 入 和进位标志位输入, a r i t h d e s 是调整结果, d c o 和c 。 分别是辅助进位标志和进 位标志输出。因为d a a指令不影响程序状态字中的辅助进位标志位, 所以d c o 的 输出 应该被屏蔽。如果累加器的低4 位大于9 或者d c i 为】 ,那么a r i t h d e s 的 低4 位是a r i t h es a 的 低4 位加6 。 如 果累 加器的 高4 位大于9 , 或者高4 位加 上d c o 后 大于9 , 那么a r i t h _ d e s 的高四 位是a r i th a 的 高四 位加6 的结 果, c o 是 这 个加 晰江大学硕士李位伦次- a 位低功耗嵌入式微控$ i1 器设计 及混 合信号 仿真 法的 进位, 否则a r i t h d e s 的高四位就是a r i t h _ a 的高四 位, c o 为零。 根据这段v e r i l o g 程序,可以画出相应于 d a a的a l u的结构框图如图3 .2 - 1 所示。 i f ( ( a r i t h _ a 3 : 0 d c o , a r i t h - d e s 3 : el s e d c o , a r i t h d e s 3: 4 , h 9 ) d c i ) 0 of = a r i 七 h a 3 : 0 + 4 ; h 6 ; = 1 b 0 , a r i t h a 3; 0 ; i f ( ( a r i t h a 7: 4 1 4 h 9 ) c o else ( c o ( d c o a r i t h d e s 7 : 4 1 = ( d c o , a r i t h a 7 : 4 1 ; 图 3 .2 - 1 d a a的a l u 图中使用粗实心箭头表示对两个 a l u的输入是否加 6的控制。这个 a l u 使用了2 个带进位的4位加法器。 2 . cl ra c l r a指令用来清除累加器,同峙设定z 标志。 c l r指令的实现方式有很 多 利 , , 因为指令集中有a n d和m o v等指令, 所以 可以相应用a n d a , 0 或m o v a . 0来实现 c l r a . . 4 晰g l 大李硕士学位论次- 8 位低功耗嵌入式微控制器设计及混合信号 仿真 3 . s ub a. r s u b指令的功能是将 r寄存器中的值减去累加器 a中的值,再存回累加器 a . 影响z , d c . c标志位。二进制减法是用补码实现的, 减去一个数就是加上 这个数的补码。s u b a , r的a l u实现如图3 .2 - 2 所示,减法使用一个加法单 元 实 现。 r 7 : 0 一 a 7 :0 一 r 7 : 0 + - -a 7 :0 + 1 b 1 ,即r加上a的反码, 再加上进 位 1 。 a p: 0 1 图 3 . 2 - 2 s u b a , r的a l u 4 . dec r d e c r指令的作用是将所指定的r寄 存器的值减 1 后存回r寄存器。 这条 指令可以 借用s u b指令使用的加法单元实现,如图3 .2 - 3 所示。 r 口一 0 1 二 丫二丁一 bh t 厂。 j 匕 /丁 1 图 3 .2 - 3 d e c r的a l u 5 . a nd a , r a n d a , r 指令的功能是 将累 加器a的值和寄 存器r的值相与, 并将结果存 入累加器a 。这个指令的硬件实现如图3 .2 - 4 所示,电路由8 个与门构成。 浙卜大李城士李位铃次- a 位低功耗嵌入式微r : 制器la计 及混合信号 仿真 r 7 :0 a 7 :0 i二 )a7:0 图 3 . 2 - 4 a n d a , r的a l u 6 . b c r . b b c r , b 指令的功能是把寄存器r的b 位清零。 这条指令的实现方法是把寄 存器r与2 “ 相与, 再把结果写回寄存器r 。 这条指令的a l u电路实现如图3 .2 - 5 所示,山一个3 - 8 线译码器和八个与门组成。 r 7 :0 b 2 :0 图 3 .2 - 5 b c r , b的a l u 如分析以上六条指令一样,分析附录a中的5 9 条指令。按照实现这些指令 需要的资源,可以分成以下几类: 加法指令,所有使用加法器作为运算单元的指令,有d a a , t b l , s u b , a d d , d e c , i n c , j z , d j z等指令, m o v指令也可以由 加 法实现。 2 .与指令, 所有使用一个与门作为运算单元的指令, 如a n d , b c等, c l r指令也可以由个与门实砌 . 。 3 .或指令,所有使用一个或门作为运算单元的指令,如o r , b s 等。 a .非指令,所有使用一个非门作为运算单元的指令,如c o m. 5 .数据传输指令, 这些指令只需要交换数据线, 如i o w, i o r , c o n t r , c o n t w, r l c , r r c , s w a p等。 晰卜大李硕士李恨恰炙- a 位低功耗嵌入式微控制器设计 及混合信号 仿真 根据以 f : 的分类,可以知道归为同一类的指令可以用相同的a l u电路结构 实现 实现这 5 9 条指令并不需要5 9 个逻辑功能模块, 很多指令可以共享部分的 逻辑功能模块。所以整个 a l u可以由如图3 .2 - 6 所示的结构来实现; al uop 一- 一 - - -一 3 - 一 一一 一卜- 一 一1 b 7 勿 t es d b u s 7 : 0 c coz 图 3 .2 - 6 a l u结构图 图3 .2 - 6是整个a l u模块的功能 结构框图, 只有加法器的 输入使用了 数据 选择器, 其他功能单元都是独立输入, 经过数据选择器输出到数据总线 ( d b u s ) . 浙江大李艰士李位论义- e 位低功 耗嵌 入式微 控制 器设计 及混合信号 仿真 图3 .2 - 6 只是功能结构框图,具体电路实现的时候,还可以再优化,以减少运算 延时。图3 .2 - 6 中的关键路径 ( c i r t i c a l p a t h )是 经过加法器的路径,因为 加法器 引入的延时最长。数据经过加法器之后,还要经过一个 1 6 选 1 的数据选择器。 把图 3 .2 - 6的电路结构改成如图 3 .2 - 7所示的电路结构,数据经过加法器之后只 要经过一个 2 选 i 的数据选择器,因此大大减少了延时。 但是因为增加了组2 选 1 的数据选择器,增加了实现电路需要的面积。在最终做流水线设计的时候, 可以根据系统对性能/ 面积的要求,在图3 .2 - 6 和图3 .2 - 7 的电路中选择一个。 aluop b i t t e s t d b u s 7 : 0 c cdz 图 3 .2 - 7时间优化后的a l u 晰江大李硕士含位格 炙- 8 位低j 力 耗fix k式微拄制器设计 及混合信号 仿真 3 . 3存储器设计 按不同的访问指令,iv f c u 2 0 0 3的存储器分成五个部分,控制寄存器 ( c o n t ) , 输入输出控制寄存器( i o c r ) , 累加器( a c e ) 、 特殊功能寄存器( s f r ) 和寄 存器堆 ( r e g i s t e r f i le ) , ; 3 . 3 寄存器 控制寄存器 765 432 10 xgi ex xxp s r2 p s ri p s ro 控制寄存器由c o n t r和c o n t w指令访问, 又控制寄存器包含中断使能 位 ( g i e ) ,所以影响中断使能位的指令如e n i , d i s i , r e t i 也影响控制寄存器。 控制寄存器的低 3 位作为是计数器的分频控制器。 2 . i o c寄存器 i o c寄存器由i o c r和i o c w 访问。 i o c r和1 0 c w指令的低4 位作为i o c 寄存器的 地址, i o c分成两页,由 特殊功能寄存器r 3 的p a g e位作为页指针。 i o c寄存器包含对输入输 出端口的输入输出的选择、中断屏蔽位、 对p 7 输入输 出端口 的上拉使能、 两个计数器等外设的配置位等。 i o c寄存器的结构如图3 .3 - 1 所示: i o c 5 ( p o r t 5 c o n t r o l) oc 6 ( p or t 6 c o n t r o l ) _i o c 7 ( p o r t 7 c o n t r o l ) i o c s ( n o t i mp l e m e n t e d ) i oc 9 ( p or t 9 c o n t r o l ) ioc a( p 9 s , l c d b i a s ) i o c a i ( d e d , l b d ) i o c b ( r e s e r v e d )i oc b i ( c ou n t e r i ) i o c c ( r e s e r v e d )i o c ci ( c ou n t e r 2 ) i o c d ( t o ne 1 )i o c d i ( p 7 p u l l h i g h ) i o c e ( t o ne 2 ) i o c e 1 (p s c ) f 0 c f ( i n t e r r u p t ma sk ) 图 3 . 3 - 1 i o c寄存器 浙江大学成士李位格文一 8 位低功耗嵌入式微控制器a 计及混合信号 仿真 3 .累加器 在指令集体系结构引入寄存器一 累加器结构,减短了指令长度。但是累加器 的引入降低了指令的执行效率。 4 .特殊功能寄存器 特殊功能寄存器包括 1 6 个寄存器。r q 是间接寻址寄存器,对r o 的访问相 当于访问r 4 指向的寄存器。 r i 是一个计数器,计数器溢出将触发中断。 r 2 是 程序计数器p c的低8 位。 r 3 是程序状态字,包含i o c寄存器的页面地址、 标 志开机状态的t位和p 位、以 及标志溢出的程序状态字z , d c , c等。 r 4 是间 接寻址指针。 r 5 的高4 位是输入输出端口p 5 的输入输出寄存器, 低3 位是程序 计数器中的页面地址位。 r 6 , r 7 , r 9 分别是端口p 6 , p 7 , p 9的输入输出寄存 器。r 8 保留作其它用途。 r a是锁相环p l l的使能寄存器。r b , r c , r d实现 对c i d存储器的间接寻址,r b的最低位实 现对c i d的b a n k的寻址,r c作为 c i d存储器的地址, r d实现间接寻址, 对r d的访问就是对r b和r c指向的 c i d存储器的访问。 r e 包含看门狗使能位和休眠使能位。 r f 是中断标志寄存器。 图 3 . 3 - 2 s f r 晰tl大李硕士李位伦失- a 位低功耗嵌入式微控制器设计 及混合信号 仿真 3 . 3 . 2 寄存器重映象 图 3 . 3 - 2是特殊功能寄存器的结构图,是 mc u 2 0 0 3的用户看到的存储器结 构图。 实际电 路实现的时候, 1 6 个特殊功能寄 存器用寄存器实现, 但是如果1 6 b y t e 的 通用存储器、 4 组3 2 b y t e 的存储器和2 组2 5 6 b y t e 的c i d存储器也用寄存器实 现,将浪费大量的芯片面积。为了节约面积,这些存储器使用 s r a m实现,一 共需要6 5 6 b y t e 的s r a m。用s r a m实 现的时候,为节约面积, s r a m不能像 图3 .3 - 2 一样分块。 实际中使用一块s r a m实现这些寄存器, 这时需要一个简单 的电路实现地址重映象,如下表所示: l o w 6 - b i t o f i n s t r u c t i o n r e g i s t e r n a m e s r am a d d r e s s 0 0 】 1 0 1c i d 0 , c b a n k s e l , c i d a d d r i x x x x x 4 b a n k r e g i s t e r 1 0 0 , r s r 7 : 6 , r a d d r 4 : 0 1 ) 0 1 x x x x c o mm o n r e g i s t e r 6 b 1 0 1 0 0 0 , r a d d r 3 :0 3 . 4 流水线 采用流水线可以提高硬件的工作频率,是是一种提高硬件利用率的 技术15 1 如图3 .4 - 1 所示, a 是采用流水线前的电路,工作周期是组合电路延时加上寄存 器的 时 序 参数( s e t u p t i m e ) . b 中 把组 合逻辑电 路 分 段, 工作周
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建龙岩市第一医院医技、行政后勤岗位编外人员招聘7人考前自测高频考点模拟试题及1套参考答案详解
- 2025年淮南联合大学招聘硕士研究生及以上人才14人考前自测高频考点模拟试题附答案详解(完整版)
- 上饶卫校考试题目及答案
- 隧道整治修理方案范本
- 拆除不锈钢管施工方案
- 学前自考本科真题及答案
- 猪场安全生产试题及答案
- 施工接电进度方案范本
- 泸州机场防护网施工方案
- 水利钢闸门涂装施工方案
- 秋季流行服饰与衣料的准备-生产计划讲义教材
- 七年级上册地理人教版知识清单
- HDPE塑钢缠绕排水管施工方案
- 二十案例示轮回
- 蒋诗萌小品《谁杀死了周日》台词完整版
- 农业综合行政执法大比武试题库(试题及答案)
- 住宅小区中水回用初步设计说明书
- (新版)婴幼儿发展引导员(初级)技能鉴定理论试题库(含答案)
- 颅高压危象课件
- 《椎管内肿瘤》课件
- 志愿服务证明(多模板)
评论
0/150
提交评论