资源描述
沈阳航空工业学院
课 程 设 计 报 告
课程设计名称:计算机组成原理课程设计
课程设计题目:阵列乘法器的设计
院(系):计算机学院
专 业:计算机科学与技术
班 级:
学 号:
姓 名:
指导教师:
完成日期:2006年12月31日
沈阳航空工业学院课程设计报告
目 录
第1章 总体设计方案 1
1.1 设计原理 1
1.2 设计思路 2
1.3 设计环境 2
第2章 详细设计方案 4
2.1 顶层方案图的设计与实现 4
2.1.1创建顶层图形设计文件 4
2.1.2器件的选择与引脚锁定 5
2.1.3编译、综合、适配 5
2.2 功能模块的设计与实现 5
2.2.1(A) 一位全加器的设计与实现 5
2.2.1(B)一位全加器的仿真图如下图所示: 6
2.2.2(A) 4位输入端加法器的设计与实现 7
2.2.2(B) 4输入端加法器的封装图如下图所示: 8
2.2.2(C) 4输入端加法器的仿真图如下图所示: 8
2.2.3(A) 阵列乘法器的设计与实现 9
2.2.3(B) 阵列乘法器的封装图如下图所示 11
2.2.3(C) 4输入端加法器的仿真图如下图所示: 11
第3章 硬件测试 13
3.1 硬件测试及结果分析 13
图中所示: 13
参考文献 14
附 录(程序清单或电路原理图) 15
-20-
沈阳航空工业学院课程设计报告 第2章 详细设计方案
第1章 总体设计方案
1.1 设计原理
阵列乘法器的原理框图如图1.1所示,X1,X2,X3,X4, Y1,Y2,Y3,Y4为阵列乘法器的输入端,Z1~Z8为阵列乘法器的输出端,该逻辑框图所要完成的功能是 实现两个四位二进制既F(X)*F(Y)的乘法运算,其计算结果为F(Z) 。(其中F(X)=X1X2X3X4,F(Y)=Y1Y2Y3Y4),F(Z)=Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8而且输入和输出结果均用二进制表示 )
图1.1 阵列器原理框图
表1.1 阵列乘法器功能表
其中下表是该逻辑电路图的功能可通过查表验证所得结果。
X1 X2 X3 X4
Y1 Y2 Y3 Y4
Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8
X X X X
0 0 0 0
0 0 0 0 0 0 0 0
X X X X
0 0 0 1
0 0 0 0 X X X X
X X X X
0 0 1 0
0 0 0 X X X X 0
X X X X
0 0 1 1
0 0 0 0 0 0 0 0 ~~~ 0 0 1 0 1 1 0 1
X X X X
0 1 0 0
0 0 0 0 0 0 0 0 ~~~ 0 0 1 1 1 1 0 0
X X X X
0 1 0 1
0 0 0 0 0 0 0 0 ~~~ 0 1 0 0 1 0 1 1
X X X X
0 1 1 0
0 0 0 0 0 0 0 0 ~~~ 0 1 0 1 1 0 1 0
X X X X
0 1 1 1
0 0 0 0 0 0 0 0 ~~~ 0 1 1 0 1 0 0 1
X X X X
1 0 0 0
0 0 0 0 0 0 0 0 ~~~ 0 1 1 1 1 0 0 0
X X X X
1 0 0 1
0 0 0 0 0 0 0 0 ~~~ 1 0 0 0 0 1 1 1
X X X X
1 0 1 0
0 0 0 0 0 0 0 0 ~~~ 1 0 0 1 0 1 1 0
X X X X
1 0 1 1
0 0 0 0 0 0 0 0 ~~~ 1 0 1 0 0 1 0 1
X X X X
1 1 0 0
0 0 0 0 0 0 0 0 ~~~ 1 0 1 1 0 1 0 0
X X X X
1 1 0 1
0 0 0 0 0 0 0 0 ~~~ 1 1 0 0 0 0 1 1
X X X X
1 1 1 0
0 0 0 0 0 0 0 0 ~~~ 1 1 0 1 0 0 1 0
X X X X
1 1 1 1
0 0 0 0 0 0 0 0 ~~~ 1 1 1 0 0 0 0 1
1.2 设计思路
为了进一步提高乘法运算速度,可采用类似人工计算的方法,阵列的每一行送入乘数Y的每一数位,而各行错开形成的每一斜列则送入被乘数的每一数位。
4×4阵列乘法器可以由一定数量的4输入加法器构成的;
4个输入加法器可以由一个与门和一位全加器构成;
一位全加器可以用一个两输入或门模块和两个半加器模块构成。
一位全加器的整体设计包含两半加器构成,半加器由异或门构成
1.3 设计环境
(1)硬件环境
•伟福COP2000型计算机组成原理实验仪
COP2000计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器B、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20个按键、字符式LCD、RS232口。
COP2000计算机组成原理实验系统各单元部件都以计算机结构模型布局,清晰明了,系统在实验时即使不借助PC 机,也可实时监控数据流状态及正确与否, 实验系统的软硬件对用户的实验设计具有完全的开放特性,系统提供了微程序控制器和组合逻辑控制器两种控制器方式, 系统还支持手动方式、联机方式、模拟方式三种工作方式,系统具备完善的寻址方式、指令系统和强大的模拟调试功能。
·XCV200实验板
在COP2000 实验仪中的FPGA 实验板主要用于设计性实验和课程设计实验,它的核心器件是20 万门XCV200 的FPGA 芯片。用FPGA 实验板可设计8 位16 位和32 位模型机。
XCV200 相应管脚已经连接好配合FPGA 实验板的PC 调试软件可方便地进行各种实验。U3 IDT71V016SA 是64Kx16 位存储器能保存大容量的程序。C0-C5 D0-D5 是12 个7 段数码管用于显示模型机内部的寄存器总线数值,在设计时可将需要观察的内部寄存器总线等值接到这些7 段管上直观地观察模型机运行时内部状态变化。A0-A7、B0-B7 是16 个LED 发光二极管用于显示模型机内部的状态例如进位标志零标志中断申请标志等等。K0(0-7)-K4(0-7)是四十个开关用于输入外部信号,例如在做单步实验时这些开关可用来输入地址总线值数据总线值控制信号等。T6B595 是7 段数码管的驱动芯片,74HC1649是串转并芯片,用于接16 个LED。
(2)EDA环境
•Xilinx foundation f3.1设计软件
Xilinx foundation f3.1是Xilinx公司的可编程期间开发工具,该平台功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。
设计入口工具包括原理图编辑器、有限状态机编辑器、硬件描述语言(HDL)编辑器、LogiBLOX模块生成器、Xilinx内核生成器等软件。其功能是:接收各种图形或文字的设计输入,并最终生成网络表文件。设计实现工具包括流程引擎、限制编辑器、基片规划器、FPGA编辑器、FPGA写入器等软件。设计实现工具用于将网络表转化为配置比特流,并下载到器件。设计验证工具包括功能和时序仿真器、静态时序分析器等,可用来对设计中的逻辑关系及输出结果进行检验,并详尽分析各个时序限制的满足情况。
•COP2000仿真软件
COP2000 集成开发环境是为COP2000 实验仪与PC 机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC 机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA 实验等功能,该软件在Windows 下运行。
第2章 详细设计方案
2.1 顶层方案图的设计与实现
顶层方案图实现4x4阵列乘法器的逻辑功能,采用原理图设计输入方式完成。在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。
2.1.1创建顶层图形设计文件
4×4阵列乘法器总设计框图可利用Xilinx foundation f3.1模块实现顶层图形文件的设计,顶层图形文件结构如图2.1.1所示。
图2..1.1 4×4阵列乘法器总设计框图
2.1.2器件的选择与引脚锁定
(1)器件的选择
由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为Xlinx XCV200可编程逻辑芯片。
(2)引脚锁定
把顶层图形文件中的输入/输出信号安排到Xlinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及Xlinx XCV200芯片引脚对应关系如表2.1所示。
表2.1 信号和芯片引脚对应关系
4×4阵列乘法器总设计框图
图形文件中的输入/输出信号
XCV200芯片引脚
X1-X3
IN1— IN3
p33- - p36
Y1-Y3
NI1— NI3
p38 - - p41
Z1-Z3
OUT1 –----OUT8
p215--p223
2.1.3编译、综合、适配
利用Xilinx foundation f3.1对顶层图形文件进行编译、综合、优化、逻辑分割、适配和布线,生成可供时序仿真的文件和器件下载编程文件。
2.2 功能模块的设计与实现
下面分成三大块:由小单元器件模块到最终阵列乘法器大功能模块(其中包括:功能表,仿真图)
2.2.1(A) 一位全加器的设计与实现
表2.2.1(A) 一位全加器功能表
XN YN CIN
COUT
FN
0 0 0
0
0
0 0 1
1
0
0 1 0
1
0
0 1 1
0
1
1 0 0
1
0
1 0 1
0
1
1 1 0
0
1
1 1 1
1
1
一位全加器的逻辑图,如下图所示:
一位全加器可以由;两个与门,三个异或门及一一个或门构成
图2.2.1(A)
2.2.1(B)一位全加器的仿真图如下图所示:
仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。
建立仿真波形文件及仿真信号选择:
功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如功能表所示。
图2.2.1(B)
功能仿真结果与分析
功能仿真波形结果如图2.2.1(B)所示,仿真数据结果如表2.2.1(A)所示,对表2.2.1(A)与仿真图2.2.1(B)的结果进行对比,可以看出功能仿真结果是正确的,进而说明电路设计正确性
2.2.2(A) 4位输入端加法器的设计与实现
表2.2.2(A) 4位输入端加法器功能表
XIN YIN PARTIN
CIN
COUT
PARTOUT
0 0 0
0
0
0
0 0 1
1
1
0
0 1 0
0
1
0
0 1 1
1
0
1
1 0 0
0
1
0
1 0 1
1
0
1
1 1 0
0
0
1
1 1 1
1
1
1
0 0 0
1
0
1
0 0 1
0
0
1
0 1 0
1
1
0
0 1 1
0
0
1
1 0 0
1
0
1
1 0 1
0
1
0
1 1 0
1
1
0
1 1 1
0
1
1
4位输入端加法器的逻辑图,如下图所示:
4位输入端加法器可以由一个与门和一位全加器构成
图2.2.2(A)
2.2.2(B) 4输入端加法器的封装图如下图所示:
图2.2.2(B)
2.2.2(C) 4输入端加法器的仿真图如下图所示:
仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。
建立仿真波形文件及仿真信号选择:
功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如功能表所示。
图2.2.2(C)
功能仿真结果与分析
功能仿真波形结果如图2.2.2(B)所示,仿真数据结果如表22.2(A)所示。对表2.2.2(A)与仿真图2.2.2(C)的结果进行对比,可以看出功能仿真结果是正确的,进而说明电路设计正确性
2.2.3(A) 阵列乘法器的设计与实现
表2.2.3(A) 阵列乘法器功能表
X (X1~X4)
Y(Y1~Y4)
Z[0:7]
4(0100)
7(0111)
1C(00011100)
5(0101)
8(1000)
28(00101000)
6(0110)
A(1010)
3C(00111100)
8(1000)
E(1110)
70(01110000)
F(1111)
A(1010)
96(10010110)
B(1011)
5(0101)
37(00110111)
5(0101)
3(0011)
0F(00001111)
9(1001)
4(0100)
24(00100100)
F(1111)
F(1111)
E1(11100001)
阵列乘法器的逻辑图,如下图所示:
4×4阵列乘法器可以由16个的4输入加法器构成的
图2.2.3(A)
2.2.3(B) 阵列乘法器的封装图如下图所示
图2.2.3(B)
2.2.3(C) 4输入端加法器的仿真图如下图所示:
仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。
建立仿真波形文件及仿真信号选择:
功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如功能表所示。
图2.2.3(C)
功能仿真结果与分析
功能仿真波形结果如图2.2.3(C)所示,对表2.2.3(A)与此二图的内容进行对比,可以看出功能仿真结果是正确的,进而说明电路设计正确性。
沈阳航空工业学院课程设计报告 第3章 编程下载与硬件测试
第3章 硬件测试
3.1 硬件测试及结果分析
利用XCV200实验板进行硬件功能测试。阵列乘法器的输入数据通过XCV200实验板的输入开关k4实现,输出数据通过XCV200实验板的D4数码管实现,其对应关系如表3.1所示。
表3.1 XCV200实验板信号对应关系
XCV200芯片引脚信号
XCV200实验板
X1X2X3X4
K4(P33P34P35P36)
Y1Y2Y3Y4
K4(P38P39P40P41)
Z1Z2Z3Z4Z5Z6Z7Z8
P20~P28(扣去P22)
图中所示:
当输入:X1~X4 为1111, Y1~Y4 为 1111 时 其结果 输出:E 1即(11100001)
查相应功能表2.2.3(A),得结果为正确可以看出硬件测试结果是正确的,说明电路设计完全正确。
沈阳航空工业学院课程设计报告 参考文献
参考文献
[1] 曹昕燕. EDA技术实验与课程设计[M].北京:清华大学出版社,2006
[2] 范延滨.微型计算机系统原理、接口与EDA设计技术[M].北京:北京邮电大学出版社,2006
[3] 王冠.Verilog HDL与数字电路设计[M].北京:机械工业出版社,2005
[4] 柳春风.电子设计自动化(EAD)教程[M].北京:北京理工大学大学出版社,2005
[5] 江国强.EAD技术习题与实验[M].北京:电子工业出版社,2005
[6] (美)西里提.张雅绮等译.Verilog HDL 高级数字设计[M].北京:电子工业出版社,2005
[7] 姜雪松.可编程逻辑器件和EAD设计技术 [M].北京:机械工业出版社,2005
[8] 王爱英.计算机组成与结构(第4版)[M].北京:清华大学出版社,2006
[9] 杜建国.Verilog HDL硬件描述语言[M].北京:国防工业出版
沈阳航空工业学院课程设计报告 附 录
附 录(程序清单或电路原理图)
沈阳航空工业学院课程设计报告
课程设计总结:
主要从以下几方面总结:
1. 设计过程中出现的问题及采用的解决方法
Ø 端点连线问题:
也许很多同学刚开始也会碰到过该问题,毕竟用计算机来模拟实验对大部分同学来说还是第一次经历,在连线过程中会发现有很多细节问题存在正如;有些接点表面上看好像是联结起来了而且有个接点,但若把与其相连的器件往外拉一拉就会发现它们并不是真正连着,还有连线叫米处往往会出现限于现象交织在一起有时限预先干脆就叠在一块,所以这时要因该尽量它们拉开以免在仿真时出现莫名的错误,还有针对那些没有真正连接上的要重新连接其中有个小技巧即把器件接口与节点相触然后往外拉这样也可以较快地把它们连接起来。
Ø 单元模块封装的问题
这次课程设计的精华之一应该属于封装,它可以是一个极其庞大的原始电路逻辑图转化成一个很简洁清晰的单元器件的完美组合让一个繁杂的网络连线变成一个单元整体。开始时,我还不以为然没用封装的方法,把所有器件全放在一个环境下,这给实验的设计和连线造成了很多的麻烦和一些意想不到的错误,后在老师的指导下,懂得了封装的方法,得以改进了设计和避免了很多的连线的错误,提高了速度。
Ø 如何用好数据总线的问题
在实验的时候,为了使实验设计的方便和连线的美观,采用了数据总线,其中遇到了两个问题:一,数据总线的引线和输入输出线只有在垂直的时候才能连接上,连线的时候不知道这点,致使一度更改了设计,浪费了一些时间,在请教了老师解决;二,输入和输出的线引到数据总线上,必须标明注释,否则将会没有输出,在请教同学后解决;
Ø 管脚的排列顺序问题
管脚的顺序跟输出的关系,设计时没考虑到这一点,结果输出的结果、颠倒了,后经自己的反复的实验和测试,得出了错误的原因,换了管脚后,得到正确的结果。
2. 设计达到的目的
实现任意给定两位四位二进制的相乘运算,相乘积的计算结果为8位二进制。将移位复制的被乘数依次对准乘数数位的位置进行排列,然后将各列相加。如果乘数的某一数位为0,将跳过相应的被乘数,下一个复制被乘数的位置是由向乘数的最高位方向移动时有1出现的位置。
3. 课设实验心得
在还没有作课程设计时我是比较畏惧组成原理这门课设的,毕竟前几次小实验每每都是做得很不尽人意,总是不能在老师规定的时间内完成,所以担心这种不好的过程会给后面的大实验也即课设带来很大的负面影响,可是然我意外的是我还是第一个完成课设任务。这次实验我的设计题目是-阵列乘法器,相对来说,比较容易,所以我把更多的时间发在对环境的使用和工具的熟悉上,由于有这个优势,使得我对工具的应用方面,比较熟练,帮助其他同学解决了不少的问题,在设计的方案,采用了封装和数据总线比较简洁的设计,使得电路图变的清晰,明了。通过和同学的讨论和老师的交流,并在老师的指导下,解决了很多的问题,从其中获得了知识,使得我对环境和工具的使用能力得到了进一步的提升,我相信,这将给以后的学习和实验带来益处,最后圆满的完成了实验。
此次课程设计实验,不仅是对课程知识的巩固,对所学理论知识的很好应用与发挥,更是对新知识的学习,新鲜工具的应用的提升和实践能力的提升,而且对个人自学能力的也是一个极大考验,处于信息快速发展更新世代人只有不断提高自身自学能力才能很好地接受合理地利用信息化时代所出现的各色个样的产品。
这次课设然我领悟到很多课本以外的一些生活处事道理:
² 学习是永无止境不断充实自我提升自身价值就得不断地接受并吸收新鲜事物。
² 合作是前进的最佳途径,现在所做的只是小的实验项目步入社会合作精神会比自身能力来得更重要;
² 一件事的成功与否,往往取决你的做事的方法和途径,一件事,可以有很多的方法做,多尝试一些方法,可以得到意想不到的收获。
指导教师评语:
指导教师(签字): 年 月 日
课程设计成绩
展开阅读全文