杭州电子科技大学EDA第二次实验报告.docx

上传人:b****8 文档编号:30441420 上传时间:2023-08-15 格式:DOCX 页数:7 大小:724.01KB
下载 相关 举报
杭州电子科技大学EDA第二次实验报告.docx_第1页
第1页 / 共7页
杭州电子科技大学EDA第二次实验报告.docx_第2页
第2页 / 共7页
杭州电子科技大学EDA第二次实验报告.docx_第3页
第3页 / 共7页
杭州电子科技大学EDA第二次实验报告.docx_第4页
第4页 / 共7页
杭州电子科技大学EDA第二次实验报告.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

杭州电子科技大学EDA第二次实验报告.docx

《杭州电子科技大学EDA第二次实验报告.docx》由会员分享,可在线阅读,更多相关《杭州电子科技大学EDA第二次实验报告.docx(7页珍藏版)》请在冰豆网上搜索。

杭州电子科技大学EDA第二次实验报告.docx

杭州电子科技大学EDA第二次实验报告

杭州电子科技大学EDA实验报告

第二次实验报告

班级:

140475**

学号:

1404******

姓名:

***

实验一:

计数器设计实验

实验目的:

熟悉QuartusII的Verilog文本设计流程全过程,学习计数器的设计、仿真和硬件测试,掌握原理图和文本设计方法。

实验原理:

参考节。

实验电路如图5-28所示,设计流程参考本章。

实验任务:

在QuartusⅡ上对基于实验电路图的工程进行编辑、编译、综合、仿真。

说明模块中各语句的作用。

根据各模块和所有信号的时序仿真波形,详细描述此设计的功能特点。

从时序仿真图和编译报告中了解计数时钟输入至计数数据输出的延时情况,包括设定不同优化约束后的改善情况。

用例化语句,按上图连接成顶层设计电路。

最终完成能实现上图结构的Verilog文件设计,并对其进行仿真。

实验内容:

建立一个Verilog文件,输入以下代码,保存为。

moduleCNT10(CLK,RST,EN,LOAD,COUT,DOUT,DATA);

inputCLK,EN,RST,LOAD;

input[3:

0]DATA;

output[3:

0]DOUT;

outputCOUT;

reg[3:

0]Q1;regCOUT;

assignDOUT=Q1;

always@(posedgeCLKornegedgeRST)

begin

if(!

RST)Q1<=0;

elseif(EN)begin

if(!

LOAD)Q1<=DATA;

elseif(Q1<9)Q1<=Q1+1;

elseQ1<=4'b0000;end

end

always@(Q1)

if(Q1==4'h9)COUT=1'b1;

elseCOUT=1'b0;

endmodule

RTl电路图如下

仿真波形如下

波形分析:

该文件实验了十进制计数器的功能。

由图可见,在时钟每出现一个上升沿,输入数值逐个增加,由0计数到9之后再从0开始循环。

当RST出现一个下降沿时,则置零,输出数值变为零。

当计数器计到9时,COUT出现一个高电平表示进位。

当时钟有效且LOAD为低电平有效时,置数,输出值为输入的DATA值。

(2)建立一个Verilog文件,保存为,代码如下。

moduleDECL7S(A,LED7S);

input[3:

0]A;

output[6:

0]LED7S;

reg[6:

0]LED7S;

always@(A)

case(A)

4'b0000:

LED7S<=7'b0111111;

4'b0001:

LED7S<=7'b0000110;

4'b0010:

LED7S<=7'b1011011;

4'b0011:

LED7S<=7'b1001111;

4'b0100:

LED7S<=7'b1100110;

4'b0101:

LED7S<=7'b1101101;

4'b0110:

LED7S<=7'b1111101;

4'b0111:

LED7S<=7'b0000111;

4'b1000:

LED7S<=7'b1111111;

4'b1001:

LED7S<=7'b1101111;

4'b1010:

LED7S<=7'b1110111;

4'b1011:

LED7S<=7'b1111100;

4'b1100:

LED7S<=7'b0111001;

4'b1101:

LED7S<=7'b1011110;

4'b1110:

LED7S<=7'b1111001;

4'b1111:

LED7S<=7'b1110001;

default:

LED7S<=7'b0111111;

endcase

endmodule

RTL电路图如图所示

仿真波形如下图所示

(3)建立一个Verilog文件,用例化语句将实验原理图连接出来,保存为。

代码如下

moduleCNT2LED(clk,rst,en,load,data,dout,led,cout);

inputclk,rst,en,load;

input[3:

0]data;

output[3:

0]dout;

output[6:

0]led;

outputcout;

CNT10U1(clk,rst,en,load,cout,dout,data);

DECL7SU2(dout,led);

Endmodule

 

实验分析:

由上图编译通过后的波形可看出,本次实验成功将实验原理电路图的功能实现了。

当rst=0时,输出清零。

输出从0计到9,led输出数值相对应的值,当load出现低电平,且适中有效时(上升沿有效),输出数值为预置数值9;当load出现低电平,但时钟信号无效时,输出数值不变。

当计数计到9时,cout输出信号为高电平。

实验二模可控计数器设计

(1)建立一个Verilog文件,保存为,代码如下

modulecount8(CLK,RST,D,PM,DOUT);

inputCLK,RST;

input[7:

0]D;

outputPM;

output[7:

0]DOUT;

reg[7:

0]Q1;

regFULL,PM,cnt2;

(*synthesis,keep*)wireLD;

always@(posedgeCLKornegedgeRST)

if(!

RST)begin

Q1<=0;

FULL<=0;

end

elseif(LD)begin

Q1<=D;

FULL<=1'b1;

end

elsebeginQ1<=Q1+1;FULL<=1'b0;end

assignLD=(Q1==8'hff);

assignDOUT=Q1;

always@(posedgeFULL)

begin

cnt2=~cnt2;

if(cnt2==1'b1)

PM=1'b1;

elsePM=1'b0;

end

endmodule

RTL电路图如下

仿真波形如下图

 

实验分析:

当计数计到FF时,LD输出一个高电平,输出变为预置数EE,计数器在下一时钟输出标志脉冲FULL,PM由0变为1;等到下一次LD输出高电平时,输出仍变为预置数,计数器仍在下一时钟输出标志脉冲FULL,PM由1变为0;以此类推。

由图(b)可以清楚地看出PM与FULL为二分频的关系,在一个PM周期中,FULL出现两次高电平。

在图(b)中还可以清楚地看出,当预置数越大时,输出的PM频率越高。

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

当前位置:首页 > 人文社科 > 教育学心理学

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

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