定点原码一位除法器的设计
课 程 设 计 报 告
课程设计名称:课程设计题目:
院(系):专 业:班 级:学 号:姓 名:指导教师:完成日期:
计算机组成原理课程设计 定点原码一位除法器的设计
目 录
第1章 总体设计方案 .................................................................................................. 1 1.1 设计原理 .............................................................................................................. 1 1.2 设计环境 .............................................................................................................. 3 第2章 详细设计方案 .................................................................................................. 4 2.1 顶层方案图的设计与实现 .................................................................................. 4 2.1.1创建顶层图形设计文件 .................................................................................. 4 2.1.2器件的选择与引脚锁定 .................................................................................. 4 2.2 功能模块的设计与实现 ...................................................................................... 6 2.2.1选择移位模块的设计与实现 .......................................................................... 6 2.2.2 余数选择器模块的设计与实现 ..................................................................... 9 2.2.3 控制器模块的设计与实现 ........................................................................... 10 2.3 仿真调试 ............................................................................................................. 11 第3章 编程下载与硬件测试 .................................................................................... 13 3.1 编程下载 ............................................................................................................ 13 3.2 硬件测试及结果分析 ........................................................................................ 13 参考文献 ........................................................................................................................ 14
第1章 总体设计方案
1.1 设计原理
定点原码一位除法的计算有恢复余数和加减交替两种算法,商的符号为除数与被除数两符号位的异或值,数值则为两数绝对值相除后的结果。此设计方案仅采用恢复余数法进行设计。
恢复余数定点原码一位除法器实现的功能如表1.1所示,设计的电路应实现表1.1中给定的功能。
设: X=X0 X1…… X n Y=Y0 Y1…… Y n
X 0 X1 ,Y0Y 1分别为符号位,
K 为两符号位的异或值
X/Y=K*|X|/|Y|
|X|/|Y|利用恢复余数法求的,在计算机中,商只能用做减法判结果的符号为正还是为负来确定。当差为负时,上商为0,同时还应该把除数再加到差上去,恢复余数为原来的正值之后再左移一位。若减得的差为0或为正值时,就没有恢复余数的操作,上商为1,余数左移一位。其计算过程如下: 例:已知 :X=0.0100
Y=0.1000 求:X/Y
表1.1恢复余数定点原码一位除法器功能表
恢复余数定点原码一位除法器的整体设计包含两输入寄存器模块,一个加法运算模块,一个余数移位模块,一个商移位模块和一个由触发器和计数器构成的
控制模块,移位模块采用Verilog 设计输入方式,其余采用原理图设计输入方式。
采用硬件描述语言进行电路设计并实现表1.1中给定的功能,设计的 Verilog程序经编译、调试后形成*.bit文件并下载到XCV200可编程逻辑芯片中,经硬件测试验证设计的正确性。
定点原码一位除法器的原理框图如图1.1所示,被除数经选择器首次存入余数寄存器中,除数取反后存入除数寄存器中,两数经加法器实现加法运算,将商送入商寄存器中,同时将结果送入选择移位电路中进行移位,再将移位后的结果经选择器送入余数寄存器中。
图1.1恢复余数定点原码一位除法器原理框图
1.2 设计环境
·硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机;
·EDA 环境:Xilinx Foundation3.1设计软件。
第2章 详细设计方案
2.1 顶层方案图的设计与实现
顶层方案图实现一位除法器的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。
2.1.1创建顶层图形设计文件
顶层图形文件主要由两输入模块,一个运算模块,两个移位模块和一个控制模块组装而成的一个完整的设计实体。顶层图形文件结构如图2.1所示。
图2.1 定点原码一位除法器顶层图形文件结构
2.1.2器件的选择与引脚锁定
(1)器件的选择
由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200
实验板,故采用的目标芯片为Xlinx XCV200可编程逻辑芯片。
(2)引脚锁定
把顶层图形文件中的输入/输出信号安排到Xlinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及Xlinx XCV200芯片引脚对应关系如表2.1所示。
表2.1 信号和芯片引脚对应关系
2.2 功能模块的设计与实现
恢复余数定点原码一位除法器是以两输入寄存器模块,一个加法器模块,两个输出模块,两个移位模块和一个由触发器和计数器构成的控制模块构成,移位模块采用Verilog 设计输入方式,其余采用原理图设计输入方式。具体设计如图2.2所示。
图2.2 恢复余数定点原码一位除法器功能模块图
2.2.1选择移位模块的设计与实现
选择移位的三个输入分别用HIN[7:0],NIN[7:0],CS表示,当CS 为1时数据选择器选择HIN[7:0]送入移位器,当CS 为0时数据选择器选择 NIN[7:0]送入移位器,移位部分通过程序实现,形成的Verilog 程序用ZUOYI.VHD 表示,具体电路及程序如下:
图2.2.1 选择移位模块图形文件
(1)创建Verilog 源文件
module yiwei(X7, X6, X5, X4, X3, X2, X1, X0, CE, CLR, QQOUT) ; input X7 ; input X6 ; input X5 ; input X4 ; input X3 ; input X2 ; input X1 ; input X0 ; input CE ; input CLR ; output [7:0] QQOUT;
reg [7:0] QQOUT; // add your declarations here // add your code here always@(CLR); begin
if(CLR) QQOUT
QQOUT[7]
(2)创建元件图形符号
为了能在图形编辑器(原理图设计输入方式)中调用此移位器,需要为ZUOYI 创建一个元件图形符号,可用Xilinx ISE编译器的Create Symbol模块实现。
(3)功能仿真
对创建的两输入或门元件(ZUOYI )进行功能仿真,验证其功能的正确性,可用Xilinx ISE编译器的Simulator 模块实现。仿真结果如下:
2.2.2 余数选择器模块的设计与实现
(1)创建元件图形符号
余数选择器的四个输入分别用HIN[7:0]、NIN[7:0],CS,CP表示,通过数据选择器选择数据,当CS 为1时将数据HIN[7:0]送入余数寄存器中,当CS 为0时将数据NIN[7:0]送入余数寄存器中具体电路如下:
(2)器件实现
(3)功能仿真
对创建的半加器元件(H_ADDER)进行功能仿真,验证其功能的正确性,可用Xilinx ISE编译器的Simulator 模块实现。
2.2.3 控制器模块的设计与实现
(1)创建元件图形符号
控制器的三个输入端中S,R 为触发器的两输入端当S 值1时将被除数除数打入寄存器当R 值1时脉冲打入,CP 为脉冲输入端,SQ ,SC 为输出端。
(2)器件实现
(3)功能仿真
对创建的半加器元件(H_ADDER)进行功能仿真,验证其功能的正确性,可用Xilinx ISE编译器的Simulator 模块实现。
2.3 仿真调试
仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。
(1)建立仿真波形文件及仿真信号选择
功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如表2.2所示。
表2.2 仿真信号选择和参数设置
(2)功能仿真结果与分析
功能仿真波形结果如图2.2所示,仿真数据结果如表2.3所示。对表2.3与表1.1的内容进行对比,可以看出功能仿真结果是正确的,进而说明电路设计的正确性。
图2.2 功能仿真波形结果 表2.3 仿真数据结果
第3章 编程下载与硬件测试
3.1 编程下载
利用Xilinx ISE的编程下载功能,将得到的*.bit文件下载到XCV200实验板的XCV200可编程逻辑芯片中。
3.2 硬件测试及结果分析
利用XCV200实验板进行硬件功能测试。一位全加器的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED 指示灯实现,其对应关系如表3.1所示。
表3.1 XCV200实验板信号对应关系
利用表2.2中的输入参数作为输入数据,逐个测试输出结果,即用XCV200实验板的开关K4、K2、K3输入数据,同时观察七段数码管D0七段数码管D1的输出。.
参考文献
[1] 曹昕燕. EDA 技术实验与课程设计[M ]. 北京:清华大学出版社,2006 [2] 范延滨. 微型计算机系统原理、接口与EDA 设计技术[M].北京:北京邮电大学出版社,2006
[3] 王爱英. 计算机组成与结构(第4版)[M].北京:清华大学出版社,2006
[4] William Stallings 张昆藏[译] 计算机组织与结构—性能设计(第五版)[M ]北京:电子工业出版社 2001
[5] 黄任. 编著 VHDL 入门·解惑 ·经典实例·经验总结. [M ]北京:北京航空航天大学出版社, 2005
[6] 李勇. 计算机原理与设计(修订本) . [M ]长沙:国防科技大学出版社,1984 [7] Douglas E.Comer著, 马志强译. [M ]北京:清华大学出版社, 1995 [8] 白中英主编. 计算机组成原理. [M ]北京:科学出版社,1994