(电路与系统专业论文)8086微处理器ip软核设计技术的研究.pdf_第1页
(电路与系统专业论文)8086微处理器ip软核设计技术的研究.pdf_第2页
(电路与系统专业论文)8086微处理器ip软核设计技术的研究.pdf_第3页
(电路与系统专业论文)8086微处理器ip软核设计技术的研究.pdf_第4页
(电路与系统专业论文)8086微处理器ip软核设计技术的研究.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(电路与系统专业论文)8086微处理器ip软核设计技术的研究.pdf.pdf 免费下载

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

文档简介

8 0 8 6 微处理器i p 软核设计技术的研究 摘要 集成电路进入s o c 阶段以后,基于i p 核重用的s o c 设计方法已经成为目 前s o c 设计方法主流之一。我国集成电路设计产业起步较晚,设计水平、设计 能力与国外有一定差距,因此设计开发具有自主知识产权的i p 核,对我国的集 成电路产业具有重要的意义。 微处理器是当代最重要的发明之一。在后p c 时代,微处理器作为s o c 中 不可或缺的组成部分,已经进入了社会生活的各个方面,也在一定程度上代表 了一个国家集成电路产业水平。因为i n t e l 的x 8 6 系列微处理器是目前应用最为 广泛的微处理器产品,所以设计一款兼容x 8 6 的微处理器产品将会具有良好的 应用前景,同时完成这一工作对提升我国微处理器设计技术有一定经验积累作 用。 论文的主要工作集中在1 6 位微处理器h g d8 0 8 6i p 软核的设计与仿真验 证过程,包括: h g d8 0 8 6 微处理器i p 软核的系统结构划分、系统时序以及指令集的 设置,要求与标准8 0 8 6 兼容。 采用若干改进方案来优化系统架构设计,提高h g d8 0 8 6i p 软核的性 能指标。 使用v e r i l o gh d l 语言完成h g d8 0 8 6i p 软核中a l u 模块、m u l 模 块和寄存器组模块的r t l 级设计。 搭建h g d8 0 8 6i p 软核的仿真与验证平台,完成h g d8 0 8 6i p 软核的 r t l 级功能仿真。 关键词: s o c微处理器口体系结构仿真 2 r e s e a r c ho n8 0 8 6m i c r o p r o c e s s o ri pc o r e d e s i g nt e c h n i q u e a b s t r a c t d e v e l o p m e n ta n du s eo fi pc o r e sh a v eb e e nt h em a i nd e s i g nm e t h o df o rs o c d e s i g ns i n c et h ei cd e s i g ne n t e r si n t os o cd e s i g ne r a h o w e v e r i cd e s i g ni nc h i n a d e v e l o p sl a t t e rt h a ns o m eo t h e rc o u n t r i e s ,i ti ss i g n i f i c a n tf o ru st od e s i g nt h ei p c o r e sw h i c hb e l o n gt ou s m i c r o p r o c e s s o ri so n eo ft h em o s ti m p o r t a n tc o n t e m p o r a r yi n v e n t i o n s i nt h e p o s t - p ce r a ,m i c r o p r o c e s s o rh a se n t e r e dt h ec o m m u n i t y i na l la s p e c t so fo u rl i f ea s a ni n t e g r a lp a r to fs o c ,a n dh a sr e p r e s e n t e dt h ei cd e s i g nl e v e lo fo n ec o u n t r yi na c e r t a i ne x t e n t b e c a u s ei n t e l sx 8 6f a m i l yo fm i c r o p r o c e s s o ri st h em o s tw i d e l yu s e d , i tw i l lh a v eag o o dp r o s p e c tt od e s i g ns o m ep r o d u c t sw h i c ha r ec o m p a t i b l ew i t hx 8 6 m i c r o p r o c e s s o r a tt h es a m et i m e ,i th a sa c c u m u l a t e dc e r t a i ne x p e r i e n c ei nt h er o l e t h em a i nr e s e a r c hi nt h i st h e s i sw o r k so nd e s i g na n ds i m u l a t i o no ft h eh g d 8 0 8 6i pc o r e ,i n c l u d i n g : f i r s t l y , i tc o n s i d e r s t h es y s t e m a r c h i t e c t u r e ,s y s t e mt i m i n g ,a s w e l la s i n s t r u c t i o ns e t t i n g so fh g d8 0 8 6i pc o r ew h i c hi sc o m p a t i b l ew i t ht h es t a n d a r d 8 0 8 6 se c o n d l y , i ta d o p t san u m b e ro fm e t h o d st oo p t i m i z et h ed e s i g ni na r c h i t e c t u r e a n dt oi m p r o v et h ep e r f o r m a n c ei n d i c a t o r s t h i r d l y , i tc o m p l e t e st h ea l um o d u l e ,t h em u lm o d u l ea n dt h er e g i s t e r s g r o u pm o d u l ei nr t l - l e v e ld e s i g nu s i n gv e r i l o gh d ll a n g u a g e f i n a l l y , i tc o n s t r u c t st h et e s tp l a t f o r mt op a s st h ef u l lr t lf u n c t i o n a l s i m u la t i o n k e yw o r d s :s o cm i c r o p r o c e s s o r i pa r c h i t e c t u r es i m u l a t i o n 3 插图清单 图1 1 移动电话中的s o c 设计的典型应用2 图1 2i p 的层次结构图3 图2 1h g d8 0 8 6i p 软核设计流程图一7 图2 2 集成电路设计自动化的各个阶段1 1 图2 3e d a 工具及设计流程配合状况图1 2 图3 1h g d8 0 8 6i p 软核的外特性框图1 4 图3 2h g d8 0 8 6i p 软核的内部结构框图1 7 图3 3 典型的m o v 指令的编码格式1 8 图3 43 个时钟的读总线周期时序图2 4 图3 53 个时钟的写总线周期时序图2 5 图3 - 63 个时钟的中断应答时序图2 5 图3 73 个时钟的h a l t 时序图2 6 图3 8r t l 级设计树状图2 7 图3 - 9a l u 外部结构框图2 9 图3 10 标志寄存器p s w 2 9 图3 1 1c s k a 电路结构3 0 图3 1 2c i a 电路结构3 1 图3 1 3c s l a 电路结构3 2 图3 1 5 单比特逻辑单元结构图3 3 图3 1 6k 比特c s l a 加法器3 3 图3 1 7 优化的1 6 比特c s l a 加法器结构3 4 图3 1 8 加法仿真波形图3 4 图3 1 9a l u 模块r t l 级综合结果3 5 图3 - 2 0b o o t h 乘法器算法结构图3 6 图3 2 2h g d8 0 8 6i p 软核寄存器堆3 8 图4 1 仿真验证测试平台4 3 图4 2 参考模块测试方法4 3 图4 3h g d8 0 8 6i p 测试平台4 4 图4 4 启动过程仿真波形4 7 图4 5 汇编与反汇编结果4 7 图4 6m o v 传送仿真波形4 8 图4 7 输入指令仿真波形4 8 图4 8a d da x ,0 1 0 0 0 h 指令仿真波形4 9 7 图4 9 异或指令仿真波形4 9 图4 1 0c a l l 指令仿真波形5 0 图4 11j m p 指令仿真波形5 0 图4 1 2 引导程序仿真波形5 1 图4 1 3 累加过程仿真波形5 l 图4 1 4h g d8 0 8 6i p 软核代码覆盖率5 2 图4 15c y c l o n ei ie p 2 c 3 5 开发平台5 3 图4 1 6c y c l o n ei i2 c 3 5 可利用资源5 4 图4 17 时序报告5 5 图4 18 资源使用报告5 5 8 表格清单 表2 1e d a 工具12 表3 1h g d8 0 8 6i p 软核端口信号功能1 5 表3 2h g d8 0 8 6 的扩展指令2 1 表3 3 复位时各内部寄存器的值2 2 表3 - 4 总线周期操作一2 2 表3 5b h en 信号和a 0 信号的组合功能2 4 表3 - 6 配置文件伪码一2 8 表3 7b o o t h 译码表3 6 表3 8 段寄存器产生过程伪码3 9 表3 - 9 寄存器的特殊用途3 9 表4 1 测试平台软件组成伪码4 5 表4 2 输入激励的产生4 6 表4 3s y n p l i f yp r o 综合面积报告5 4 表4 4 指令运行时钟周期对比5 6 9 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标志和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得 金旦曼王些太堂 或 其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签字:r 幂佰蛐 签字日期:加谚年月缮日 学位论文版权使用授权书 本学位论文作者完全了解金目曼王些太堂 有关保留、使用学位论文的规 定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被 查阅或借阅。本人授权金照工业太堂可以将学位论文的全部或部分论文内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇 编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:露筒峦奄 签字日期:栅年,月,占日 学位论文作者毕业后去向: i 作单位: 通讯地址: 夕 导师签名:孑旨秒 , 签字日期:j 加矿年月占日 电话: 邮编: 致谢 首先,我要衷心地感谢我的导师高明伦教授和潘剑宏老师。他们的引领使 我有幸涉足集成电路设计领域。高老师不仅学识渊博,治学严谨,而且对待科 研一丝不苟,他对学生的谆谆教诲都深深地记在我的心中。高老师平易近人的 工作作风和甘为人梯的崇高品德是我今后人生道路上为人处事和工作学习的楷 模。潘老师在日常生活上给予我充分的关心和帮助,让我感受到家的温暖,在 此谨向二位老师表示最衷心的感谢。 感谢胡永华老师在两年半的时间里在项目、学习和生活上的细心指导和帮 助。 感谢宋宇鲲老师在我论文撰写上的悉心指导和中肯建议,以及在微电子所 学习期间的帮助。 感谢合肥工业大学微电子设计研究所的王锐、张多利、杜高明、尹勇生、 林微、邓红辉、贾靖华等老师,感谢他们给我学习上的帮助和生活上的关心。 感谢张建生、李洋、缪庭等同学在8 0 8 6 项目组中的愉快合作。 感谢梁上泉、何亚军、万超、陈志明、汤益华、沈斌、张文婷、瞿美霞、 刘宏、侯宁、霍晓嵩等同学对我生活和学习上的热情帮助。 感谢微电子设计研究所所有同仁陪我度过两年半美好时光。 最后,更要感谢从小辛苦养育、教育我的父母,有他们在精神和物质上的 支持,我才能毫无后顾之忧地完成学业。同时,感谢男友徐文进给予的支持与 鼓励。 最后衷心感谢所有帮助过我的老师、同学和朋友们l 4 作者:宋何娟 2 0 0 8 年1 月 第一章绪论 1 1 课题研究背景 1 1 1 快速发展的微电子学科 微电子是半导体技术与电子电路技术之间的边缘学科【1 】。从1 9 4 7 年第一支 半导体晶体管的发明,到1 9 5 8 年采用硅平面工艺的集成电路诞生,直至目前正 在发展中的系统芯片s o c ( s y s t e m o n a c h i p ) ,半导体和集成电路一直遵循摩 尔定律的预言高速发展着。到今天,集成电路的应用已经深入到社会的各行各 业,从航空、通信、计算机到生产管理、消费品等各个领域,成为现代电子信 息技术的核心与基础。 早期的集成电路设计实际上仅是掩膜设计,电路规模小,复杂度低,设计 工程师具备一般的电路知识就可胜任。设计科只是半导体工厂的一个部门,甚 至不是最重要的部门,其工作方式则主要依靠手工作业和个体劳动。几十年后 的今天,集成电路的规模已经发展到千万门级,所需的专门电路知识领域和极 高的设计难度已非以往半导体厂商和一般的电子设计部门所能企及。仅就p c 而言,一家微电子设计公司很难同时插手c p u 、v g a ( v i d e og r a p h i c sa r r a y ) 、 c h i p s e t 及m p e g 等p c 机主要芯片中的两个方向,其领域分工之细、电路知 识之专精、设计难度之大由此可见一斑。 集成电路发展至今,已经渗入人类社会的各个方面和层次。其中尤以微处 理器发明和发展带来的影响最为深远。随着微处理器的诞生,储编程求解方法 得到了广泛的应用。以微处理器为核心的数字计算机配合不同的应用软件,可 以胜任不同的工作要求,具有及其强大的应用灵活性。微处理器的问世,解决 了困扰数字计算机发展的成本、可靠性等关键问题,使得计算机从科学工具成 为了日常生活中用品。因此可以说,集成电路的发展是以微处理器的发展为航 标的。 1 1 2 微处理器的发展状况 中央微处理器简称c p u ( c e n t r a lp r o c e s s i n gu n i t ) 【2 】,是指计算机内部对 数据进行处理并对处理过程进行控制的部件,伴随着超大规模集成电路技术的 迅速发展,芯片集成密度越来越高,c p u 可以集成在一个半导体芯片上,这种 具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。它是计算 机中最重要的一个部分,由运算器和控制器组成。 根据微处理器的应用领域,微处理器大致可以分为三类:通用高性能微处 理器、嵌入式微处理器和数字信号处理器、微控制器。一般而言,通用处理器 追求高性能,它们用于运行通用软件,配备完备、复杂的操作系统;嵌入式微 处理器强调处理特定应用问题的高性能,主要用于运行面向特定领域的专用程 序,配备轻量级操作系统,主要用于蜂窝电话、c d 播放机等消费类家电;微 控制器价位相对较低,在微处理器市场上需求量最大,主要用于汽车、空调、 自动机械等领域的自控设备。 近几年,i n t e l 、a m d 和v i a 等微处理器制造商纷纷推出平台策略,将微 处理器、主板和芯片组合在一起,形成一个完整的解决方案,并计划将来进一 步推出集成所有芯片的单芯片微处理器。种种迹象表明,半导体行业即将进入 后p c 时代 2 1 。 后p c 时代不是p c 的彻底消失,而是p c 的重新定义。在后p c 时代,个 人计算机主板上的芯片组、显卡、声卡和网卡等全部集成在单个芯片中,成为 单芯片计算机( s i n g l ec h i pp c ) ,又称为全硅计算机。与传统p c 相比,全硅计 算机的重量、体积和功耗大幅下降,且系统性能得到极大地改善,同时带来价 格的突破性下降,同时也极大拓展了p c 的应用范围。在后p c 时代,p c 机不 再是终极产品,而成为插入式的组件,被应用于各种场合。只有p c 缩减到单 个芯片,缩减成插入式设备,p c 才能成为信息时代无所不在的引擎。 1 1 3s o c 设计与i p 标准化 随着微电子加工技术的发展和设计水平的提高,在单颗芯片上集成完整的 电子系统中所有元件成为了可能,于是出现了系统芯片s o c ( s y s t e mo n c h i p ) 。电子系统的设计方法也从原来的p c b 级发展到了s o c 级。 1 9 9 5 年美国d a t a q u e s t 对s o c 的定义是:包括一个或多个计算“引擎”( 微 处理器微控制器数字信号处理器) 、至少10 万门的用户门和相当数量的存储 器;要在芯片上整体实现c p u 、d s p 、数字电路、模拟电路、存储器等多种电 路;综合实现图像处理、语音处理、通信机能、数据处理等功能【3 】。典型应用 例子如图1 1 所示。 鍪鞠 r o m 黼 黝唰 西圈 蒸疆r m滋缓: 辫锩翳谨# 滏幽鬣。矗;:缓澎缓 法学的出现部分解决了以上问题。在s o c 设计中,基于口的重用设计方法显 著提高设计能力,缩短芯片面市时间。 集成电路i p 是电路知识产权模块的简称。美国d a t a q u e s t 咨询公司将集成 电路产业的口定义为预先设计好的电路功能模块,它可供重复使用于集成电路 产品的设计、生产等环节中。这种模块可以是自行设计好的,也可以从第三方 购买。i p 的层次如图1 2 所示。i p 本身是一种商品,它的主要形式如下【4 j : 图l - 2i p 的层次结构图 i p 软核:软核是以代码的形式存在的知识产权载体,其最终产品与通 常的应用软件相似。由于不涉及具体的物理实现,因此软核具有很好的灵活性: i p 硬核:硬核是经过布局布线并针对具体工艺库优化过的网表或者是物 理级版图,通常可以g d s i i 文件或掩模形式交付给客户使用,它是工业应用的 载体; i p 固核:固核介于软核和硬核之间,以网表的形式提交客户使用。因 此其在结构、面积以及时序的安排上都已经进行了优化。 从设计方法学来说( 5 1 ,采用基于i p 的重用设计方法迸行复杂电路的设计并 不是一场革命,它是八十年代流行的利用标准单元进行设计的扩展。然而,i p 的潜在能力却是革命性的。i p 的商业化大大加快了芯片的开发速度。随着设计 方法学的不断发展,在芯片设计中使用i p 正成为业界的主流设计技术,设计者 可以把主要精力集中在更高的抽象层次上。 1 2 课题意义、研究内容 1 2 1 课题意义 本课题的研究具有如下意义: 为i p 软核设计提供实践经验 3 本课题按照自顶向下的设计方法,完成了从系统架构设计、硬件语言描述、 功能仿真测试、综合到布局布线的过程。在本课题的设计过程中积累了许多口 设计经验,这些经验为以后的工作奠定了坚实的基础。 掌握了微处理器设计的关键技术 通过本课题的研究,作者掌握了1 6 位微处理器的系统架构、数据通路模块 和控制通路模块设计的关键技术。并在此基础上,学习了3 2 位微处理器的系统 架构,为今后设计更高性能的微处理器提供经验和技术储备。 微处理器i p 软核设计的产业化意义 微处理器的应用领域相当广泛,从航空、通信、计算机到生产管理、消费 品制造等各个领域。本课题研究的1 6 位微处理器既可为全硅计算机的研究提供 一个最核心的元件,也可作为多核系统中的一个处理器核。这种基于i p 的重用 设计方法将大大加快系统级芯片的开发速度。 1 2 2 论文研究内容 论文从微处理器的基本原理入手,在分析h g d8 0 8 6 体系结构和指令集的 基础上,开发了一个与标准8 0 8 6 兼容的16 位微处理器软核h g d8 0 8 6i p 软核,并使用了几种优化设计方案提高该i p 软核的性能指标。 课题研究内容如下: h g d8 0 8 6 微处理器i p 软核的系统结构划分、系统时序以及指令集的设置, 要求与标准8 0 8 6 兼容。 采用若干改进方案来优化系统架构设计,提高h g d8 0 8 6i p 软核的性能指 标。 使用v e r i l o gh d l 语言完成h g d8 0 8 6i p 软核中a l u 模块、m u l 模块和 寄存器组模块的r t l 级设计。 搭建h g d8 0 8 6i p 软核的仿真与验证平台,完成h g d8 0 8 6i p 软核的r t l 级功能仿真。 1 3 论文结构 本论文介绍了h g d8 0 8 6 微处理器i p 软核的设计以及验证方法,内容如下: 第一章绪论。本章介绍了集成电路的发展、微处理器的发展状况、课 题研究意义以及课题研究内容。 第二章h g d8 0 8 6i p 软核设计方法的研究。本章从数字i c 设计方法学 的角度出发,介绍了该i p 软核的设计流程,以及各阶段相应使用的e d a 软件 工具。 第三章h g d8 0 8 6i p 软核的设计。本章首先是8 0 8 6 的概述,然后从正 向设计的方法,从系统级设计、系统时序、指令系统和r t l 级设计层面讲述该 4 i p 软核的设计。 第四章h g d8 0 8 6i p 软核的仿真与验证。本章介绍了该i p 软核的仿真 测试平台的搭建、r t l 级仿真,以及f p g a 功能验证。 第五章总结与展望。本章对本论文的工作进行了总结,并根据作者的 亲身经历和体会,提出未来工作的展望。 5 第二章h g d8 0 8 6i p 软核设计方法的研究 2 1 数字i c 设计方法学 集成电路的设计效率增长滞后于制造技术提高速度,导致了著名的“剪刀 差”,改进设计方法学几乎是缩小剪刀差的唯一途径。针对不同的设计的需求, 以下三种设计方法【6 1 被广泛使用:基于时序驱动的设计方法、基于平台的设计 方法和基于i p 复用的设计方法。下面分别简要介绍这三种设计方法。 2 1 1 基于时序驱动的设计方法 基于时序驱动的设计方法( t d d ,t i m i n g d r i v e nd e s i g n ) :时序驱动的核 心是版图规划和互连线延迟模型,关键的设计工具是版图规划工具和时序分析 工具。这种方法主要适用于完成规模较小a s i c 设计。这种设计方法难以满足 规模较大电路的设计周期要求。 2 1 2 基于平台的设计方法 基于平台的设计方法( p b d ,p l a t f o r m b a s e dd e s i g n ) :这种设计方法是以 i p 复用( 一般包括一个或多个微处理器或d s p ) 和片上总线技术为基础,以软 硬件惦同开发为特征,根据产品的系统目标来选择i p ,进行i p 互连和系统功 能验证。集成平台是一种适用于s o c 快速开发的高效设计环境,它针对特定的 产品应用。 集成平台主要包括硬件开发平台和嵌入式软件开发平台两个部分: 硬件方面 包括s o c 集成结构性能指标描述,片上系统结构设计,功耗要求、时钟树 和测试结构设计,i o 配置,对功能模块的功能要求及面积限制等。 软件方面 包括实时操作系统r t o s ,底层驱动软件、中间软件及应用软件的分层, 任务调度和任务件通信等。 2 1 3 基于i p 复用的设计方法 基于i p 复用的设计方法( i p d ,i p b a s e dd e s i g n ) :在强大的商业压力下, 设计公司常常从其他公司购买所需要的i p 核,然后将这些合适的i p 模块通过 某种方式“拼装”成符合一定功能要求的系统芯片,这就是i p 核的重用技术( i p r e u s e ) 【7 1 。此时,设计者更关注的是如何进行系统功能的结构划分,如何定义 片上总线进行模块互联,应该选择哪些功能模块。在定义各个功能模块时考虑 6 怎样尽可能多的利用现有i p 资源,在功能模块设计时考虑怎样定义才有利于以 后的i p 复用、验证等等。 可重用i p 模块首先必须是一个良好的模块设计,它必须严格遵守一系列的 设计规则,即可概括为一个基本准则和三条基本规则【8 】。 一个基本准则是“局部问题局部解决”。因为当设计规模越来越大时,在系 统验证阶段难以发现和难以修正局部模块设计的缺陷。 三条基本规则: 尽可能采用全同步的设计策略,对模块的输入和输出信号用寄存器锁存以 达到时序优化问题局部化的目的; 严格遵循自底向上的验证策略,保证每个功能模块在被集成到更高层次之 前得到最充分的验证,以达到功能验证问题局部化的目的; 在着手进行详细设计之前必须做好总体方案的设计和论证。良好的芯片结 构定义和模块划分是局部问题局部化的关键。 h g d8 0 8 6i p 软核是可重用i p 软核,在设计时遵守以上设计规则。 2 2h g d8 0 8 6i p 软核的设计流程 h g d8 0 8 6i p 软核的设计采用自顶向下的正向设计方法,即从h g d8 0 8 6 的系统结构出发,向下的逐步细化设计内容的设计过程。整个过程可分为四个 主要阶段:系统级设计、r t l 级设计、综合和系统实现,各个阶段之间并没有 明显的界限。图2 1 描述了h g d8 0 8 6i p 软核的设计流程,下面分别介绍其四 个主要阶段。 r t l 级 设 计 图2 1h g d8 0 8 6i p 软核设计流程图 7 缘合 系统实现 2 2 1 系统级设计 系统级设计阶段包括系统功能分析、体系结构设计两个步骤: 系统功能分析 系统功能分析的目的是在开始r t l 级设计之前,弄清楚系统的需求。首先 要确定系统所要完成的功能、系统的输入输出、以及这些输入输出之间的关系 等;另外还要确定系统的时序要求。并根据产品的应用场合,为i p 设定面积、 速度、环境温度及功耗等指标,以此作为将来设计的依据。 h g d8 0 8 6 在系统功能分析阶段以设计文档的形式给出设计说明,包括: 外特性、指令系统和时序要求等。 体系结构设计 体系结构设计是整个设计的关键环节,体系结构设计的合理与否直接决定 到产品的性能,所有的后续工作,都建立在确定的体系结构基础之上。通常体 系结构的设计可分为数据通路的设计和控制通路的设计两部分j 。 数据通路的设计:设计包括所处理数据类型分析、处理单元划分、以及处 理单元之间互连关系等。 控制通路设计:控制通路的设计主要包括数据的调度、数据的处理算法和 正确的时序安排等。 数据通路的设计和控制通路的设计是相互影响、相互制约的,例如,在确 定好数据通路后,由于时序或数据调度等出现问题,不得不重新修改数据通路 来匹配控制通路。所以,数据通路与控制通路的设计往往要经过许多次反复, 才能达到最优的效果。 系统模块划分是系统体系结构设计的另外一个目的。在确定体系结构后, 应根据功能的耦合程度,将系统划分为不同的功能模块,每一个功能都映射到 一个模块,同时确定模块之间的相互关系,这是模块划分的基本要求。 h g d8 0 8 6 的体系结构设计主要考虑以下几个方面,详见第三章第2 、3 和 4 小节: 确定h g d8 0 8 6 的数据通路和控制通路; 确定h g d8 0 8 6 内部模块划分; 确定h g d8 0 8 6 的内外时序要求。 2 2 2r t l 级设计 r t l 级描述 使用硬件描述语言( h d l ) 进行具体设计时应遵循下面的几个原则: 优化电路描述,提高代码质量; 适当采用厂家提供的功能单元; 严格按照可综合要求编写程序。 h g d8 0 8 6r t l 级描述采用v e f i l o gh d l 硬件描述语言,并严格遵守以上原 则。考虑到h g d8 0 8 6 的设计规模较大,各个模块调用关系复杂,模块间信号 量巨大,所以本次设计在r t l 级设计中规定了严格的信号命名规则和内部模块 接口规范。此外,在h g d8 0 8 6 每个模块的r t l 级描述中,都有相应的注释语 句,便于他人能够更加容易的。 行为仿真 行为仿真是验证设计功能正确性的重要手段,又叫“功能仿真”。在综合前, 必须进行功能仿真验证以验证系统功能的正确性。 行为仿真需要考虑以下方面问题: 搭建合适的测试平台: 设计合适的测试向量库; 制定测试规范,保证测试覆盖率。 本设计搭建了自动化检测测试平台,并采用完备的测试向量库来验证h g d 8 0 8 6 设计的功能正确性,这在后续章节将会详细讲述。 2 2 3 综合 在完成设计功能仿真后,接下来的工作是逻辑综合与门级( g a t el e v e l ) 仿 真。 逻辑综合 一般认为系统的综合分为两个步骤:h d l 语言翻译成逻辑门电路和门级优 化。 系统优化的目的就是花费最小的硬件资源满足速度要求,即系统优化就是 在系统的速度和面积之间找到一个折中的方案的迭代过程。系统优化的关键在 于系统约束条件的设定,这些约束条件将使系统按照设计者所期待的目标进行 优化。 逻辑综合一般需要考虑以下方面问题6 , 1 0 】: 综合环境和设计约束的设置。环境约束和设计约束的好坏直接影响到逻 辑综合结果的质量。如果约束过于苛刻,则会导致逻辑综合不通过;反之,则 无法达到优化目标。 编译方式的选择。针对不同设计采用合适的编译方式,比如自顶向下的 层次式编译方式或者自底向上的时序预算编译方式等,以取得最佳的综合结果。 由于h g d8 0 8 6 最终做的是f p g a 验证,综合阶段采用的是s y n p l i c i t y 公 司的s y n p l i f y 工具,直接对设计映射和优化,其综合的约束条件设置等问题在 本次实验中暂不考虑。在综合之前,先对h g d8 0 8 6 配置文件进行处理,处理 的方式是建立个独立文件夹,使配置文件和源代码处在不同路径下,以避免 综合出错。 9 门级仿真 在综合优化后的门级仿真也叫前仿真( p r es i m u l a t i o n ) ,这是相对于与布 局布线进行的仿真而言的。现在的高层综合工具都能够输出系统综合后的h d l 语言描述的网表( n e t l i s t ) 文件。该文件不仅包含系统的门级电路实现,也包 含了电路单元的一些基本信息,如固定延时、输入阻抗、驱动能力、温度特性、 电压特性、上升时间、下降时间、面积等。将该网表文件与前面所提到的测试 基准程序一起输入测试环境,就可以进行门级的时序仿真。如果仿真结果不能 满足要求,就可以通过反复修改综合优化条件或修改系统设计等来达到预期目 的。 门级仿真被用来验证以下问题: 检查器件物理效应对设计的影响; 验证设计功能和时序正确性。 h g d8 0 8 6 的门级仿真采用和功能仿真相同的测试平台和测试向量库。 2 。2 。4 系统实现 在完成设计综合优化后,下面的工作就是系统实现。在一般的a s i c 设计 中,这一步骤的工作一般是设计者将综合后的网表( n e t l i s t ) 和设计的时序要 求,交给i c 生产厂家来进行。i c 系统实现一般包括以下步骤:布局布线、物 理验证、后仿真和流片。 h g d8 0 8 6 在系统实现阶段走的是f p g a 流程,即图2 1 中第二条支路,把 通过布局布线和后仿真后生成的s o f 文件,通过u s bb l a s t e r 电缆下载到a l t e r a f p g a 开发板中,观察f p g a 开发板l e d 灯是否点亮进行相应的功能验证。故 此次实验暂时不考虑a s i c 设计中的相关问题。 2 3e d a 软件设计工具 。 2 3 1 集成电路设计自动化 伴随着集成电路设计方法的改变,设计工具亦不断演化,各种计算机辅 助工具纷纷涌现。集成电路设计自动化( e d a ,e l e c t r o n i c s y s t e md e s i g n a u t o m a t i o n ) 系统的发展历程大致可分为三个阶段【7 , 1 1 ,见图2 2 所示。 7 0 年代的第一代e d a 称为计算机辅助设计( c a d ,c o m p u t e r a i d e dd e s i g n ) 系统,它以交互式图形编辑和设计规则检查为特点,硬件采用1 6 位小型机。 8 0 年代出现的第二代e d a 系统称为计算机辅助工程( c a e ,c o m p u t e r a i d e de n g i n e e r i n g ) 系统,它以3 2 位工作站为硬件平台。第二代c a e 系统引 入了大量新功能保证投片流水的一次成功率,但是一致性检查和“后仿真”仍是 在设计的最后阶段才加以实施,因而一旦发现了错误,还需要修改版图或修改 电路,仍需付出相当大的代价。 1 0 , o t t 4 | :高层坎暧计自动化 7 0 别| :计t 帆蟾叻晚计 图2 2 集成电路设计自动化的各个阶段 9 0 年代出现的第三代e d a 系统中引入了硬件描述语言、行为综合和逻辑 综合工具。综合工具的优化功能使芯片的品质如面积、速度、功耗等获得了提 升,因而第三代e d a 系统迅速得到推广应用。 第三代e d a 系统一般都包含下列的工具软件: h d l 仿真器,综合工具; 把设计映射到厂家定义的单元中的编译器; 布局布线工具; 布局布线后延迟信息提取,创建s d f 文件的工具; 静态时序分析工具; 编程文件创建工具。 2 3 2h g d8 0 8 6i p 软核设计工具 与图2 1 设计流程相对应,设计的各个阶段采用了大量的e d a 工具,h g d 8 0 8 6 使用的各种e d a 工具和设计流程间的配合状况见图2 3 。 由于v e r i l o g 语言能精确而且简明地描述数字系统特性或结构,所以被广泛 用于不同层次的( 从系统级到门级) 电路描述。使用v e r i l o g 语言也为系统级仿 真提供方便的手段,使得在系统实现之前评价系统的性能成为可能。 一 乐珑观 一。 + 嚣辩j 簋垩辱【 i ”卜r 1 声莛他设计 系境德真1i 唆+ 。、:螽峰寿式输八 毫露缓 _l 一 , r i 寸-_ :p u 日蕞誊甘d 就博 警荨翟黪爱卜 幔毁电路设计 畿游电路 d s p 霸程 设计与仿翼 c 、镰代码妒囊传参 直漉 多话挝黪交流 藏f 筝蠖轰非篾性 壤舂* 胁2 j o 凝域 c a a 物理麦税缎 网袁 t t0上,- 1 = - = ,:;0 i 冀汁 铲:k ,裁矮蕾蠢p c b 设计蘧奇电路设计艘图 v a 二 篁铜j 乏丌 碡局布撬 h l c ( 摩薄】| 嚷 m l m | r 蒋滴毒瑰忙,幢参置藏弗巍慢耗分援 m c m 、s m t 优7 陡 0 f 、f :二,一0 0 、一z 互 参数挺嚣 豁等蓐爱 l 图2 - 3e d at 具及设计流程配合状况图 表2 1e d at 具 设计流程e d a 厂商f p g a 工具e d a 厂商a s i c 工具 仿真m e n t o r l m o d e l s i m c a d e n c e l v e r i l o g - x l 综合 s y n p l i c i t y ls y n p l i f ys y n o p s y s l d e s i g nc o m p i l e r a l t e r a l q u a r t u s l i 布局布线 c a d e n c e i s i l i c o ne n s e m b l e x i l i n x l l s e f p g a a l t e r a 、x i l i n x 电路仿真 s y n o p s y s l h s p i c e 物理验证 m e n t o r l c a l i b r e 使用硬件描述语言能够方便、快速进行系统描述、系统模拟和高层综合等, 在设计自动化过程中起着重要的作用。 h g d8 0 8 6 采用的具体e d a 设计工具参见表2 1 所示。 另外,在本次设计中使用p a r a d i g mc + + 开发相关应用软件。 2 4 本章小结 本章从设计方法学上阐述了h g d8 0 8 6i p 软核的设计流程,详细讲述了设 计各阶段需要注意的问题,以及设计各阶段相应使用的e d a 工具。下章将详 细阐述h g d8 0 8 6i p 软核的设计。 1 2 第三章h g d8 0 8 6i p 软核的设计 本章将按自顶向下的设计方法介绍1 6 位c i s c ( c o m p l e xi n s t r u c t i o ns e t c o m p u t i n g ) 微处理器h g d8 0 8 6i p 软核的设计过程。 3 。1i n t e l8 0 8 6 概述 i n t e l 公司生产的1 6 位微处理器i n t e l8 0 8 6 在微处理器的发展历程中占有重 要的地位。 1 9 7 8 年推出的8 0 8 6 是i n t e l 的第一个1 6 位微处理器,并且是8 0 x 8 6 系列 的第一个成员,它有1 6 位的数据总线和1 6 位的寄存器,可直接寻址1 m 字节 的物理存储器。紧接着8 0 8 6 的是8 0 8 8 ,这种版本的芯片保持了在内部采用1 6 位寄存器和数据总线,而在外部则采用8 位数据总线的结构。 本文设计的h g d8 0 8 6i p 软核是由合肥工业大学微电子设计研究所自主开 发的与i n t e l8 0 8 6 兼容的1 6 位c i s c 微处理器。通过设置软件开关,h g d8 0 8 6 i p 软核能够分别设置为1 6 位( 与标准8 0 8 6 兼容) 或8 位( 与标准8 0 8 8 兼容) 宽度的外总线,具有很大的使用灵活性。 根据文献 1 2 】,一个微处理器的性能可以用以下公式表示: p = 老= 而f f ( 3 1 ) 式中,p 是微处理器的性能,是程序的指令集合,c 为每条指令的平均执行 周期数( c p i ) ,为微处理器的工作频率。由上式可知,提高微处理器的性能 有三个有效途径【1 2 】:提高工作频率,这取决于工艺水平和电路设计水平的 提高;减少程序指令集合,这取决于优化编译器的改进;对于结构设计来 说,最大的改进在于减少平均指令执行的周期数c 。 根据a m d a h l 定律,要改进微处理器的性能,最有效的做法是改进微处理 器的体系结构【9 1 。 本文设计的h g d8 0 8 6 软核在保证与标准8 0 8 6 兼容的同时,通过采用以下 优化方法提升微处理器性能。 扩充指令集:采用标准8 0 8 6 指令集和某些扩充指令( 8 0 1 8 6 的部分指 令) ; 缩短总线周期:h g d8 0 8 6 支持标准的一个总线周期包含4 个时钟周期, 同时,总线周期可以减少为3 个时钟周期,从而提高了总线传输速率; 扩大指令预取对列:指令预取队列增加到8 个字节。 1 3 下面将详细介绍h g d8 0 8 6 的设计过程。 3 2h g d8 0 8 6i p 软核的系统级设计 系统级设计是硬件设计过程的第一步,是把硬件的自然语言描述转换为真 值表、状态图或算法模型的过程。在系统级设计中,需要确定系统算法、设计 的整体模块划分以及硬件系统通信协议的确定。 3 2 1h

温馨提示

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

评论

0/150

提交评论