基于Libero的数字逻辑设计仿真及验证实验实验报告剖析.docx
- 文档编号:6957484
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:49
- 大小:990.78KB
基于Libero的数字逻辑设计仿真及验证实验实验报告剖析.docx
《基于Libero的数字逻辑设计仿真及验证实验实验报告剖析.docx》由会员分享,可在线阅读,更多相关《基于Libero的数字逻辑设计仿真及验证实验实验报告剖析.docx(49页珍藏版)》请在冰豆网上搜索。
基于Libero的数字逻辑设计仿真及验证实验实验报告剖析
计算机学院专业班__组、学号
姓名协作者______________教师评定_________________
实验题目基于Libero的数字逻辑设计仿真及验证实验
1、熟悉EDA工具的使用;仿真基本门电路。
2、仿真组合逻辑电路。
3、仿真时序逻辑电路。
4、基本门电路、组合电路和时序电路的程序烧录及验证。
5、数字逻辑综合设计仿真及验证。
实验报告
1、基本门电路
一、实验目的
1、了解基于Verilog的基本门电路的设计及其验证。
2、熟悉利用EDA工具进行设计及仿真的流程。
3、学习针对实际门电路芯片74HC00、74HC02、74HC04、74HC08、74HC32、74HC86进行VerilogHDL设计的方法。
二、实验环境
Libero仿真软件。
三、实验内容
1、掌握Libero软件的使用方法。
2、进行针对74系列基本门电路的设计,并完成相应的仿真实验。
3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC00、74HC02、74HC04、74HC08、74HC32、74HC86相应的设计、综合及仿真。
4、提交针对基本门电路的综合结果,以及相应的仿真结果。
四、实验结果和数据处理
1、门电路模块及测试平台代码清单
注:
文件命名要求。
工程(project)名要求:
学号末4位+下划线+BasGate,例如陈静(**********)的工程名为“5896_BasGate”。
设计代码文件名1:
要求同上,即“5896_BasGate.v”。
测试平台文件名:
自己定义。
(1)//模块一:
2输入与门、或门、与非、或非、异或门各一,输入信号(1位A,1位B),输出信号(Y1,Y2,Y3,Y4,Y5)
modulegates_1(A,B,Y1,Y2,Y3,Y4,Y5);
inputA,B;
outputY1,Y2,Y3,Y4,Y5;
assignY1=A&B;
assignY2=A|B;
assignY3=~(A&B);
assignY4=~(A|B);
assignY5=A^B;
endmodule
(2)//模块二:
6个非门(同74HC04)
modulegates_2(A,Y);
input[1:
6]A;
output[1:
6]Y;
assignY=~A;
endmodule
(3)测试平台代码
`timescale1ns/1ns
moduletestgates_1();
regA,B;
wireY1,Y2,Y3,Y4,Y5;
gates_1v1(A,B,Y1,Y2,Y3,Y4,Y5);
initial
begin
A=0;B=0;
#10B=1;
#10A=1;
#10B=0;
#10;
end
endmodule
moduletestgates_2();
reg[1:
6]A;
wire[1:
6]Y;
gates_2v2(A,Y);
initial
begin
A=000001;
#10A=A<<1;
#10A=A<<1;
#10A=A<<1;
#10A=A<<1;
#10A=A<<1;
end
endmodule
2、模块一第一次仿真结果(截图)。
将波形窗口背景设为白色,调整窗口至合适大小,使波形能完整显示,对窗口截图。
后面实验中的仿真使用相同方法处理)
模块二第一次仿真结果(截图)
3、模块一综合结果(截图)。
(将相关窗口调至合适大小,使RTL图能完整显示,对窗口截图,后面实验中的综合使用相同方法处理)
4、模块一第二次仿真结果(综合后)(截图)。
回答输出信号是否有延迟,延迟时间约为多少?
延迟约为300ps左右。
6、模块一第三次仿真结果(布局布线后)(截图)。
回答输出信号是否有延迟,延迟时间约为多少?
分析是否有出现竞争冒险。
延迟时间约为4500ps左右,无竞争冒险。
6、模块一布局布线的引脚分配(截图)。
7、烧录(请老师检查)。
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两数,分别依次为本人学号的奇数位和偶数位(例如,当学号为3212005896时,A数依次取学号从左到右的奇数位,即数字3、1、0、5、9,B数依次取学号从左到右的偶数位,即数字2、2、0、8、6),验证A、B的比较结果。
注意:
若两数相等,需考虑级联输入(级联输入的各种取值情况均需包括)。
5、74HC4511设计成扩展型的,即能显示数字0~9、字母a~f。
6、提交针对74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511(任选一个)的综合、布局布线结果,以及相应的仿真结果。
7、完成课堂布置实验的Vierilog代码,并实现综合前仿真。
四、实验结果和数据处理
1、所有模块及测试平台代码清单
注:
文件命名要求。
工程(project)名要求:
学号末4位+下划线+comb,例如陈静(3212005896)芯片的工程名为“5896_comb”。
设计代码文件,要求每个模块对应一个文件,文件名要求:
学号末4位+下划线+芯片名,如74HC148芯片文件命名为“5896_74HC148.v”。
测试平台文件名:
自己定义。
//74HC148代码
moduleHC148(EI,I,A,GS,EO);
inputEI;
input[7:
0]I;
output[2:
0]A;
outputGS,EO;
reg[2:
0]A;
regGS,EO;
integerj;
always@(EI,I)
begin
if(EI)
begin
{A,GS,EO}=5'b11111;
end
elseif(I==8'b11111111)
begin
{A,GS,EO}=5'b11110;
end
else
for(j=0;j<8;j=j+1)
begin
if(~I[j])
begin
A=~j;
GS=0;
EO=1;
end
end
end
endmodule
//74HC148测试平台代码
`timescale1ns/1ns
moduletest_HC148;
regei;
reg[7:
0]i;
wire[2:
0]a;
wiregs,eo;
HC148u1(ei,i,a,gs,eo);
initial
begin
ei=1;
#20
ei=0;
i=8'b11111111;
#20i=8'b11111110;
#20i=8'b11111101;
#20i=8'b11111011;
#20i=8'b11110111;
#20i=8'b11101111;
#20i=8'b11011111;
#20i=8'b10111111;
#20i=8'b01111111;
end
endmodule
//74HC138代码
moduleHC138(E1,E2,E3,A,Y);
inputE1,E2,E3;
input[2:
0]A;
output[7:
0]Y;
reg[7:
0]Y;
integerI;
always@(E1,E2,E3,A)
begin
if(E1==1||E2==1||E3==0)
Y=8'b11111111;
else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Libero 数字 逻辑设计 仿真 验证 实验 报告 剖析