64位加法器设计解析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

十六位全加器

网表输入: 仿真图如下:

相关文档
最新文档