当前位置:文档之家› 六位阵列乘法器

六位阵列乘法器

六位阵列乘法器
六位阵列乘法器

沈阳航空航天大学

课程设计报告

课程设计名称:计算机组成原理课程设计课程设计题目:阵列乘法器的设计

院(系):

专业:计算机科学与技术

班级:

学号:

姓名:

指导教师:胡光元

完成日期:2014年1月10日

目录

第1章总体设计方案 (1)

1.1设计原理 (1)

1.2设计环境 (1)

第2章详细设计方案 (2)

2.1顶层方案图的设计与实现 (2)

2.1.1创建顶层图形设计文件 (2)

2.1.2器件的选择与引脚锁定 (2)

2.2功能模块的设计与实现 (3)

2.2.1六位阵列乘法模块的设计与实现 (4)

2.2.2细胞模块的设计与实现 (5)

2.3仿真调试 (7)

第3章编程下载与硬件测试 (8)

3.1编程下载 (8)

3.2硬件测试及结果分析 (8)

参考文献 (10)

附录(电路原理图) (12)

第1章总体设计方案

1.1 设计原理

由于采用普通的方法计算两个数的相乘比较慢,为了进一步提高乘法运算的运算速度,可以采用类似于人工计算的方法,用阵列乘法器来进行计算,给人们带来了很大的方便。

六位阵列乘法器的原理,X=X1X2X3X4X5X6 Y=Y1Y2Y3Y4Y5Y6且X为被乘数的输入端,Y为乘数的输入端,Z=Z0Z1Z2Z3Z4Z5Z6Z7Z8Z9Z10Z11为乘积的输出端。其基本原理是阵列的每一行送入乘数Y的每一位数位,而各行错开形成的每一斜列则送入被乘数的每一数位。

六位阵列乘法器的整体设计包含三十六个加法器模块,加法器模块中由一个与门和一个全加器构成,由四个与门、两个异或门、一个三端接口的或门构成的全加器为底层设计,采用原理图设计输入方式,所谓的全加器就是两个数X、Y 及进位输入Cn相加可得全加和Fn和进位输出Cn。

顶层的六位阵列乘法器也采用原理图设计输入方式,在以三十六个加法器为基础而构成的六位阵列乘法器,其主要以六个被乘数输入端、四六个乘数输入端以及八十二个乘积输出端为主,外加还包括中间过程参与计算的进位输入端、部分积输入端和进位输出端、部分积输出端,这样一来就构成了一个完整的六位阵列乘法器。

采用硬件描述语言进行电路设计并实现四位阵列乘法的功能,设计的原理图经编译、调试后形成*.bit文件并下载到XCV200可编程逻辑芯片中,若以上过程全部正确,最后经硬件测试验证设计的正确性。

1.2 设计环境

·硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机;

·EDA环境:Xilinx Foundation 3.1设计软件、。

第2章详细设计方案

2.1 顶层方案图的设计与实现

顶层方案图实现四位阵列乘法器的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。

2.1.1创建顶层图形设计文件

顶层图形文件主要由四位被乘数输入端、四位乘数输入端和八位乘积输出模块组装而成的一个完整的设计实体。可利用Xilinx Foundation 3.1模块实现顶层图形文件的设计,顶层图形文件结构如图2.1所示。

图2.1 六位阵列乘法器顶层图形文件结构

2.1.2器件的选择与引脚锁定

(1)器件的选择

由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为Xlinx XCV200可编程逻辑芯片。

(2)引脚锁定

把顶层图形文件中的输入/输出信号安排到Xlinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及Xlinx XCV200芯片引脚对应关系如表2.1

所示。

表2.1 信号和芯片引脚对应关系

2.2 功能模块的设计与实现

六位阵列乘法器是以三十六个加法器模块为基础而实现的,加法器模块中还包括一个两端输入的与门和一个全加器,设计时这两个模块用原理图设计输入方式实现。

2.2.1六位阵列乘法模块的设计与实现

六位阵列乘法模块由三十六个基本加法器模块构成,共有六个被乘数输入端六个乘数输入端和十二个乘积的输出端。加法器模块由四个两端接口的与门、两个两端接口的异或门和一个三端接口的或门构成如图2.2所示,其设计过程如下:X=X1X2X3X4X5X6

Y=Y1Y2Y3Y4Y5Y6

X*Y=Z0Z1Z2Z3Z4Z5Z6Z7Z8Z9Z10Z11

(1)原理图设计输入方式

图2.2阵列乘法模块原理图

(2)创建元件图形符号

为了能在图形编辑器(原理图设计输入方式)中调用此三十六个基本加法器模块,需要为这三十六个加法器模块创建一个元件图形符号,可用Xilinx Foundation 3.1编译器的Create Symbol模块实现。

(3)功能仿真

对创建的三十六个基本加法器模块进行功能仿真,验证其功能的正确性,可

用Xilinx Foundation 3.1编译器的Simulator模块实现。六位阵列乘法器的功能表如表2.2所示。

表2.2 阵列乘法功能表

2.2.2细胞模块的设计与实现

细胞模块是以加法器为基础的模块,它包括四个输入端分别为被乘数X、乘数Y、部分积输入PIN、进位输入CIN,相乘部分积输出用POUT表示,进位输出用COUT表示,形成的原理图设计如图2.3表示,其设计过程如下:部分积输出:POUT=(XY)PIN CIN

进位输出:CIN=XYPIN+XYCIN+PINCIN

(1)原理图设计输入方式

