第四章 FPGA 开发平台介绍(上)

简介: 第四章 FPGA 开发平台介绍

第 1 节 开发环境


对于初学者而言,首先需要了解的是 FPGA 的开发需要有对应的开发环境。目前两大 FPGA 制造厂商分别是 Xilinx 和 Altera(目前已被 Intel 收购),而每个厂商生产的 FPGA 芯片都需要在对应的开发工具上才能够进行设计。Xilinx 芯片的开发工具包括 Vivado 和 ISE(推出 Vivado 平台后,Xilinx 已经不考虑升级 ISE 版本),Altera 芯片的开发工具是 Quartus。本书以 Quartus prime 开发工具为例来详细介绍 FPGA 的开发设计流程。

Quartus prime 是 Altera 公司为其生产的 FPGA 芯片所设计的一款开发软件,其软件内嵌自有的综合器以及仿真器,可以支持原理图、VHDL、Verilog HDL 以及 AHDL(Altera Hardware 支持 Description Language)等多种设计输入形式,可以完成从设计输入到硬件配置的完整 PLD 设计流程。Altera Quartus prime 是 Altera 被 Intel 收购后在已完成开发的 quartus II 软件基础上开发的新软件。作为一种可编程逻辑的设计环境,该软件强大的设计能力和直观易用的接口使其越来越受到数字系统设计者的欢迎。Altera 的 Quartus prime 可编程逻辑软件属于第四代 PLD 开发平台,该平台支持一个工作组环境下的设计要求,其中包括支持基于 Internet 的协作设计。Quartus 平台与 Cadence、ExemplarLogic、MentorGraphics、Synopsys 和 Synplicity 等 EDA 供应商的开发工具相兼容,其改进了软件的 LogicLock模块设计功能,增添了 FastFit 编译选项,推进了网络编辑性能,而且提升了调试能力。该设计软件是业界唯一提供 FPGA 和固定功能 HardCopy 器件统一设计流程的设计工具(15.1 以及更高版本)。工程师可以使用同样的低价位工具对 Stratix FPGA 进行功能验证和原

型设计,同时可以设计 HardCopy Stratix 器件用于批量成品。系统设计者现在能够用 Quartus prime 软件评估 HardCopy Stratix 器件的性能和功耗,相应地进行最大吞吐量设计。


第2节 软件界面


在 Quartus prime 软件中进行开发工作的顶级组织单元叫做工程(Project),一个工程可以代表一个完整的软件解决方案。工程师设计的每一个工程文件都应该保存在单一的一个文件夹中。因此,开始一个新的逻辑电路设计的第一步就是新建一个文件夹来保存文件。接下来将详细介绍如何新建一个工程。为了保存此次的设计文件,在 D 盘新建一个 introtutorial 文件夹。本次运行的范例为一个简单的双路灯控电路。打开 Quartus prime 软件后将看到类似于图 1.4- 1 的画面。此主界面中包括若干窗口,用户可使用鼠标选择以访问 Quartus prime 软件的相关功能。Quartus prime 提供的大多数命令都可用菜单形式来访问。


例如,在图 1.4- 1 所示的主界面中,左键点击 File 标签,可打开如图 1. 4- 2 所示的菜单。用左键单击 Exit 可退出 Quartus prime 软件.

1670839506302.jpg

1670839517913.jpg

对于有些命令,需要连续访问两个或以上的菜单才可以使用。


第 3 节 第一个上板例程


本教材中涉及的所有案例,均是在 Quartus prime18.1 精简版开发软件上进行。其他版本的软件在界面上会略有不同,为了避免未知的错误,建议统一使用此版本。

本章将介绍 Quartusprime 软件的基本特征,并展示如何使用 Verilog 硬件描述语言来设计和实现电路功能。通过本章节的学习将掌握以下几方面的内容:

1、新建工程;

2、使用 Verilog 代码录入设计;

3、将综合的电路布局到 Altera FPGA ;

4、分配电路的输入输出到 FPGA 上的指定引脚;

5、编程配置教学板上的 FPGA 芯片。


3.1新建工程


按如下步骤新建工程:


选择 File>New Project Wizard,以打开图 1.4-3 所示窗口,可通过勾选 Don’t show me this introduction again 跳过此窗口步骤。随后单击 Next,此时会会出现图 1.4-4 所示窗口。

1670839535008.jpg

1670839545736.jpg

1670839553304.jpg

工程保存在新建的工作文件夹 introtutorial 下(也可以使用自己设定的文件夹),工程必须有一个名字,通常情况下工程名与顶层设计实体的名字相同。如图 1.4-4 所示,选择 light 作为工程名和顶层实体名。单击 Next。因为还未创建 introtutorial 文件夹,Quartus prime 会弹出一个对话框,询问是否新建所需文件夹,如图 1.4-5 所示。单击 Yes 后将会出现图 1.4-6 所示的窗口。

1670839563206.jpg

1670839573217.jpg

1670839581040.jpg

如果没有已存在的设计文件,单击 Next,将会打开如图 1.4-8 所示的界面。

1670839589375.jpg

4. 教学板采用的器件为 Cyclone ⅣE EP4CE15F23C8。此处选择 Cyclone ⅣE 器件家族。单击 Next 后出现图 1.4-9 所示界面,在此界面下选定第三方 EDA 仿真工具,并选择硬件描述语言为 Verilog HDL。

