第四章 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辅助测试程序
|
7月前
|
数据采集 算法 测试技术
【硬件测试】基于FPGA的1024QAM基带通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的1024QAM基带通信系统的硬件测试版本,包含testbench、高斯信道模块和误码率统计模块。系统新增ila在线数据采集和vio在线SNR设置模块,支持不同SNR条件下的性能测试。1024QAM调制将10比特映射到复平面上的1024个星座点之一,实现高效数据传输。硬件测试结果表明,在SNR=32dB和40dB时,系统表现出良好的性能。Verilog核心程序展示了各模块的连接与功能实现。
149 7
|
7月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的2ASK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR
本内容展示了基于Vivado2019.2的算法仿真效果,包括设置不同信噪比(SNR=8db和20db)下的结果及整体波形。同时,详细介绍了2ASK调制解调技术的原理与实现,即通过改变载波振幅传输二进制信号,并提供数学公式支持。此外,还涉及帧同步理论,用于确定数据帧起始位置。最后,给出了Verilog核心程序代码,实现了2ASK解调与帧同步功能,结合DDS模块生成载波信号,完成信号处理流程。
127 0
|
7月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的4ASK调制解调通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的4ASK调制解调系统的硬件测试版本,该系统包括testbench、高斯信道模块和误码率统计模块,并新增了ILA在线数据采集和VIO在线SNR设置功能。通过VIO设置不同SNR(如15dB和25dB),实现了对系统性能的实时监测与调整。4ASK是一种通过改变载波幅度表示数据的数字调制方式,适用于多种通信场景。FPGA平台的高效性和灵活性使其成为构建高性能通信系统的理想选择。
159 17
|
7月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的4FSK调制解调通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于之前的文章《基于FPGA的4FSK调制解调系统》,增加了ILA在线数据采集模块和VIO在线SNR设置模块,实现了硬件测试版本。通过VIO设置不同SNR(如10dB和20dB),并展示了ILA采集的数据结果。四频移键控(4FSK)是一种数字调制方法,利用四个不同频率传输二进制数据,具有较高的频带利用率和抗干扰性能。输入的二进制数据分为两组,每组两个比特,对应四个频率f1、f2、f3、f4,分别代表二进制组合00、01、10、11。调制过程中选择相应频率输出,并进行幅度调制以增强抗干扰能力。接收端通过带通滤波器提取信号并还原为原始二进制数据。
130 7
|
7月前
|
数据采集 算法 数据处理
【硬件测试】基于FPGA的256QAM基带通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的256QAM基带通信系统的硬件测试版本,包含testbench、高斯信道模块和误码率统计模块。系统新增ila在线数据采集和vio在线SNR设置模块,支持不同信噪比(如30dB和40dB)的仿真测试,并提供配套操作视频。256QAM调制方案每个符号携带8比特信息,通过复数值星座图映射实现高效传输。Verilog代码展示了核心模块设计,包括SNR设置、数据处理和ILA测试分析,确保系统在实际硬件环境中的稳定性和性能。
135 2
|
8月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的16QAM基带通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的16QAM基带通信系统硬件测试版本。该系统在仿真基础上增加了ILA在线数据采集和VIO在线SNR设置模块,支持不同信噪比(如15dB、25dB)的测试。16QAM是一种正交幅度调制方式,通过两路4ASK信号叠加实现,每个符号包含4比特信息。系统采用正交调幅法生成16QAM信号,并通过DAC转换为模拟信号。解调时使用正交相干解调,经低通滤波器恢复电平信号。开发板内完成发射与接收,无需定时同步模块。代码可移植至其他开发板,具体步骤见配套文档。
135 2
|
8月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的64QAM基带通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的64QAM基带通信系统的硬件测试版本,包含testbench、高斯信道模块和误码率统计模块。系统新增ila在线数据采集模块和vio在线SNR设置模块,支持不同SNR条件下的仿真与测试。通过设置SNR为25dB和30dB进行测试,验证了系统的可行性和性能。此外,本文详细阐述了64QAM调制解调的工作原理,包括信号生成、调制、解调及误码率测试等环节,并提供了Verilog核心程序代码。
137 0
|
算法 数据安全/隐私保护 异构计算
基于FPGA的MSK调制解调系统verilog开发,包含testbench,同步模块,高斯信道模拟模块,误码率统计模块
升级版FPGA MSK调制解调系统集成AWGN信道模型,支持在Vivado 2019.2中设置不同SNR仿真误码率。示例SNR值从0到15,结果展示解调质量随SNR提升。MATLAB仿真验证了MSK性能,图片显示了仿真结果。 ### 理论概要 研究聚焦于软件无线电中的MSK调制解调,利用Verilog实现。MSK是一种相位连续、恒包络的二进制调制技术,优点包括频谱效率高。系统采用无核设计,关键模块包括调制器、解调器和误码检测。复位、输入数据、中频信号等关键信号通过Verilog描述,并通过Chipscope在线观察。
278 6
基于FPGA的MSK调制解调系统verilog开发,包含testbench,同步模块,高斯信道模拟模块,误码率统计模块
|
存储 算法 数据处理
LabVIEW FPGA开发NI sbRIO-9607高精度数字滤波器
LabVIEW FPGA开发NI sbRIO-9607高精度数字滤波器
199 5

热门文章

最新文章