图2.3加法器运算原理图

(2)创建元件图形符号

为了能在图形编辑器(原理图设计输入方式)中调用此加法器,需要为加法器创建一个元件图形符号,可用Xilinx Foundation 3.1编译器的Create Symbol模块实现。

(3)功能仿真

对创建的加法器元件进行功能仿真,验证其功能的正确性,可用Xilinx Foundation 3.1编译器的Simulator模块实现。加法器的功能仿真波形如图2.4所示。

图2.4加法器功能仿真波形

表2.3 加法器的功能表

2.3 仿真调试

仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。

(1)建立仿真波形文件及仿真信号选择

功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如表2.4所示。

表2.4 仿真信号选择和参数设置(举例)

(2)功能仿真结果与分析

功能仿真波形结果如图2.5所示,仿真数据结果如表2.5所示。对表2.5与表1.1的内容进行对比,可以看出功能仿真结果是正确的,进而说明电路设计的正确性。图2.5 功能仿真波形结果

第3章编程下载与硬件测试

3.1 编程下载

利用COP2000实验箱、XCV200实验板的编程下载功能,将得到的1037*.bit 文件下载到XCV200实验板的XCV200可编程逻辑芯片中,此时该元件可实现四位阵列乘法器的功能。

3.2 硬件测试及结果分析

利用XCV200实验板进行硬件功能测试。一位全加器的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的液晶显示管实现,其对应关系如表3.1所示。

表3.1 XCV200实验板信号对应关系

取[A]=001000 [B]=111011理论计算结果为:[A*B]=11111011000 乘积结果则在XCV200实验板上显示为如图3.1所示:

图3.1 XCV200实验板显示

参考文献

[1] 曹昕燕.EDA技术实验与课程设计[M].北京:清华大学出版社,2006

[2] 范延滨.微型计算机系统原理、接口与EDA设计技术[M].北京:北京邮电大学出版社,2006

[3] 唐朔飞.计算机组成原理(第2版)[M].北京:高等教育出版社,2008

附录(电路原理图)

4FPGA实验报告8位乘法器—徐艺萍

实验四8位乘法器实验 一、实验原理 8位乘法器,输入为两个8位信号,输出结果为16位。 module mult8(out, a, b); //8位乘法器源代码 parameter size=8; input[size-1:0] a,b; //两个操作数 output[2*size-1:0] out; //结果 assign out=a*b; //乘法运算符 endmodule 本实验采用Chipscope-Pro生成VIO/ICON核,并插入到8位乘法器设计中,在线进行观测和调试。 二、实验目的 1. 熟悉ISE9.1 开发环境,掌握工程的生成方法; 2. 熟悉SEED-XDTK XUPV2Pro 实验环境; 3. 了解Verilog HDL语言在FPGA 中的使用; 4. 通过掌握8位乘法器的Verilog HDL设计,了解数字电路的设计。 三、实验内容 1. 用Verilog HDL语言设计8位乘法器,进行功能仿真验证。 2. 使用chipscope-Pro 生成VIO/ICON 核,在线观测调试。 四、实验准备 1. 将USB 下载电缆与计算机及XUPV2Pro 板的J8 连接好; 2. 将RS232 串口线一端与计算机连接好,另一端与板卡的J11 相连接; 3. 启动计算机,当计算机启动后,将XUPV2Pro 板的电源开关SW11 打开到ON 上。观察XUPV2Pro 板上的+2.5V,+3.3V,+1.5V 的电源指示灯是否均亮。若有不亮的,请断开电源,检查电源。

五、实验步骤 ⑴创建工程及设计输入 ①在E:\project\目录下,新建名为mult8的新工程; 器件族类型(Device Family)选择“Virtex2P”, 器件型号(Device)选“XC2VP30 ff896 -7”, 综合工具(Synthesis Tool)选“XST (VHDL/Verilog)”, 仿真器(Simulator)选“ISE Simulator” ②设计输入并保存。 ⑵功能仿真 ①在sources窗口sources for中选择Behavioral Simulation。 ②由Test Bench WaveForm 添加激励源,如图1所示。仿真结果如图2所示。 图1 波形激励编辑窗口 图2 仿真结果 从图中可以验证由Verilog HDL语言设计的8位乘法器的工作是正确的,不论是输入a的值变化还是输入b的值变化,输出值随之变化,为a与b的乘积。 ⑶生成核并添加核 本次试验内容为8位乘法器,不需要使用ILA核。因此下面使用核生成法生成一个ICON核,一个VIO核就可以了。 ①首先对生成的工程进行综合。 ②生成核 ③添加核

计算机组成原理阵列乘法器课程设计报告

. 课程设计

. 教学院计算机学院 课程名称计算机组成原理题目4位乘法整列设计专业计算机科学与技术班级2014级计本非师班姓名唐健峰 同组人员黄亚军 指导教师 2016 年10 月 5 日

1 课程设计概述 1.1 课设目的 计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。 同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发现问题,分析问题,到最终的解决问题。凝聚了我们对问题的思考,充分的锻炼了我们的动手能力、团队合作能力、分析解决问题的能力。 1.2 设计任务 设计一个4位的二进制乘法器: 输入信号:4位被乘数A(A1,A2,A3,A4), 4位乘数B(B1,B2,B3,B4), 输出信号:8位乘积q(q1,q2,q3,q4,q5,q6,q7,q8). 1.3 设计要求 根据理论课程所学的至少设计出简单计算机系统的总体方案,结合各单元实验积累和课堂上所学知识,选择适当芯片,设计简单的计算机系统。 (1)制定设计方案: 我们小组做的是4位阵列乘法器,4位阵列乘法器主要由求补器和阵列全加器组成。 (2)客观要求 要掌握电子逻辑学的基本内容能在设计时运用到本课程中,其次是要思维灵活遇到问题能找到合理的解决方案。小组成员要积极配合共同达到目的。

