图文解说Quartus II使用入门

article/2025/9/18 17:01:24

本文以31以内的奇数倍分频为例总结一下Quartus II建立工程、编译、仿真的详细过程。

  1. 建立工程。
    (1)选择File—>New Project Wizard,弹出新建工程对话框,输入工程路径和工程名称,然后点击next进入下一步。在这里要注意工程的名称一定要与verilog的顶层模块名称一致,否则编译会出错。
    在这里插入图片描述
    (2)上一步之后进入一下界面,不作任何操作直接点击next进入下一步。
    在这里插入图片描述
    (3)接着选择FPGA芯片的型号,我使用的是Cyclone II系列的EP2C8Q208C8。选择型号之后点击next进入下一步。
    在这里插入图片描述
    (4)选择编程语言,这里选择的是verilog语言,然后一直点击next直到弹出finish对话框,点击finish完成工程的建立。
    在这里插入图片描述
    (5)工程建立之后,就新建verilog文件。点击File—>New,弹出New对话框。该对话框用于选择新建的文件类型,这里我们选择Verilog HDL File,选择之后点击OK。
    在这里插入图片描述
    (6)在新建立的文件中输入verilog代码,这里我们以31以内的奇数倍分频为例,功能是输出50%占空比的奇数倍分频信号。代码如下:
    module fenpin(clk_in, //输入信号
    rst_n, //复位信号
    N, //奇数分频倍数3~31
    clk_out); //输出信号
    input clk_in;
    input rst_n;
    input [4:0] N;
    output clk_out;

reg [4:0] cnt, cnt1;
reg clk_p, clk_n;

always @(posedge clk_in or negedge rst_n)
begin
if(!rst_n)
cnt <= 5’d0;
else if(cnt == N-1)
cnt <= 5’d0;
else
cnt <= cnt + 5’d1;
end

always @(negedge clk_in or negedge rst_n)
begin
if(!rst_n)
cnt1 <= 5’d0;
else if(cnt1 == N-1)
cnt1 <= 5’d0;
else
cnt1 <= cnt1 + 5’d1;
end

always @(posedge clk_in or negedge rst_n)
begin
if(!rst_n)
clk_p <= 5’d1;
else if(cnt == ((N-1)>>1)-1)
clk_p <= ~clk_p;
else if(cnt == N-1)
clk_p <= ~clk_p;
else
clk_p <= clk_p;
end

always @(negedge clk_in or negedge rst_n)
begin
if(!rst_n)
clk_n <= 5’d1;
else if(cnt1 == ((N-1)>>1)-1)
clk_n <= ~clk_n;
else if(cnt1 == N-1)
clk_n <= ~clk_n;
else
clk_n <= clk_n;
end

assign clk_out = clk_p | clk_n;

endmodule
(7)输入代码之后,要保存文件,点击File—>Save,在弹出的对话框中输入文件名称并保存文件。

(8)建立顶层文件,这里我们使用的是图形与代码混合的设计方式,当代码和模块较少时,这种设计方式的优势不能体现出来,但是如果整个工程的模块多了,使用这种设计方式会使得整个设计清晰明了,极大减小出错的概率。选择File—>New,选择文件类型为Block Diagram/Schematic File,点击OK,就生成了一个Block1.bdf的图形文件。
在这里插入图片描述
(9)往图形文件中添加模块。首先要生成verilog文件的模块。右键点击Quartus II左上角的verilog文件,选择Creat Symbol Files for Current File,就可以生成该文件的模块:
在这里插入图片描述
(10)生成verilog文件的模块成功之后,就可以在图形文件中添加该模块了。在Block.bdf界面中双击鼠标左键,弹出Symbol对话框,选择选项Project下的模块,点击OK,就会发现选中的模块会跟随鼠标在Block.bdf界面中移动,找一个适当的位置点击左键,把模块放置在该位置。
在这里插入图片描述
(11)接下来为模块配置输入和输出管脚(请注意此处未配置到芯片的具体管脚)。同样在Block.bdf界面中双击鼠标左键,弹出Symbol对话框,选择pin选项下的input和output管脚,并放置到Block.bdf界面的适当位置,然后开始连线。注意连线的时候,最好把输入输出端口的名称修改为与模块对应的管教一致,而且当模块的某一信号的位宽为多位时,其对应的端口也要修改为多位宽。比如我们分频模块的N输入信号位宽为5,则应把对应的输入端口位宽也修改为5:
在这里插入图片描述
配置并连接好输入输出管脚之后,整个Block1.bdf界面如下图所示:

