2.2功能模块的设计与实现
2.2.1 原补转换模块的设计与实现
2.2.1.1 功能描述
由于在计算机内部数据的存储以及运算是以补码的方式进行,因此首先我们应将输入的原码转换为补码。对于正数(带符号位)来说,其原码、补码一致。对于负数(带符号位)来说,其反码为符号位不变,其余各位按位取反(即反码)后末位加1。故对原补转换模块来说,其功能为将输入的原码转化为补码。其输入为原始数据的原码,输出为供以后继运算的补码。 2.2.1.2 电路图
正数的符号位为0,负数的符号位为1,故如将符号位与数据位进行异或运算,即可获得反码。而对于正数原码、反码、补码相同。而负数的补码则为反码加1,加1操作可由数据位的末位与上符号位产生,经由与门逐级传递进位。并且由于正数的符号位为0,该逻辑对正数无影响。其电路图如图2.2所示。
图2.2 原补转换电路
封装图如图2.3所示。
图2.3 原补转换芯片封装外观图
-5-
2.2.1.3 功能仿真
表2.1 原补转换电路测试数据 输入数据 1,10010111010 0,10010111010 1,01101001011 0,00110110100 输出数据 1,01101000110 0,10010111010 1,10010110101 0,00110110100 测试数据如表2.1所示。
图2.4 原补转换电路测试图
仿真图说明:
图2.4中,红线所示数据输入为1,10010111010,其真实输出为1,01101000110。蓝线所示数据输入为0,00110110100,其真实输出为0,00110110100。从仿真结果分析,对于给定的例子,其输出与预想的输出完全一致,说明电路的实现符合设计要求。
-6-
2.2.2 阶码选择模块的设计与实现
2.2.2.1 功能描述
对于浮点数来说,在运算时需要进行对阶操作,然后选择较大的阶码作为输出结果的阶码,并且对阶码较小的数字的补码进行移位操作。故阶码选择模块的输入与输出均为阶码的补码。其功能为对阶码进行选择。 2.2.2.2 电路图
在阶码选择电路中,我们采用了二选一数据选择器。它包括一个控制端S0,两个数据输入端D0,D1及一个数据输出端O。其真值表如表2.2:
表2.2 二选一数据选择器真值表
控制端S0 0 0 1 1 输入端D0 0 1 X X 输入端D1 X X 0 1 输出端O 0 1 0 1 由真值表可看出。当S0为0时,输出为D0,S0为1时,输出为D1。故可将两阶码相减之后产生的符号位作为S0的输入信号,被减数的阶码与D0相连,件数的阶码与D1相连,这样就可以实现选择输出。其电路图如图2.5所示。
图2.5 补码选择电路
-7-
封装图如图2.6所示。
图2.6 补码选择电路封装效果图
2.2.2.3 功能仿真
表2.3 补码选择电路测试数据
COIN(相减符号位) 0 1 输入阶码1 0110 1010 输入阶码2 0011 1100 输出阶码 0110 1100 测试数据如表2.3所示。
图2.7 补码选择电路测试图
仿真图说明:
图2.7中,红线所示数据输入C0IN为1,阶码1为1010,阶码2为1100,其真实输出1100。蓝线所示数据输入COIN为0,阶码1为0110,阶码2为0011,其真实输出为0110。从仿真结果分析,对于给定的例子,其输出与预想的输出完全一致,说明电路的实现符合设计要求。
-8-
2.2.3 数值选择模块的设计与实现
2.2.3.1 功能描述
在对阶过程结束后,需要对阶码较小的数字的补码进行移位操作。这时便需要对输入的两个数据进行选择,然后再进行移位和相加等操作。故数值选择模块的输入与输出均为数值的补码。其功能为对数值进行选择和分流输出。 2.2.3.2 电路图
在数值选择电路中,我们同样采用了二选一数据选择器。但此时,输出由原来的4位更改为了8位,即输入的两组数值均要进行输出。其中,高四位为需要进行移位的数据,低四位为不需要进行移位的数据。此时的COIN(与数据选择器的控制端S0相连)仍为两阶码相减之后产生的符号位。被减数连至A23-A20,减数连至A13-A10。其电路图如图2.8所示。
图2.8 数值选择器电路图
-9-
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库组成原理课程设计报告浮点数加法器 - 图文(2)在线全文阅读。
相关推荐: