EDA实验报告终极版.docx

上传人:b****1 文档编号:13223518 上传时间:2023-06-12 格式:DOCX 页数:62 大小:662.18KB
下载 相关 举报
EDA实验报告终极版.docx_第1页
第1页 / 共62页
EDA实验报告终极版.docx_第2页
第2页 / 共62页
EDA实验报告终极版.docx_第3页
第3页 / 共62页
EDA实验报告终极版.docx_第4页
第4页 / 共62页
EDA实验报告终极版.docx_第5页
第5页 / 共62页
EDA实验报告终极版.docx_第6页
第6页 / 共62页
EDA实验报告终极版.docx_第7页
第7页 / 共62页
EDA实验报告终极版.docx_第8页
第8页 / 共62页
EDA实验报告终极版.docx_第9页
第9页 / 共62页
EDA实验报告终极版.docx_第10页
第10页 / 共62页
EDA实验报告终极版.docx_第11页
第11页 / 共62页
EDA实验报告终极版.docx_第12页
第12页 / 共62页
EDA实验报告终极版.docx_第13页
第13页 / 共62页
EDA实验报告终极版.docx_第14页
第14页 / 共62页
EDA实验报告终极版.docx_第15页
第15页 / 共62页
EDA实验报告终极版.docx_第16页
第16页 / 共62页
EDA实验报告终极版.docx_第17页
第17页 / 共62页
EDA实验报告终极版.docx_第18页
第18页 / 共62页
EDA实验报告终极版.docx_第19页
第19页 / 共62页
EDA实验报告终极版.docx_第20页
第20页 / 共62页
亲,该文档总共62页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

EDA实验报告终极版.docx

《EDA实验报告终极版.docx》由会员分享,可在线阅读,更多相关《EDA实验报告终极版.docx(62页珍藏版)》请在冰点文库上搜索。

EDA实验报告终极版.docx

EDA实验报告终极版

学院—专业—班、学号_

姓名协作者教师评定

实验题目基于Libero的数字逻辑设计仿真及验证实验.

1、熟悉EDA工具的使用;仿真根本门电路。

2、仿真组合逻辑电路。

3、仿真时序逻辑电路。

4、根本门电路、组合电路和时序电路的程序烧录及验证。

5、数字逻辑综合设计仿真及验证。

实验报告

1、根本门电路

一、实验目的

1、了解基于verilog的根本门电路的设计及其验证。

2、熟悉利用EDA工具进行设计及仿真的流程。

3、学习针对实际门电路芯片74HC00、74HC02、74HC04、74HC08、74HC32、74HC86进行VerilogHDL设计的方法。

二、实验环境

Libero仿真软件。

三、实验内容

1、掌握Liber。

软件的使用方法。

2、进行针对74系列根本门电路的设计,并完成相应的仿真实验。

3、参考教材中相应章节的设计代码、测试平台代码〔可自行编程〕,完成74HC00、74HC02、74HC04、74HC08、74HC32、74HC86相应的设计、综合及仿真。

4、提交针对74HC00、74HC02、74HC04、74HC08、74HC32、74HC86〔任选一个〕的综合结果,以及相应的仿真结果。

四、实验结果和数据处理

1、所有模块及测试平台代码清单

//74HC00代码-与非

//

moduleHCOO(A,B,Y);input[3:

0]A,B;output[3:

0]Y;

assignY=~(A&E);

endmodule

//74HC00测试平台代码

//

'timescaleIns/Ins

moduletest_OO;

reg[3:

0]a,b;

wire[3:

0]y;

HCOOu(a,b,y);

irdtial

begin

a=4'b0000;b=4'b0001;

#10b=b«l;//0010

#10b=b«l;//0100

#10b=b«l;//1000

a=4'bllll;b=4'bOOOl;

#10b=b«l;

#10b=b«l;

#10b=b«l;

end

endmodule

//74HC02代码-或非

moduleHC02(A,B,Y);

input

[3:

0]A,B;

output

[3:

0]Y;

assign

Y=~(A|B);

endmodule

//74HC02测试平台代码

//

'timescaleIns/Ins

moduletest_02;

reg[3:

0]a,b,c;

wire[3:

0]y;

HC02u(a,b,y);

initial

begin

a=4'bllll;c=4'bOOOl;

b=~c;c=c<<1;

#10b=~c;c=c<<1;

#10b=~c;c=c<<1;

#10b=~c;

a=4'b0000;c=4'bOOOl;

