Datapath基本逻辑组件设计.doc

Datapath基本逻辑组件设计.doc

ID:55631243

大小:798.00 KB

页数:11页

时间:2020-05-21

Datapath基本逻辑组件设计.doc_第1页
Datapath基本逻辑组件设计.doc_第2页
Datapath基本逻辑组件设计.doc_第3页
Datapath基本逻辑组件设计.doc_第4页
Datapath基本逻辑组件设计.doc_第5页
资源描述:

《Datapath基本逻辑组件设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机组成原理实验报告二题目:Datapath基本逻辑组件设计一、实验目的1.掌握程序计数器(PC)、多路选择器、符号扩展模块及简单加法器的原理及原理2.ALU基本模块的设计与实现3.基于XilinxISE软件平台的逻辑组件仿真验证方法二、实验设备1.装有ISE的计算机一台2.EDK-3SAISE实验平台三、实验任务1.设计并验证程序计数器(PC)的功能2.设计并验证多路选择器的功能3.设计并验证符号扩展模块的功能4.设计并验证简单加法器的功能四、实验步骤程序计数器(PC)用于控制机器指令的执行顺序,实际上是存放指令的内存地址。计算机由指令指针来控制程序指令的顺序执行,CPU根据这

2、个地址来读取当前要执行的指令,每执行一条指令都要改变PC的值。正常运行时,输出并更新当前PC值。以后要完成的简单计算机内存组织形式为32bit*512,因此地址宽度为9位。又因为内存地址宽度为32位,所以每次PC加1而不是加4,其基本工作原理如下在以字为单位寻址的存储器中,对于指令字、数据的寻址有一个是否对齐的问题。对于指令寻址,每一条指令刚好为一个字,必须设置其与存储器的字对齐即指令字地址的低2位始终为0。而对于数据寻址,有读写字节、半字、字等操作,如果没有与存储器字对齐需要额外的总线操作。当低2位不为0时需要对读入的数据根据要求进行重新组合。如果读一个字节,先读入包含这个字节的

3、字然后再通过移位、逻辑与的方式取出相应的字节。如果是读一个字或半字则需要先读入存储器中包含这个字或半字相邻的两个字在进行移位、逻辑与、逻辑或等操作组合成所需的数据字或半字。数据的写入同样需要额外的处理,这些额外的处理会使访问存储器的速度变慢。因此有些机器的编译器在对数据操作时自动选择按字边界对齐。数据选择器是基本的逻辑电路,在VerilogHDL中一般用case语句生成一个多路选择器,但如果是二路选择器也可以采用三目运算符?实现。(参考源程序包括多个数据选择器)。符号扩展模块用于将短字长数据扩展成长字长数据。由于在计算机内部整数均以补码形式表示,按照补码运算规则对整数进行字长扩展时

4、最高位填充的数据位与数据本身的符号位有关。如果数据大于零即最高符号位为0则高位扩展填充位均为0;如果数据小于零即最高符号位为1则高位扩展填充位均为1。本模块主要用于CPU设计中将16位的输入扩展为32位的输出。按照以上的扩展规则,当第16位为1时,扩展位用1填充,为0时扩展位用0填充。加法器实现两个数的相加,在VerilogHDL中只需要直接用’+’就会自动生成加法器,本实验所做加法器将在后面的CPU设计中使用。1、开启ISE9.1i软件:[程序]->[XilinxISE9.1i]->[ProjectNavigator]。会出现ISE9.1i的画面,画面打开时候,会出现[Tipof

5、theDay],可以将之关掉。2、在ISE9.1软件环境下,开启一个新的工程:[File]->[NewProject],工程名为PcTest,设置[ProjectLocation],Top-LevelModuleType选择为Verilog。(注意工程路径不要有中文)1、下一个画面就是设定硬件组件的参数[FPGA系列(DeviceFamily)]:Spartan3AandSpartan3AN(请看板子的FPGA的编号)[FPGA名称(Device)]:XC3S200AN(请参考开发板的FPGA的编号)[FPGA包装(Package)]:FT256(请参考开发板的FPGA组件的编号)

6、[FPGA速度等级(Speed)]:-4(FPGA速度等级)[综合器工具(SynthesisTool)]:XST[仿真器(Simulator)]:ISESimulator(ISE9.1内建的仿真器)[产生仿真器的语言(GeneratedSimulationLanguage)]:Verilog2、下一个画面CreateaNewSource先跳过,按[下一步].下一个画面AddaExistingSource亦跳过,按[下一步].此时出现此项目所有设定的信息,若需重新设定,则可[上一步].若无误,则按[完成]。3、[Project]->[NewSource];选择VerilogModul

7、e,分别建立程序计数器模块的两个子模块PcAdder和PcBuffer和顶层模块Pc,具体源代码查看附件。注意建立源文件时端口要选择正确,包括总线宽度以及输入输出特性。各个模块源文件输入后应该具有以下文件结构:1、建立仿真测试文件,[Project]->[NewSource];选择VerilogTestFixture,并取文件名为PcTest。2、选择测试对象为Pc8.输入测试文件,注意理解其中的含义,最关键的是产生时钟信号以及相关的输入。9.选择Behavioral

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。