欢迎来到天天文库
浏览记录
ID:38799940
大小:659.50 KB
页数:7页
时间:2019-06-19
《硬件描述语言实验报告——四位加法器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、硬件描述语言实验:四位加法器实验——实验报告姓名:学号:班级:时间:实验名称:四位加法器实验实验目的:进一步练习VHDL语言设计工程的建立与仿真的步骤和方法、熟悉VHDL语言基本设计实体的编写方法。实验环境:PC个人计算机、WindowsXP操作系统、QuartusII集成开发环境软件。设计要求:设计一个四位加法器,实体名称为“adder4”,其引脚与功能分别如下表。adder4:端口模式端口名数据类型功能逻辑表达式说明in(输入)astd_logic_vector(3downto0)加数b加数cistd_logic低位进位out(输出)sstd_logic_vector(3do
2、wnto0)s(0)<=a(0)xorb(0)xorcic0<=(a(0)andb(0))or(a(0)andci)or(b(0)andci)…和costd_logicco<=(a(3)andb(3))or(a(3)andc2)or(b(3)andc2)高位进位adder4_2:端口模式端口名数据类型说明in(输入)astd_logic_vector(3downto0)加数b加数cistd_logic低位进位out(输出)sstd_logic_vector(3downto0)和costd_logic高位进位adder4_3:端口模式端口名数据类型说明in(输入)Astd_logi
3、c_vector(3downto0)加数B加数Cistd_logic低位进位out(输出)Sstd_logic_vector(3downto0)和Costd_logic高位进位附:其中adder4_3中的实验要求应用一位全加器按如下电路图通过结构描述方式构造四位加法器。实验步骤:①建立工程:首先新建一个工程名为“adder4”的文件夹,其次在QuartrusII中新建同名的的工程,最后新建一个VHDLfile的空白页面。②编辑代码:adder4:设置三个信号变量:signalc0,c1,c2:std_logic;使s的每一位都为a、b对应位上以及低进位的异或:(每一位都类似一位全
4、加器,如0+1=1,0与1取异或结果也是1)s(0)<=a(0)xorb(0)xorci;使信号变量代表的中间低进位为a、b以及低进位两两取并再取或:(如若低进位ci=0,a、b都等于1,a+b=1+1=0,进位是1,则1与1取并为1,1与0取并为0,1与0取并为0,1、0、0取或为1,及得到进位结果也是1)c0<=(a(0)andb(0))or(a(0)andci)or(b(0)andci);……同上,高进位取a、b最高位之和的进位即可:co<=(a(3)andb(3))or(a(3)andc2)or(b(3)andc2);举例:ci=0,a=0101(=5),b=1001(=
5、9),s=1110(=14),从最低位看起,,s(0)=0xor1xor1=0,c0=(0and1)or(0and1)or(1and1)=1,以此类推,即可得到s的值adder4_2:在文件头部位添加库,才可使用“+”:useieee.std_logic_unsigned.all;adder4_3:③编译及修改错误:(sartcompilation,若有错误则查看错误信息,不懂的意思可以在百度翻译中翻译得到,然后修改对应位置的错误代码)④建立仿真波形并仿真:⑤根据仿真结果分析设计是否正确:设置好a、b、ci的波形后,点击startsimulation按钮生成完整的结果波形图,并进
6、行分析,看与编辑的硬件所对应的情况是否符合。实验电路图:代码编译完成后,点击sartcompilation,若有错误修改错误,没有点击Tools->NetlistViewers->RTLViewer显示出代码对应的电路图adder4:adder4_2:adder4_3:实验仿真:adder4:adder4_2:adder4_3:仿真结果及分析:adder4:5+9=14,所以co=0,s=14;仿真结果符合13+9=22,所以co=1,s=6;仿真结果符合8+9=17,所以co=1,s=1;仿真结果符合8+15=23,所以co=1,s=7;仿真结果符合15+0=15,所以co=0
7、,s=15;仿真结果符合根据以上计算和由波形图得到的结果可分析得,仿真的结果同所设计的硬件语言吻合,该设计是正确的。adder4_2:13+2=15,所以co=0,s=15;仿真结果符合7+10=17,所以co=1,s=1;仿真结果符合11+5=16,所以co=1,s=0;仿真结果符合根据以上计算和由波形图得到的结果可分析得,仿真的结果同所设计的硬件语言吻合,该设计是正确的。adder4_3:ci=1,14+13+1=28,所以有进位co=1,s=28-16=12;仿真结果正确c
此文档下载收益归作者所有