64位加法器设计解析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
六十四位全加器的设计
一、实验目的:
设计一个64位的全加器实现加法功能。
二、实验要求:
用两种方法实现64位全加器。第一种:用Sedi画出64位全加器电路图,并生成网表,然后进行功能验证,最后将电路图生成版图。第二种:用VHDL语言写出64位全加器的程序表达式,并进行功能验证,最后将程序语言转换成电路图。
三、实验过程
3、1分析
一次画出64 位全加很有难度,但考虑到全加器的结构,我们可以用4个16位的全加器组成一个64位的加法器。同样,一个16位的全加器可以由4个4位全加器组成,一个4位全加器可以由4个一位全加器组成。一位全加器又可以由三个半加器或两个半加器与一个或门组成。所以整个设计思路可以简化为:半加器→一位全加器→四位全加器→十六位全加器→六十四位全加器
3、2功能设计与验证(画图法)
3、2、1半加器设计
半加器实现加法,输入A、B,输出C、S(C 为进位,S为本位);
所以得出半加器的电路图为:
半加器符号图:
S
S C C
B B A A 半加器
(
)()()
与非门 或非门 非门 3 、2、2一位全加器设计
一位全加器可由三个半加器组成电路图如下:
A B C i
S
C 半加器A B C
S
半加器A B C
S
半加器A B C
S
一位全加器的电路图符号如下:
S
S
C i
C i
C
C
B
B
A
A
全加器
3、2、3四位全加器的设计
四位全加器可由四个一位全加器组成,四位全加器电路图如下:
B 0
A 0
C
S 3
S 2
S 1
S 0
C i
B 3
A 3
B 2
A 2
B 1
A 1
全加器
A
B C
C i S
全加器
A B C
C i S
全加器
A
B C C i
S
全加器
A B C
C i S
四位全加器符号图如下:
S 3
S 3S 2S 2S 1S 1S 0S 0C i
C i
C
C B 3
B 3
B 2B 2B 1B 1B 0B 0
A 3A 3
A 2A 2A 1A 1A 0A 0四位全加
网表输入如下: 1、添加工作电压; Vvdd vdd GND 5
2、添加模型文件;
.include "D:\iceda\TannerPro9\TSpice7.0\models\ml2_125.md" 3、添加输入信号;
VA0 A0 GND PULSE (0 5 0 5n 5n 50n 100n) VA1 A1 GND PULSE (0 5 0 5n 5n 100n 200n) VA2 A2 GND PULSE (0 5 0 5n 5n 150n 300n) VA3 A3 GND PULSE (0 5 0 5n 5n 120n 240n) VB0 B0 GND PULSE (0 5 0 5n 5n 50n 100n) VB1 B1 GND PULSE (0 5 0 5n 5n 100n 200n) VB2 B2 GND PULSE (0 5 0 5n 5n 150n 300n) VB3 B3 GND PULSE (0 5 0 5n 5n 120n 240n) VCi Ci GND PULSE (0 5 0 5n 5n 50n 100n) 4、添加参数设置; .param l=0.5u
5、输出设置;
.print tran v(A0) v(A1) v(A2) v(A3) v(B0) v(B1) v(B2) v(B3) v(Ci) v(S0) v(S1) v(S2) v(S3) v(C) 6、设置分析;
.tran/op 1n 400n method=bdf 总网表如下
.include "D:\iceda\TannerPro9\TSpice7.0\models\ml2_125.md" Vvdd vdd GND 5
VA0 A0 GND PULSE (0 5 0 5n 5n 50n 100n) VA1 A1 GND PULSE (0 5 0 5n 5n 100n 200n) VA2 A2 GND PULSE (0 5 0 5n 5n 150n 300n) VA3 A3 GND PULSE (0 5 0 5n 5n 120n 240n) VB0 B0 GND PULSE (0 5 0 5n 5n 50n 100n) VB1 B1 GND PULSE (0 5 0 5n 5n 100n 200n) VB2 B2 GND PULSE (0 5 0 5n 5n 150n 300n) VB3 B3 GND PULSE (0 5 0 5n 5n 120n 240n) VCi Ci GND PULSE (0 5 0 5n 5n 50n 100n) .param l=0.5u
.tran/op 1n 400n method=bdf
.print tran v(A0) v(A1) v(A2) v(A3) v(B0) v(B1) v(B2) v(B3) v(Ci) v(S0) v(S1) v(S2) v(S3) v(C) (由于步骤相同,以此为例,后面网表添加均简写)
仿真结果:
(四位全加器仿真图)
3、2、4十六位全加器的设计
十六位全加器可由四个四位全加器组成,十六位全加器电路图如下:
A
0A 1A 2A
3A
4A 5A 6A
7A 8A 9A 10A
11A
12A 13A 14A
15B
0B 1B 2B
3B
4B 5B 6B
7B
8B 9B 10B
11B
12B 13B 14B
15Ci S
0S 1S 2S
3S
4S 5S 6S
7S
8S 9S 10S
11S
12S 13S 14S
15C
四位全加
A0A1A2A3B0B1B2B3C Ci
S0S1S2S3
四位全加
A0A1A2A3B0B1B2B3C Ci
S0S1S2S3
四位全加
A0A1A2A3B0B1B2B3C Ci
S0S1S2S3
四位全加
A0A1A2A3B0B1B2B3C Ci
S0S1S2S3
十六位全加器符号图如下:
S 15
S 15S 14
S 14S 13
S 13S 12S 12
S 11S 11
S 10S 10
S 9S 9S 8S 8S 7S 7S 6S 6S 5S 5S 4S 4S 3S 3S 2S 2S 1S 1S 0
S 0C i
C i
C
C
B 15
B 15
B 14B 14
B 13
B 13B 12B 12
B 11
B 11B 10B 10
B 9B 9B 8B 8B 7B 7B 6B 6B 5B 5B 4B 4B 3B 3B 2B 2B 1B 1B 0B 0A 15
A 15
A 14A 14
A 13
A 13A 12A 12
A 11
A 11A 10A 10
A 9A 9A 8A 8A 7A 7A 6A 6A 5A 5A 4A 4A 3A 3A 2A 2A 1A 1A 0A 0
十六位全加器
网表输入: 仿真图如下: