




免费预览已结束,剩余7页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8位硬件乘法器EDA技术及应用大作业 电子信息学院10级通信工程01班 41003030106目录1. 总体设计说明-3 1.1设计原理-3 1.2设计方案-31.3设计优点-32. 各模块设计实现-4 2.1 ADDER8B模块设计-4 2.2 ANDARITH模块设计-5 2.3 ARICTL模块设计-62.4 REG16B模块设计-72.5 SREG8B模块设计-83.总体仿真结果及分析-104.心得-105.附录-106.参考文献-128位硬件乘法器1总体设计说明1.1设计原理8位硬件乘法器是由8位加法器构成并以时序逻辑方式设计的,该乘法器具有一定的实用价值。其乘法原理是:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次和相加;若为0,则左移后以全零相加,直至被乘数的最高位。1.2设计方案8位硬件乘法器电路原理图如下。ARICTL是乘法运算控制电路,其START信号上跳沿与高电平有两个功能,即16位寄存器清零和被乘数A7.0向移位寄存器SREG8B加载;它的低电平则作为乘法使能信号。乘法时钟信号从ARICTL的CLK输入。当被乘数加载于8位右移寄存器SREG8B后,随着每一时钟节拍,最低位在前,由低位至高位逐位移出。当为1时,与门ANDARITH打开,8位乘数B7.0在同一节拍进入8位加法器,与上一次锁存在16位锁存器REG16B中的高8位进行相加,其和在下一时钟节拍的上升沿被锁存进此锁存器。而当被乘数移出位为0时,与门全零输出。如此往复,直至八个时钟脉冲后,由ARICTL控制,乘法运算过程自动终止,ARIEND输出高电平,以此可点亮一发光管,以示惩罚结束。此时,REG16B的输出值即为最后乘积。8位硬件乘法器电路原理图1.3设计优点此乘法器优点是节省芯片资源,其核心元件只是一个8位加法器,其运算速度取决于输入的时钟频率,因此,可以用此乘法器或相同原理构成的更高位乘法器完成一些数字信号处理方面的运算。2.各模块设计实现2.1 ADDER8B模块设计VHDL程序:LIBRARY IEEE; -8位加法器USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER8B ISPORT(CIN:IN STD_LOGIC; A,B:IN STD_LOGIC_VECTOR(7 DOWNTO 0); S:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); COUT:OUT STD_LOGIC);END ADDER8B;ARCHITECTURE behav OF ADDER8B IS SIGNAL SINT,AA,BB:STD_LOGIC_VECTOR(8 DOWNTO 0);BEGINAA=0&A; BB=0&B; SINT=AA+BB+CIN;S=SINT(7 DOWNTO 0);COUT=SINT(8);END behav;模块图:仿真波形图:模块功能:ADDER8B是一个8位加法器。有三个输入端(CIN,A7.0,B7.0),其中A7.0是被乘数.B7.0是乘数。ADDER8B起到使两个数相加的作用;即在加法的基础上才能相乘。2.2 ANDARITH模块设计VHDL程序:LIBRARY IEEE; -1位乘法器USE IEEE.STD_LOGIC_1164.ALL;ENTITY ANDARITH ISPORT (ABIN:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ANDARITH;ARCHITECTURE behav OF ANDARITH ISBEGINPROCESS(ABIN,DIN)BEGINFOR I IN 0 TO 7 LOOP -循环,完成8位与1位运算 DOUT(I)=DIN(I)AND ABIN;END LOOP;END PROCESS;END behav;模块图:仿真波形图: 模块功能:ANDARITH是一个1位乘法器。有两个输入端(ABIN,DIN7.0).有一个输出端DOUT7.0。ANDARITH起乘法的作用。它类似于一个特殊的与门。即当ABIN为1时,DOUT直接输出DIN,而当ABIN为0时,DOUT输出“0”。2.3 ARICTL模块设计VHDL程序:LIBRARY IEEE; -运算控制模块USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ARICTL ISPORT (CLK,START : IN STD_LOGIC; CLKOUT,RSTALL,ARIEND : OUT STD_LOGIC);END ARICTL;ARCHITECTURE behave OF ARICTL ISSIGNAL CNT4B : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN RSTALL = START;PROCESS(CLK,START)BEGIN IF START = 1 THEN CNT4B = 0000; ELSIF CLKEVENT AND CLK = 1 THEN IF CNT4B 8 THEN CNT4B = CNT4B + 1; END IF; END IF;END PROCESS;PROCESS(CLK, CNT4B, START)BEGIN IF START = 0 THEN IF CNT4B 8 THEN CLKOUT =CLK; ARIEND = 0; ELSE CLKOUT = 0;ARIEND = 1;END IF; ELSE CLKOUT = CLK; ARIEND = 0; END IF;END PROCESS;END behave;模块图:仿真波形图:模块功能:ARICTL是一个乘法器的控制模块。为了接受实验系统上的连续脉冲。有两个输入端(CLK,START);其中START信号的上跳沿及其高电平有两个功能,即16位寄存器清零和被乘数A7.0向移位寄存器SREG8B加载;它的低电平则作为乘法使能信号。CLK为乘法时钟信号。有三个输出(CLKOUT,RSTALL,ARIEND)2.4 REG16B模块设计VHDL程序:LIBRARY IEEE; -16位锁存器/右移寄存器USE IEEE.STD_LOGIC_1164.ALL;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG16B ISPORT (CLK, CLR : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR(8 DOWNTO 0); Q : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END REG16B;ARCHITECTURE behav OF REG16B ISSIGNAL R16S : STD_LOGIC_VECTOR(15 DOWNTO 0);BEGINPROCESS(CLK,CLR)BEGINIF CLR=1 THEN R16S=0000000000000000 ;-时钟到来时,锁存输入值,并右移低8位ELSIF CLKEVENT AND CLK=1 THEN R16S(6 DOWNTO 0)=R16S(7 DOWNTO 1); -右移低8位 R16S(15 DOWNTO 7)= D; -将输入锁存到高8位 END IF;END PROCESS;Q = R16S;END behav;模块图:仿真波形图:模块功能:REG16B是一个16位锁存器。有三个输入端(CLK,CLR,D8.0);其中CLK为时钟信号。有一个输出端(Q15.0)。16位锁存器主要为了锁存一些数,便于以后程序应用。2.5 SREG8B模块设计VHDL程序:LIBRARY IEEE; -8位右移寄存器USE IEEE.STD_LOGIC_1164.ALL;ENTITY SREG8B ISPORT( CLK,LOAD:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); QB:OUT STD_LOGIC );END SREG8B;ARCHITECTURE behav OF SREG8B ISSIGNAL REG8:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS (CLK,LOAD)BEGIN IF CLKEVENT AND CLK=1THEN IF LOAD=1THEN REG8=DIN; ELSE REG8(6 DOWNTO 0)=REG8(7 DOWNTO 1); END IF; END IF;END PROCESS;QB = REG8(0); -输出最低位END behav;模块图:仿真波形图:模块功能:SREG8B是一个移位寄存器。有三个输入端(CLK,LOAD,DIN7.0);当被乘数被加载于8位右移寄存器后,随着每一时钟节拍,最低位在前,由低位至高位逐位移出。有一个输出端(QB)。3.总体仿真结果及分析结果分析:从上面的波形图看出,当7EH和EFH相乘时,第一个时钟上升沿后,其移位相加的结果(在REG16B端口)是3F00H,第8个上升沿后,得到最终相乘结果75A2。4.实验心得通过本次大作业,我基本掌握了Quartus 软件的应用,能够用其建立工程、编译仿真、验证结果,也熟悉了VHDL语言的构成。在完成大作业的过程中,基本熟悉和掌握了8位硬件乘法器的原理,对各个模块的功能也有了一定的认识。在实验中,使我知道了实践的重要性。对于EDA这种偏于实践的课程,多做实验、多动手编程要比单纯看课本重要得多。另外,本次作业的顺利完成得益于张老师平时的严格要求与督促,您的严谨治学使我受益匪浅。5.附录实验主程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;Use ieee.std_logic_unsigned.all;ENTITY MULTI8X8 IS -8位乘法器顶层设计PORT ( CLKk,hkey, START :IN STD_LOGIC; A, B : IN STD_LOGIC_VECTOR(7 DOWNTO 0); Mmax :out STD_LOGIC_VECTOR(3 DOWNTO 0); ARIEND : OUT STD_LOGIC; DOUT : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END MULTI8X8;ARCHITECTURE struc OF MULTI8X8 ISCOMPONENT ARICTL PORT ( CLK : IN STD_LOGIC; START : IN STD_LOGIC; CLKOUT :OUT STD_LOGIC ; RSTALL : OUT STD_LOGIC; ARIEND : OUT STD_LOGIC );END COMPONENT;COMPONENT ANDARITHPORT ( ABIN : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END COMPONENT;COMPONENT ADDER8BPORT (CIN : IN STD_LOGIC; A, B : IN STD_LOGIC_VECTOR(7 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);COUT : OUT STD_LOGIC );END COMPONENT;COMPONENT SREG8BPORT ( CLK : IN STD_LOGIC; LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0); QB : OUT STD_LOGIC );END COMPONENT;COMPONENT REG16BPORT ( CLK : IN STD_LOGIC; CLR : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR(8 DOWNTO 0); Q : OUT STD_LOGIC_VECTOR(15 DOWNTO 0) );END COMPONENT;SIGNAL GNDINT, INTCLK,RSTALL,NEWSTART, QB,clk : STD_LOGIC;SIGNAL ANDSD : STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL count,maxx : STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL DTBIN : STD_LOGIC_VECTOR(8 DOWNTO 0);SIGNAL DTBOUT : STD_LOGIC_VECTOR(15 DOWNTO 0);BEGIN DOUT = DTBOUT; GNDINT = 0;PROCESS(CLK,START)BEGIN IF START=1 THEN NEWSTART=1; ELSIF CLK=0THEN NEWSTART=0; END IF;END PROCESS;Process(h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议书:债务偿还与财产分割详细条款
- 2025企业员工保密合同新(合同版本)
- 建筑施工单位财务管理制度范本
- 军事主题教学设计与说课稿范例
- 工业机器人系统运维员节假日后复工安全考核试卷含答案
- 井下胶轮车司机节假日后复工安全考核试卷含答案
- 制胚剖片工节假日后复工安全考核试卷含答案
- 嗅辨员节假日后复工安全考核试卷含答案
- 茶园管理员节假日后复工安全考核试卷含答案
- 教育培训总结报告范文
- 游戏厅转让合同范本样本
- DB34∕T 4253-2022 公路水运工程质量监督规程
- 人教版数学四年级上册第二单元习题
- 预包装食品标签审核表
- 《旅游政策与法律法规》课件-项目一 任务1-4知识点10-关于以标准化促进餐饮节约反对餐饮浪费
- 《中国诗词大会》必背经典古诗词100首
- 第5课《用发展的观点看问题》第1框《世界是永恒发展的》-【中职专用】《哲学与人生》同步课堂课件
- 垃圾渗滤液处理调试方案
- 加利福尼亚批判性思维技能测试后测试卷班附有答案
- 武汉龙泉社区规划方案
- 2024年罗非鱼行业分析报告及未来发展趋势
评论
0/150
提交评论