进制计数器verilog.docx

上传人:b****2 文档编号:3389908 上传时间:2023-05-05 格式:DOCX 页数:11 大小:108.63KB
下载 相关 举报
进制计数器verilog.docx_第1页
第1页 / 共11页
进制计数器verilog.docx_第2页
第2页 / 共11页
进制计数器verilog.docx_第3页
第3页 / 共11页
进制计数器verilog.docx_第4页
第4页 / 共11页
进制计数器verilog.docx_第5页
第5页 / 共11页
进制计数器verilog.docx_第6页
第6页 / 共11页
进制计数器verilog.docx_第7页
第7页 / 共11页
进制计数器verilog.docx_第8页
第8页 / 共11页
进制计数器verilog.docx_第9页
第9页 / 共11页
进制计数器verilog.docx_第10页
第10页 / 共11页
进制计数器verilog.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

进制计数器verilog.docx

《进制计数器verilog.docx》由会员分享,可在线阅读,更多相关《进制计数器verilog.docx(11页珍藏版)》请在冰点文库上搜索。

进制计数器verilog.docx

进制计数器verilog

HarbinInstituteofTechnology

数字电子技术根底

 

课程名称:

数字电子技术课程大作业

设计题目:

基于VerilogHDL语言的

519电进制计数器设计

院系:

班级:

设计者:

学号:

指导教师:

设计时间:

2021.12.03

XX工业大学

第一章引言………………………………………………...…3

1.1计数器简介……………………………….…….………...3

1.2用可编程逻辑器件实现根本逻辑电路…….………...……3

1.3VerilogHDL硬件描述语言简介……………………..……4

1.4VerilogHDL硬件描述语言主要功能简介………………..4

第二章510进制计数器设计……………..………….………6

2.1510进制计数器设计要求………………….……………...6

2.2510进制计数器设计思路……………….………………...6

2.2.1逻辑电路描述方法的选择…………………………….6

2.2.2设计流程图…………………………………………….6

2.3利用QuartusII软件仿真实现………………………………6

2.3.1新建工程count510………………………………………6

2.3.2设计输入………………………………………………...7

2.3.3Verilog语言描述………………………………………...7

2.3.4仿真电路图………………………………………………7

2.3.5创立波形文件……………………………………………8

2.3.6QuartusII仿真设置……………………………………….8

2.3.7仿真结果………...……………………………………….8

第三章总结…………………………………………….………11

参考文献…………………………………………………..………12

 

第一章引言

1.1计数器简介

计数是一种最简单根本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进展计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由根本的计数单元和一些控制门所组成,计数单元那么由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。

计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进展计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。

计数器可以用来显示产品的工作状态,一般来说主要是用来表示产品已经完成了多少份的折页配页工作。

它主要的指标在于计数器的位数,常见的有3位和4位的。

很显然,3位数的计数器最大可以显示到999,4位数的最大可以显示到9999。

1.2用可编程逻辑器件实现根本逻辑电路

传统的电子设计通常是自底向上的,即首先确定构成系统的最底层的电路模块或原件的构造和功能,然后根据主系统的功能要求,将它们组合成更大的功能块,使它们的构造和功能满足上层系统的要求,以此流程,逐步向上递推,直至完成整个目标系统的设计。

自底向上设计方法的特点是,必须首先关注并致力于解决系统最底层硬件的可获得性及具体目标器件的技术细节。

在这个设计过程中的任一时刻,最底层目标器件的更换,如某些技术参数不满足总体要求、缺货、由于市场竞争的变化临时提出降低系统本钱以及要求提高运行速度等不可预测的外部因素,都可能需要重新开场设计。

因此,在某些情况下自底向上的设计方法是一种低效、低可靠性、费时费力且本钱高昂的设计方法。

PLD〔可编程逻辑器件〕的设计为自顶向下的设计方法,只有在EDA技术得到快速开展和成熟应用的几天才成为可能。

自顶向下设计方法的有效应用必须给予功能强大的EDA工具,具备集系统描述、行为描述和构造描述为一体的硬件描述语言,以及先进的ASIC制造工艺和FPGA开发技术。

当今,自顶向下的设计方法已是EDA技术的首选设计方法,是ASIC和FPGA开发的主要设计手段。

目前常用的可编程数字系统设计输入方式分别为原理图输入方式、硬件描述语言输入方式和二者的混合输入方式。

常见的硬件描述语言有VHDL和VerilogHDL语言等。

1.3VerilogHDL硬件描述语言简介

VerilogHDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。

被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。

数字系统能够按层次描述,并可在一样描述中显式地进展时序建模。

VerilogHDL描述逻辑电路时常用3种描述方式,分别为:

