恢复余数法定点原码一位除法器的设计.docx

上传人:b****5 文档编号:3718841 上传时间:2022-11-24 格式:DOCX 页数:24 大小:544.61KB
下载 相关 举报
恢复余数法定点原码一位除法器的设计.docx_第1页
第1页 / 共24页
恢复余数法定点原码一位除法器的设计.docx_第2页
第2页 / 共24页
恢复余数法定点原码一位除法器的设计.docx_第3页
第3页 / 共24页
恢复余数法定点原码一位除法器的设计.docx_第4页
第4页 / 共24页
恢复余数法定点原码一位除法器的设计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

恢复余数法定点原码一位除法器的设计.docx

《恢复余数法定点原码一位除法器的设计.docx》由会员分享,可在线阅读,更多相关《恢复余数法定点原码一位除法器的设计.docx(24页珍藏版)》请在冰豆网上搜索。

恢复余数法定点原码一位除法器的设计.docx

恢复余数法定点原码一位除法器的设计

 

课程设计报告

 

课程设计名称:

计算机组成原理课程设计

课程设计题目:

恢复余数法定点原码一位除法器的设计

 

院(系):

专业:

班级:

学号:

姓名:

指导教师:

完成日期:

 

第1章总体设计方案

1.1设计原理

定点原码一位除法器的原理是根据人工进行二进制除法的规则:

判断被除数与除数的大小,若被除数小,则上商0,并在余数最低位补0,再用余数和右移一位的除数比,若够除,则上商1,否则上商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所示。

元件符号中的输入/输出信号

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信号和芯片引脚对应关系

2.1.3编译、综合、适配

利用XilinxFoundationF3.1编译器对顶层图形文件进行编译、综合、优化、逻辑分割、适配和布线,生成可供时序仿真的文件和器件下载编程文件。

2.2功能模块的设计与实现

定点原码一位除法器(恢复余数)的底层图形文件是由10个模块组装而成的一个完整的设计实体。

可利用XilinxFoundationF3.1ECS模块实现底层图形文件的设计,底层模块包括三个寄存器模块、两个数据选择器模块、一个补码器模块、两个加法器模块以及两个移位寄存器模块,由XilinxFPGAXV200可编程逻辑芯片分别实现。

2.2.1寄存器模块的设计与实现

(1)创建寄存器原理图

内部主要用到D触发器,当上升沿到来时,输出与D端相同值,下降沿时,保持数值不变,实现寄存功能。

其原理图如图2.2所示。

图2.2寄存器原理图

(2)创建元件图形

为了能在图形编辑器(原理图设计输入方式)中调用此芯片,需要为A1

芯片创建一个元件图形,可用XilinxFoundationF3.1编译器的CreateSymbol模

块实现,CLOCK为控制端,B0~B5为输入端,F0~F5为输出端。

其元件图形如

图2.3所示。

(3)功能描述:

上升沿触发,用于寄存数据。

三个寄存器分别寄存通过数据选择器选择的被除数和余数的其中一个,除数还有余数。

图2.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)创建补码器原理图

图2.12补码器模块原理图

补码器模块内部用到了一个ADD4芯片,以对除数Y求其[Y]补,通过对输入的二进制数的四位有效数字实行取反加1操作。

其原理图如图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)创建元件图形

图2.19移位寄存器元件图形符号

为了能在图形编辑器(原理图设计输入方式)中调用此芯片,需要为YIWEI芯片创建一个元件图形,可用XilinxFoundationF3.1编译器的CreateSymbol模块实现,A0~A4是输入端,B0~B5是输出端。

其元件图形如图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

0

A0

0

OUT0

0

B5

0

S3

0

B4

0

S2

1

B3

1

S1

0

B2

0

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所示。

FPGA芯片引脚信号

FPGA实验板

输入A0~A5

K1

输入B0~B5

K0

控制信号S

K2

脉冲信号CLK

CLOCK

输出OUT0~OUT5

S0/A0~A5

输出S0~S3

S1/B0~B3

表3.1FPGA实验板信号对应关系

利用表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

附录(电路原理图)

底层设计图

课程设计总结:

经过两周的课程设计,我感觉收获颇丰。

首先要感谢王老师还有组原组的周老师的指导。

初见题目,我不知道该如何下手,尤其对恢复余数法的每一个计算步骤不太理解。

但是本着对专业知识进一步学习的目的,我开始了为期两周的课程设计。

通过查阅书籍和上网搜索,我学习到了除法器的很多知识并解决了一些不懂的问题。

随之我逐渐开始设计电路的每一个模块。

设计过程中出现的问题最初为对器件的认识不够深刻并且有理解上的错误,还有就是线路上不是很联贯部件和线路上的命名错误,有的命名不合法,命名冲突等错误。

主要还有逻辑上的一些错误,线路命名的时候出现的一些顺序上的错误,这些错误导致了结果上的错误乃至不能实现任何结果;后来,在编译过程中也遇到了一些小困难,比如管脚锁定编号有误等,但都很快得到了解决。

最后,在进行硬件下载时一次性顺利完成下载。

由于开始设计的电路只有发光二极管能够显示最终结果,不够直观,所以老师让我进行改进,让数码显示管和发光二极管同时显示以得到更直观的输出结果,通过小小的改动也已完成。

通过该实验弥补了自己在学习上的一些漏洞和缺点,改正了学习理论知识时的一些错误,完善了平时所学习的知识。

指导教师评语:

 

指导教师(签字):

      年月日

课程设计成绩

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1