8位二进制全加器设计实验报告Word文档格式.docx

上传人:b****6 文档编号:20682239 上传时间:2023-01-25 格式:DOCX 页数:13 大小:130.41KB
下载 相关 举报
8位二进制全加器设计实验报告Word文档格式.docx_第1页
第1页 / 共13页
8位二进制全加器设计实验报告Word文档格式.docx_第2页
第2页 / 共13页
8位二进制全加器设计实验报告Word文档格式.docx_第3页
第3页 / 共13页
8位二进制全加器设计实验报告Word文档格式.docx_第4页
第4页 / 共13页
8位二进制全加器设计实验报告Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

8位二进制全加器设计实验报告Word文档格式.docx

《8位二进制全加器设计实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《8位二进制全加器设计实验报告Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

8位二进制全加器设计实验报告Word文档格式.docx

自己写程序

一、设计原理

先写一个半加器,然后用两个半加器例化出一个全加器,再用八个全加器例化出一个八位全加器。

原理如图。

关于上升沿触发,使用D触发器和八位全加器进行例化,D触发器接同一个时钟。

最终完成上升沿触发的八位全加器的设计。

二、实验程序

半加器描述

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYh_adderIS

PORT(A,B:

INSTD_LOGIC;

CO,SO:

OUTSTD_LOGIC);

ENDENTITYh_adder;

ARCHITECTUREFH1OFh_adderIS

BEGIN

SO<

=NOT(AXOR(NOTB));

CO<

=AANDB;

ENDARCHITECTUREFH1;

一位二进制全加器设计顶层描述

ENTITYf_adderIS

PORT(AIN,BIN,CIN:

COUT,SUM:

ENDENTITYf_adder;

ARCHITECTUREFD1OFf_adderIS

COMPONENTh_adderIS

PORT(A,B:

CO,SO:

ENDCOMPONENT;

SIGNALD,E,F:

STD_LOGIC;

U1:

h_adderPORTMAP(A=>

AIN,B=>

BIN,CO=>

D,SO=>

E);

U2:

E,B=>

CIN,CO=>

F,SO=>

SUM);

COUT<

=DORF;

ENDARCHITECTUREFD1;

D触发器描述

ENTITYDEF1IS

PORT(CLK:

D:

Q:

OUTSTD_LOGIC);

END;

ARCHITECTUREbhvOFDEF1IS

SIGNALQ1:

STD_LOGIC;

PROCESS(CLK)

IFCLK'

EVENTANDCLK='

1'

THENQ1<

=D;

ENDIF;

Q<

=Q1;

ENDPROCESS;

ENDbhv;

8位二进制加法器顶层描述

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYf_adder8IS

PORT(AIN,BIN:

INSTD_LOGIC_VECTOR(7DOWNTO0);

ASEGIN1,ASEGIN2,BSEGIN1,BSEGIN2:

BUFFERSTD_LOGIC_VECTOR(6DOWNTO0);

CIN:

CLK:

SUM:

BUFFERSTD_LOGIC_VECTOR(7DOWNTO0);

SEG1:

SEG2:

COUT:

ENDf_adder8;

ARCHITECTUREONEOFf_adder8IS

COMPONENTf_adderIS

PORT(AIN,BIN,CIN:

COUT,SUM:

COMPONENTDEF1IS

PORT(CLK:

D:

Q:

SIGNALC,C1,C2,C3,C4,C5,C6,C7:

SIGNALa:

STD_LOGIC_VECTOR(7DOWNTO0);

SIGNALb:

SIGNALs:

SIGNALss:

STD_LOGIC_VECTOR(3DOWNTO0);

SIGNALsss:

f_adderPORTMAP(AIN=>

a(0),BIN=>

b(0),CIN=>

CIN,SUM=>

s(0),COUT=>

C1);

a

(1),BIN=>

b

(1),CIN=>

C1,SUM=>

s

(1),COUT=>

C2);

U3:

a

(2),BIN=>

b

(2),CIN=>

C2,SUM=>

s

(2),COUT=>

C3);

U4:

a(3),BIN=>

b(3),CIN=>

C3,SUM=>

s(3),COUT=>

C4);

U5:

a(4),BIN=>

b(4),CIN=>

C4,SUM=>

s(4),COUT=>

C5);

U6:

a(5),BIN=>

b(5),CIN=>

C5,SUM=>

