基于QuartusII的同步计数器设计.docx
- 文档编号:6097442
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:8
- 大小:255.97KB
基于QuartusII的同步计数器设计.docx
《基于QuartusII的同步计数器设计.docx》由会员分享,可在线阅读,更多相关《基于QuartusII的同步计数器设计.docx(8页珍藏版)》请在冰豆网上搜索。
基于QuartusII的同步计数器设计
基于QuartusII的同步计数器设计
一、软件及语言概述
二、实验设计
三、学习感悟
四、参考文献
一、软件及语言概述
1.1软件介绍:
QuartusII是Altera公司在21世纪初推出的FPGA/CPLD开发环境,是Altera前一代FPGA/CPLD集成开发环境MAX+PLUSII的更新换代产品,其优点是功能强大、界面友好、使用便捷。
它支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
QuartusII支持Altera的IP内核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性,加快了设计速度。
此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink的相结合,可以方便的实现各种DSP应用系统;支持Altera的片上可编程系统开发,集系统设计、嵌入式软件开发。
可编程逻辑设计于一体,是一个综合性的开发平台。
QuartusII有严格的设计流程,分为设计输入与约束、分析和综合、布局布线、仿真及编程与配置等。
本次仿真设计所用到的版本为QuartusII9.0,其用户界面如下列图所示:
1.2VerilogHDL语言概述:
VerilogHDL即Verilog硬件描述语言,它主要应用于数字电路和系统设计、数字电路和系统仿真等,即利用计算机和相关软件对用VerilogHDL等硬件语言建模的复杂数字逻辑电路设计进展仿真验证,再利用综合软件将设计的数字电路自动综合,以得到符合功能需求并且在相应的硬件电路构造上可以映射实现的数字逻辑网表,然后布局布线,根据网表和选定的实现器件工艺特性自动生成具体电路,同时软件生成选定器件的延时模型,经过仿真验证确定无误后写入器件中,最终实现电路设计。
VerilogHDL语言不仅定义了语法而且对每个语法构造都定义了清晰的模拟、仿真语义。
因此用这种语言编写的模型能够使用Verilog仿真器进展验证。
语言从C编程语言中继承了多种操作符和构造。
VerilogHDL提供了扩展的建模能力其中许多扩展最初很难理解。
但是VerilogHDL语言的核心子集非常易于学习和使用这对大多数建模应用来说已经足够。
当然完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进展描述。
二、实验设计
计数器的逻辑功能是用于记录时钟脉冲的具体个数。
通常计数器最多能记忆时钟的最大数目m称为计数器的模2,即计数器的X围为0到m-1或m-1到0.其根本原理就是将几个触发器按照一定的顺序连接起来,然后根据触发器的组合状态,按照一定的技术规律随着时钟的变化来记忆时钟脉冲的个数。
计数器按照不同的分类方法可分为不同的类型,按照计数器中各个触发器时钟脉冲输入方式的不同分为同步计数器和异步计数器。
其中,同步计数器是指构成计数器的各个触发器的状态只在同一时钟信号的触发下才会发生变化的计数器。
在这里,我主要以同步4位二进制计数器为设计对象。
2.1状态表
CLK
R
S
EN
工作状态
X
1
X
X
置零
↑
0
1
X
预置数
↑
0
0
1
计数
X
0
0
0
保持不变
同步4位二进制计数器的状态表
2.2设计步骤
在菜单栏中,选择File,新建一个工程,在根据工程向导设置相关内容。
所有选项设置好后就可以在文本编辑框中输入相应的程序了。
这里有个重要的点就是,保存时文件名必须和设计时所用的模块名保持一致。
采用文本编辑法,利用VerilogHDL语言来描述同步4位二进制计数器,代码如下:
moduletongbu_t(co,q,clk,r,s,d,en);
output[3:
0]q;
outputco;
inputclk,r,s,en;
input[3:
0]d;
reg[3:
0]q;
regco;
always(posedgeclk)
begin
if(r)
beginq=d;end
else
if(s)
beginq=d;end
else
if(en)
beginq=q+1;
if(q==4'b1111)
beginco=1;end
else
beginco=0;end
end
else
beginq=q;end
end
endmodule
程序编写完成后再进展进展编译,根据编译后的结果提示,修改响应的错误,直到所有错误被修改完成。
编译成功后,如下列图所示:
再新建波形仿真文件,弹出对话框如下列图所示:
再选择需要添加的输入输出引脚的名字,如下列图所示:
然后再对相应的信号进展初始设置,最后点击保存。
接下来就是进展仿真步骤,先进展功能仿真:
再进展时序仿真:
仿真结果:
同步4位二进制计数器的功能仿真结果如图1所示,时序仿真结果如图2所示。
其中,将q设置为buffer类型是为了方便计数。
图1同步4位二进制计数器的功能仿真结果
图2同步4位二进制计数器的时序仿真结果
三、学习感悟:
初次接触FPGA时,就感觉它功能很强大。
同时,我也了解到要想学好这门技术也并不容易,需要花大量的时间去专研,其相关的学习开发板也比拟昂贵。
另外,对于编程语言来讲,我也是第一次听说VerilogHDL,它的一些编程语句和C语言很像。
在学习这门课程时,我也从中收获了许多。
从第一节课开场,教师推荐的几个学习,我觉得对我们技能的提升很有帮助。
除此之外,我觉得像电子发烧友网、电子工程网等,也是不错的学习平台,里面有许多有用的资料和最新的行业动态,这对我们电子信息类的学生来说很有帮助。
在上课过程中,我觉得还是有点更不上节奏,内容不仅多,大局部还是新知识。
基于此,我也到图书馆借阅了相关的书籍,主要是和编程语言相关的。
虽然,现在课程完毕了,但我仍然还是会继续学习下去,作为一门技能去掌握。
另一方面,教师在上课提到了半导体在今后开展趋势,为此我感到比拟欣喜,因为我现在的学习内容和这个方向相关。
起初,我觉得作为传统制造业来说,它的开展优势并不明显,多年来一直不温不火,技术革新的地方也不多。
但是,现在随着人工智能的兴起,对于集成电路的要求也就越来越高,进而也就可能带动半导体行业的开展和进步。
除此之外,教师在课堂上提到的Python语言,我觉得在今后也大有用途,这也应该是我学习任务的一局部。
通过这次实例设计,我对Quartusii软件和VerilogHDL语言有了更深一步的了解。
这次所用到的软件版本是在网上找的9.0版,我觉得软件的安装过程比拟复杂。
结合网上的根底视频讲解和书本上的介绍,我对软件的根底使用有了一个大致的认识。
由于是第一次接触这方面的内容,这次的设计实验我也是选择了一个比拟简单的同步4位计数器设计。
按照书上的例子,一步一步的去设置,编译,最后还是勉强实现了根本要求。
当然,在这个学习过程中,我也有遇到过许多问题。
从一开场的软件安装,到编译时的语句修改,再到最后的波形仿真,我都反复进展了许屡次。
虽然,这次仅仅只是做了一个小的实验设计,涉及到的知识还不够多,难度也不算大,但是对于我来说收获却很多。
这其中也得到了教师和同学们的帮助,才使我更快的了解了相关的知识点。
借助这次实验设计,我在网上找到了学习视频和相关的学习资料,接下来就是准备买一快小的学习开发板,进展更加深入的学习研究。
同时,我也会关注相关行业的动态,了解更多新闻资讯。
四、参考文献:
[1]潘松.EDA技术实用教程.:
科学;
[2]周新.轻松学会FPGA设计与开发.:
电子工业;
[3]黄平.基于QuartusII的FPGA/CPLD数字系统设计与应用.:
化学工业;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 QuartusII 同步 计数器 设计