在这里插入图片描述
(12)接下来保存Block1.bdf文件为sanfenpin.bdf文件,然后在左上角的Files下面右键点击sanfenpin.bdf文件,选择Set as Top-Level Entity,把该文件设置为顶层文件。
在这里插入图片描述
(13)点击工具栏上方的编译按钮,编译整个工程。
在这里插入图片描述
2. 波形仿真。
(1)建立波形文件。点击File—>New,选择Vector Waveform File,点击OK,则生成了一个波形文件Waveform1.vwf。
(2)往波形文件添加信号。在波形文件的Name窗口单击鼠标右键,选择Insert—>Insert Node or Bus。
在这里插入图片描述
然后在弹出的Insert Node or Bus对话框中点击Node Finder:
在这里插入图片描述
在弹出的Node Finder对话框中,在Filter选项中选择Pins:all,再点击List,然后在Nodes Found方框中将显示所有输入输出信号,选择仿真需要的信号,添加到右端的Selected Nodes方框中,最后点击OK完成信号的添加。
在这里插入图片描述
(3)编辑信号。添加信号完成后,就可以看到波形文件的Name窗口下面列出了之前添加的信号。
在这里插入图片描述
选中Name窗口下的信号后,工具栏将由灰色变为黑色:
在这里插入图片描述
分别选中各个信号并对其进行编辑,编辑之后保存波形文件:
在这里插入图片描述
(4)好了,经过以上步骤就可以对波形进行仿真的,通过设置N值为3~31的奇数,就可以N倍的奇数分频信号。点击工具上方的仿真按钮,开始进行仿真:
在这里插入图片描述
3分频:
在这里插入图片描述
5分频:
在这里插入图片描述
7分频:
在这里插入图片描述
本次就总结到这里啦,以后一定会坚持学习、总结!


http://chatgpt.dhexx.cn/article/TYgFb1RL.shtml

相关文章

Quartus-II的安装教程

Quartus-II的安装教程 文章目录 Quartus-II的安装教程一、Quartus-II的下载二、Quartus-II的安装1.解压压缩包2.进行安装 三、注册Quartus II 一、Quartus-II的下载 ​ 百度网盘下载链接&#xff1a; ​ 百度网盘 请输入提取码 ​ 提取码&#xff1a;CWGG 二、Quartus-II的安…

Quartus实现D触发器及时序仿真

目录 一、D触发器的简介二、 Quartus-II设计D触发器并验证三、Quartus-II调用D触发器并验证 一、D触发器的简介 D触发器是一个具有记忆功能的&#xff0c;具有两个稳定状态的信息存储器件&#xff0c;是构成多种时序电路的最基本逻辑单元&#xff0c;也是数字逻辑电路中一种重…

python视频教程全集-Python 3视频教程全集(2018版)免费送啦

原标题&#xff1a;Python 3视频教程全集&#xff08;2018版&#xff09;免费送啦 不仅很多计算机专业的小伙伴想学Python&#xff0c;很多零基础的也想学。为什么&#xff1f;因为它是一门更注重可读性和效率的语言&#xff0c;而且随着人工智能的发展而愈发火热。Python 3视…

python免费教程视频-Python视频教程免费下载,最新Python免费教程视频分享!

1、为期92天的全套Python教程视频免费分享&#xff0c;总计52G&#xff01; 1-32天 … … 65-92天 百度云网盘&#xff1a; 如果百度云链接过期了的话&#xff0c;可以关注微信公众号"Python联盟”&#xff0c;然后回复"001”&#xff0c;也可以获取的哈~ 2、40…

python视频人声消除

事前准备 需安装python&#xff0c;ffmpeg&#xff0c;spleeter&#xff0c;笔者使用的操作系统是window10 python安装 可参考这可能是全网最详细的python安装教程&#xff08;windows&#xff09;_朝阳区靓仔_James的博客-CSDN博客_windows安装pythonpython安装是学习pyhon…

2018最新Python视频教程

基础就业Python视频教程需要的关注公众号cityapes直接下载

python教程视频哪个好-python视频教程哪家好

原标题&#xff1a;python视频教程哪家好 不知从何时起&#xff0c;"人生苦短&#xff0c;我用Python”这句话就火了起来&#xff0c;不仅是程序员的圈子&#xff0c;甚至连很多的企业都掺了一脚&#xff0c;进来开始着手培养自己的Python人才。 不如看看这些&#xff1a…

python视频教程,尚硅谷python视频教程,百度盘下载

python视频教程&#xff0c;尚硅谷python视频教程&#xff0c;百度盘下载 尚硅谷python视频百度盘下载&#xff0c;关注微信公众号&#xff1a;美丽游戏动漫&#xff0c;回复python获取解压密码&#xff0c;骗人是XXX。 公众号里还有码农想要的福利&#xff0c;你懂的哦~~ 【…

