移位相加位硬件乘法器电路设计_第1页
移位相加位硬件乘法器电路设计_第2页
移位相加位硬件乘法器电路设计_第3页
移位相加位硬件乘法器电路设计_第4页
移位相加位硬件乘法器电路设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学院:华科学院学院:华科学院电子技术课程设计-移位相加8位硬件乘法器电路计专业:通信工程班级:通信052201H姓名:张茹学号 旦指导教师:柴婷婷2007年12月30日一,设计任务与要求(3)内容要求二,总体框图(3)电路的总体框图框图的说明3,设计思路4,方案设计三,选择器件与功能模块(5)1,选择器件各功能模块及功能说明四,功能模块(8)1, ADDER8B的模块2, ANDARITH 的模块3, ARICTL的模块4, REG16B的模块5, SREG8B的模块五,总体设计电路图(14)1,总体原理图2,仿真波形图3,管脚分配图4,硬件验证情况六,心得体会(18)移位相加8位硬件乘法器设

2、计任务与要求内容:由8位加法器构成的以时序逻辑方式设计的8位乘法器乘法通过逐向移位加原理来实现,从被乘数的最低位开始,若为1,则乘数左移与 上一次和相加;若为0,左移后以全零相加,直至被乘数的最高位。要求: 重点掌握VHDL设计电路模块在掌握8位加法器设计的基础上,进一步掌握8x8位乘法器的设计;进一步学习开发系统,掌握MAX+PLUS II的设计流程。总体框图(电路的总体框图)说明:此电路由五部分组成2,它们分别是控制器,锁存器,寄存器,乘法器,加法器。1控制器是一个乘法器的控制模块,用来接受实验系统上的连续脉冲。2锁存器起锁存的作用,它可以锁存8位乘数。3移位寄存器起移位的作用,便于被乘数

3、可以逐位移出。4乘法器功能类似一个特殊的与非门。5加法器用于8位乘数和高8位相加。2,设计思路:纯组合逻辑构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实现 宽位乘法器,基于PLD器件外接ROM九九表的乘法器则无法构成单片系统,也不 实用。这里介绍由八位加法器构成的以时序逻辑方式设计的八位乘法器,具有一 定的实用价值,而且由FPGA构成实验系统后,可以很容易的用ASIC大型集成芯 片来完成,性价比高,可操作性强。其乘法原理是:乘法通过逐项移位相加原理 来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若 为0,左移后以全零相加,直至被乘数的最高位。3,方案设计:此设

4、计是由八位加法器构成的以时序逻辑方式设计的八位乘法器,它的核心器件 是八加法器,所以关键是设计好八位加法器方案一:八位直接宽位加法器,它的速度较快,但十分耗费硬件资源,对于工业 化设计是不合理的方案二:由两个四位加法器组合八位加法器,其中四位加法器是四位二进制并行 加法器它的原理简单,资源利用率和进位速度方面都比较好。综合各方面的考 虑,决定米用方案二。2三,选择器件与功能模块1,选择器件SREG8B(移位寄存器);REG16B(16位琐存器);ARICTL (运算控制器);ANDARITH(1位乘法器);ADDER8B (8位加法器);数码管(显示结果)。(1)SREG8B的模块图SREG8

5、B是一个移位寄存器,SREG8B有三个输入端,分别是clk,load,din7.0。其中clk为时钟信号。一个输出端,它是qb。REG16B的模块图CI_K XCLKCI_R CI_K XCLKCI_R XCLRD 8_REG16B是一个16位锁存器,REG16B有三个输入端,它们分别是 clk,clr,d8.0.其中clk为时钟信号。有一个输出端,它是q15.0.ARICTL的模块图FIRICTLCLKQUT孑:;CI-KDUT5THRT RSTHLLRSTHLLHR I ENDCLKQUT孑:;CI-KDUT5THRT RSTHLLRSTHLLHR I ENDHR I EHDARICTL是

6、乘法器的控制模块,ARICTL有两个输入端,它们分别是clk,start。有三个输入 端,它们分别是 clkout,rstall,ariend。ANDARITH的模块图fiNDFiRITHns 1 hD 1 MTDQ VT T. Q-OJANDARITH是一个一位乘法器,ANDARITH有两个输入端。它们分别是 abin,din7.0。有一个输出端,它是 dout7.0。ADDER8B的模块图ADDER8B是一个8位加法器,ADDER8B有三个输入端,它们分别是 cin,a7.0,b7.0。其中a7.0为被乘数;b7.0为乘数。有两个输出端, 它们分别是s7.0,cout。四,功能模块ADDE