2 实验原理与环境 2.1 1.实验原理 计算机组成原理,数字逻辑,maxplus2是现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 用乘数的每一位去乘被乘数,然后将每一位权值直接去乘被乘数得到部分积,并按位列为一行每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值,将各次部分积求和得到最终的对应数位的权值。 2.2 2.实验环境 2.2.1双击maxplu2II软件图标,启动软件 (1).新建工程,flie->new project ....,出现存储路径的选项框,指定项目保存路径并且为工程命名,第三行设置实体名,保持与工程名一致。点击OK

计算机组成原理_阵列乘法器设计

沈阳航空航天大学 课程设计报告 课程设计名称:计算机组成原理课程设计课程设计题目:阵列乘法器的设计与实现 院(系):计算机学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:2014年1月10日

沈阳航空航天大学课程设计报告 _______________________________________________________________________________ 目录 第1章总体设计方案 (1) 1.1设计原理 (1) 1.2设计思路 (2) 1.3设计环境 (3) 第2章详细设计方案 (3) 2.1总体方案的设计与实现 (4) 2.1.1总体方案的逻辑图 (4) 2.1.2器件的选择与引脚锁定 (4) 2.1.3编译、综合、适配 (5) 2.2功能模块的设计与实现 (5) 2.2.1一位全加器的设计与实现 (6) 2.2.2 4位输入端加法器的设计与实现 (7) 2.2.3 阵列乘法器的设计与实现 (10) 第3章硬件测试 (13) 3.1编程下载 (13) 3.2 硬件测试及结果分析 (13) 参考文献 (15) 附录(电路原理图) (16)

第1章总体设计方案 1.1 设计原理 阵列乘法器采用类似人工计算的方法进行乘法运算。人工计算方法是用乘数的每一位去乘被乘数,然后将每一位权值对应相加得出每一位的最终结果。如图1.1所示,用乘数的每一位直接去乘被乘数得到部分积并按位列为一行,每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值。将各次部分积求和,即将各次部分积的对应数位求和即得到最终乘积的对应数位的权值。 为了进一步提高乘法的运算速度,可采用大规模的阵列乘法器来实现,阵列乘法器的乘数与被乘数都是二进制数。可以通过乘数从最后一位起一个一个和被乘数相与,自第二位起要依次向左移一位,形成一个阵列的形式。这就可将其看成一个全加的过程,将乘数某位与被乘数某位与完的结果加上乘数某位的下一位与被乘数某位的下一位与完的结果再加上前一列的进位进而得出每一位的结果,假设被乘数与乘数的位数均为4位二进制数,即m=n=4,A×B可用如下竖式算出,如图1.1所示。 X 4 X 3 X 2 X 1 =A × Y 4 Y 3 Y 2 Y 1 =B X 4Y 1 X 3 Y 1 X 2 Y 1 X 1 Y 1 X 4Y 2 X 3 Y 2 X 2 Y 2 X 1 Y 2 X 4Y 3 X 3 Y 3 X 2 Y 3 X 1 Y 3 (进位) X4Y4 X3Y4 X2Y4 X1Y4 Z 8 Z 7 Z 6 Z 5 Z 4 Z 3 Z 2 Z 1 图1.1 A×B计算竖式 X 4 ,X 3 ,X 2 ,X 1 ,Y 4 ,Y 3 ,Y 2 ,Y 1 为阵列乘法器的输入端,Z 1 -Z 8 为阵列乘法器 的输出端,该逻辑框图所要完成的功能是实现两个四位二进制既A(X)*B(Y)的 乘法运算,其计算结果为C(Z) (其中A(X)=X 4X 3 X 2 X 1 ,B(Y)=Y 4 Y 3 Y 2 Y 1 , C(Z)=Z 8Z 7 Z 6 Z 5 Z 4 Z 3 Z 2 Z 1 而且输入和输出结果均用二进制表示 )。阵列乘法器的总原 理如图1.2所示。

实验三 8位乘法器的设计

实验三8位乘法器的设计 一、实验目的 1)了解8位乘法器的工作原理 2)熟悉MAX+plusII软件的基本使用方法 3)熟悉EDA实验开发的基本使用方法 4)学习VHDL程序中数据对象,数据类型,顺序语句,并行语句的综合使用 二、实验内容 设计一个由8位加法器构成的以时序逻辑方式设计的8位乘法器。其乘法原理是:乘法通过逐项位移相加原理来实现,以被乘数的最低位开始,若为1,则乘数左移后与上一次和相加,若为0,左移后以全零相加,直至被乘数的最高位。 三、实验条件 开发软件:MAX+plus II 9.23 Baseline 硬件设备:装有windows7的pc机 四、实验设计 1)系统的原理框架图

