EDA课程设计十六位乘加器华侨大学

上传人:xins****2008 文档编号:110877577 上传时间:2019-10-31 格式:DOC 页数:20 大小:2.76MB
返回 下载 相关 举报
EDA课程设计十六位乘加器华侨大学_第1页
第1页 / 共20页
EDA课程设计十六位乘加器华侨大学_第2页
第2页 / 共20页
EDA课程设计十六位乘加器华侨大学_第3页
第3页 / 共20页
EDA课程设计十六位乘加器华侨大学_第4页
第4页 / 共20页
EDA课程设计十六位乘加器华侨大学_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《EDA课程设计十六位乘加器华侨大学》由会员分享,可在线阅读,更多相关《EDA课程设计十六位乘加器华侨大学(20页珍藏版)》请在金锄头文库上搜索。

1、EDA实验报告十六位硬件乘加器电路学号 1215102057 姓名 张凌枫 班级 12电子信息工程A 华侨大学电子工程系1、 题目名称:十六位硬件乘加器电路2、 摘要: 采用流水线方式来实现对8个16位数据进行乘法和加法运算(yout=a0b0+a1b1+a2b2+a3b3),使用乘法器lpm_mult2、16位加法器ADDER16B、计数器cnt16以及锁存器en_dff四个模块。当clock出现上升沿时,对输入端输入的两个数dataa、datab进行乘法运算。将结果输入锁存器中,锁存上一阶段计算得到的值, 16位加法器ADDER16B将锁存器锁存的上一阶段的值与进行完乘法计算得到的值dat

2、aa*datab加起来,并输出结果。计数器cnt16用于区分四组乘加所得数,当有一个上升沿脉冲送入cnt16时,若计数不到5,则进行计数+1,若计数达到5,COUT输出进位信号到锁存器en_dff的reset端口,将锁存器复位清零,重新进行计数。此设计经过仿真与硬件测试检验后证实可行。3、 目录 4.1系统设计4 4.1.1设计要求 4.1.2系统设计方案 (1)系统设计思路 (2)总体方案的论证与比较 (3)各功能块的划分与组成 (4)系统的工作原理 4.2单元电路设计6 4.2.1各单元电路的工作原理 4.2.2各单元电路电路分析与设计 4.3软件设计12 4.3.1软件设计平台、开发工具

3、和实现方法 4.3.2程序的流程方框图 4.3.3实现的功能、程序清单 4.4系统测试16 4.4.1系统的性能指标 4.4.2功能的测试方法、步骤 4.4.3仪器设备名称、型号 4.4.4测试数据、图表 4.5结论19 4.5.1对测试结果和数据的分析和计算 4.5.2对于此设计的评价4、 正文4.1系统设计 4.1.1设计要求 设计要求:位宽16位;能对8个16位数据进行乘法和加法运算(yout=a0b0+a1b1+a2b2+a3b3),并行、串行或流水线方式。 4.1.2系统设计方案(1)系统设计思路:由十六位加法器构成以时序逻辑方式设计的十六位乘加器,流水线方式 ,以移位加法为核心器件

4、。(2)总体方案的论证与比较方案一:采用四个乘法器,以串行方式输入各数据。方案二:采用一个乘法器,先输入两数据进行运算,将得到结果保存,并与下一组乘法运算得到的结果相加。方案的选择:第一种方案浪费大量的资源,考虑到实验箱条件限制,采用第二种方案。尽管速度较慢,但可省下相当多的资源,并且实验室可以实现。(3)各功能块的划分与组成共有4个设计模块,分别是乘法器lpm_mult2、16位加法器ADDER16B、计数器cnt16以及锁存器en_dff。(4)系统的工作原理 以上是电路原理图。乘数dataa与被乘数datab输入乘法器lpm_mult2中,当START有上升沿出现时,乘法器计算出data

5、a*datab的结果并有result15.0输出。result15.0输出的结果送入8位加法器ADDER8B的A15.0输入端,加法器的B15.0输入端连接到锁存器en_dff的输出端q15.0,这样锁存器锁存的值就可以与加法器所得到的值相加,得到两对乘法计算后值得和,以此类推,可以得到不断累加的值。而CIN端口接地,这样可以确保CIN端口不影响加法器的计算。加法器计算A15.0(dataa*datab)和锁存器锁存的值B15.0的和从输出端S15.0输出,输入锁存器en_dff的输入端d15.0,将数值锁存起来,同时输出端S15.0接到输出端YOUT15.0,从而从仿真中可以看到每一阶段累加

6、的结果。而计数器cnt16的作用是区分四组乘加所得数与四组乘加所得数。EN接高电平,rst接低电平,保证计数器可用,clk接到START,每当有一个上升沿脉冲送入cnt16时,若计数不到5,则进行计数+1,若计数达到5,COUT输出进位信号到锁存器en_dff的reset端口,将锁存器复位清零,重新进行计数。4.2单元电路设计 4.2.1各单元电路的工作原理总共有四大模块,分别为乘法器lpm_mult2、16位加法器ADDER16B、计数器cnt16以及锁存器en_dff。(1)乘法器的lpm_mult2作用:当clock出现上升沿时,对输入端输入的两个数dataa、datab进行乘法运算。(

7、2)16位加法器ADDER16B的作用:将锁存器锁存的上一阶段的值与进行完乘法计算得到的值dataa*datab加起来,并输出结果。(3)计数器cnt16的作用:区分每两组乘加所得数。clk接到START,每当有一个上升沿脉冲送入cnt16时,若计数不到5,则进行计数+1,若计数达到5,COUT输出进位信号到锁存器en_dff的reset端口,将锁存器复位清零,重新进行计数。(4)锁存器en_dff的作用:锁存上一阶段计算得到的值,从而使加法器实现累加功能。 4.2.2各单元电路电路分析与设计(1)乘法器程序模块图作用:当clock出现上升沿时,对输入端输入的两个数dataa、datab进行乘

