Quartus II 操作入门[通俗易懂]

Quartus II 操作入门[通俗易懂]使用Quartus设计FPGA,简单包括以下流程:新建工程,写代码编译工程,找错误分配引脚,重编译下载配置,到硬件为保证设计的正确性,在编译后,一般还需要做仿真验证,然后下载至硬件,有两种仿真方式:-功能仿真-时序仿真新建工程,写代码创建工程文件夹在电脑上新建一个文件夹,例如E:\Lianxi_1。工程的文件将全都存在这个文件夹内,便于管理。一个工程对应一个文件夹。新建

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

使用Quartus设计FPGA,简单包括以下流程:

  1. 新建工程写代码
  2. 编译工程找错误
  3. 分配引脚重编译
  4. 下载配置到硬件

为保证设计的正确性,在编译后,一般还需要做仿真验证,然后下载至硬件,有两种仿真方式:
– 功能仿真
– 时序仿真


新建工程,写代码

创建工程文件夹
在电脑上新建一个文件夹,例如E:\Lianxi_1。工程的文件将全都存在这个文件夹内,便于管理。一个工程对应一个文件夹。
新建工程
打开QuartusII,File->New Project Wizard…如下图:
第1个,选择工作目录:选刚才建立的空文件夹.
第2个,填入工程名称。要有意义,比如要做一个38译码器,工程名就叫decoder3_8,不要使用中文。
第3个,顶层设计实体名,默认。
这里写图片描述

Next… 下图,添加已有的源代码文件,没有的话,点Next
这里写图片描述

下图,选FPGA型号,根据你FPGA芯片上印刷的型号选择。
比如,我使用的芯片型号如下:
Family: Cyclone II
Device:EP2C5T144C8
这里写图片描述

Next…下图,选择综合、仿真、时序分析工具. 此处如果全部选择None,表示用Quartus自带的工具。
注:Quartus 9.1以后的版本不再自带仿真工具,需要安装Modelsim之类的软件来仿真。
这里写图片描述

Next.. 下图,是前面设置的信息的总览,检查无误就点Finish
这里写图片描述

  • 写代码
    这里写图片描述

    新建VerilogHDL文件,写代码,保存时,文件名要与module后面定义的实体名一致。即,保存decoder3_8.v到你的工程文件夹内。
module decoder3_8 (data_out, data_in ) ;
input [2:0] data_in;
output [7:0] data_out;
reg [7:0] data_out;

    always @(data_in)
    begin
        case (data_in )
        3'b000: data_out=8'b11111110;
        3'b001: data_out=8'b11111101;
        3'b010: data_out=8'b11111011;
        3'b011: data_out=8'b11110111;
        3'b100: data_out=8'b11101111;
        3'b101: data_out=8'b11011111;
        3'b110: data_out=8'b10111111;
        3'b111: data_out=8'b01111111;
        default: data_out=8'bxxxxxxxx;
        endcase
    end
endmodule

保存为 decoder3_8.v
将此源文件设置为顶层文件,如下图:
导航窗口Project Navigator下边→点Files
右击文件decoder3_8.v
设为顶层实体Set Top-Level Entity
这里写图片描述
这里写图片描述
再点击工程架构Hierachy,检查顶层架构是否为当前顶层文件。
说明:一个工程内,可以有多个源代码文件。但只有一个是顶层文件,代表最顶层设计,它可以引用工程目录内的其他源文件。
这里写图片描述

编译工程,找错误

编译:Processing–>Start Compilation
编译不成功时,下方会有红色提示信息,请仔细检查语法,双击红色提示信息,可以直接定位到错误代码附近位置。
修改后重新编译,直至修改完所有错误。
编译成功,只是语法没有错误,但并不代表设计就是完全正确的。
我们可以通过仿真来检查设计是否符合预计的功能。
这里写图片描述

分配引脚,重编译

前面的设计完成后,开始分配引脚
说明:FPGA引脚众多,大部分引脚都可以任意设置为输入或输出,我们可以将本工程中输入输出分配到任意可分配的引脚上。当然,对于已经做好的硬件开发版来说,有些按键、显示灯等已经事先与FPGA连接好了,所以分配引脚的时候要根据硬件电路原理图正确分配引脚。
分配引脚操作:Assignment -> Pin Planner,如图。分配完引脚,关闭窗口,重新编译工程。
这里写图片描述

下载配置,到硬件

下载程序到FPGA,有多种方式,我们一般用USB-Blaster。
这里写图片描述
连接下载器
• 将USB-Blaster的USB端插电脑上,另一端10针接头接FPGA板上的JTAG插座。
• 用一根USB线给FPGA板供电。
如果你的电脑第一次使用USB-Blaster下载器,需要为它安装驱动:
方法:我的电脑右键->设备管理器->USB-Blaster右键->更新驱动->定位到Quartus安装目录C:\altera\9.0\quartus\drivers\usb-blaster,等待安装完成。
下载
菜单Tools -> Programmer,下图
这里写图片描述
左上方,点Hardware Setup…->下拉选择USBBlaster->Close.
界面顶部中间选下载方式,Mode: JTAG
左侧,按Start下载 .sof文件。
OK,测试硬件功能是否正确吧。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181618.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • UML图中类之间的关系:依赖,关联,聚合,组合,泛化,实现

    UML图中类之间的关系:依赖,关联,聚合,组合,泛化,实现类与类图1)类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。2)在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法)。3)类的属性即类的数据职责,类的操作即类的行……

    2022年7月17日
    6
  • 微信小程序–电池容量、电池剩余电量样式

    微信小程序–电池容量、电池剩余电量样式效果如图所示:竖列的我用的旋转横列90度实现的wxml:<viewclass=”complex”><viewdata-charge=’0’class=”battery”></view><viewdata-charge=’1’class=”battery”></view><viewdata-charge=’2’class=”battery”></view&gt…

    2022年8月18日
    3
  • MySQL建立索引的优点和缺点

    MySQL建立索引的优点和缺点建立索引的优缺点:为什么要创建索引呢?        这是因为,创建索引可以大大提高系统的性能。         第一、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。         第二、可以大大加快数据的检索速度,这也是创建索引的最主要的原因。         第三、可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。         第四、在使用分组和排序子句…

    2022年5月20日
    31
  • Python之xpath

    xpath表达式格式xpath通过"路径表达式"来选择节点,在表现形式上与传统的文件系统类似绝对路径(absolutepath)必须用"/"起首,后面紧跟

    2021年12月18日
    50
  • mapminmax函数 matlab,matlab mapminmax函数详解

    mapminmax函数 matlab,matlab mapminmax函数详解几个要说明的函数接口:[Y,PS]=mapminmax(X)[Y,PS]=mapminmax(X,FP)Y=mapminmax(‘apply’,X,PS)X=mapminmax(‘reverse’,Y,PS)用实例来讲解,测试数据x1=[124],x2=[523];>>[y,ps]=mapminmax(x1)y=-1.0000-0.3333…

    2022年6月16日
    113
  • 大数据Lambda架构详解

    大数据Lambda架构详解Lambda架构是NathanMarz提出的一个实时大数据处理框架。NathanMarz是著名的实时大数据处理框架Storm的作者,Lambda架构就是其根据多年分布式大数据系统的经验总结提炼而成。NathanMarz在BigData:Principlesandbestpracticesofscalablereal-timedatasystems一书中提到了很多实时大数据系统的关键特性,包括容错性,健壮性,低延迟,可扩展,通用性,方便查询等,Lambda就是其根据这些特性设计的一

    2022年6月25日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号