- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子课程设计.doc
电子课程设计
---移位相加8位硬件乘法器电路设计
学院 :电子信息工程学院
班级 :
姓名 :
指导老师:
目录
设计任务与要求…………………………………………………………2
总体框图……………………………………………………3
选择器件……………………………………………………4
功能模块…………………………………………………………………5
总体设计电路图………………………………………………………………15
心得体会…………………………………………………………………17
移位相加8位硬件乘法起
一、设计任务与要求
设计一个乘法器的控制模块,接受实验系统上的连续脉冲,当给定启动/清零信号后,能自动发出CLK信号驱动乘法运算,当8个脉冲后自动停止。设计一个纯组合电路的8X8等于16位的乘法器(选择不同的流水线方式),具体说明并比较这几种乘法器的逻辑资源占用情况和运行速度情况。
二、总体框图
1、模块功能
A、运算控制模块:控制电路的起始和终止。
B、8位右移寄存器:在时钟脉冲的作用下,高位寄存器的数码送给低位寄存器,作为低位寄存器的次态输出;每输入一个时钟脉冲,寄存器的数据就顺序向右移动一位。
C、1位乘法器:
D、8位加法器:
E、16位锁存器/右移寄存器:
此设计是由八位加法器构成的以时序逻辑方式设计的八位乘法器,它的核心器件是八位加法器,所以关键是设计好八位加法器。
方案:由两个四位加法器组合八位加法器,其中四位加法器是四位二进制并行加法器,它的原理简单,资源利用率和进位速度方面都比较好。综合各方面的考虑,决定采用方案二。
2、设计思路:
纯组合逻辑构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实现宽位乘法器,由八位加法器构成的以时序逻辑方式设计的八位乘法器,具有一定的实用价值,而且由FPGA构成实验系统后,可以很容易的用ASIC大型集成芯片来完成,性价比高,可操作性强。其乘法原理是:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。
三、选择器件
1、配有QuartusII软件的计算机一台;
2、选用FPGA芯片,如:FLEX10K系列的EPF10K10LC84-4;
(1)、FPGA适配器板:标准配置是EPF10K10接口板;
(2)、下载接口是数字芯片的下载接口(JTAG),主要用于FPGA芯片的数据下载;
(3)、拨码开关、按键开关和LED灯;
(4)、时钟源。
四、功能模块
1、乘法器等层设计模块
VHDL程序
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 IS
COMPONENT 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 ANDARITH
PORT ( ABIN : IN STD_LOGIC;
DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
DOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );
END COMPONENT;
COMPONENT ADDER8B
PORT (CIN : IN STD_LOGIC;
A, B : IN STD_L
文档评论(0)