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

版权申诉
5星 · 超过95%的资源 3 下载量 199 浏览量 更新于2024-02-21 1 收藏 356KB DOC 举报
。X1依次表示乘数A的各位二进制数,Y1依次表示被乘数B的各位二进制数,而Z1到Z8分别表示加法器的部分积结果。通过对阵列乘法器的设计与实现,可以实现快速高效的乘法运算,提高了计算机系统的整体性能。 1.2 设计思路 阵列乘法器的设计思路是基于人工计算方法和二进制乘法的原理,通过逐位相乘并相加的方式得到最终的乘积。在设计阵列乘法器时,需要考虑到乘数和被乘数的位数、部分积的存储、进位的处理等关键问题。通过分析乘法运算的逻辑过程,可以确定阵列乘法器的整体设计思路,并将其转化为硬件电路的设计与实现。 1.3 设计环境 在设计阵列乘法器时,需要选择合适的设计环境,包括硬件描述语言、综合工具、逻辑综合工具等。在本课程设计中,我们选择了Verilog硬件描述语言进行阵列乘法器的设计,并使用综合工具进行电路的综合和适配,以及进行硬件测试。 第2章 详细设计方案 2.1 总体方案的设计与实现 在本章节中,我们将针对阵列乘法器的总体设计进行详细的讲解。首先介绍了总体方案的设计思路和逻辑图,然后对器件的选择与引脚锁定做了详细的说明,最后介绍了编译、综合、适配等过程。 2.1.1 总体方案的逻辑图 本课程设计中,我们设计的阵列乘法器总体方案的逻辑图如图2.1所示。逻辑图清晰地展现了乘数和被乘数的逐位相乘并相加的过程,以及部分积和最终乘积的计算流程。通过该逻辑图,可以直观地了解阵列乘法器的工作原理和电路结构。 2.1.2 器件的选择与引脚锁定 在阵列乘法器的详细设计中,我们选择了适合的逻辑门、触发器、加法器等器件,并进行了引脚的锁定。通过合理的器件选择和引脚锁定,可以保证阵列乘法器的电路设计符合实际的硬件电路实现要求。 2.1.3 编译、综合、适配 在阵列乘法器的设计过程中,我们使用了综合工具对电路进行了综合,并进行了适配以适应特定的硬件平台和实际的运行环境。通过编译、综合、适配等过程,可以验证和优化电路设计,提高阵列乘法器的性能和可靠性。 2.2 功能模块的设计与实现 在第2章中,我们详细讨论了阵列乘法器的功能模块设计与实现,包括一位全加器的设计与实现、4位输入端加法器的设计与实现以及阵列乘法器的设计与实现等内容。这些功能模块是阵列乘法器电路设计的核心,通过精心设计和实现,可以实现高效快速的乘法运算。 2.2.1 一位全加器的设计与实现 一位全加器是阵列乘法器电路设计中的基础模块,它用于实现二进制的加法运算。在本课程设计中,我们详细介绍了一位全加器的设计思路和逻辑电路实现,包括输入信号的处理、逻辑门的选择和连接、以及进位信号的处理等内容。 2.2.2 4位输入端加法器的设计与实现 4位输入端加法器是阵列乘法器电路设计的重要功能模块,它用于实现四位二进制数的加法运算。在本课程设计中,我们给出了4位输入端加法器的详细设计方案和逻辑电路实现,包括数据输入的处理、逻辑门的连接、进位信号的处理等内容。 2.2.3 阵列乘法器的设计与实现 阵列乘法器是本课程设计的核心内容,它采用了类似人工计算的方法进行乘法运算,并通过大规模的阵列结构来实现高效快速的乘法运算。在本章节中,我们详细介绍了阵列乘法器的设计思路和逻辑电路实现,包括乘数和被乘数的逐位相乘、部分积的存储和累加、以及最终乘积的输出等内容。 第3章 硬件测试 在第3章中,我们介绍了阵列乘法器的编程下载、硬件测试及结果分析等内容。通过对阵列乘法器进行硬件测试,并分析测试结果,可以验证阵列乘法器设计的正确性和可靠性,为进一步的优化和改进提供参考。 3.1 编程下载 在硬件测试的准备阶段,我们对阵列乘法器的设计进行编程下载,将其加载到特定的硬件平台上进行测试。通过编程下载,可以将阵列乘法器的逻辑电路转化为实际的硬件电路,并进行功能测试和性能评估。 3.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