ALU实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算术逻辑部件ALU实验报告
一、实验目的
(1)熟悉硬件描述语言及开发环境,了解硬件系统开发的基本过程。
(2)掌握ALU基本设计方法和简单运算器的数据传送通路。
(3)验证ALU的功能。
二、实验环境
(1)硬件环境:安装有Windows 7 或以上操作系统的PC,THINPAD教学计算机。(2)软件开发:FPGA开发工具软件Xilinx ISE 12.3或以上。
三、实验内容
(1)根据实验原理中的要求,用VHDL语言实现一个简单的ALU。
(2)在教学计算机THINPAD上验证实现的ALU的功能。
四、实验原理
算术逻辑部件ALU的主要功能是对二进制数据进行定点算术运算、逻辑运算和各种移位操作等。算术运算包括定点加减乘除运算,逻辑运算主要用逻辑与、逻辑或、逻辑异或和逻辑非等操作。ALU通常有两个数据输入端A和B输出操作数,一个数据输出端Y以及标志位输出结果,通过输入操作码op来确定所要进行的操作,本实验通过实现一个状态机,根据状态机状态的变化来输人操作数及操作码,并最终实现不同的运算,将结果和标志位呈现出来。
本实验中的ALU要求实现基本的算术运算、逻辑运算、移位运算等,具体功
五、实验步骤
本实验通过VHDL语言实现一个比较简单的ALU模块。
(1)用VHDL语言编写ALU功能代码,并用状态机对其进行控制,使其完成实验要求的操作。操作码和操作数的输入用微型开关SW0~SW15,计算结果的输出用数字机上的LED灯来展示。
(2)将代码下载到教学机的FPGA中,并调试完成。
(3)在THINPAD教学机上运行时,RST和时钟均用手动开关或按钮,便于演示。操作码和操作数在开关SW0~SW15上输入,为便于观察和调试,每次ALU得到操作数,最好可以在LED上显示一下,最后的运算结果在L0~L15上显示,标志位
可自行选择显示方法。
(4)状态机如下:
RST -> 状态0 输入操作数A -> CLK -> 状态1 输入操作数B -> CLK ->状态2 输入操作码op 输出操作结果r -> CLK -> 状态3 输出标志位 ->CLK ->状态0 实验主要代码如下:
操作码 A B 结果标志位与预期一致ADD 0 一致
SUB 111111111 0101 一致
ROL 1 一致
1、时序电路。
七、实验总结
通过该实验,我们小子熟悉了硬件描述语言的基本语法与调试方式。掌握了ALU的基本设计方法,并对XilinxISE开发环境有了更加深入的了解,学会了如
何设计工程、如何仿真,对THINPAD教学机器也更加熟悉了。