Quartus ii是针对Altera FPGA的一款EDA软件,在此以一个led闪烁工程来简单说一下基本操作:

  一、注意事项

    Quartus ii最大的注意事项就一点:工程名称以及工程里面的文件名称,都不能出现中文!

  二、工程建立

    1.新建一个文件夹,并在里面按照自己习惯新建一些常用的文件夹,以后查看时会很方便。我的建立如下:

doc       : 相关资料
img : 图片文件
prj : 工程文件
rtl : 代码文件
test : 测试文件

  2.代码编写。因为quartus ii自带编译器不是很好用,建议用第三方编译器写好代码,再用quartus ii进行综合编译。

 //======================================================================
//--名称 : led_flash
//--作者 : xianyu_FPGA
//--日期 : 2018-10-10
//--描述 : led灯每隔1s亮灭1次
//====================================================================== module led_flash
(
input clk ,
input rst_n ,
output reg led
); //== 参数定义
//======================================================================
parameter TIME = 50_000_000 ; //== 信号定义
//======================================================================
reg [:] cnt ;
wire add_cnt ;
wire end_cnt ; //== 1s计数
//======================================================================
always @(posedge clk or negedge rst_n)begin
if(!rst_n)
cnt <= ;
else if(add_cnt)begin
if(end_cnt)
cnt <= ;
else
cnt <= cnt + ;
end
end assign add_cnt = ;
assign end_cnt = add_cnt && cnt== TIME-; //== led闪烁
//======================================================================
always @(posedge clk or negedge rst_n)begin
if(!rst_n)
led <= ;
else if(end_cnt)
led <= ~led;
else
led <= led;
end endmodule

  3.开始建立工程,打开quartus ii,点击左上角File --- New Project Wizard,出现下图界面:

  4.点击Next >,出现下图界面。第一行是设置工程的文件夹,我们打开刚刚建立的文件夹:led_flash --- prj,将这个路径复制到这就可以了。第二是工程名称,第三行是top文件名称,这两行会自动保持一致,就让他和我们建立的文件夹命名保持一致吧。

  5.点击Next >,出现以下界面,是否添加文件。如果我们之前写好了代码文件,就可以在此处添加,如果没有就直接Next >。如果误点,后面也还是可以添加文件的,不慌。

  6.Next >之后出现以下界面,FPGA的器件选择,按照手上有的FPGA选择正确的器件就行了。

  7.Next >之后出现以下界面,EDA工具选择,一般来说我们把VHDL改成Verilog就行。

  8.Next > 之后出现以下界面,把之前的选择再陈列给你看,如果没有问题点击Finish即可,这样一个工程就建好了。

  9.回到了quartus ii主页面,点击左上角的New图标即可新建各种文件,没什么好说的。

  10.在工程栏中选择Files,点击此处可以继续添加文件。

  三、常用设置

  1.quartus ii自带文本编辑器的设置,一次设置成功以后都会默认如此。

  在打开了代码文件的情况下,点击Tools --- Options --- Text Editor,出现以下界面。Tab size默认是3我们改成4,后面的Tab符转空格符打上勾,这样代码就不会因为Tab符和其他编译器不同而导致看上去没对齐了。下面还有一个Save backup file,我们不打勾,不然每次都出现备份文件其实挺烦的。

  同时看到Text Editor下还有Colors设置,我们可以调整成自己喜欢的风格。我的设置如下:

  2.建立工程后,不用引脚设置成三态:Assignment --- Device --- Device and Pin Options... --- Unused Pins --- As input tri-stated

  3.建立工程后,多功能引脚全设置成I/O口,或者只把nCEO设置成I/O口,关于这个我不是很明白。Assignment --- Device --- Device and Pin Options... --- Dual-Purpose Pins --- Use as regular I/O

  四、VWF仿真的使用

  1.仿真我们一般是用modelsim,但如果是简单的设计可以直接使用VWF。点击New --- University Prgram VWF,出现以下界面。

  2.双击空白处,添加信号,点击Node Finder

  3.点击list,把信号添加进去。然后OK --- OK

  5.设置一下结束时间,Edit --- Set End Time,默认是1us,最大只能到100us,比modelsim弱爆了,为了配合这个工程,我把代码里的50_000_000改成了50。

  4.将输入信号手动添加激励,点击上面的快捷图标就行了。

  5.进行保存,然后点击那两个仿真图标,它会自动编译,自动弹出仿真结果。

  6.如果你打开别人的工程,发现波形无法仿真出现,可以这样试试:点击simulation --- Options,更改一下这个选项试试。

  Quartus ii真的很强大,我才刚入门,以后遇到问题再记录下来吧。