b=~c;c=c<<1;

#10b=~c;c=c<<1;

#10b=~c;c=c<<1;

#10b=~c;

end

endmodule

//74HC04代码-非

moduleHC04(A,Y);input[3:

0]A;output[3:

0]Y;

assignY=~A;

endmodule

//74HC04测试平台代码

//

'timescaleIns/Ins

moduletest_O4;

reg[3:

0]a;

wire[3:

0]y;

HC04u(a,y);

initial

begin

a=4'bOOOl;

#10a=a<<1;

#10m=a<<1;

#10a=a<<1;

end

endmodule

//74HC08代码-与

moduleHC08(A,B,Y);

input[3:

0]A,B;

output[3:

0]Y;

assignY=A&E;

endmodule

//74HC08测试平台代码

//

'timescaleIns/Ins

moduletest_08;

reg[3:

0]a,b;

wire[3:

0]y;

HCOOu(a,b,y);

initial

begin

a=4'b0000;b=4'bOOOl;

#10b=b«l;

#10b=b«l;

#10b=b«l;

a=4'bllll;b=4'bOOOl;

#10b=b«l;

#10b=b«l;

#10b=b«l;

end

endmodule

//74HC32代码-或

moduleHC32(A,B,Y);

input[3:

0]A,B;

output[3:

0]Y;

assignY=A|B;

endmodule

//74HC32测试平台代码

//

^timescaleIns/Ins

moduletest_32;

reg[3:

0]a,b,c;

wire[3:

0]y;

HC02u(a,b,y);

irdtial

begin

a=4'bllll;c=4'bOOOl;

b=~c;c=c<<1;

#10b=~c;c=c<<1;

#10b=~c;c=c<<1;

#10b=~c;

a=4'b0000;c=4'b0001;

b=~c;c=c<<1;

#10b=~c;c=c<<1;

#10b=~c;c=c<<1;

#10b=~c;

end

endmodule

//74HC86代码-异或moduleHC86(A,B,Y);

input[3:

0]A,B;output[3:

0]Y;assignY=AAB;

endmodule

//74HC86测试平台代码

//

^timescaleIns/Insmoduletest_86;

reg[3:

0]a,b;

wire[3:

0]y;

HC86u〔a,b,y〕;

initial

begin

a=4'b0000;b=4'bOOOl;

#10b=b«l;

#10b=b«l;

#10b=b«l;

#10

a=4'bllll;b=4'bOOOl;

#10b=b«l;

#10b=b«l;

#10b=b«l;

end

endmodule

2、第一次仿真结果〔任迪一个门,.诸注明,.插入截图,.下同〕。

〔将波形窗口背景设为白色,调整窗口至适宜大小,使波形能完整显示,对窗口截图。

后面

••••

实验中的仿真使用相同方法处理〕

Messes

/testbendi/a

mi