8、法运算。(2)16位加法器ADDER16B模块图 作用:将锁存器锁存的上一阶段的值与进行完乘法计算得到的值dataa*datab加起来,并输出结果。(3)计数器cnt16模块图作用:区分每两组乘加所得数。clk接到START,每当有一个上升沿脉冲送入cnt16时,若计数不到5,则进行计数+1,若计数达到5,COUT输出进位信号到锁存器en_dff的reset端口,将锁存器复位清零,重新进行计数。(4)锁存器en_dff程序模块图作用:锁存上一阶段计算得到的值,从而使加法器实现累加功能。 4.2.3参数计算和器件的选择(1)乘法器波形仿真设置参数的计算为了方便实验验证,设置clock频率为1Hz

9、即设置周期为1s,END TIME设置为100s。为了验证当clock有上升沿时才进行乘法计算,设置clock有一部分为低电平(高电平)。模块图波形仿真(功能)波形仿真(时序)(2)16位加法器ADDER16B波形仿真设置参数的计算为了与原理图相符合,将CIN接低电平,随意设置A、B的值,S为A、B的和。模块图波形仿真(功能)波形仿真(时序)(3)计数器cnt16波形仿真设置参数的计算:为了方便实验验证,设置CLK时钟脉冲为1s。首先将RST置低电平,EN置高电平,验证计数器的计数功能。再分别将RST置高电平、EN置低电平,验证计数器的复位清零以及使能端控制功能。模块图波形仿真(功能)波形仿真

10、(时序)(4)锁存器en_dff波形仿真设置参数的计算为了方便实验验证,clk的频率设置为1Hz即周期设置为1s。当reset=1时,锁存器清零,当reset=0时有上升沿且使能端EN=1时,d锁存进锁存器中;当有上升沿但是使能端EN=0时,d值不锁存进锁存器中,锁存器的值不改变。模块图波形仿真(功能)波形仿真(时序)4.3软件设计 4.3.1软件设计平台、开发工具和实现方法软件设计平台:GW48开发工具:QuartusII 7.2实现方法:通过QuartusII 7.2进行VHDL语言编程、方阵、引脚配置,然后烧入 GW48实验平台,选择模式NO.1,进行硬件验证。 4.3.2程序的流程方框

11、图 4.3.3实现的功能、程序清单实现的功能:位宽16位;能对8个16位数据进行乘法和加法运算(yout=a0b0+a1b1+a2b2+a3b3),并行、串行或流水线方式。程序及原理图:乘法器:16位加法器:计数器:锁存器:原理图: 4.4系统测试 4.4.1系统的性能指标总的性能指标图如下:乘法器lpm_mult2的性能指标如下:8位加法器ADDER8B的性能指标如下:计数器cnt16的性能指标如下:锁存器en_dff的性能指标如下: 4.4.2功能的测试方法、步骤首先进行波形仿真:波形仿真参数设置:为了方便实验验证,START时钟周期设置为1s。END TIME=100s。波形仿真(功能)

12、波形仿真(时序)确定波形仿真成功后,再配置管脚,将程序烧录进EP2C5T144C8中,进行测试。选择模式1,管脚配置图如下(START设置为键8,使得人为可控,更方便调试): 4.4.3仪器设备名称、型号设备名称:EP2C5T144C8型号:CycloneII 4.4.4测试数据、图表01*02+02*03+03*04+04*05=0028H,01*02+02*03+03*04+04*05+05*06+06*07+07*08+09*0A=00DAH4.5结论 4.5.1对测试结果和数据分析和计算 01*02+02*03+03*04+04*05=0028H,这是四组十六位数乘积相加的结果,结果为

13、40,也就是十六进制的28。 01*02+02*03+03*04+04*05+05*06+06*07+07*08+09*0A=00DAH,这是一次性输入了八组十六位数,但结果只是后四组相乘相加的结果,因为课题要求,每次只能进行四组运算,所以前四组的计算结果已被清零,不再计入最终结果,所以,本设计达到课题要求。 4.5.2 对于此设计的评价本设计严格按照课题要求,并在要求范围内,达到预期效果,设计思路清晰,操作容易,设计过程中,能够熟练的运用各模块的功能。但是没有考虑到数据溢出如何处理这个问题,有待完善。5、 参考文献潘松,黄继业.EDA技术与VHDL(第3版)清华大学出版社潘松,黄继业.EDA技术实用教程VHDL版(第4班)科学出版社6、关键器件的使用说明书硬件验证:键1和键2输入一个十六位数,键3和键4输入另一个十六位数,数码管1、2显示第一个数,3、4显示第二个数,键8是运算键,每点击一次运算一次,为一组运算,运算结果显示在数码管5、6、7、8,将显示这两个数的积,再次输入两个十六位数,数码管5、6、7、8将显示这两个数的积与前一组数积的和,依次输入四组十六位数,完成一次十六位乘加的运算,且结果显

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号