Quartus II——工程建立和常用设置的更多相关文章

  1. Modelsim——工程建立和常用设置

    Modelsim是一款优秀的FPGA仿真软件,这里记录一下Modelsim的基本使用. 一.联合仿真 联合仿真,即Quartus ii自己调用Modelsim,Modelsim自动出现仿真波形. 1. ...

  2. FPGA学习记录 - Quartus II 未使用管脚设置为三态输入

    未使用管脚设置为三态输入 Assignments  -> Device 或双击器件

  3. quartus ii工程文件的分析

    .pof:通过AS口将程序固化到EPCS(flash)内. .sof:通过JTAG口下载到FPGA内部的SRAM里面. .JIC:通过JTAG口将程序固化到EPCS(flash)内.

  4. 关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法

    关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法 近期在评估使用NIOS II处理器进行项目的 ...

  5. 解决NIOS II工程移动在磁盘上位置后project无法编译问题

    说明:本文档于2017年3月4日由小梅哥更新部分内容,主要是增加了讲解以Quartus II13.0为代表的经典版本和以15.1为代表的更新版本之间,解决问题的一些小的差异. 如果用户只是想快速解决问 ...

  6. 【小梅哥SOPC学习笔记】NIOS II工程目录改变时project无法编译问题

    解决NIOS II工程移动在磁盘上位置后project无法编译问题 说明:本文档于2017年3月4日由小梅哥更新部分内容,主要是增加了讲解以Quartus II13.0为代表的经典版本和以15.1为代 ...

  7. 【重要】拷贝NIOS II工程后,修改工程前必须要做的10件事

    1.拷贝现有工程到新的目录2.打开Quartus II工程文件3.打开NIOS II EDS软件4.切换工作空间到当前的新工程根目录5.在NIOS II EDS软件中将已有的软件工程先删除掉(不要勾选 ...

  8. 转载.怎样在Quartus II中转化HDL文件为bsf文件?

    步骤1 新建或打开Quartus II工程,用QII自带文本编辑器打开HDL文件. 图1 用QII自带的文本编辑器打开HDL文件 步骤2 选择File>Create / Update>Cr ...

  9. 用Quartus II 建立一个工程模板,以后新建工程时无需再配置参数

    以前用Quartus II 每次新建工程时,都要设置工程名,选择工程路径,选择芯片型号等等,好麻烦呀!可不可以建一个工程模板,以后新建工程时直接改相应文件名就可以呀!后来我一琢磨,感觉也不是不可以.因 ...

随机推荐

  1. swiper轮播图插件

    一.简介 ①Swiper是纯javascript打造的滑动特效插件,面向手机.平板电脑等移动终端.Swiper能实现触屏焦点图.触屏Tab切换.触屏多图切换等常用效果. ②Swiper 是一款免费以及 ...

  2. 干货 | 10分钟教你用column generation求解vehicle routing problems

    OUTLINE 前言 VRPTW description column generation Illustration code reference 00 前言 此前向大家介绍了列生成算法的详细过程, ...

  3. rust-vmm 学习(二)

    eventfd virtio中,guest和vhost通过evnetfd通知对方,见(Virtio ring and virtio-net). REF: Qemu-kvm的ioeventfd创建与触发 ...

  4. touchz,mkdir,vi的区别

    touchz:创建空白文档 mkdir:创建一个目录 vi : 创建一个编辑状态的空文档,保存退出后创建成功.

  5. Monkey框架(测试方法篇) - monkey测试实例

    一.常规的稳定性测试 测试背景: 这是一个海外的合作项目,被测程序是Android应用(App).测试希望通过Monkey来模拟用户长时间的随机操作,检查被测应用是否会出现异常(应用崩溃或者无响应). ...

  6. Verticles for Web Application

    Core Concept: HTTP-Centered EventBus Event, EventLoop, Executor, Handler, HTTPContext, Callback on E ...

  7. Oracle系列三 过滤和排序

    WHERE子句 使用WHERE 子句,将不满足条件的行过滤掉. 示例: SELECT employee_id, last_name, job_id, department_id FROM employ ...

  8. 001-脚手架发展,基础代码结构+mybatis代码生成

    一.概述 脚手架是为了保证各施工过程顺利进行而搭设的工作平台. 编程领域中的“脚手架(Scaffolding)”指的是能够快速搭建项目“骨架”的一类工具. java变成中,架构师搭建的代码结构你到处拷 ...

  9. Excel 相当名称,值相加

    药品名称相同,数量汇总 原始表格,同一个名称,存在不同的单位,所以合并处理成一列 将列表复制一份出去,并删除A表重复数据 求和公式=SUMIF(A2:A16,E2:E8,B2:B16) 最后再将药品名 ...

  10. 成为真正的win10 超级管理员,解决win+r 不以管理员身份运行

    secpol.msc 本地策略=>安全选项 禁用 用户账户控制:以管理员批准模式运行所有管理员 用户帐户控制:用于内置管理员帐户的管理员批准模式 注意:需要重启计算机