2)VHDL源程序 andarith.vhd源代码 library ieee; use ieee.std_logic_1164.all; entity andarith is port(abin:in std_logic; din:in std_logic_vector(7 downto 0); dout: out std_logic_vector(7 downto 0)); end entity andarith; architecture art of andarith is begin process(abin, din)is begin for i in 0 to 7 loop dout(i)<=din(i)and abin; end loop; end process; end architecture art; arictl.vhd源代码 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity arictl is port(clk:in std_logic; start: in std_logic; clkout:out std_logic; rstall: out std_logic; ariend: out std_logic); end entity arictl; architecture art of arictl is signal cnt4b:std_logic_vector(3 downto 0); begin rstall<=start; process(clk, start)is begin if start='1' then cnt4b<="0000"; elsif clk'event and clk='1'then if cnt4b<8 then cnt4b<=cnt4b+1; end if; end if;

移位相加8位乘法器的设计

EDA技术课程大作业 设计题目:移位相加8位乘法器的设计 院系:电子信息与电气工程学院 学生姓名: 学号:200902070017 专业班级:09电子信息工程专升本 2010年12月3日

移位相加8位乘法器的设计 1.设计背景和设计方案 1.1设计背景 EDA技术(即Electronic Design Automation技术)就是依赖强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Ddscription Langurage)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。它在硬件实现方面融合了大规模集成电路制造技术、IC版图设计、ASIC 测试和封装、FPGA(Gield Peogrammable Gate Array)/CPLD(Complex Programmable Logic Device)编程下载和自动测试等技术;在计算机辅助工程方面融合了计算机辅助设计(CAD),计算机辅助制造(CAM),计算机辅助测试(CAT),计算机辅助工程(CAE)技术以及多种计算机语言的设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等。本文介绍设计一个两个5位数相乘的乘法器。用发光二极管显示输入数值,用7段显示器显示十进制结果。乘数和被乘数分两次输入。在输入乘数和被乘数时,要求显示十进制输入数据。输入显示和计算结果显示,采用分时显示方式进行,可参见计算器的显示功能 1.2设计方案 此设计是由八位加法器构成的以时序逻辑方式设计的八位乘法器,它的核心器件是八位加法器,所以关键是设计好八位加法器。 方案一:八位直接宽位加法器,它的速度较快,但十分耗费硬件资源,对于工业化设计是不合理的。 方案二:由两个四位加法器组合八位加法器,其中四位加法器是四位二进制并行加法器,它的原理简单,资源利用率和进位速度方面都比较好。综合各方面的考虑,决定采用方案二。 该乘法器是由8位加法器构成的以时序方式设计的8位乘法器。其乘法原理是乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。从

八位乘法器VHDL及功能模块说明

EDA课程设计报告 实验名称:八位乘法器

目录 一.引言 1.1 EDA技术的概念?? 1.2 EDA技术的特点?? 1.3 EDA设计流程?? 1.4 VHDL介绍?? 二.八位乘法器的设计要求与设计思路??2.1 设计目的?? 2.2 设计要求?? 三.八位乘法器的综合设计?? 3.1 八位乘法器功能?? 3.2 八位乘法器设计方案?? 3.3 八位乘法器实体设计?? 3.4 八位乘法器VHDL设计?? 3. 5八位乘法器仿真图形?? 心得体会?? 参考文献??

一、引言 1.1 EDA技术的概念 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。 1.2 EDA技术的特点 利用EDA技术进行电子系统的设计,具有以下几个特点:①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。 1.3 EDA设计流程 典型的EDA设计流程如下: 1、文本/原理图编辑与修改。首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本或图形方式表达出来。 2、编译。完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。 3、综合。将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。 4、行为仿真和功能仿真。利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。 5、适配。利用FPGA/CPLD布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配臵、逻辑分割、逻辑优化、布局布线。适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。

8位二进制乘法器

8位二进制乘EDA实验 法器 学号:02115024 [2013.12.15] 班级:021151 姓名:王浩楠 指导老师:徐少莹

一.设计要求 8位二进制乘法采用移位相加的方法。即用乘数的各位数码,从低位开始依次与被乘数相乘,每相乘一次得到的积称为部分积,将第一次(由乘数最低位与被乘数相乘)得到的部分积右移一位并与第二次得到的部分积相加,将加得的和右移一位再与第三次得到的部分积相加,再将相加的结果右移一位与第四次得到的部分积相加,直到所有的部分积都被加过一次。 例如:11010101和10010011相乘,计算过程如下: 二.设计方法 按照这种算法,可以得到下图所示之框图和简单流程图。按照这种算法,可以得到下图所示之框图和简单流程图。图中Y寄存器存放被乘数M,B寄存器存放乘数N,A累加器存放部分积。A和Y中的数据在加法器中相加后送入A 中,而A和B相级联又构成了一个16bit的移位寄存器,当它工作于移位模式时,可以实现数据的右移。由于乘数的每一位不是0就是1 ,对应的部分积不是0就是被乘数本身,所以实际作部分积相加这一步时,只要根据乘数的对应位判断:如该位为1 ,则将累加器中的数据加上被乘数再移位;如该位为0时,就不加被乘数而直接移位。运算时首先将累加器A清零,并将被乘数M和乘数N分别存入寄存器Y和B,然后依据寄存器B中最右一位B0(数据N0)确定第一个部分积。将此部分积送入A累加器以后,将A连同寄存器B右移一位,部分积的最低位被移进寄存器B的最左位,乘数的最低位N0被移出寄存器B,而乘数的次低位N1被移至寄存器B的B0位。第二次仍然依据B0位的数据(N1)来确定第二个部分积,将部分积与累加器中的数据相加后右移一位,N1又被移出寄存器,数据N2被移到B0位置。。。。。这样,经过8次部分积相加位的操作,完成1次乘法运算,乘数N恰好被移出寄存器B,寄存器B中保存的就是运算积的低8位数据。移位相加的次数应用一个计数器来控制,每移位一次,计数器计一个数。当计数器计得8个数时,发出一个信号,使电路停止操作,并输出运算结果。

