0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Quartus.II使用简介与第一个工程实例

工程师 来源:网络整理 作者:h1654155205.5246 2019-03-07 15:41 次阅读

Quartus.II使用简介与第一个工程实例

基于QuartusII通过实验板上的KEY1按钮控制FPGA核心板上的第一个LED灯。本实验比较简单,使用本站FPGA开发板或者CPLD开发板以及其它FPGA开发板都可进行实验。下面实验目的:通过该实例学习,可以了解FPGA的基本开发流程,熟识quartusII软件基本功能的使用。

基本原理:利用一个常开按钮(实验板上的KEY1)作为输入(常开时输入1,闭合时输入0),经过一个反相器后输出到核心板的第一个LED。KEY1常开时,LED亮,按下(闭合)实验板上的KEY1,该LED熄灭。

1、建立工程

运行QuatrusII软件(以下简称Q2),建立工程,FileàNew Project Wizad如点击New Project Wizard 后弹出指定工程名的对话框,在Diectory, Name, Top-Level Entity中如下图填写:

Quartus.II使用简介与第一个工程实例

按Next按钮,出现添加工程文件的对话框:

在这里我们先不用管它,直接按Next进行下一步,选择FPGA器件的型号:

Quartus.II使用简介与第一个工程实例

在Family下拉筐中,我们选择Cyclone系列FPGA,然后在“Available devices:”中根据核心板的FPGA型号选择FPGA型号,注意在Filters一栏选上“Show Advanced Devices”以显示所有的器件型号。执行下一步出现对话框:

这里是选择其它EDA工具的对话框,我们用Q2的集成环境进行开发,因此这里不作任何改动。按Next进入工程的信息总概对话框:

按Finish按钮即建立一个空项目。

Quartus.II使用简介与第一个工程实例

2、建立顶层图

执行FileàNew,弹出新建文件对话框:

选择“Block Diagram Schematic File”按OK即建立一个空的顶层图,缺省名为“Block1.bdf”,我们把它另存为(FileàSave as),接受默认的文件名,并将“Add file to current project”选项选上,以使该文件添加到工程中去。如图所示:

Quartus.II使用简介与第一个工程实例

3、添加逻辑元件(Symbol)

双击顶层图图纸的空白处,弹出添加元件的对话筐:

在Libraries里寻找所需要的逻辑元件,如果知道逻辑元件的名称的话,也可以直接在Name一栏敲入名字,右边的预览图即可显示元件的外观,按OK后鼠标旁边即拖着一个元件符号,在图纸上点击左键,元件即安放在图纸上。在图纸上分别添加非门(not)、输入(input)、输出(output)三个symbol,如图所示:

Quartus.II使用简介与第一个工程实例

连线,将鼠标移到symbol连线端口的那里,鼠标变成图示模样:按下左键拖动鼠标到另一个symbol的连线端。本例中,这三个symbol的连线如下图所示:

分别双击input和output symbol的名字“pin_name”、“pin_name1”,将它们的名字改为Key1,LED1:

Quartus.II使用简介与第一个工程实例

4、 分配管脚

芯片分配管脚可以用QuartusII软件里的“AssignmentsàPins”菜单,也可以用tcl脚本文件。用Tcl文件进行配置可重用性好,易于管理,因此本文介绍用tcl的方法。对于另一种方法,可以参考QuartusII软件的帮助文档。在工程目录下建立一个name为Setup.tcl的file。FileàNew,选择other files页面:

Quartus.II使用简介与第一个工程实例

有关tcl文件的更详尽内容可参考QuartusII的帮助文档,对于我们所选用的FPGA开发板SOPC开发板来说,由于不同型号的FPGA核心板的管脚与实验板上的引脚也不同,因此不同的核心板对应的.tcl文件也不同(关于核心板引脚与实验板引脚对应的详细情况可以参照相关电路原理图)。在实际项目中,该文件也可以根据具体管脚分配要求来改写。

对应于EP1C6FPGA开发板,EP1C12FPGA开发板:

#Setup.tcl

# Setup pin setting

set_global_assignment -name RESERVE_ALL_UNUSED_PINS “AS INPUT TRI-STATED”

set_global_assignment -name ENABLE_INIT_DONE_OUTPUT OFF

set_location_assignment PIN_1 -to led1

set_location_assignment PIN_122 -to key1

