1、I 课课 程程 设设 计计 教教 学学 院院 计算机学院 课程名称课程名称 计算机组成原理 题题 目目 阵列乘法器 专专 业业 计算机科学与技术 班班 级级 2011 级计科(X)班 姓姓 名名 XXX 同组人员同组人员 XXX XXX XXX 指导教师指导教师 XXX 2013 年 1 月 22 日 1 课程设计概述 1.1 课设目的 计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验, 不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高 分析和解决问题的能力。 同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发 现问题,分析问题,到最
2、终的解决问题。凝聚了我们对问题的思考,充分的锻炼了 我们的动手能力、团队合作能力、分析解决问题的能力。 1.2 设计任务 计算机系统设计的总体目标是设计模型机系统的总体结构、指令系统和时序信 号。所设计的主机系统能支持自动和单步运行方式。 具体设计任务如下: (1).设计一位全加器 (2).设计 4 位求补电路 (3).设计 8 位求补电路 (4).设计 4*4 位无符号阵列乘法器 1.3 设计要求 根据理论课程所学的至少设计出简单计算机系统的总体方案,结合各单元实验 积累和课堂上所学知识,选择适当芯片,设计简单的计算机系统。 (1) 制定设计方案: 我们小组做的是阵列乘法器,阵列乘法器主要由
3、求补器和阵列全加 器组成。因此我们四人分两小组,一组做四位及八位求补器的内容,一 组做阵列全加器的内容,最后综合就可以完成阵列全加器的任务。 (2) 客观要求 要掌握电子逻辑学的基本内容能在设计时运用到本课程中,其次是 要思维灵活遇到问题能找到合理的解决方案。小组成员要积极配合共同 达到目的。 2 实验原理与环境 2.1 1.实验原理 计算机组成原理,数字逻辑, FPGA(Field Programmable Gate Array)是现场可编程门 阵列,它是在 PAL、GAL、CPLD 等可编程器件的基础上进一步发展的产物。它是作为 专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解
4、决了定制电路的不足, 又克服了原有可编程器件门电路数有限的缺点。 用乘数的每一位去乘被乘数,然后将每一位权值直接去乘被乘数得到部分积, 并按位列为一行每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值, 将各次部分积求和得到最终的对应数位的权值。 2.2 2.实验环境 2.2.1 双击 Quartus II 软件图标,启动软件 (1).新建工程,flie-new project wizard,出现存储路径的选项框,指定 项目保存路径并且为工程命名,第三行设置实体名,保持与工程名一致。点击 next 图 2.1 利用“New Preject Wizard”创建工程 cnt10 (2) .指
5、定芯片的选择, 选择 Cyclone 系列芯片, 所以在 Family 一栏中选择 Cylone, 点击 next 图 2.2 选择目标器件 EP1C6Q240C8 (3) .最后出现的界面是展示前几步所设定的全部信息, 然后点击 Finish,完成 工程的创建 3 总体方案设计 总体结构图 图 3.1 总体结构图一 5*5带符号位的乘 法器 设计一位全加器设计4位求补电路设计8位求补电路 设计4*4无符号位 乘法器 图 3.2 总体结构图二 5 位*5 位乘法器 X Y Z IN(40) LDY 1. 设计方案 (1)为了进一步提高乘法运算速度,可采用类似人工计算的方法,阵列的每 一行送入乘
6、数 Y 的每一数位,而各行错开形成的每一斜列则送入被乘数的每 一数位。 (2)44 阵列乘法器可以由一定数量的 4 输入加法器构成的; (3)4 个输入加法器可以由一个与门和一位全加器构成; (4)一位全加器可以用一个两输入或门模块或两个半加器模块构成。 4 详细设计与实现 5*5 乘法的设计主要包括以下几个主要的模块的设计 4.1.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