EDA实习之8位乘法器设计

学号:10446234 常州大学 EDA 技术 课程设计报告 题目:移位相加8位硬件乘法器设计 学生:朱京 学院(系):信息科学与工程学院专业班级:电子102 指导教师:李文杰

一、设计题目移位相加8位硬件乘法器设计 二、设计背景 纯组合逻辑构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实现宽位乘法器。基于PLD器件外接ROM九九表的乘法器则无法构成单片系统,也不实用。由8位加法器构成的以时序逻辑方式设计的8位乘法器,具有一定的实用价值。其乘法通过逐项移位相加来实现,从被乘数最低位开始,若为1,则乘数左移后与上次的和相加,若为0,左移后与全0相加,直至被乘数的最高位。 三、设计内容及要求 设计内容: 设计移位相加8位硬件乘法器,完成8位被乘数A[7..0]和8位乘数B[7..0]的乘法运算,得到16位的乘法运算输出DOUT[15..0]。 (1)设计8位移位寄存器SREG8B,当被乘数加载于SREG8B后,随时钟节拍,最低位在前,由低位至高位逐位移出。 (2)设计与门,根据移位寄存器输出是否为1,决定输入加法器的是8位乘数还是全零。 (3)设计8位加法器,将8位乘数或全零与16位锁存器的高8位进行相加。 (4)设计16位锁存器REG16B,在时钟到来时,锁存来自加法器的输出至高8位,并右移低8位。 要求: 1)根据系统设计要求,采用自顶向下的方法,划分系统主要模块,画出整体设计原理框图。 2)根据工作原理、用硬件描述语言对设计内容实现,列出设计程序清单,给出仿真波形图和调试中存在问题及解决方法。 3)设计内容下载至目标芯片,在EDA的GW48型实验箱进行功能验证。 4)谈谈该课题的课程设计中遇到的问题,获得哪些技能和体会,以及建设性意见。 四、设计步骤和安排: (1)题目安排;图书馆查相关资料; (2)设计原理研究,总体设计; (3)各主要模块的VHDL设计。各模块的设计仿真分析。 (4) 完成系统顶层文件设计,系统总体功能的仿真分析。 (5) 将设计内容进行硬件配置,在GW48实验箱上进行调试。 (6) 撰写课程设计报告、答辩并提交报告。

计算机组成原理阵列乘法器课程设计报告.

课程设计

教学院计算机学院 课程名称计算机组成原理题目4位乘法整列设计专业计算机科学与技术班级2014级计本非师班姓名唐健峰 同组人员黄亚军 指导教师 2016 年10 月 5 日

1 课程设计概述 1.1 课设目的 计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。 同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发现问题,分析问题,到最终的解决问题。凝聚了我们对问题的思考,充分的锻炼了我们的动手能力、团队合作能力、分析解决问题的能力。 1.2 设计任务 设计一个4位的二进制乘法器: 输入信号:4位被乘数A(A1,A2,A3,A4), 4位乘数B(B1,B2,B3,B4), 输出信号:8位乘积q(q1,q2,q3,q4,q5,q6,q7,q8). 1.3 设计要求 根据理论课程所学的至少设计出简单计算机系统的总体方案,结合各单元实验积累和课堂上所学知识,选择适当芯片,设计简单的计算机系统。 (1)制定设计方案: 我们小组做的是4位阵列乘法器,4位阵列乘法器主要由求补器和阵列全加器组成。 (2)客观要求 要掌握电子逻辑学的基本内容能在设计时运用到本课程中,其次是要思维灵活遇到问题能找到合理的解决方案。小组成员要积极配合共同达到目的。

2 实验原理与环境 2.1 1.实验原理 计算机组成原理,数字逻辑,maxplus2是现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 用乘数的每一位去乘被乘数,然后将每一位权值直接去乘被乘数得到部分积,并按位列为一行每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值,将各次部分积求和得到最终的对应数位的权值。 2.2 2.实验环境 2.2.1双击maxplu2II软件图标,启动软件 (1).新建工程,flie->new project ....,出现存储路径的选项框,指定项目保存路径并且为工程命名,第三行设置实体名,保持与工程名一致。点击OK

quartus II 软件做4的位乘法器设计(vhdl 语言)

用quartus II 软件设计4位乘法器 1. 并行乘法的算法: 下面根据乘法例题来分析这种算法,题中M4,M3,M2,M1是被乘数,用M表示。N4,N3,N2,N1是乘数,用N表示 2.乘法模块 Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all; Entity and4a is Port(a:in std_logic_vector(3 downto 0); en:in std_logic; r:out std_logic_vector(3 downto 0)); End and4a; Architecture behave of and4a is Begin Process(en,a(3 downto 0)) Begin If (en='1') then r<=a; Else r<="0000"; End if; End process; End behave;

3.加法模块 Library ieee; Use ieee.std_logic_1164.all; Entity ls283 is Port (o1,o2:in std_logic_vector(3 downto 0); res:out std_logic_vector(4 downto 0)); End ls283; Architecture behave of ls283 is Begin Process(o1,o2) Begin res<=('0'&o1)+('0'&o2); End process; End behave;

移位相加型8位硬件乘法器设计