1670839599352.jpg

5. 用户可指定一些第三方 EDA 工具。不改变默认,随后单击 Next,出现图 1.4-10 所示窗口。

1670839608880.jpg

6. 设置总览如图 1.4-10 所示。单击 Finish,返回 Quartus prime 主体窗口。标题栏将显示 light 工程,如图 1.4-11 所示。

1670839618688.jpg


至此,一个工程新建完毕,接下来将进入逻辑代码的设计。


3.2 代码设计


以双路的灯控电路作为一个设计范例,其数字逻辑如错误!未找到引用源。所示。此灯可由 x1和 x2 两个按键共同控制,当按键按下表示为逻辑 0,其真值表也同时在图中给出。注意输入 x1 和 x2 是异或的关系,但是在设计中仍然用最简单的与或非门来显示。

1670839632860.jpg

将上面的数字逻辑用硬件描述语言 Verilog 代码来描述。注意,此模块的名称仍为 light,其与图1.4-4 所示的名称一致。可以使用任何可存储 ASCprime 码的文本编辑器或者使用 Quartus prime 自带的编辑器进行该代码的编辑。当然,理论上模块的名称可以任意设定,此处设计的名称与顶层 Verilog 模块的名称一致是设计的惯例。文件名称必须带.v 扩展名用以指示此文件为 Verilog 文件。综上所述,本模块使用 light.v 这一名称。

1670839643978.jpg


3.2.1 使用官方编辑器


本节将展示如何使用 Quartus prime 软件中的文本编辑器。喜欢使用其他文本编辑器来创建 Verilog 源文件也可以跳过此节。

首先选择 File>New 打开图 1.4-14 所示窗口,选择 Verilog HDL File 后单击 OK,打开文本编辑器窗口。第一步是指定所创建的文件的名称。选择 File>Save As,打开图 1.4-15 所示的对话框来命名并保存文件。选择存储类型为 Verilog HDL File,填写文件名称为 light.v。单击 Save,打开图 1. 4-16 所示窗口,在文本编辑界面中输入上图中的代码,输入完毕后使用快捷键 Ctrl+S 保存该文件。

1670839689153.jpg

1670839696429.jpg

1670839702232.jpg

相关文章
|
算法 异构计算
基于FPGA的Lorenz混沌系统verilog开发,含testbench和matlab辅助测试程序
基于FPGA的Lorenz混沌系统verilog开发,含testbench和matlab辅助测试程序
|
5月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的MSK调制解调系统verilog开发,包含testbench,同步模块,高斯信道模拟模块,误码率统计模块
升级版FPGA MSK调制解调系统集成AWGN信道模型,支持在Vivado 2019.2中设置不同SNR仿真误码率。示例SNR值从0到15,结果展示解调质量随SNR提升。MATLAB仿真验证了MSK性能,图片显示了仿真结果。 ### 理论概要 研究聚焦于软件无线电中的MSK调制解调,利用Verilog实现。MSK是一种相位连续、恒包络的二进制调制技术,优点包括频谱效率高。系统采用无核设计,关键模块包括调制器、解调器和误码检测。复位、输入数据、中频信号等关键信号通过Verilog描述,并通过Chipscope在线观察。
113 6
基于FPGA的MSK调制解调系统verilog开发,包含testbench,同步模块,高斯信道模拟模块,误码率统计模块
|
5月前
|
存储 算法 数据处理
LabVIEW FPGA开发NI sbRIO-9607高精度数字滤波器
LabVIEW FPGA开发NI sbRIO-9607高精度数字滤波器
55 5
|
7月前
|
前端开发 编译器 测试技术
LabVIEW FPGA利用响应式数字电子板快速开发空间应用程序
LabVIEW FPGA利用响应式数字电子板快速开发空间应用程序
61 1
|
7月前
|
API 异构计算
LabVIEW开发FPGA参考框架
LabVIEW开发FPGA参考框架
53 0
LabVIEW开发FPGA参考框架
|
7月前
|
传感器 数据采集 人工智能
LabVIEW FPGA开发实时滑动摩擦系统
LabVIEW FPGA开发实时滑动摩擦系统
50 0
|
算法 测试技术 计算机视觉
基于FPGA的图像中值滤波开发,包括tb测试文件以及matlab验证代码
基于FPGA的图像中值滤波开发,包括tb测试文件以及matlab验证代码
|
算法 异构计算
基于FPGA的图像sobel边缘提取算法开发,包括tb测试文件以及matlab验证代码
基于FPGA的图像sobel边缘提取算法开发,包括tb测试文件以及matlab验证代码
|
编解码 算法 异构计算
基于FPGA的DDS开发和实现,可修改输出正弦的频率和相位,包含testbench
基于FPGA的DDS开发和实现,可修改输出正弦的频率和相位,包含testbench
345 1
|
算法 数据安全/隐私保护 异构计算
基于FPGA的AES加密解密vivado仿真,verilog开发,包含testbench
基于FPGA的AES加密解密vivado仿真,verilog开发,包含testbench
329 0
基于FPGA的AES加密解密vivado仿真,verilog开发,包含testbench

热门文章

最新文章

下一篇
DataWorks