行为型描述、数据流型描述和构造型描述。

行为型描述指对行为与功能进展描述,它只描述行为特征,而没有涉及用什么样的逻辑电路来实现,因此是一种高级语言描述方式,具有很强的通用性与有效性;数据流型描述指通过assign连续赋值实现组合逻辑功能的描述方式;构造型描述指描述实体连接的构造方式,这里的实体一般指Verilog语言已定义的基元,也就是说构造型描述指利用Verilog语言已定义的基元描述逻辑电路的描述方式。

VerilogHDL的3种描述方式中,行为型描述方式注重整体与功能,语句可能更简单,但写出来的语句可能不能被硬件所实现,即不能被综合;构造型语句通常更容易被综合,但可能语句显得更复杂。

在实际开发中往往结合使用多种描述方法。

VerilogHDL语言不仅定义了语法,而且对每个语法构造都定义了清晰的模拟、仿真语义。

因此,用这种语言编写的模型能够使用Verilog仿真器进展验证。

语言从C编程语言中继承了多种操作符和构造。

VerilogHDL提供了扩展的建模能力,其中许多扩展最初很难理解。

但是,VerilogHDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。

当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进展描述。

1.4VerilogHDL硬件描述语言主要功能简介

*根本逻辑门,例如and、or和nand等都内置在语言中。

*用户定义原语〔UDP〕创立的灵活性。

用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。

*开关级根本构造模型,例如pmos和nmos等也被内置在语言中。

*提供显式语言构造指定设计中的端口到端口的时延及路径时延和设计的时序检查。

*可采用三种不同方式或混合方式对设计建模。

这些方式包括:

行为描述方式—使用过程化构造建模;数据流方式—使用连续赋值语句方式建模;构造化方式—使用门和模块实例语句描述建模。

*VerilogHDL中有两类数据类型:

线网数据类型和存放器数据类型。

线网类型表示构件间的物理连线,而存放器类型表示抽象的数据存储元件。

*能够描述层次设计,可使用模块实例构造描述任何层次。

*设计的规模可以是任意的;语言不对设计的规模〔大小〕施加任何限制。

*VerilogHDL不再是某些公司的专有语言而是IEEE标准。

*人和机器都可阅读Verilog语言,因此它可作为EDA的工具和设计者之间的交互语言。

*VerilogHDL语言的描述能力能够通过使用编程语言接口〔PLI〕机制进一步扩展。

PLI是允许外部函数访问Verilog模块内信息、允许设计者与模拟器交互的例程集合。

*设计能够在多个层次上加以描述,从开关级、门级、存放器传送级〔RTL〕到算法级,包括进程和队列级。

*能够使用内置开关级原语在开关级对设计完整建模。

*同一语言可用于生成模拟鼓励和指定测试的验证约束条件,例如输入值的指定。

*VerilogHDL能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示。

这些值也能够用于与期望值比拟,在不匹配的情况下,打印报告消息。

*在行为级描述中,VerilogHDL不仅能够在RTL级上进展设计描述,而且能够在体系构造级描述及其算法级行为上进展设计描述。

*能够使用门和模块实例化语句在构造级进展构造描述。

*VerilogHDL的混合方式建模能力,即在一个设计中每个模块均可以在不同设计层次上建模。

*VerilogHDL还具有内置逻辑函数,例如&〔按位与〕和|〔按位或〕。

*对高级编程语言构造,例如条件语句、情况语句和循环语句,语言中都可以使用。

*可以显式地对并发和定时进展建模。

*提供强有力的文件读写能力。

*语言在特定情况下是非确定性的,即在不同的模拟器上模型可以产生不同的结果;例如,事件队列上的事件顺序在标准中没有定义。

 

第二章510进制计数器设计

2.1510进制计数器设计要求

设计一个基于VerilogHDL语言的计数器,其计数长度为519,即可实现从000D~518D计数;同时该计数器还应具有异步清零的功能。

要求编写设计源程序,并生成仿真电路图,最后通过仿真实验验证设计的可靠性并给出仿真波形图。

2.2510进制计数器设计思路

2.2.1逻辑电路描述方法的选择

由于本次设计较为简单,对硬件的要求不高,为了使设计具有更强的通用性和有效性,初步选定采用行为型描述方法实现对逻辑电路的描述。

2.2.2设计流程图

图1510计数器设计流程图

2.3利用QuartusII软件仿真实现

2.3.1新建工程count510

选择File>NewProjectWizard,新建工程文件,输入工程名为count510〔注意此处工程名与工程的顶层实体名必须一致〕。

在Availabledevices列表中选择FPGA型号EP2C70F896C6。

2.3.2设计输入