(CDDO

mi

,[3]

1

i

'[2]

i

i

'[I]

1

i

CT

1

i

/tcstbcndi/b

10CO

(CODlJ3D:

O

010D

COOL

DO10

010DtlOOC

一'[3]

1

i

一'[2]

0

1

一'[1]

0

I

•[0]

0

i

/testberxh/y

0111

(.111

1110

1101

1C11

0111

一'[3]

sto

i

一'[2]

Stl

i

」[1]

5tl

i

[ol

Stl

i

综合结果〔截图〕。

〔将相关窗口调至适宜大小,使RTL图能完整显示,

••

对窗口截图,后面实验中的综合使用相同方法处理〕

4.第二次仿真结果〔综合后〕〔截图〕。

答复输出信号是否有延迟,延迟时

••

间约为多少?

Pcssogcs

/testbendi/a

1111

[CODO

[1111

'[3]

1

'[2]

1

'[1]

1

CT

1

/testbenzh/b

1003

[C031

3010

0100[0301

DO10

Cloo1

100C

o-J

一'卩]

1

一'[2]

0

一'CH

0

L

Lj[0]

0

/testberxh/y

0111

<1111

X-iio

1101ttlGll

:

C1U—

F[3]

sto

一'R]

Stl

|

i

一"[1]

Stl

•[0]

5tl

1

lOCOrs

■■■iiiiii)n$

■iiiiiiiiIiii■iiiiii•iiiiiiiiIiiiii■iiiIii•iiiii•lii■iiii■i

20ns40n$60ns

输出信号有延迟,延迟时间约为0・3ns

5>第三次仿真结果〔布局布线后〕〔截图〕。

答复输出信号是否有延迟,延

>•

迟时间约为多少?

分析是否有出现竞争冒险。

输出信号有延迟,延迟时间约为3ns,没有出现竞争冒险。

2、组合逻辑电路

一、实验目的

1、了解基于Verilog的组合逻辑电路的设计及其验证。

2、熟悉利用EDA工具进行设计及仿真的流程。

3、学习针对实际组合逻辑电路芯片74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511进行VerilogHDL设计的方法。

二、实验环境

Libero仿真软件。

三、实验内容

1、掌握Libero软件的使用方法。

2、进行针对74系列根本组合逻辑电路的设计,并完成相应的仿真实验。

3、参考教材中相应章节的设计代码、测试平台代码〔可自行编程〕,完成74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511相应的设计、综合及仿真。

4、74HC85测试平台的测试数据要求:

进行比拟的A、B两数,分别为本人学号的末两位,如“89〞,那么A数为“1000〞,E数为“1001〞。

假设两数相等,需考虑级联输入〔级联输入的各种取值情况均需包括〕;假设两数不等,那么需增加一对取值情况,验证A、B相等时的比拟结果。

5、74HC4511设计成扩展型的,即能显示数字0~9、字母a~f。

提交针对74HC148、74HC138、74HC153、74HC85、74HC283、

74HC4511〔任选一个〕的综合结果,以及相应的仿真结果。

四、实验结果和数据处理

1、所有模块及测试平台代码清单

//74HC148代码

//

moduleHC148(EI,In,Out,EO,GS);

inputEl;

input[7:

0]In;

output[2:

0]Out;

outputEO,GS;

reg[2:

0]Out;

regEO,GS;

intergerI;

always@(EIorIn)

if(EI)

begin

Out=3'blll;EO=1;GS=1;

end

else

if(In==8'bllllllll)

begin

Out=3'blll;EO=0;GS=1;end

else

begin

for(I=0;I<8;I=I+1)

begin

if(~In[I])

begin

Out=~I;EO=1;GS=0;

end

end

end

endmodule

//74HC148测试平台代码

//

^timescaleIns/Ins

moduletest_148;

regei;

wire[7:

0]in=~tum;

wire[2:

0]out;

wireeo,gs;

HC148u(ei,in,out,eo,gs);

initial

begin

ei=1;turn=8fbl;

repeat(8)

#10turn=turn<

ei=0;turn=8'bl;

repeat(8)

#10turn=turn<

end

endmodule

//74HC138代码

moduledecoder3_8_l(DataIn,Enable,Eq);

input[2:

0]Dataln;

inputEnable;

reg[7:

0]Eq;

wire[2:

0]Dataln;

integerI;

always@(DatalnorEnable)

begin

if(Enable)

Eq=0;

else

for(I=0;I<=7;I=I+l)

辻(D?

itaIn==I)

Eq[I]=l;

else

Eq[I]=0;

end

endmodule

//74HC138测试平台代码

//

^timescaleIns/Ins

moduletest_138;

reg[7:

0]in;

reg[2:

0]ei;

HC138u(out,in,ei);

taskcircle;

begin

in=0;

repeat(8)

#10in=in+1;

end

endtask

in让i?

d

begin

ei=l;circle();

ei=0;circle();

ei=2;

repeat(6)

begin

circlef);

#10ei=ei+1;

end

end

endmodule

//74HC153代码

moduleHC153(DateOut,Datein,Sei,Enable);

input[3:

0]DateIn;

input[l:

O]Sel;

inputEnable;

outputregDateOut;

always@(EnableorSeiorDatein)

辻(Enable)DateOut=0;

elseDateOut=DateIn[Sel];

endmodule

//74HC153测试平台代码

//

'timescaleIns/Ins

moduletest_153();

wireout;

reg[l:

O]sel;

regei;

HC153u(out,in,sei,ei);

initial

begin

ei=0;sei=0;in=4'bl010;

repeat(4)

#10sei=sei+1;

ei=1;sei=0;in=4'bl010;

repeat(4)

#10sei=sei+1;

end

endmodule

//74HC85代码

moduleHC85(DateA,DateB,Cas,Q);

input[3:

0]DateA,DateB;

input[2:

0]Cas;

outputreg[2:

0]Q;

intergerI;

always@(DateAorDateBorCas)

begin

if(DateA==DateB)

begin

if(Cas[l])Q=3'bOlO;

elseif(Cas==3'b000)Q=3'blOl;

elseif(Cas==3'bl01)Q=3'b000;

elseQ=Cas;

end

else

begin

for(I=0;I<4;I=I+l)

if(DateA[I]>DateB[I])Q=3'blOO;

elseif(DateA[I]

end

endmodule

//74HC85测试平台代码

//

'timescaleIns/Ins

moduletest_85;

reg[3:

0]a,b;

reg[2:

0]cas;

wire[2:

0]res;

HC85u(a,b,cas,res);

taskcascade_input;

begin

#0cas=0;#10cas=1;#10cas=3'blOO;#10cas=

3'blOl;

#10cas=3'bOlO;#10cas=3'bOll;#10cas=3'bllO;#10cas=3'blll;#10;

end

endtask

initial

begin

a=4d9;

b=a;cascade_input();

b=4rd7;cascade_input();

end

endmodule

//74HC283代码

//

moduleHC283(DateA,DateB,Cin,Sum,Cout);

input[3:

0]DateA,DateB;

inputCin;

output[3:

0]Sum;

outputCout;

reg[4:

0]Buf;

assign{Cout,Sum}=Buf;

always@(DateAorDateBorCin)

Buf=DateA+DateB+Cin+5'dO;

endmodule

//74HC283测试平台代码

//

'timescaleIns/Ins

moduletest_283;

reg[3:

0]a,b;

regin;

wireout;

intergerI;

HC283u(a,b,in,sum,out);taskaccumulate;

begin

a=4'b0100;

for(I=0;I<16;I=I+l)

begin

b=I;#10;

end

endtask

initial

begin

in=0;accumulate();

in=l;accumulate();

end

endmodule

//74HC4511代码

moduleHC451l(DateOut,Datein,LE,BL_N,LT_N);

output[7:

0]DateOut;

input[3:

0]DateIn;

inputLE,BL_N,LT_N;

reg[7:

0]Buf;

assignDateOut=Buf;

always@(DateInorLEorBL_NorLT_N)begin

辻(!

LT_N)Buf=8'bl1111111;

elseif(!

BL_N)Buf=8'bOOOOOOO;

elseif(LE)Buf=Buf;

else

case(Dateln)

4,dO:

Euf=S'bOOllllll;

4'dl:

Buf=8'bOOOOOUO;

4,d2:

Euf=8'bOlOllOU;

4'd3:

Buf=8'bOlOOUU;

4*d4:

Buf=8'bOllOOUO;

4,d5:

Buf=8'bOllOUOl;

4'd6:

Buf=8'bOlllUOl;

4'd7:

Buf=8'bOOOOOUl;

4'd8:

Buf=S'bOlllllll;

4'd9:

Buf=8'bOllOUll;

4'ha:

Buf=8'bOlllOlll;

4'hb:

Buf=8'bOlllllOO;

4'hc:

Buf=8'bOOlllOOl;

4'hd:

Buf=8'b01011U0;

4'he:

Buf=8'bOllllOOl;

4'hf:

Buf=8'bOlllOOOl;default:

;

endcase

end

2、第一次仿真结果〔任选一个模块,请注明〕

74HC148

3、综合结果

 

4.第二次仿真结果〔综合后〕。

答复输出信号是否有延迟,延迟时间约为多

少?

7

A^5t_t48/ei

0

i

AesLt46iin

11111111

fill..1111..

ll..(ill..[:

!

...

10】..:

Dll..

111..Xlll.

111...Illi..till...)116..

ioi..ton..

111...

一丄[7]

StL

i

1

一,⑹

StI

i

d⑸

StL

i

11

-1

,HJ

Stl

i

n厂

L1

"同

StL

1

"i―r

r

>

(2)

Stl

1

i

—“[1]

Stl

11

1

一'(01

Stl

11

1

Ae5t_l48/eo

sto

J

1

Aest_i48/gs

SIL

J

1

0’

/test_L48/out

111

Jill

inhie

101Xioo[onfo:

o

jG1XXG

Ill

Stl

J

1

」[1]

Stl

J

"[0]

Stl

j

II1

[

Now

1000ns

•1•]H5

iiii■i1i

50ns

1

■iiiii

100r®

11111

i1iiii

150H5

输出信号有延迟,延迟时间约为

5、第三次仿真结果〔布局布线后〕。

答复输出信号是否有延迟,延迟时间约为多少?

分析是否有出现竞争冒险。

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

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2