- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ASIC实验报告(8位CPU的设计)
ASIC设计实验报告
学院:电子工程学院
学号:2014*******
姓名:王闯
指导老师:刘雯
2014年11月13日
一、实验目的:
通过对ASIC实验课的学习,应当学会以下几点:
1.熟悉Linux操作系统的应用环境,基本命令行的应用,以及对vi编辑器熟练应用。
2.熟练掌握Verilog编程语言,包括基本组合逻辑电路的实现方法,基本时序逻辑电路的实现方法,怎样使用预定义的库文件,利用always块实现组合逻辑电路的方法已经着重了解assign与always两种组合逻辑电路实现方法之间的区别,深入了解阻塞赋值与非阻塞赋值的概念以及应用的差别,有限状态机(FSM)实现复杂时序逻辑的方法,以及学会在Linux 系统环境当中应用Synopsys工具VCS进行仿真。
3.熟悉电路设计当中的层次化、结构化的设计方法。
4.熟悉CPU当中有哪些模块组成,模块之间的关系,以及其基本的工作原理。
5.学会利用汇编语言设计程序,注意代码规范性要求。
二、实验要求:
按照实验指导书上的要求即:CPU各个模块的Verilog语言代码的编写、编译及仿真正确,并在规定的时间内完成。要求对CPU进行语言级系统仿真结果正确之后,利用该实验当中采用的八个汇编关键字,编写一个能够实现某种功能的小程序。然后对其中的控制器电路进行综合,并检查Timing 和Power,进行门级仿真。
实验内容:
设计一个8位RISC_CPU 系统。(RISC: Reduced Instruction Set Computer),它是一种八十年代才出现的CPU,与一般的CPU相比,不仅只是简化了指令系统,而且通过简化指令系统使计算机的结构更加简单合理,从而提高了运算速度。从实现的方法上,它的时序控制信号部件使用了硬布线逻辑,而不是采用微程序控制方式,故产生控制序列的速度要快的多,因为省去了读取微指令的时间。此CPU所具有的功能有:
(1)取指令:当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号。?
(2)分析指令:即指令译码。是对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。?
(3)执行指令:根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器,存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成。
从上述具有的功能可以总结出,它有八个独立的逻辑部件所组成:时钟发生器、指令寄存器、累加器、ALU、数据控制器、状态控制器、程序计数器以及地址选择器。在本实验报告当中会一一对各个模块设计进行介绍。
四、实验设计过程:
(一).多路选择器的设计(MUX)
在该模块设计当中,练习的是组合逻辑电路的设计方法,其中assign赋值语句最为常用,其特点是能够连续赋值。其中关键程序代码为:assign out=(!sel)? a : (sel) ? b : {size{1’bx}};
实现的功能是当sel=0时out输出a的数据,当sel=1时输出b的数据,此外则输出高阻态x。该模块在CPU当中所起的作用是选择输出的地址是PC(程序计数)地址(pc_addr)还是跳转的目标地址(ir_addr)。该模块编译运行的结果为:
从上图显示的结果可以看出,当sel=0时,out输出a,当sel=1时,out输出b,达到了我们实验的要求。
、五位计数器的设计(Counter):
在该模块设计当中,采用的时序逻辑电路的设计方法。该模块在整个CPU当中充当程序计数器的作用,提供指令的地址,以便CPU读取指令。在CPU取新指令时,用程序计数器的值作为存储器地址;在执行指令时,用指令中的地址部分作为存储器地址。在该模块主要应用了always块以及@(posedge clk)或者@(negedge clk)来表达时序逻辑。主要想法是每当clk的上升沿或下降沿到来时计一次数。还有就是采用异步清零端rst_,来把计数器清零。采用同步置数端load来置入data此时的数据。以下是运行的实验结果:
从上述实验结果截图上可以看出,Counter设计实现了计数,达到实验目的。
、八位寄存器的设计(Register):
在该模块当中,也是采用了时序逻辑电路的设计方法。在该模块当中主要练习了模块的调用、寄存器的例化、时钟例化和怎样添加检测信号。该模块在CPU当中主要是作为指令的寄存,在执行指令时,用指令中的地址部分作为存储器地址。该寄存器采用八位寄存器,电路设计里面应该含
您可能关注的文档
最近下载
- SICK西克KTS Core色标传感器操作手册.pdf VIP
- GB50345-2012 屋面工程技术规范.docx VIP
- 船舶油漆使用基本基础知识.pdf VIP
- 四年级(上)语文课文同步仿写、续写1.pdf VIP
- 9 天上有颗“南仁东星”课件(共30张PPT)2025-2026学年统编版语文八年级上册.pptx VIP
- 高级保育员课件.pptx VIP
- 第十章生态系统.ppt VIP
- 《脑卒中运动障碍康复护理规范》.pdf VIP
- 2012年全国创新杯说课大赛作品汇总铰链四杆机构的类型及判定说课(新蓝).ppt VIP
- 年处理80吨茯苓提取车间提取工段工艺设计-毕业论文(设计).doc VIP
文档评论(0)