"计算机组成原理课程设计:阵列乘法器设计与实现"

版权申诉
0 下载量 126 浏览量 更新于2024-02-28 1 收藏 349KB DOC 举报
本课程设计报告旨在研究和实现阵列乘法器的设计,该设计是基于计算机组成原理的相关理论知识。阵列乘法器是一种能够高效进行矩阵乘法运算的特殊处理器,它能够在较短的时间内完成大规模的乘法运算,从而提高计算效率。本设计报告将详细介绍阵列乘法器的设计与实现过程,旨在帮助读者深入了解阵列乘法器的工作原理、结构组成以及实现方法。 首先,本设计报告将介绍阵列乘法器的基本概念和原理。阵列乘法器是一种利用并行技术实现高效乘法运算的特殊硬件设备,它可以同时对多组数据进行乘法运算,从而加速运算速度。阵列乘法器通常由多个乘法单元组成,每个乘法单元负责一个乘法操作,通过并行处理多个乘法操作来实现高效乘法运算。在阐述阵列乘法器的基本原理之后,设计报告将详细介绍阵列乘法器的结构组成和工作流程。 其次,本设计报告将分析阵列乘法器的设计要求和功能特点。在设计阵列乘法器时,需要考虑到不同规模的矩阵乘法运算,以及不同精度的数据处理需求。因此,在设计阵列乘法器时需要充分考虑到运算速度、数据精度、功耗控制等方面的要求,以满足不同应用场景下的乘法运算需求。本设计报告将具体分析阵列乘法器的设计要求,包括硬件设计、逻辑设计、控制设计等方面的要求,以及实现不同功能特点的方法和技术。 最后,本设计报告将详细介绍阵列乘法器的实现方法和性能评估。在实现阵列乘法器时,需要结合硬件设计、逻辑设计和控制设计等方面的技术手段,设计高效的乘法单元和并行处理机制,以实现高效的矩阵乘法运算。设计报告还将介绍如何对阵列乘法器的性能进行评估和测试,包括运算速度、数据精度、功耗等方面的测试方法和结果分析,从而验证阵列乘法器设计的有效性和可靠性。 通过本设计报告的详细介绍和分析,读者可以深入了解阵列乘法器的设计原理、结构特点和实现方法,从而为进一步研究和使用阵列乘法器提供参考和指导。同时,本设计报告也为读者提供了设计阵列乘法器的方法和技术,帮助读者在实际应用中设计和实现高效的阵列乘法器,从而提高计算效率和性能。
2023-05-28 上传
航空航天大学 课 程 设 计 报 告 课程设计名称:计算机组成原理课程设计 课程设计题目:阵列乘法器的设计与实现 院(系):计算机学院 专 业:计算机科学与技术 班 级: 学 号: 姓 名: 指导教师: 完成日期: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所示。 X4 X3 X2 X1 =A × Y4 Y3 Y2 Y1 =B X4Y1 X3Y1 X2Y1 X1Y1 X4Y2 X3Y2 X2Y2 X1Y2 X4Y3 X3Y3 X2Y3 X1Y3 (进位) X4Y4 X3Y4 X2Y4 X1Y4 Z8 Z7 Z6 Z5 Z4 Z3 Z2 Z1 图1.1 A×B计算竖式 X4 ,X3 ,X2 ,X1 ,Y4 ,Y3 ,Y2 ,Y1为阵列乘法器的输入端,Z1- Z8为阵列乘法器的输出端,该逻辑框图所要完成的功能是 实现两个四位二进制既A(X)*B(Y)的乘法运算,其计算结果为C(Z) (其中A(X)=X4X3X2X1 ,B(Y)=Y4Y3Y2Y1,C(Z)=Z8Z7Z6Z5Z4Z3Z2Z1而且输入和输出结果均用二进制表示 )。阵列乘法器的总原理如图1.2所示。 图1.2 阵列器的总原理图 2 设计思路 (1)整体部分:阵列乘法器采用的是先逐位求解部分积,本课程设计要完成X与Y的乘法 运算(X=X4X3X2X1,Y=Y4Y3Y2Y1), 采用自上而下的设计方法,顶层设计采用8输入和8输出的一个自设置芯片,芯片部封装 16个模块,构成4×4的乘法阵列,如图1.3所示,阵列的每一行送入乘数Y的每一位数位, 而各行错开形成的每一斜列则送入被乘数的每一数位。 图 1.3 阵列乘法器4×4阵列 单元部分:设计整体框图中的每一个细胞模块实现的功能是计算部分积和向高位的进位 。 (3)仿真部分:将整个电路连接好以后即可进行仿真,用以验证设计是否正确。主 要需要仿真的部分有:一位全加器、4输入加法器以及整体电路图。 (4)采用硬件描述语言进行电路设计并实现给定的功能,设计的原理图经编译、调 试后形成*.bit文件并下载到XCV200可编程逻辑芯片中,经硬件测试验证设计的正确性。 阵列乘法器是由十六个模块组成,每一个模块构包括一个与门和一位全加器。具体的各 个模块的设计在模块设计中一一呈现。 1.3 设计环境 (1)硬件坏境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机。具体 容如下: COP2000实验仪:COP2000计算机组成原理实验系统由实验平台、开关电源、软件三大 部分组成实验平台上有寄存器组R0- R3、运算单元、累加器A、暂存器B、直通/左移/右移单元、地址寄存器、程序计数器、 堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制 器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20个 按键、字符式LCD、RS232口。 XCV200实验板:在COP2000 实验仪中的FPGA 实验板主要用于设计性实验和课程设计实验,它的核心器件是20 万门XCV200 的FPGA 芯片。用FPGA 实验板可设计8 位16 位和32 位模型机 (2)软
2023-05-25 上传
课 程 设 计 "教 学 院 "计算机学院 " "课程名称 "计算机组成原理 " "题 目 "阵列乘法器 " "专 业 "计算机科学与技术 " "班 级 "2011级计科(X)班 " "姓 名 "XXX " "同组人员 "XXX XXX XXX " "指导教师 "XXX " "2013 "年"1 "月"22 "日 " 课程设计概述 1 课设目的 计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻 炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决 问题的能力。 同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发现问题 ,分析问题,到最终的解决问题。凝聚了我们对问题的思考,充分的锻炼了我们的动手 能力、团队合作能力、分析解决问题的能力。 2 设计任务 计算机系统设计的总体目标是设计模型机系统的总体结构、指令系统和时序信号。所 设计的主机系统能支持自动和单步运行方式。 具体设计任务如下: (1).设计一位全加器 (2).设计4位求补电路 (3).设计8位求补电路 (4).设计4*4位无符号阵列乘法器 3 设计要求 根据理论课程所学的至少设计出简单计算机系统的总体方案,结合各单元实验积累和 课堂上所学知识,选择适当芯片,设计简单的计算机系统。 1. 制定设计方案: 我们小组做的是阵列乘法器,阵列乘法器主要由求补器和阵列全加器组成 。因此我们四人分两小组,一组做四位及八位求补器的内容,一组做阵列全加 器的内容,最后综合就可以完成阵列全加器的任务。 2. 客观要求 要掌握电子逻辑学的基本内容能在设计时运用到本课程中,其次是要思维 灵活遇到问题能找到合理的解决方案。小组成员要积极配合共同达到目的。 实验原理与环境 1 1.实验原理 计算机组成原理,数字逻辑, FPGA(Field Programmable Gate Array)是现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展 的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了 定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 用乘数的每一位去乘被乘数,然后将每一位权值直接去乘被乘数得到部分积,并按位 列为一行每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值,将各次部分 积求和得到最终的对应数位的权值。 2 2.实验环境 1 双击Quartus II软件图标,启动软件 (1).新建工程,flie->new project wizard....,出现存储路径的选项框,指定项目保存路径并且为工程命名,第三行设置 实体名,保持与工程名一致。点击next 图2.1 利用"New Preject Wizard"创建工程cnt10 (2).指定芯片的选择,选择Cyclone系列芯片,所以在Family一栏中选择Cylone,点击 next 图2.2 选择目标器件EP1C6Q240C8 (3).最后出现的界面是展示前几步所设定的全部信息,然后点击Finish,完成工程 的创建 总体方案设计 总体结构图 图3.1 总体结构图一 图3.2 总体结构图二 1 设计方案 (1)为了进一步提高乘法运算速度,可采用类似人工计算的方法,阵列的每一行送 入乘数Y的每一数位,而各行错开形成的每一斜列则送入被乘数的每一数位。 (2)4×4阵列乘法器可以由一定数量的4输入加法器构成的; (3)4个输入加法器可以由一个与门和一位全加器构成; (4)一位全加器可以用一个两输入或门模块或两个半加器模块构成。 详细设计与实现 5*5乘法的设计主要包括以下几个主要的模块的设计 1 设计四位和八位的寄存器的vhdl语言 四位寄存器: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG IS PORT(D: IN STD_LOGIC_vector(4 downto 0); LDA: IN STD_LOGIC; Q0:OUT STD_LOGIC; Q1:OUT STD_LOGIC; Q2:OUT STD_LOGIC; Q3:OUT STD_LOGIC; Q4:OUT STD_LOGIC); END ENTITY REG; ARCHITECTURE bhv OF REG IS BEGIN PROCESS (D,LDA) BEGIN IF LDA ='1' THEN Q0<= D(0); Q1<= D(1); Q2<= D(2); Q3<= D(3); Q4<= D(4); END IF; END PROCESS; END bhv; 八位寄存器: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY