- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Datapath基本逻辑组件设计
计算机组成原理 实验报告二 题目:Datapath基本逻辑组件设计 实验目的 掌握程序计数器(PC)、多路选择器、符号扩展模块及简单加法器的原理及原理 ALU基本模块的设计与实现 基于Xilinx ISE软件平台的逻辑组件仿真验证方法 实验设备 装有ISE的计算机一台 EDK-3 SA ISE实验平台 实验任务 设计并验证程序计数器(PC)的功能 设计并验证多路选择器的功能 设计并验证符号扩展模块的功能 设计并验证简单加法器的功能 实验步骤 程序计数器(PC)用于控制机器指令的执行顺序,实际上是存放指令的内存地址。计算机由指令指针来控制程序指令的顺序执行,CPU根据这个地址来读取当前要执行的指令,每执行一条指令都要改变PC的值。正常运行时,输出并更新当前PC值。以后要完成的简单计算机内存组织形式为32bit*512,因此地址宽度为9位。又因为内存地址宽度为32位,所以每次PC加1而不是加4,其基本工作原理如下 在以字为单位寻址的存储器中,对于指令字、数据的寻址有一个是否对齐的问题。对于指令寻址,每一条指令刚好为一个字,必须设置其与存储器的字对齐即指令字地址的低2位始终为0。而对于数据寻址,有读写字节、半字、字等操作,如果没有与存储器字对齐需要额外的总线操作。当低2位不为0时需要对读入的数据根据要求进行重新组合。如果读一个字节,先读入包含这个字节的字然后再通过移位、逻辑与的方式取出相应的字节。如果是读一个字或半字则需要先读入存储器中包含这个字或半字相邻的两个字在进行移位、逻辑与、逻辑或等操作组合成所需的数据字或半字。数据的写入同样需要额外的处理,这些额外的处理会使访问存储器的速度变慢。因此有些机器的编译器在对数据操作时自动选择按字边界对齐。 数据选择器是基本的逻辑电路,在Verilog HDL中一般用case语句生成一个多路选择器,但如果是二路选择器也可以采用三目运算符?实现。(参考源程序包括多个数据选择器)。 符号扩展模块用于将短字长数据扩展成长字长数据。由于在计算机内部整数均以补码形式表示,按照补码运算规则对整数进行字长扩展时最高位填充的数据位与数据本身的符号位有关。如果数据大于零即最高符号位为0则高位扩展填充位均为0;如果数据小于零即最高符号位为1则高位扩展填充位均为1。本模块主要用于CPU设计中将16位的输入扩展为32位的输出。按照以上的扩展规则,当第16位为1时,扩展位用1填充,为0时扩展位用0填充。 加法器实现两个数的相加,在Verilog HDL中只需要直接用’+’就会自动生成加法器,本实验所做加法器将在后面的CPU设计中使用。 开启ISE9.1i软件: [程序] -[Xilinx ISE 9.1i] -[Project Navigator]。会出现ISE9.1i 的画面,画面打开时候, 会出现[Tip of the Day], 可以将之关掉。 在 ISE9.1 软件环境下,开启一个新的工程: [File]-[New Project],工程名为PcTest,设置[Project Location],Top-Level Module Type选择为Verilog。(注意工程路径不要有中文) 下一个画面就是设定硬件组件的参数 [FPGA系列(Device Family)]:Spartan3A and Spartan3AN ( 请看板子的FPGA的编号) [FPGA名称(Device)] : XC3S200AN(请参考开发板的FPGA的编号) [FPGA包装(Package)]:FT256(请参考开发板的FPGA 组件的编号) [FPGA速度等级(Speed)]: -4 ( FPGA 速度等级) [综合器工具(Synthesis Tool)]:XST [仿真器(Simulator)] : ISE Simulator(ISE9.1 内建的仿真器) [产生仿真器的语言(Generated Simulation Language)] : Verilog 下一个画面Create a New Source 先跳过,按[下一步]. 下一个画面Add a Existing Source 亦跳过,按[下一步]. 此时出现此项目所有设定的信息,若需重新设定,则可[上一步]. 若无误,则按[完成]。 [Project]-[New Source];选择Verilog Module,分别建立程序计数器模块的两个子模块PcAdder和PcBuffer和顶层模块Pc,具体源代码查看附件。注意建立源文件时端口要选择正确,包括总线宽度以及输入输出特性。各个模块源文件输入后应该具有以下文件结构: 建立仿真测试文件,[Project]-[New Source];选择Verilog Test Fixture,并取文件名为PcTest。 选择测试
文档评论(0)