电子课程设计.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)