合肥学院 课程设计报告 题目:移位相加型8位硬件乘法器 系别:电子信息与电气工程系 专业:通信工程 班级: 13通信工程(1)班 学号: 姓名: 导师:石朝毅 成绩: 2016年 6 月 11 日

移位相加型8位硬件乘法器设计 摘要 本次设计是基于时序结构的8位移位相加型乘法器,使用软件QuartusII进行仿真设计。完成此乘法器,我们需要首先设计该乘法器的组件,包括REGSHT模块、SREG8BT模块、AND8B模块和ADDER8BT模块,并对所有元件进行仿真,无误后可进行乘法器的设计。设计方法使用的是元件例化,具体原理是通过逐项相加来实现乘法功能,最终完成整体的VHDL程序设计并仿真。 关键词:时序;乘法器;元件例化

目录 第一章前言............................................ 错误!未定义书签。设计概述............................................. 错误!未定义书签。 问题提出与原理..................................... 错误!未定义书签。 设计需要........................................... 错误!未定义书签。第二章设计过程及结果.................................. 错误!未定义书签。设计思路............................................. 错误!未定义书签。 设计须知........................................... 错误!未定义书签。 基本步骤........................................... 错误!未定义书签。设计代码及仿真....................................... 错误!未定义书签。 元件REGSHT设计代码及仿真结果...................... 错误!未定义书签。 元件SREG8BT设计代码及仿真结果..................... 错误!未定义书签。 元件AND8B设计代码及仿真结果....................... 错误!未定义书签。 元件ADDER8BT设计代码及仿真结果.................... 错误!未定义书签。 总模块设计代码及仿真结果........................... 错误!未定义书签。第三章总结............................................ 错误!未定义书签。致谢................................................... 错误!未定义书签。

8位乘法器实验报告

6.2 8位乘法器的设计 1.实验目的 (1)熟悉isEXPERT/MAX+plusisEXPERT/MAX+plus II/Foudation Series 软件的基本使用方法。 (2)熟悉GW48-CK EDA实验开发系统的基本使用方法。 (3)学习VHDL基本逻辑电路的综合设计。 2.实验内容 设计并调试好由8位加法器构成的以时序逻辑方式设计的8位乘法器。此乘法器通过判断被乘数的位值为1还是零,并通过乘数的左移与上一次和相加的方法,实现了8位乘法的运算,并用GW48-CK EDA实验开发系统进行硬件验证。 3.实验条件 (1)开发设备:Lattice ispEXPERT。 (2)实验设备:GW48-CK EDA实验开发系统。 (3)拟用芯片:ispLSI1032E PLCC-84或EPF10K10LC84-3或XCS05/XL PLCC84以及运算控制电路和外部时钟。 4.实验设计 1)系统的原理框图

2)VHDL源程序 (1)选通与门模块的源程序ANDARITH.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ANDARITH IS PORT(ABIN: IN STD_LOGIC; DIN: IN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUT: OUT STD_LOGIC_vector(7 DOWNTO 0)); END ENTITY ANDARITH; ARCHITECTURE ART OF ANDARITH IS BEGIN PROCESS(ABIN,DIN)IS BEGIN FOR I IN 0 TO 7 LOOP DOUT(I)<=DIN(I)AND ABIN; END LOOP; END PROCESS; END ARCHITECTURE ART; (2)16位锁存器的源程序REG16B.VHD LIBRARY IEEE;

乘位阵列乘法器设计

乘位阵列乘法器设计集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

课程设计报告课程设计题目: 4乘4位阵列乘法器设计 学生姓名:杨博闻 学号 专业:计算机科学与技术 班级: 1120701 指导教师:汪宇玲 2014年 1月 4日

一、设计目的 1.掌握乘法器的原理及其设计方法。 2 .熟练应用CPLD 设计及 EDA 操作软件。 二、设计设备 1.TDN-CM+或 TDN-CM++教学实验系统一套。 2 ·PC 微机一台。 3·ispDesignEXPERT 软件 模型机数据通路结构框图 三、设计原理 本实验用 CPLD 来设计一个 4 ×4 位乘法器,相对于画电路图输入,用 ABEL 语言描述是比较方便的。其算式如下(其中括号中的数字表示在 ABEL 源程序描述中的功能块调用编号): a3 a2 a1 a0 × b3 b2 b1 b0 ---------------------------------------------------------------------------------------------------------- a3b0(10) a2b0(6) a1b0(3) a0b0(1) a3b1(13) a2b1(9) a1b1(5) a0b1(2)

a3b2(15) a2b2(12) a1b2(8) a0b2(4) + a3b3(16) a2b3(14) a1b3(11) a0b3(7) ----------------------------------------------------------- ------------------------------------------------ p7 p6 p5 p4 p3 p2 p1 p0 四、设计步骤 1.安装EDA 软件 打开计算机电源,进入 Windows 系统,安装上述 ispDesignEXPERT 软件。安装完成后,桌面和开始菜单中则建有 ispDesignEXPERT 软件图 标。 2.用ispDesignEXPERT 软件根据上述乘法的逻辑原理用ABEL 语言 编写功能描述程序。 其在 1032 芯片中对应的管脚如图: 3.编辑、编译和下载 使用 ispDesignEXPERT 软件编辑源程序并进行编译,然后打开实验 系统电源,将生成的 JEDEC 文件下载到 ispLSI1032 中去。 4 .连接实验电路 按下图连接实验电路。 5 .给定操作数,观察乘法器输出 将 SWITCH UNIT 单元中的 SW-B、AR 开关置为低电平状态。在 INPUT DEVICE 单元中的 8 个开关的高 4 位为乘数 A ,低四位为被乘