保存到工程目录下,并注意在保存对话框选上“Add file to current project”选项。然后打开Tools -》 Tcl Scripts,选中刚才编辑的Script文件:Setup,并点击Run,如下图:

注意:建立工程时如果路径名有中文字符或者路径名有空格字符,则tcl Script文件将运行不了。例如,本例建立的工程“FPGA_led_test”目录是: C:alteraquartus51myq2projectsFPGA_led_test

如果是:C:alteraquartus51my q2projectsFPGA_led_test

在该目录下运行工程里的setup.tcl就会出错。如果使用Tools -》 Tcl Scripts,后没有弹出“tcl Script”对话框可以试一下关了QII,再重新打开。使用TCL文件分配管脚是很方便的,用户可以直接从相关例子工程中复制需要管脚分配表到自己的工程中,省时又方便。

Quartus.II使用简介与第一个工程实例

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • quartus
    +关注

    关注

    16

    文章

    169

    浏览量

    74271
收藏 人收藏

    评论

    相关推荐

    STM32L031断电重启后,数据只能收到第一个字节是哪里出了问题?

    开通DMA,利用空闲中断接收数据。奇怪的现象是:在调试器调试时,数据收发都正常,但是断电重启后,数据只能收到第一个字节。不知道问题出在什么地方,
    发表于 03-28 06:14

    求助,用CubeMX配置占空比30%的PWM输出第一个波形不准确是为什么?

    我用的是G0的芯片配置,通过抓波发现第一个波形永远与我配置的占空比不准确,但是除了第一个周期不准确外,后面的都没问题。
    发表于 03-18 07:55

    STM32F1的IIC通信经常接收不到第一个字节是为什么?

    经常读取到第一个字节为0,这种情况是什么原因导致的
    发表于 10-15 09:20

    Lesson06:Quartus.II使用简介第一个工程实例 - 第8节 #硬声创作季

    数据软件程序EPM代码
    充八万
    发布于 :2023年08月20日 03:53:16

    Lesson06:Quartus.II使用简介第一个工程实例 - 第7节

    数据软件程序EPM代码
    充八万
    发布于 :2023年08月20日 03:52:25

    Lesson06:Quartus.II使用简介第一个工程实例 - 第6节

    数据软件程序EPM代码
    充八万
    发布于 :2023年08月20日 03:51:35

    Lesson06:Quartus.II使用简介第一个工程实例 - 第5节 #硬声创作季

    数据软件程序EPM代码
    充八万
    发布于 :2023年08月20日 03:50:43

    Lesson06:Quartus.II使用简介第一个工程实例 - 第4节

    数据软件程序EPM代码
    充八万
    发布于 :2023年08月20日 03:49:52

    Lesson06:Quartus.II使用简介第一个工程实例 - 第3节 #硬声创作季

    数据软件程序EPM代码
    充八万
    发布于 :2023年08月20日 03:49:01

    Lesson06:Quartus.II使用简介第一个工程实例 - 第2节 #硬声创作季

    数据软件程序EPM代码
    充八万
    发布于 :2023年08月20日 03:48:10

    Lesson06:Quartus.II使用简介第一个工程实例 - 第1节 #硬声创作季

    数据软件程序EPM代码
    充八万
    发布于 :2023年08月20日 03:47:19

    某种编程语言的第一个编译器是怎么来的呢?

    不知道你有没有想过,某种编程语言的第一个编译器是怎么来的呢?这不就是“鸡生蛋,蛋生鸡”的问题吗?
    的头像 发表于 08-14 09:31 525次阅读
    某种编程语言的<b class='flag-5'>第一个</b>编译器是怎么来的呢?

    求助,用CubeMX配置占空比30%的PWM输出第一个波形不准确是为什么

    我用的是G0的芯片配置,通过抓波发现第一个波形永远与我配置的占空比不准确,但是除了第一个周期不准确外,后面的都没问题。
    发表于 08-07 07:26

    Quartus II没有对应芯片的原因及其解决办法

    Quartus II开发ALTERA的FPGA时,有时候会发现没有自己对应的芯片型号
    的头像 发表于 07-24 15:15 6696次阅读
    <b class='flag-5'>Quartus</b> <b class='flag-5'>II</b>没有对应芯片的原因及其解决办法

    我的第一个智能车库构建

    电子发烧友网站提供《我的第一个智能车库构建.zip》资料免费下载
    发表于 07-12 10:03 0次下载
    我的<b class='flag-5'>第一个</b>智能车库构建