广工基于Libero的数字逻辑设计仿真及验证实验实验报告6.docx

上传人:b****8 文档编号:10152845 上传时间:2023-02-08 格式:DOCX 页数:12 大小:291.88KB
下载 相关 举报
广工基于Libero的数字逻辑设计仿真及验证实验实验报告6.docx_第1页
第1页 / 共12页
广工基于Libero的数字逻辑设计仿真及验证实验实验报告6.docx_第2页
第2页 / 共12页
广工基于Libero的数字逻辑设计仿真及验证实验实验报告6.docx_第3页
第3页 / 共12页
广工基于Libero的数字逻辑设计仿真及验证实验实验报告6.docx_第4页
第4页 / 共12页
广工基于Libero的数字逻辑设计仿真及验证实验实验报告6.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

广工基于Libero的数字逻辑设计仿真及验证实验实验报告6.docx

《广工基于Libero的数字逻辑设计仿真及验证实验实验报告6.docx》由会员分享,可在线阅读,更多相关《广工基于Libero的数字逻辑设计仿真及验证实验实验报告6.docx(12页珍藏版)》请在冰豆网上搜索。

广工基于Libero的数字逻辑设计仿真及验证实验实验报告6.docx

广工基于Libero的数字逻辑设计仿真及验证实验实验报告6

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

一、实验目的

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

2、熟悉利用EDA工具中的图形化设计界面进行综合设计。

3、熟悉芯片烧录的流程及步骤。

4、掌握分析问题、解决问题的综合能力,通过EDA工具设计出能解决实际问题的电路。

二、实验环境

1、Libero仿真软件。

2、DIGILOGIC-2011数字逻辑及系统实验箱。

3、ActelProasic3A3P030FPGA核心板及FlashPro4烧录器。

三、实验内容

1、循环数码显示

在学生自己的工程项目文件中,新建一SmartDesign文件,命名要求:

姓名拼音首字母+下划线+cp1,测试文件名:

test+下划线+cp1

使用SmartDesign工具进行设计,要求如下:

(1)使用已设计的74HC161、74HC85、74HC4511模块,及IP核中ActelMacros库中的反相器模块(INV),在SmartDesign画布中设计下图左框中的模块。

设计完成后,将SmartDesign画布中的设计截图。

(截图)

(2)设计相应的测试平台。

测试平台中的数据要求所输入的A3A2A1A0及B3B2B1B0分别为学生学号末四位的最小数及最大数所对应的二进制数。

//测试平台代码

 

(3)第一次仿真结果

(4)综合结果

(5)布局布线(引脚分配截图)。

注意,布局布线时输入引脚应避开FPGA板中上下两排排针引脚,输出74HC4511的a~g固定的FPGA引脚如下:

74HC4511输出

a

b

c

d

e

f

g

dp(小数点)

DIG1

DIG2

DIG3

DIG4

FPGA引脚

76

77

78

79

80

81

82

83

84

85

86

90

(6)第三次仿真结果(布局布线后)

 

(7)烧录。

完成后给老师检查。

 

2、4位学号显示

设计要求:

4位数码管依次显示本人学号末4位。

SmartDesign文件命名要求:

姓名拼音首字母+下划线+cp2,测试文件名:

test+下划线+cp2

 

3、交通灯控制器

设计要求:

交通路口东西向和南北向各有红、黄、绿三种交通灯,按“东西向红灯亮,南北向绿灯亮东西向红灯亮,南北向黄灯亮东西向绿灯亮,南北向红灯亮东西向黄灯亮,南北向红灯亮”顺序循环变化,试设计状态机实现此功能。

应考虑的问题:

每一个状态的时间长度不同。

书上已有代码,考虑是否有更简单的方法。

设计模块或SmartDesign文件命名要求:

姓名拼音首字母+下划线+cp3,测试文件名:

test+下划线+cp3

4、跑马灯设计

设计要求:

共8个LED灯连成一排,用以下4种模式来显示,模式选择使用两个按键进行控制。

①模式1:

先点亮奇数灯,即1、3、5、7灯亮,然后偶数灯,即2、4、6、8灯亮,依次循环,灯亮的时间按时钟信号的二分频设计。

②模式2:

按照1、2、3、4、5、6、7、8的顺序依次点亮所有灯;然后再按1、2、3、4、5、6、7、8的顺序依次熄灭所有灯,间隔时间按时钟信号的八分频设计。

③模式3:

按照1/8、2/7、3/6、4/5的顺序依次点亮所有灯,每次同时点亮两个灯;然后再按1/8、2/7、3/6、4/5的顺序熄灭相应灯,每次同时熄灭两个灯,灯亮的时间按时钟信号的四分频设计。

④模式4:

输入8位初始状态后,按向左移位循环点亮的方式进行变化。

