ALU实验报告.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
算术逻辑部件ALU实验报告 实验目的 熟悉硬件描述语言及开发环境,了解硬件系统开发的基本过程。 掌握ALU基本设计方法和简单运算器的数据传送通路。 验证ALU的功能。 实验环境 硬件环境:安装有Windows 7 或以上操作系统的PC,THINPAD教学计算机。 软件开发:FPGA开发工具软件Xilinx ISE 12.3或以上。 实验内容 根据实验原理中的要求,用VHDL语言实现一个简单的ALU。 在教学计算机THINPAD上验证实现的ALU的功能。 实验原理 算术逻辑部件ALU的主要功能是对二进制数据进行定点算术运算、逻辑运算和各种移 位操作等。算术运算包括定点加减乘除运算,逻辑运算主要用逻辑与、逻辑或、逻辑异 或和逻辑非等操作。ALU通常有两个数据输入端A和B输出操作数,一个数据输出端Y以及 标志位输出结果,通过输入操作码op来确定所要进行的操作,本实验通过实现一个状态 机,根据状态机状态的变化来输人操作数及操作码,并最终实现不同的运算,将结果和 标志位呈现出来。 本实验中的ALU要求实现基本的算术运算、逻辑运算、移位运算等,具体功能如下: "操作码 "功能 "描述 " "ADD "A+B "加法 " "SUB "A-B "减法 " "AND "A and B "与 " "OR "A or B "或 " "XOR "A xor B "异或 " "NOT "not A "取非 " "SLL "A sll B "逻辑左移B位 " "SRL "A srl B "逻辑右移B位 " "SRA "A sra B "算术右移B位 " "ROL "A rol B "循环左移B位 " ALU的输入数据为16位,操作码op为4位,算术运算时数据用补码表示。 实验步骤 本实验通过VHDL语言实现一个比较简单的ALU模块。 用VHDL语言编写ALU功能代码,并用状态机对其进行控制,使其完成实验要求的操作。操 作码和操作数的输入用微型开关SW0~SW15,计算结果的输出用数字机上的LED灯来展示。 将代码下载到教学机的FPGA中,并调试完成。 在THINPAD教学机上运行时,RST和时钟均用手动开关或按钮,便于演示。操作码和操作 数在开关SW0~SW15上输入,为便于观察和调试,每次ALU得到操作数,最好可以在LED上 显示一下,最后的运算结果在L0~L15上显示,标志位可自行选择显示方法。 状态机如下: RST -> 状态0 输入操作数A -> CLK -> 状态1 输入操作数B -> CLK ->状态2 输入操作码op 输出操作结果r -> CLK -> 状态3 输出标志位 ->CLK ->状态0 实验主要代码如下: (5)记录实验结果: "操作码 "A "B "结果 "标志位 "与预期一致" "ADD 0000 "00000000000000"000000000000000"000000000000001"0000 "一致 " " "01 "1 "0 " " " "SUB 0001 "00000000000000"000000000000000"111111111111111"0101 "一致 " " "00 "1 "11 " " " "ROL 1001 "11110000000000"000000000000000"111000000000000"0100 "一致 " " "00 "1 "1 " " " 思考题 时序电路。 实验总结 通过该实验,我们小子熟悉了硬件描述语言的基本语法与调试方式。掌握了ALU的基 本设计方法,并对XilinxISE开发环境有了更加深入的了解,学会了如何设计工程、如何 仿真,对THINPAD教学机器也更加熟悉了。 ----------------------- ALU实验报告全文共4页,当前为第1页。 ALU实验报告全文共4页,当前为第2页。 ALU实验报告全文共4页,当前为第3页。 ALU实验报告全文共4页,当前为第4页。
- 粉丝: 168
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
- 3
前往页