移位硬件八位乘法器

移位硬件八位乘法器 作者:孤灯 摘要:纯组合逻辑构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实现宽位乘法器,基于PLD器件外接ROM九九表的乘法器则无法构成单片系统,也不实用。这里介绍由八位加法器构成的以时序逻辑方式设计的八位乘法器,具有一定的实用价值,而且由FPGA构成实验系统后,可以很容 易的用ASIC大型集成芯片来完成,性价比高,可操作性强。 关键词:加法器,寄存器,一位乘法器,锁存器。 Abstract The pure combinatory logic constitution multiplier although the working speed quite is quick,But too takes the hardware resources,Realizes the wide position multiplier with difficulty.Meets the ROM multiplication table based on the PLD component outside the multiplier then is unable to constitute the monolithic system,Also is impractica Here introduced constitutes by eight accumulators by the succession logic way design eight multipliers,Has the certain practical value, Moreover constitutes the experimental system after FPGA,May be very easy to complete with the ASIC large-scale integration chip,The natural price is higher than,Feasibility. 一.设计思路 纯组合逻辑构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实现宽位乘法器,基于PLD器件外接ROM九九表的乘法器则无法构成单片系统,也不实用。这里介绍由八位加法器构成的以时序逻辑方式设计的八位乘法器,具有一定的实用价值,而且由FPGA构成实验系统后,可以很容易的用ASIC大型集成芯片来完成,性价比高,可操作性强。其乘法原理是:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与 上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。 二.方案设计与论证 此设计是由八位加法器构成的以时序逻辑方式设计的八位乘法器,它的核心器件是八 加法器,所以关键是设计好八位加法器。 方案一:八位直接宽位加法器,它的速度较快,但十分耗费硬件资源,对于工业化设计是不合理的。 方案二:由两个四位加法器组合八位加法器,其中四位加法器是四位二进制并行加法器,它的原理简单,资源利用率和进位速度方面都比较好。综合 各方面的考虑,决定采用方案二。 三.工作原理

四川大学数电课程设计(四位二进制无符号数乘法器 ).

数字电子技术基础课程设计报告 学院电气信息学院 专业 姓名 学号 设计题目四位二进制无符号数乘法器

目录 1设计任务描述 (1) 1.1设计描述 (1) 1.2设计概述 (1) 2通用器件实现 (1) 2.1方案一与门和全加器组合逻辑电路 (1) 2.1.1设计思路 (1) 2.1.2仿真测试 (2) 2.1.3优缺点分析 (3) 2.2方案二多种通用集成芯片组合逻辑电路 (3) 2.2.1设计思路 (3) 2.2.2仿真测试 (5) 2.2.3优缺点分析 (7) 3使用硬件描述语言——Verilog实现 (7) 3.1设计目的 (7) 3.2设计要求 (7) 3.3硬件语言描述 (7) 3.4BASY2板结果附图 (9) 4结论与心得体会 (11) 4.1结论 (11) 4.2心得体会 (11)

1设计任务描述 1.1设计描述 设计一个乘法器,实现两个四位二进制数的乘法。两个二进制数分别是被乘数3210A A A A 和乘数3210B B B B 。被乘数和乘数这两个二进制数分别由高低电平给出。乘法运算的结果即乘积由电平指示灯显示的二进制数。做到保持乘积、输出乘积,即认为目的实现,结束运算。 1.2设计概述 4位二进制乘法器在实际中具有广泛应用。它是一些计算器的基本组成部分,其原理适用于很多计算器和大型计算机,它涉及到时序逻辑电路如何设计、分析和工作等方面。通过此电路更深刻的了解时序逻辑部件的工作原理,从而掌握如何根据需要设计满足要求的各种电路图,解决生活中的实际问题,将所学知识应用于实践中。 2通用器件实现 2.1方案一与门和全加器组合逻辑电路 2.1.1设计思路手动实现两个四位二进制乘法的计算,应为以下过程: 1 23456781 2341234111100011 10111010 0001 10110111 101C C C C C C C C A A A A B B B B 设乘数为1234A A A A (下标数字大则为高位),被乘数为1234B B B B ,使乘数从低位到高位依次与被乘数相乘,得到四个四位二进制加数,再依次对四个加数错位相加,得到八位的二进制的乘法运算结果。 依次算法,两个四进制乘数由8个单刀双掷开关接地(低电平0)和接5V(高电平1)进行输入,乘数A 从低位到高位依次与被乘数B 相乘过程可用二输入与门实现,共得到四个加数16个与运算结果,乘数最低位1A 与被乘数作与运算的四位结果的最低位即是乘法运算结果的最低位1C ;依次用三个四位全加器对四个加数进行全加运算,运算时输入两个四位二进制数,输入进位信号接地为0,低级的全加器的运算结果进位信号作为与下一个加数进行全加运算的被加数的最高位,四位全加运算结果的最低位作为输出结果,并从低到高位的依次输出432C C C 、、,最后一个全加器运算过后得到进位信号是八位二进制计算结果的最高位8C ,剩余的高三位输出分别为567C C C 、、,将8位输出结果直接在通过电阻到地保护的发光二极管表示。

EDA课程设计报告_-_5位整数乘法器设计