(此为补充模式)

设计模块或SmartDesign文件命名要求:

姓名拼音首字母+下划线+cp4,测试文件名:

test+下划线+cp4

四、实验结果和数据处理

针对所完成的设计,填写以下内容,烧录后给老师检查。

1、循环数码显示

(1)代码

测试代码:

`timescale1ns/1ns

moduletest_cp1;

regMR,CP;

regA0,A1,A2,A3,B0,B1,B2,B3;

wirek,b,c,d,e,f,g;

hyf_cp1u16(.MR(MR),.CP(CP),.A0(A0),.A1(A1),.A2(A2),.A3(A3),.B0(B0),.B1(B1),.B2(B2),.B3(B3),.Ya(k),.Yb(b),.Yc(c),.Yd(d),.Ye(e),.Yf(f),.Yg(g));

initial

begin

MR=0;

CP=0;

#20MR=1;

repeat(50)

#9CP=~CP;

end

initial

begin

#10{A3,A2,A1,A0}=0;

{B3,B2,B1,B0}=4'b0101;

end

endmodule

(2)SmartDesign的连线图

(3)功能仿真波形图

第一次仿真:

第三次仿真:

(3)综合结果RTL图

(5)布局布线引脚分配截图

2、4位学号显示

(1)代码

测试代码:

`timescale1ns/1ns

moduletest_cs3;

regclk;

regreset;

wiredp;

wire[0:

6]dataout;

wire[3:

0]dig;

hyf_cp2u17(.clk(clk),.reset(reset),.DP(dp),.dig(dig),.dig_0(dig_0),.dig_1(dig_1),.dig_2(dig_2),.dataOut(dataout),.dataOut_0(dataOut_0),.dataOut_1(dataOut_1),.dataOut_2(dataOut_2),.dataOut_3(dataOut_3),.dataOut_4(dataOut_4),.dataOut_5(dataOut_5));

always#10clk=~clk;

initial

begin

clk=0;

reset=0;

#20reset=1;

#20reset=0;

#500$finish;

end

endmodule

各模块代码:

moduleDig(digin,dig);//数码管接地端

input[3:

0]digin;

output[3:

0]dig;

assigndig=digin;

endmodule

moduleshumaguan(Data,Sl,Clk,Reset);//四位数码管扫描显示学号末4位

output[3:

0]Data;

output[3:

0]Sl;

inputClk,Reset;

reg[3:

0]Sl,Data;

reg[1:

0]count;

always@(posedgeClkorposedgeReset)

begin

if(Reset)

count=0;

else

count=count+1;

end

always@(count[1:

0])

begin

case(count[1:

0])

2'b00:

//显示个位1

begin

Data=4'b0001;

Sl=4'b1110;

end

2'b01:

//显示十位1

begin

Data=4'b0001;

Sl=4'b1101;

end

2'b10:

//显示百位5

begin

Data=4'b0101;

Sl=4'b1011;

end

2'b11:

//显示千位6

begin

Data=4'b0110;

Sl=4'b0111;

end

endcase

end

endmodule

moduleHC4511(LE,BI,LT,dataIn,dp,dataOut);//74HC4511

inputLE,BI,LT;

input[3:

0]dataIn;

outputdp;

output[0:

6]dataOut;

reg[0:

7]SM_8S;

assigndp=SM_8S[7];

assigndataOut=SM_8S[0:

6];

always@(LE,BI,LT,dataIn)

begin

if(!

LT)

SM_8S=8'b11111111;

elseif(!

BI)

SM_8S=8'b00000000;

elseif(LE)

SM_8S=SM_8S;

else

case(dataIn)

4'd0:

SM_8S=8'b11111100;

4'd1:

SM_8S=8'b01100000;

4'd2:

SM_8S=8'b11011010;

4'd3:

SM_8S=8'b11110010;

4'd4:

SM_8S=8'b01100110;

4'd5:

SM_8S=8'b10110110

4'd6:

SM_8S=8'b00111110;

4'd7:

SM_8S=8'b11100000;

4'd8:

SM_8S=8'b11111110;

4'd9:

SM_8S=8'b11100110;

4'd10:

SM_8S=8'b11101110;

4'd11:

SM_8S=8'b00111110;

4'd12:

SM_8S=8'b10011100;

4'd13:

SM_8S=8'b01111010;

4'd14:

SM_8S=8'b10011110;

4'd15:

SM_8S=8'b10001110;

default:

;

endcase

end

endmodule

(2)SmartDesign的连线图

(3)功能仿真波形图

第一次仿真:

第二次仿真:

第三次仿真:

(4)综合结果RTL图

(5)布局布线引脚分配截图

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

当前位置:首页 > 自然科学 > 生物学

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

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