恢复余数法定点原码一位除法器的设计精品版.docx
- 文档编号:26549724
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:26
- 大小:309.03KB
恢复余数法定点原码一位除法器的设计精品版.docx
《恢复余数法定点原码一位除法器的设计精品版.docx》由会员分享,可在线阅读,更多相关《恢复余数法定点原码一位除法器的设计精品版.docx(26页珍藏版)》请在冰豆网上搜索。
恢复余数法定点原码一位除法器的设计精品版
机器人教学存在的问题
改革开放的历史性标志是()。
描写学习态度的成语
期末冲刺100分完全试卷答案
校本课程教材
数学方案问题
挫折作文材料
教学资源网站
教科版五年级下册科学连线题
教学资源网站****************
课程设计报告
课程设计名称:
计算机组成原理课程设计
课程设计题目:
恢复余数法定点原码一位除法器的设计
院(系):
*************
专业:
*************
班级:
*************
学号:
*************
姓名:
*************
指导教师:
*************
完成日期:
*************
第1章总体设计方案
1.1设计原理
定点原码一位除法器的原理是根据人工进行二进制除法的规则:
判断被除数与除数的大小,若被除数小,则上商0,并在余数最低位补0,再用余数和右移一位的除数比,若够除,则上商1,否则上商0。
然后继续重复上述步骤,直到除尽(即余数为0)或已得到的商的位数满足精度要求为止。
上述计算方法要求加法器的位数为除数位数的两倍。
但分析后,会发现右移除数,可以通过左移被除数(余数)来代替,左移出界的被除数(余数)的高位都是无用的0,对运算不会产生任何影响。
另外,上商0还是1是计算者用观察比较的办法确定的,而计算机只能用做减法判断结果的符号为负还是为正来确定。
当差为负时,上商为0,同时还应把除数再加到差上去,恢复余数为原来的正值之后再将其左移一位。
若减得的差为0或为正值时,就没有恢复余数的操作,上商为1,余数左移一位。
1.2设计思路
恢复余数法定点原码一位除法器的整体设计主要包含五个部分,分别是寄存器、数据选择器、补码器、加法器以及移位寄存器。
●寄存器
数据选择器选择数据寄存器:
寄存被除数X和余数的其中一个,6位二进制数(包含2位符号位),D触发器,上升沿触发;
除数寄存器:
寄存除数Y,6位二进制数(包含2位符号位),D触发器,上升沿触发;
余数寄存器:
寄存余数,6位二进制数(包含2位符号位),D触发器,上升沿触发;
●数据选择器
选择器A:
“与”门逻辑电路,选择输出0和除数Y的其中一个。
当输入低电平时,输出0;当输入高电平时,输出除数Y;
选择器B:
“与”门逻辑电路,选择输出被除数X和余数的其中一个。
当输入低电平时,输出被除数;当输入高电平时,输出余数;
●补码器:
将除数Y的4位有效二进制数取反加一,求其[Y]补;
●加法器
加法器A:
将数据选择器选择数据寄存器中的值和[–Y]补求和,判断结果正负,决定上商0还是上商1;
加法器B:
若加法器A中的结果为负,将结果加除数Y,恢复余数;
●移位寄存器
移位寄存器:
实现移位功能,将被除数(余数)左移;
商移位寄存器:
寄存每一次计算所得的商,依次左移得到最终结果商。
恢复余数法定点原码一位除法器的底层、顶层的设计都采用原理图设计输入方式,经编译、调试后形成*.bit文件并下载到FPGAXCV200可编程逻辑芯片中,经硬件测试验证设计的正确性。
其原理框图如图1.1所示。
图1.1恢复余数法除法器的原理框图
1.3设计环境
●
硬件环境:
伟福COP2000型计算机组成原理实验仪、FPGA实验板、微机;
●EDA环境:
XilinxFoundationF3.1设计工具、COP2000仿真软件。
第2章详细设计方案
2.1顶层方案图的设计与实现
设计采用自上而下的设计方法,顶层方案图实现恢复余数法定点原码一位除法器的逻辑功能,采用原理图设计输入方式完成,电路实现基于FPGAXV200可编程逻辑芯片。
在完成原理图的功能设计后,把输入/输出信号安排到FPGAXV200指定的引脚上去,实现芯片的引脚锁定。
2.1.1创建顶层图形设计文件
顶层图形文件主要由三个寄存器模块(U2、U5、U7)、两个数据选择器模块、一个补码器模块、两个加法器模块以及两个移位寄存器模块组装而成的一个完整的设计实体。
可利用XilinxFoundationF3.1模块实现顶层图形文件的设计,顶层图形文件结构如图2.1所示。
图2.1定点原码一位除法器顶层图形文件结构
图2.1中P81、P82、P84、P85、P86、P87为从高位到低位被除数输入端;P96、P97、P100、P101、P102、P103为从高位到低位除数输入端;P213为脉冲信号输入端;P73为始能端,开始时为低电平,以后一直处于高电平;P217、P218、P220、P221、P222、P223为从高位到低位余数输出端;P231、P232、P234、P235为从高位到低位商的输出端。
2.1.2器件的选择与引脚锁定
(1)器件的选择
由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和FPGAXV200实验板,故采用的目标芯片为XlinxFPGAXV200可编程逻辑芯片。
(2)引脚锁定
把顶层图形文件中的输入/输出信号安排到XlinxFPGAXV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及XlinxFPGAXV200芯片引脚对应关系如表2.1所示。
表2.1信号和芯片引脚对应关系
元件符号中的输入/输出信号
FPGA芯片引脚
A5
P81
A4
P82
A3
P84
A2
P85
A1
P86
A0
P87
CLK
P213
S
P73
B5
P96
B4
P97
B3
P100
B2
P101
B1
P102
B0
P103
OUT5
P178/P217
OUT4
P184/P218
OUT3
P185/P220
OUT2
P203/P221
OUT1
P111/P222
OUT0
P110/P223
S3
P108/P231
S2
P109/P232
S1
P124/P234
S0
P125/P235
2.1.3编译、综合、适配
利用XilinxFoundationF3.1编译器对顶层图形文件进行编译、综合、优化、逻辑分割、适配和布线,生成可供时序仿真的文件和器件下载编程文件。
2.2功能模块的设计与实现
定点原码一位除法器(恢复余数)的底层图形文件是由10个模块组装而成的一个完整的设计实体。
可利用XilinxFoundationF3.1ECS模块实现底层图形文件的设计,底层模块包括三个寄存器模块、两个数据选择器模块、一个补码器模块、两个加法器模块以及两个移位寄存器模块,由XilinxFPGAXV200可编程逻辑芯片分别实现。
2.2.1寄存器模块的设计与实现
(1)创建寄存器原理图
内部主要用到D触发器,当上升沿到来时,输出与D端相同值,下降沿时,保持数值不变,实现寄存功能。
其原理图如图2.2所示。
图2.2寄存器原理图
(2)创建元件图形
图2.3寄存器元件图形符号
为了能在图形编辑器(原理图设计输入方式)中调用此芯片,需要为A1
芯片创建一个元件图形,可用XilinxFoundationF3.1编译器的CreateSymbol模
块实现,CLOCK为控制端,B0~B5为输入端,F0~F5为输出端。
其元件图形如
图2.3所示。
(3)功能描述:
上升沿触发,用于寄存数据。
三个寄存器分别寄存通过数据选择器选择的被除数和余数的其中一个,除数还有余数。
(4)功能仿真
对创建的寄存器模块进行功能仿真,验证其功能的正确性,可用XilinxFoundationF3.1编译器Simulator模块实现。
其仿真图如图2.4所示。
图2.4寄存器仿真图
2.2.2数据选择器模块的设计与实现
1.选择器A(选择输出0和除数Y)
(1)创建选择器模块原理图
选择器内部主要由与门构成,控制信号分别与各输入数据相与,因此当控制信号为电平时,输出都为0,当控制信号为高电平时,输出为输入数据。
其原理图如图2.5所示。
图2.5选择器模块原理图
(2)创建元件图形
H0~H5为输入端,F0~F5为输出端,C为控制端。
其元件图如图2.6所示。
图2.6选择器模块元件图形符号
(3)功能描述:
当控制信号为高电平时,输出为输入值除数Y;当控制信号为低电平时,输出全为0。
实现当余数为负时将其恢复为正数的功能。
(4)功能仿真
对创建的选择器模块进行功能仿真,验证其功能的正确性,可用XilinxFoundationF3.1编译器Simulator模块实现。
仿真结果如图2.7所示。
图2.7选择器模块仿真图
2.数据选择器B(二选一数据选择器:
选择输出被除数X和余数)
(1)创建二选一数据选择器原理图
二选一数据选择器内部主要利用六个二选一芯片,当控制信号为高电平时,选择B,输出B中数据;当控制信号为低电平时,选择A,输出为A中数据。
其原理图如图2.8所示。
图2.8二选一数据选择器原理图
其中,数据选择器逻辑框图如图2.9所示。
图2.9二选一数据选择器逻辑框图
(2)创建元件图形
A、B、A0~A5、B0~B5为输入端,S、C0~C5为输出端,CO为控制端。
其元件图如图2.10所示。
图2.10二选一数据选择器元件图形符号
(3)功能描述:
实现对两组数据的二选一功能,每一时刻只能输出两组数据中的一组,选择被除数和余数的其中一个。
(4)功能仿真
对创建的二选一数据选择器模块进行功能仿真,验证其功能的正确性,可用XilinxFoundationF3.1编译器Simulator模块实现。
仿真结果如图2.11所示。
图2.11二选一数据选择器仿真图
2.2.3补码器模块的设计与实现
(1)创建补码器原理图
补码器模块内部用到了一个ADD4芯片,以对除数Y求其[Y]补,通过对输入的二进制数的四位有效数字实行取反加1操作。
其原理图如图2.12所示。
图2.12补码器模块原理图
(2)创建元件图形
Y0~Y3为输入端,B0~B3为输出端。
其图形如图2.13所示。
图2.13补码器模块元件图形符号
(3)功能描述:
对输入的除数Y的四位有效二进制数,进行取反加1操作,求得[Y]补。
(4)功能仿真
对创建的补码器模块进行功能仿真,验证其功能的正确性,可用XilinxFoundationF3.1编译器Simulator模块实现,Y3为高位,B3也为高位。
仿真结果如图2.14所示。
图2.14补码器模块仿真图
2.2.4加法器模块的设计与实现
(1)创建加法器原理图
加法器内部主要用到ADDS加法芯片以及一些与非门,先将输入的六位二进制数转换成八位,即在高位加两个零,然后进行加法运算。
最后,将得到的数据输出低六位。
其原理图如图2.15所示。
图2.15加法器原理图
(2)创建元件图形
为了能在图形编辑器(原理图设计输入方式)中调用此芯片,需要为FPGAXV200芯片创建一个元件图形,可用XilinxFoundationF3.1编译器的CreateSymbol模块实现,A0~A5、B0~B5是输入端,S0~S5是输出端。
其元件图形如图2.16所示。
图2.16加法器元件图形符号
(3)功能描述:
输入两组数据,对其求和。
两个加法器分别将数据选择器选择数据寄存器中的值和[–Y]补求和以及所得余数为负时将余数和Y以恢复余数的求和。
(4)功能仿真
对创建的加法器模块进行功能仿真,验证其功能的正确性,可用XilinxFoundationF3.1编译器Simulator模块实现。
仿真结果如图2.17所示。
图2.17加法器仿真图
2.2.5移位寄存器模块的设计与实现
1.移位寄存器
(1)创建移位寄存器原理图
移位寄存器内部主要用到了与门和非门,依次将数据从低位传给高位,最低位补零。
其原理图如图2.18所示。
图2.18移位寄存器原理图
(2)创建元件图形
为了能在图形编辑器(原理图设计输入方式)中调用此芯片,需要为YIWEI芯片创建一个元件图形,可用XilinxFoundationF3.1编译器的CreateSymbol模块实现,A0~A4是输入端,B0~B5是输出端。
其元件图形如图2.19所示。
图2.19移位寄存器元件图形符号
(3)功能描述:
将输入的数据左移一位。
即将被除数(余数)左移一位以进行下一步运算。
(4)功能仿真
对创建的移位寄存器模块进行功能仿真,验证其功能的正确性,可用XilinxFoundationF3.1编译器Simulator模块实现。
仿真结果如图2.20所示。
图2.20移位寄存器仿真图
2.商移位寄存器
(1)创建商移位寄存器原理图
商移位寄存器内部主要用到了D触发器,CLK信号依次到达上升沿时促使D触发器工作,依次将后一位数据传递给前一位。
其原理图如图2.21所示。
图2.21商移位寄存器原理图
(2)创建元件图形
为了能在图形编辑器(原理图设计输入方式)中调用此芯片,需要为SHANGYIWEIJICUN芯片创建一个元件图形,可用XilinxfoundationF3.1编译器的CreateSymbol模块实现,CLK为控制端,C是输入端,Q0~Q3是输出端。
其元件图如图2.22所示。
图2.22商移位寄存器元件图形符号
(3)功能描述:
依次将得到的上商结果左移并寄存,实现对商的寄存。
(4)功能仿真
对创建的商移位寄存器模块进行功能仿真,验证其功能的正确性,可用XilinxFoundationF3.1编译器Simulator模块实现。
仿真结果如图2.23所示。
图2.23商移位寄存器仿真图
2.3仿真调试
仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。
(1)建立仿真波形文件及仿真信号选择
功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如表2.2所示。
表2.2仿真信号选择和参数设置
输入信号
输出信号
A5
0
OUT5
0
A4
0
OUT4
0
A3
0
OUT3
0
A2
0
OUT2
0
A1
1
OUT1
1
A0
0
OUT0
0
B5
0
S3
0
B4
0
S2
1
B3
0
S1
0
B2
1
S0
1
B1
1
B0
0
S
先0后1
CLK
脉冲信号
(2)功能仿真结果与分析
功能仿真波形结果如图2.24所示,与表2.2的内容进行对比,可以看出功能仿真结果是正确的,进而说明电路设计的正确性。
图2.24功能仿真波形结果
第3章编程下载与硬件测试
3.1编程下载
利用XilinxFoundationF3.1的编程下载功能,将得到的*.bit文件下载到FPGAXV200实验板的FPGAXV200可编程逻辑芯片中。
3.2硬件测试及结果分析
利用FPGAXV200实验板进行硬件功能测试。
恢复余数法定点原码一位除法器的输入数据通过FPGAXV200实验板的输入开关实现,输出数据通过FPGAXV200实验板的数码显示管和发光二极管实现,其对应关系如表3.1所示。
表3.1FPGA实验板信号对应关系
FPGA芯片引脚信号
FPGA实验板
输入A0~A5
K1
输入B0~B5
K0
控制信号S
K2
脉冲信号CLK
CLOCK
输出OUT0~OUT5
S0/A0~A5
输出S0~S3
S1/B0~B3
利用表2.2中的输入参数作为输入数据,逐个测试输出结果,即用FPGAXV200实验板的开关K1、K0、K2输入数据,同时观察数码显示管和发光二极管显示结果,得到如图3.1所示的硬件测试结果。
通过观察和比较,发现图3.1输出结果和表2.2输出结果相符合,说明编程下载后硬件测试结果是正确的,所以该电路设计正确。
图3.1硬件测试结果图
参考文献
[1]曹昕燕.EDA技术实验与课程设计[M].北京:
清华大学出版社,2006
[2]范延滨.微型计算机系统原理、接口与EDA设计技术[M].北京:
北京邮电大学出版社,2006
[3]王爱英.计算机组成与结构(第4版)[M].北京:
清华大学出版社,2006
[4]王爱英.计算机组成与结构(第3版)[M].北京:
清华大学出版社,1999
[5]侯伯亨、顾新.硬件描述语言与数字逻辑电路设计[M].西安:
西安电子科技大学出版社,1999
[6]江国强.EDA技术与应用[M].北京:
电子工业出版社,2004
附录(电路原理图)
底层设计图
课程设计总结:
我的课程设计题目是恢复余数法原码一位除法器的设计。
初见题目,我不知道该如何下手,尤其对恢复余数法的每一个计算步骤不太理解。
但是本着对专业知识进一步学习的目的,我开始了为期两周的课程设计。
通过查阅书籍和上网搜索,我学习到了除法器的很多知识并解决了一些不懂的问题。
随之我逐渐开始设计电路的每一个模块。
在设计过程中,遇到了很多困难,有时因为线连接有断点就导致无法正常仿真,有时设计逻辑有错误就需要反复修改进行试验。
电路全部设计完成之时,我非常兴奋,但是仿真时由于一开始使用的试验数据被除数大于了除数,违反了恢复余数法的使用前提,导致电路无法正常计算。
后来更换其他数据电路运行得到正确结果,我很高兴通过自己的努力基本完成了此次课程设计。
后来,在编译过程中也遇到了一些小困难,比如管脚锁定编号有误等,但都很快得到了解决。
最后,在进行硬件下载时一次性顺利完成下载。
由于开始设计的电路只有发光二极管能够显示最终结果,不够直观,所以老师让我进行改进,让数码显示管和发光二极管同时显示以得到更直观的输出结果,通过小小的改动也已完成。
通过这次课程设计,我收获了很多,也发现了自身的很多不足,我会在以后的学习中更加刻苦努力,以取得更好的成绩。
指导教师评语:
指导教师(签字):
年月日
课程设计成绩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 恢复 余数 法定 点原码 一位 法器 设计 精品