有符号5位整数乘法器设计与制作 1.课程设计的性质、目的和任务 (1) 2.题目要求 (1) 3.设计步骤 (2) 3.1整体原理框图: (2) 3.2乘法器整体电路原理图: (2) 3.3输入模块: (2) 3.4运算模块: (3) 3.5显示控制模块: (6) 3.6显示模块: (7) 4.整体仿真 (12) 5.调试中遇到的问题及解决的方法 ........................................ 错误!未定义书签。 6.心得体会................................................................................... 错误!未定义书签。 7.建议:....................................................................................... 错误!未定义书签。 1.课程设计的性质、目的和任务 创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由之路。 通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。 2.题目要求 设计一个两个5位数相乘的乘法器。用发光二极管显示输入数值,用7段显示器显示十进制结果。乘数和被乘数分两次输入。在输入乘数和被乘数时,要求显示十进制输入数据。输入显示和计算结果显示,采用分时显示方式进行,可参见计算器的显示功能

8位二进制乘法器设计报告

EDA课程设计报告 ------8位二进制乘法器设计 班级: 学号: 姓名:

目录 一.八位乘法器的设计要求与设计思路?? 2.1 设计目的?? 2.2 设计要求?? 二.八位乘法器的综合设计?? 3.1 八位乘法器功能?? 3.2 八位乘法器设计方案?? 3.3 八位乘法器各功能模块VHDL描述及仿真图形?? 3.4 八位乘法器顶层模块VHDL设计及下载验证?? 心得体会?? 参考文献?? 一、八位乘法器的设计要求与设计思路 1.1实验目的 学习并掌握应用8位二进制乘法器的原理、设计、分析和测试方法 1.2实验内容 利用移位相加原理设计一个8位二进制乘法器。 1.3实验要求 用VHDL编写代码,下载验证,并用8段数码管显示乘数和乘积。 二、八位乘法器的综合设计 2.1 八位乘法器功能 通过调节实验板,输入8位二进制的A和B,八位乘法器能实现其乘积,并在数码管上面显示出来其结果。

2.2乘法器设计方案 该乘法器是有由8 位加法器构成的以时序方式设计的8 位乘法器,采用逐项移位相加的方法来实现相乘。用乘数的各位数码,从低位开始依次与被乘数相乘,每相乘一次得到的积称为部分积,将第一次(由乘数最低位与被乘数相乘)得到的部分积右移一位并与第二次得到的部分积相加,将加得的和右移一位再与第三次得到的部分积相加,再将相加的结果右移一位与第四次得到的部分积相加。直到所有的部分积都被加过一次。例如:被乘数(M7M6M5M4M3M2M1M0)和乘数(N7N6N5N4N3N2N1N0)分别为11010101和10010011,其计算过程如下图(a)下面分解8 位乘法器的层次结构,分为以下4 个模块: ①右移寄存器模块:这是一个8 位右移寄存器,可将乘法运算中的被乘数加载于其中,同时进行乘法运算的移位操作。 ②加法器模块:这是一个8 位加法器,进行操作数的加法运算。 ③1 位乘法器模块:完成8 位与1 位的乘法运算。 ④锁存器模块:这是一个16 位锁存器,同时也是一个右移寄存器,在时钟信号的控制下完成输入数值的锁存与移位。 按照上述算法,可以得到下图所示之框图和简单流程图。图中8 位移位寄存器reg_8 存放乘数a,从a 的最低位开始,每次从reg_8 中移出一位,送至1×8 位乘法器multi_1 中,同时将被乘数加至multi_1 中,进行乘法运算,运算的结果再送至8 位加法器adder_8 中,同时取出16 位移位寄存器reg_16 的高8 位与之进行相加,相加后结果即部分积存入reg_16 中,进行移位后并保存。这样经过8 次对乘数a 的移位操作,所以的部分积已全加至reg_16 中,此时锁存器reg_16 存放的值即所要求的积。

4位阵列乘法器

目录 一、设计题目 (2) 二、设计目的 (2) 三、设计过程 (2) 3.1设计原理 (2) 3.2器件选择 (3) 3.3逻辑原理 (3) 3.4阵列乘法器的逻辑原理 (4) 3.5 时序图 (4) 四、设计心得 (5) 五、参考文献 (6)

4位阵列乘法器 一、设计题目4位阵列乘法器 二、设计目的 计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。 同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发现问题,分析问题,到最终的解决问题。凝聚了我们对问题的思考,充分的锻炼了我们的动手能力、团队合作能力、分析解决问题的能力。 三、设计过程 3.1设计原理 阵列乘法器是类似于人工计算(如图1.1所示)的方法,乘数与被乘数都是二进制数。所以可以通过乘数从最后一位起一个一个和被乘数相与,自第二位起要依次向左移一位,形成一个阵列的形式。这就可将其看成一个全加的过程,将乘数某位与被乘数某位与完的结果加上乘数某位的下一位与被乘数某位的下一位与完的结果再加上前一列的进位进而得出每一位的结果。 一个阵列乘法器要完成X.Y乘法运算(X=X4X3X2X1,Y=Y4Y3Y2Y1)。阵列的每一行送入乘数Y的每一位数位,而各行错开形成的每一斜列则送入被乘数的每一数位。阵列乘法器是由十六个模块组成,每一个模块构包括一个与门和一位全加器。 1 0 1 1 × 1 1 0 1 ________________ 10 1 1 00 0 0 1 0 1 1 1 0 1 1 ___________________________ 1 0 0 0 1 1 1 1 图1人工计算乘法示例

相关主题
文本预览
相关文档 最新文档