s(5),COUT=>

C6);

U7:

a(6),BIN=>

b(6),CIN=>

C6,SUM=>

s(6),COUT=>

C7);

U8:

a(7),BIN=>

b(7),CIN=>

C7,SUM=>

s(7),COUT=>

C);

U9:

DEF1PORTMAP(Q=>

a(0),D=>

AIN(0),CLK=>

CLK);

U10:

a

(1),D=>

AIN

(1),CLK=>

U11:

a

(2),D=>

AIN

(2),CLK=>

U12:

a(3),D=>

AIN(3),CLK=>

U13:

a(4),D=>

AIN(4),CLK=>

U14:

a(5),D=>

AIN(5),CLK=>

U15:

a(6),D=>

AIN(6),CLK=>

U16:

a(7),D=>

AIN(7),CLK=>

U17:

b(0),D=>

BIN(0),CLK=>

U18:

b

(1),D=>

BIN

(1),CLK=>

U19:

b

(2),D=>

BIN

(2),CLK=>

U20:

b(3),D=>

BIN(3),CLK=>

U21:

b(4),D=>

BIN(4),CLK=>

U22:

b(5),D=>

BIN(5),CLK=>

U23:

b(6),D=>

BIN(6),CLK=>

U24:

b(7),D=>

BIN(7),CLK=>

U25:

SUM(0),D=>

s(0),CLK=>

U26:

SUM

(1),D=>

s

(1),CLK=>

U27:

SUM

(2),D=>

s

(2),CLK=>

U28:

SUM(3),D=>

s(3),CLK=>

U29:

SUM(4),D=>

s(4),CLK=>

U30:

SUM(5),D=>

s(5),CLK=>

U31:

SUM(6),D=>

s(6),CLK=>

U32:

SUM(7),D=>

s(7),CLK=>

U33:

COUT,D=>

C,CLK=>

PROCESS(CLK,AIN,BIN)

VARIABLEsSeg1:

VARIABLEsSeg2:

BEGIN

ss(3DOWNTO0)<

=SUM(3DOWNTO0);

sss(3DOWNTO0)<

=SUM(7DOWNTO4);

sSeg1(7DOWNTO0):

=AIN(7DOWNTO0);

sSeg2(7DOWNTO0):

=BIN(7DOWNTO0);

CASEssIS

WHEN"

0000"

=>

SEG1<

="

1000000"

;

--0

0001"

1111001"

0010"

="

0100100"

0011"

0110000"

0100"

0011001"

0101"

0010010"

0110"

0000010"

0111"

1111000"

1000"

0000000"

1001"

0011000"

--9

1010"

0001000"

1011"

0000011"

1100"

1001110"

1101"

0100001"

1110"

0000110"

1111"

0001110"

WHENOTHERS=>

NULL;

ENDCASE;

CASEsssIS

SEG2<

1001010"

CASEsSeg1(3DOWNTO0)IS

ASEGIN1<

ASEGIN1<

ENDCASE;

CASEsSeg1(7DOWNTO4)IS

ASEGIN2<

ASEGIN2<

CASEsSeg2(3DOWNTO0)IS

BSEGIN1<

BSEGIN1<

CASEsSeg2(7DOWNTO4)IS

BSEGIN2<

BSEGIN2<

ENDPROCESS;

--U1:

AIN(0),BIN=>

BIN(0),CIN=>

SUM(0),COUT=>

--U2:

AIN

(1),BIN=>

BIN

(1),CIN=>

SUM

(1),COUT=>

--U3:

AIN

(2),BIN=>

BIN

(2),CIN=>

SUM

(2),COUT=>

--U4:

AIN(3),BIN=>

BIN(3),CIN=>

SUM(3),COUT=>

--U5:

AIN(4),BIN=>

BIN(4),CIN=>

SUM(4),COUT=>

--U6:

AIN(5),BIN=>

BIN(5),CIN=>

SUM(5),COUT=>

--U7:

AIN(6),BIN=>

BIN(6),CIN=>

SUM(6),COUT=>

--U8:

AIN(7),BIN=>

BIN(7),CIN=>

SUM(7),COUT=>

COUT);

ENDONE;

三、编译及仿真结果

程序波形仿真图

时间分析

使用LPM创立元件

一、打开MegaWizar

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

当前位置:首页 > 职业教育 > 其它

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

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