免费python全套教程百度云-老男孩Python视频教程全套完整版!无偿分享~

老男孩Python视频教程中涉及网络编程、数据库开发、前端开发、web框架、爬虫、数据分析、机器学习、无人驾驶等知识 。 &#xff08;文末附百度云链接&#xff09; 老男孩的Python教程有一个特点&#xff0c;那就是整套视频教程并不是同一个老师从头讲到尾&#xff0c;想想也…

pythonflask教程 视频_Python Flask开发入门视频教程下载

Python Flask开发入门视频教程下载 课程介绍&#xff1a; 此套Python Flask开发入门视频教程从基础入手&#xff0c;全面地了解 Flask 的能力将你引领进入“微”框架世界&#xff0c;并通过实践向你展示 Flask 在 Web 开发中的 “简洁而不简单” 的威力。 Python Flask开发入…

python免费教程视频-python视频教程免费下载,百度云网盘资源,全套!

废话不说 92天的Python视频教程 送上! 总计52G! 从基础到前端、从web框架篇到项目实战,92天的视频,让你从入门到熟练!(精通这个词,还是不能乱用) 1-30天 … … 61-92天 里面还有笔记! 教程的最后一天,还附上了教你如何写简历,及面试技巧分享! 部分目录:(往…

2018python教程百度云盘_python基础教程视频网盘_python教学视频2018百度云

python从入门到精通视频(全60集)百度云盘&#xff0c;python从入门到精通视频(全60集)百度云盘 Python最新全套视频教程百度网盘资源 12269 2018-10-03Python入门环境搭建全套源码课件视频 百度网盘链接 python基础教程视频大全,python基础教程视频大全免费为大家带来&#xff…

国外有哪些好的python视频教程?

现在网上国内的python教程已经屡见不鲜&#xff0c;python学习网整理了适合于不同阶段的11个python国外教学视频&#xff0c;并不需要百度云下载&#xff0c;可直接在线免费观看&#xff0c;欢迎学习&#xff01;本文将推荐11个国外的python高清教程&#xff0c;视频包含中英文…

小甲鱼python视频教程

本人在网上找了很久免费的python视频教程 给大家分享一个易入门的小甲鱼的Python全套视频教程&#xff1a; 链接: https://pan.baidu.com/s/1CcF7SmT9BLQfoqE5wot4Dg 提取码: vqjc

Python 视频教程下载 (全阶段)

人生苦短 我用Python&#xff0c;不问自答&#xff0c;我想分享下自己自学Python一路过来走过的坑&#xff0c;学习一门语言最重要的两个字“坚持”。 曾经龟叔就给Python定位明确、优雅、简单&#xff0c;所以Python为什么会受这么多喜爱和简单易学&#xff0c;像对于我这种不…

推荐一份完整的python教学视频

关注微信公众号”阿甘琐记“,后台回复”python“,即可免费领取全部教程。下面有公众号二维码。 前一段时间在学习python,所以专门找了这方面的课程,现在来分享一下。 这一套教学视频非常完整,从入门到进阶。 视频共包含就各部分,分别是python基础、python核心编程、数据…

想自学python看哪位的视频比较好-Python入门视频看哪个好?适合初学者的教学视频推荐...

Python作为一门新手友好的编程语言&#xff0c;对于初学者来说&#xff0c;还是有一定的学习难度的。目前的Python学习资料在网上可以找到很多&#xff0c;那么Python入门视频看哪个好呢&#xff1f;本文就为大家推荐博学谷的免费Python入门教学视频—《从0开始学Python》&…

二叉树层序遍历(c语言,非递归)

层序遍历的作用是将二叉树&#xff0c;从上到下&#xff0c;从左到右依次遍历。如下图遍历的结果是A->B->C->D->E->F->G->H。其实&#xff0c;这就相当于族谱一样&#xff0c;从辈分大到小遍历&#xff08;从祖宗到孙子&#xff09;狗头保命。 那么&#…

二叉树层序遍历——java

目录 一、题目 二、层序遍历顺序 三、思路&#xff08;迭代法&#xff09; 四、代码实现 一、题目 1、链接&#xff1a;力扣 2、内容&#xff1a;给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&a…

力扣刷题之二叉树的层序遍历

Welcome to you, 每日一刷系列 二叉树的层序遍历 二叉树的层序遍历II 二叉树的右视图 二叉树的层平均值 N叉树的层序遍历 在每个树行中找最大值 填充每个节点的下一个右侧节点指针 填充每个节点的下一个右侧节点指针II 二叉树的最大深度 二叉树的最小深度 二叉树的层序…