十进制计数器设计.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

十进制计数器设计

一、实验目的:

熟悉QuartusII的Verilog文本设计流程全过程,学习十进制计数器的设

计、仿真,掌握计数器的工作原理。

二、实验原理:计数器属于时序电路的范畴,其应用十分普遍。该程序设计是要实现带有

异步复位、同步计数使能和可预置型的十进制计数器。该计数器具有5个输入端口〔CLK、

RST、EN、LOAD、DATA〕。CLK输入时钟信号;RST起异步复位作用,RST=0,复位;

EN是时钟使能,EN=1,允许加载或计数;LOAD是数据加载控制,LOAD=0,向内部寄存

器加载数据;DATA是4位并行加载的数据。有两个输出端口〔DOUT和COUT〕。DOUT

的位宽为4,输出计数值,从0到9;COUT是输出进位标志,位宽为1,每当DOUT为9

时输出一个高电平脉冲。RST在任意时刻有效时,如CLK非上升沿时,计数也能即刻清0;

当EN=1,且在时钟CLK的上升沿时刻LOAD=0,4位输入数据DATA被加载,但如果此

时时钟没有上升沿,尽管出现了加载信号LOAD=0,依然未出现加载情况;当

EN=1,RST=1,LOAD=1时,计数正常进行,在计数数据等于9时进行输出高电平。

三、实验任务:在QuartusII上将设计好的程序进行编辑、编译、综合、适配、仿真,从

时序仿真图中学习计数器工作原理,了解计数器的运行情况及时钟输入至计数器数据输出的

延时情况。

四、实验步骤:

〔一〕、建立工作库文件和编辑设计文件

任何一项设计都是一项Project〔工程〕,而把一个工程下的所有文件放在一个文件夹内

是一个非常好的习惯,以便于我们整理,利用和提取不同工程下的文件,而此文件夹将被

EDA软件默认为WorkLibrary〔工作库〕,所以第一步先根据自己的习惯,建立个新的文件

夹。

〔1〕新建文件夹:在盘建立并保存工程,将文件夹取名Jishuqi。

〔2〕输入源程序:打开QuartusII,选择菜单FileNewDesignFilesVerilogHDL

FileOK(如图1所示)。

图1

在空白处工作框处输入任务要求中的代码,代码如下:

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(Q19)Q1=Q1+1;

elseQ1=4b0000;end

end

always@(Q1)

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

elseCOUT=1b0;

endmodule

〔3〕保存文件:选择FileSaveas,选择保存路径,即刚刚新建文件夹Jishuqi,文件名应与实

体名保持一致,即CNT10,点击保存后会跳出“Doyouwanttocreateanewprojectwiththis

file?”选择“是”,则进入如下界面,如图2所示。

图2

点击Next,进入“工程设置”对话框,第一行表示工程所在的文件夹,第二行为工程名,可

以与顶层文件的实体名保持一致,也可以另取别的名字,第三行为当前工程顶层文件的实体

名,如图3所示。

学习文

您可能关注的文档

文档评论(0)

132****7006 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档