在当前工程下,选择File>New菜单,接着选择VerilogHDLFile,单击OK,翻开TextEditor。

选择File>Saveas菜单,将文件保存到工程下,文件名为count510,保存类型为VerilogHDLFile,那么生成count510.v文件。

2.3.3Verilog语言描述

利用VerilogHDL语言编写的源程序如下:

modulecount510(reset,clk,out);

inputreset,clk;

output[9:

0]out;

reg[9:

0]out;

always(posedgeclkornegedgereset)

begin

if(!

reset)out<=0;

elseif(out==10'd509)out<=0;

elseout<=out+1;

end

endmodule

2.3.4仿真电路图

保存上述源程序,进展综合编译。

编译无误后,生成仿真电路图〔RTLviewer〕如下列图1所示:

图1-519计数器仿真电路图

2.3.5创立波形文件

在同一工程下创立波形文件〔VectorWaveformFile〕count519.vwf,设置终止时间EndTime为15us。

波形文件如下列图2所示:

 

图2-519计数器波形文件图

局部放大图如下列图3、图4所示:

图3-波形文件局部放大图1

图4-波形文件局部放大图2

2.3.6QuartusII仿真设置

选择Assignments>Settings菜单,翻开Settings窗口,单击SimulatorSettings,将Simulation设置为Functional,完成设置。

用Processing>GenerateFunctionalSimulationNetlist菜单产生功能仿真所需的网表。

2.3.7仿真结果

单击仿真按钮启动功能仿真。

仿真结果如下列图5所示:

 

图5-519计数器仿真结果

局部发大图如下列图6、图7、图8、图9所示:

 

图6-仿真结果局部放大图1

图7-仿真结果局部放大图2

图8-仿真结果局部放大图3

 

图9-仿真结果局部放大图4

从上述图5至图9可以看出:

当复位信号有效,即reset=0时,不管时钟信号的上升沿有没有降临,输出out均清零,因此该设计实现了异步清零功能;当复位信号无效,即reset=1时,此时假设时钟信号来了一个上升沿,那么计数器开场计数,因此该计数器实现了计数功能;由图9可以看出,当计数器计数至518时,下一个时钟上升沿降临后,输出清零,即该计数器实现了000D-518D计数,为一519进制计数器。

综上,本次实验完成设计要求。

 

第三章总结

通过此次对VerilogHDL语言的学习,我认识到了可编程逻辑器件在当前生产科研中的重要地位,尤其是在一些逻辑功能十分复杂的电路设计时,采用VerilogHDL语言设计可大大简化设计流程,降低设计难度。

VerilogHDL语言为我们提供了许多强大的功能,可以利用它来简单的实现组合逻辑电路、时序逻辑电路以及基于状态机的各种逻辑电路设计,简单可靠。

通过此次对QuartusII软件的学习,我认识到该软件是一款简单高效的应用软件,它广泛应用于VHDL和VerilogHDL语言源程序的编写。

QuartusII软件内部提供了许多强大的功能,可以利用它来进展电路的分析与仿真〔在最新版本的QuartusII中仿真功能已经弱化〕,同时也可以利用它来与其他第三方EDA器件联合使用,实现软硬件的结合。

通过此次仿真实验—基于VerilogHDL语言的519进制计数器设计,我掌握了QuartusII软件的根本使用方法以及VerilogHDL语言的语法特点,可以初步编写一些逻辑功能较为简单的源程序。

同时,通过此次实验,我掌握了设计工作的完整流程,为以后的课程设计积累了珍贵的经历。

最后,实验过程中难免遇到一些问题,我们要冷静分析,找出原因。

总之,通过此次实验,我学到了许多有益的知识。

 

参考文献

[1]杨春玲,王淑娟主编.数字电子技术根底.:

高等教育,2021.06

[2]X鹤鸣,X耀元主编.可编程控制器原理及应用教程[M].大学,出版时间:

2007.2

[3].马小军主编.可编程控制器及应用.XX:

东南大学,2007.4

[4].瞿大中主编.可编程控制器应用与实验.XX:

华中科技大学,2002.12

[5].李树雄主编.可编程控制器原理及应用教程.:

航空航天大学,2003.9

[6].程周主编.可编程控制器原理与应用.:

高等教育,2003.4

[7].李长久主编.PLC原理及应用.:

机械工业,2006.8

[8].廖常初主编.FX系列PLC编程及应用.:

机械工业,2005.4

[9].X兴国主编.可编程序控制器技术及应用.:

中国电力,2006

[10].罗光伟主编.可编程控制器教程.XX:

电子科技大学,2007.2

[11].王也仿主编.可编程控制器应用技术.:

机械工业,2001.9

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

当前位置:首页 > 表格模板 > 合同协议

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

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