7、R8B 模设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE . STD_LOGIC_UTJS IGNED . ALL ;ENTITY ADDERSB ISFORT (CIN : IN WTD_gGU: IDI STD_LOGIC_VECTOR (7 DOWTO 0);S:OUT STD_LOGIC_VECTOR(1 DOWNTO 0);COUT:OUT 5TD_L0GIC)/END ADDER8B;ARCHITECTURE toehav OF ADDERBB ISSIGNAL SINT,BE : STD_LOGIC_VECTOR (8 DO

8、WTO 0);EECIU1 0 1 EE= ; SINT=AA+BE+C IN; 3=S IWT (7 DOWTO 0);COUTJD ANDARTT;ARCZTZCTURZ beliav OF 邸DAE二T三 13mmjPRCC2:oo (AEZNrDZN)BEGINFOR Z ZN 3 TG T LOOPDOUT 匚)W=D二习(Z)SND AEZN;END LOOP;END PkGCEBB;END be?:av;ANDARITH的模块图FlNDfiRITHRB1MDOUT7-.0-D 1 NE7. 0,ANDARITH(乘法器)的模块ANDARITH的波形图按成J村5&日叫o LJLJL

9、HUDW-J!013 皿-03 K (HJ(必!(说 x MJ(弗fA DOUTHODDO m K明K 眄 I 就 州皿ANDARITH模块的功能:ANDARITH是一个1位乘法器。有两个输入端(ABIN,DIN7.0).有一个输出端.DOUT7.0。ANDARITH起乘法的作用。它类似于一个特殊的与门。即当ABIN为1时,DOUT直接输出DIN,而当ABIN为0DOUT输出ARICTL模块设计1Z3RARY 二三三三:USZ 二龙仁H_二砧-R二二fU5T 二三三三.51D_IiOEZC_U?S5Z3NED. All;ARZCTL Z3PORT (CL, oTAEr : ZN 己匚E?_LC

10、E二C;二 lourMm tali,ar二 end:gut m rd_logzc);Z17D ARZCTLrARCmiTTETJMT tietiav OF ARZCLL Zo3ZGNAL CNT4B:3rD_LOGZC_VECLGR(S DOWMTC 3: 主EHsrAii=3rARrrPRQGZ55(CLf 51ART)主MbJF oLARP = 1L二三WM CNIT4B=ri,0030,,r;三二己IF C二艺,三VENT AND C1K= L二三MHZF CNT4BE 二CNTB= CNTB - LrEND ZF:END 二 E7ZND PROCZ35;PRBtmm【巳二M CKIT4

11、 r START)M三E二国ZF STARr= F 二三MMZF CNT4B z 二三MH GLXOUr= ARZ5;KIX= 0ZL5Z CL2:0Ur= F 1 ;ARZEND= F L 1 rZND ZF;二mt t二艾6口7=二芟far二end ;HR I EHDARICTL (控制器)的模块ARICTL的波形图F4snip严n: l1C4 Orumum,300Dns.400ChaSOO Ons幽的TM.flns敝NmWOna幻ARTT TA CLKDJ 1LILJLJLILJLJL心 R5TALL1L3 CLKOOr013 AJ?END0ARICTL模块的功能:ARICTL是一个乘法

12、器的控制模块。为了接受实验系统上的 连续脉冲。有两个输入端(CLK,START);其中START信号的上跳沿及其高电平有 两个功能,即16位寄存器清零和被乘数A7.0向移位寄存器SREG8B加载;它 的低电平则作为乘法使能信号。CLK为乘法时钟信号。有三个输出 (CLKOUT,RSTALL,ARIEND)。REG16B模块设计LIBRARY 二三M3;1TSRARY 二J5Z: ZZ:Z:Z:. 5rD_IiOEZC_LL6 .MllrISPCRZ匚二M;5rD_L0ZG;D:3LD_LOSZC_VE LOR ( = DOWNTQ 3) rQ:CUT oTD_L0Q7C_VECTOR(L5 D

13、OWNT口 f Z:ND 3165;be-av OF R5GL6B IS3 Z GN AL AL 63 : 3rE_DC3ZG_VECrGR (15 DOP1MTG 0) 三三二二田PRCCZoS (CLf C:二N)IF CL=P L0333333333333333FP;ZL5ZF GLP ZVENT AND G1K=pL1L6= (6 DOWNTO 3=RL6=(i DOWNTO L):(15 DOWNTO ?)= D;TKD ZF;END PRGCZoB三HD EahavrREG16B的模块REG16B(锁存器)的模块REG16B的波形图REG16B模块的功能:REG16B是一个16位锁

14、存器。有三个输入端(CLK,CLR,D8.0);其中CLK为时钟信号。有一个输出端(Q15.0)16位锁存器主要为了锁存一些数,便于以后程序应用。(5)SREG8B模块设计LIBRARY 二三弟;:JSZ ZZZZ.SrD_LOGZC_LL64.ALL;M皿二二了 己RME三M ZoPORT(ClKrLOAD:ZN =TD_LOGZC;DZN :二H 己匚D_LOCZC_YECIQR p POWTCO);QB:OUT 己匚D_LOS二二;ZND WW:ARC三ITMCTJRE toenav GF 己Za3ZGNAL RZG=:3TD_LOGZC_VECTOR p LOWNTG,);三三PRGC

15、Z33(ClXrLOAD)主mIF CLF EVENT ABID CLK=,LZF LQAD=1 L p ZXEM三二己三 NME三6 DOHNTD 3) =2= ( LOWNTO L);ZKTD TFfTND ZF;ZKD PRGCZBoQB=AZ3z ;IND behav;SREG8B的模块图SREG8B(移位寄存器)的模块图SREG8B的波形图SREG8B模块的功能:SREG8B是一个移位寄存器。有三个输入端(CLK,LOAD,DIN7.0);当被乘数被加载于8位右移寄存器后,随着每一时钟 节拍,最低位在前,由低位至高位逐位移出。有一个输出端(QB)。五.总体设计电路图说明原理图:本乘法

16、器由五个模块组成,其中ARICTL是乘法运算控制电路,它的 START信号上的上跳沿与高电平有2个功能,即16位寄存器清零和被 乘数A7.0向移位寄存器SREG8B加载;它的低电平则作为乘法使 能信号,乘法时钟信号从ARICTL的CLK输入。当被乘数被加载于8位 右移寄存器SREG8B后,随着每一时钟节拍,最低位在前,由低位至高 位逐位移出。当为1时,一位乘法器ANDARITH打开,8位乘数B7.0 在同一节拍进入8位加法器,与上一次锁存在16位锁存器REG16B中的 高8位进行相加,其和在下一时钟节拍的上升沿被锁进此锁存器。而当 被乘数的移出位为0时,一位乘法器全零输出。如此往复,直至8个时

17、钟脉冲后,由ARICTL的控制,乘法运算过程自动中止,ARIEND输出高 电平,乘法结束。此时REG16B的输出即为最后的乘积。2.时序仿真结果(以下是8位乘法器顶层设计的仿真波形图)从上面的波形图看出,当9FH和FDH相乘时,第一个时钟上升沿后,其移位相加的结果(在REG16B端口)是4F80H,第8个上升沿后,最终相乘结果是9D23H。管脚分配图实验下载验证情况由于我们实验室采用GW48系列EDA系统平台,根据GW48系统和乘法器原理,定 义管脚是:ARIEND接PIO39(D8),乘法运算时钟CLK接Clock0,清零及启动运 算信号START由键8(PIO38)控制,乘数B7.0接PI

18、O58-PIO66 (由键2,键 1输入8位二进制数),被乘数A7.0接PIO47-PIO54(由键4,键3输入8位 二进制数),乘积输出DOUT15.0接PIO31-PIO16。编译,综合后向目标苡片 下载适配后的逻辑设计文件。下载适配后,键8输入高电平时,乘积锁存器清零, 乘数和被乘数值加载;低电平时开始乘法操作,8个脉冲后乘法结束,乘积显示 在数码管85位,高位在左。例如:我们在乘数和被乘数都输入08H,键8输入 低电平,8个脉冲后在高四个数码管显示0040H,实验证明成功。心得体会通过三周的电子设计的数字部分EDA设计,我们掌握了系统的数 字电子设计的方法,也知道了实验调试适配的具体操

19、作方法。在设计 过程中,我们遇到了各种问题,在老师的指导下和我们自己的努力, 克服了各种问题,最后得到了成功。但是我也发现了一些问题,我们 无法解决。如:在ARICTL控制器模块中有一个警告,还有在适配后 得到频率高的执行速度还要慢一些等等。总之,这次设计使我掌握了 很多有用的经验也学到了很多在书本上学不到知识,为以后的学习和 工作打下坚实的基础通过这次设计,进一步加深了对EDA的了解,让我对它有了更加 浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开 心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件 之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于 找出了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论