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

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

3.2.2 使用GVIM编辑器


上一节为大家详细介绍了使用官方文本编辑器来编写 Verilog 代码的方法。事实上,也可以选择使用其他文本编辑工具来提高编写、修改代码的效率。在此推荐一款文本编辑器 GVIM,并展示如何使用该软件来设计 Verilog 代码。

首先,打开 GVIM 软件,打开文件>另存为。在弹出的图 1.4-17 界面中将文件名写为.v 格式,表示创建一个 Verilog 语言设计文本。这样在创建的文本编辑界面中,会高亮显示 Verilog 语法中的一些关键字。在此文本编辑界面中对案例中的代码进行编写,如图 1.4-18 所示。

1670839720072.jpg

1670839726220.jpg


3.2.3 添加文件


一个工程中可以包含许多个模块,每个模块又可以保存为一个独立的文件。正如图 1.4-7 所讨论的那样,设计师可以告诉 Quartus prime 软件哪些文件是当前工程的一部分。在前面的案例中如果要查看当前 light 工程中已包含的文件列表,可以选Assignment>Setting>File,随后可以打开图 1.4- 17 所示界面。另外一个操作方法是选择 Project>Add/Remove Files in Project。使用 Quartus prime 文本编辑器创建文件时勾选 Add file to current project 选项,所创建文件即可自动加入到工程文件列表。如果使用的不是 Quartus prime 自带的文本编辑器,那么在打开图 1. 4-19 所示的界面查看列表中的文件时,列表中没有所创建的文件,此时必须手动添加文件到工程文件列表中。具体操作方法为:单击图 1.4-19 中 File Name 方框后的按钮,弹出图 1.4-20 所示对话框,选择 light.v 后单击 Open 即可将该文件添加到工程文件列表中。此时再次查看图 1.4-19 界面,可以看到所添加的文件已经进入文件列表。需要注意的是,在大多数案例中 Quartus prime 软件可根据各个实体自动找到正确的文件,即使没有将文件添加到工程中也没有问题。然而,对于包含许多文件的复杂工程,将所需文件按照上述方法一个个添加到工程中去是一个很好的设计惯例。

1670839738025.jpg

1670839746972.jpg


3.3 编辑设计电路


设计完整个工程之后,要经过 Quartus prime 软件中几个工具的处理,分别是分析代码、综合电路以及生成目标芯片的实现内容。这些应用工具被聚集在一起,统称为编译器。选择 Processing>Start Compilation 运行编译器,或者单击如下:

1670839758404.jpg

按钮运行。在编译过程中,Quartus prime 的左边会显示编译的进度过程。当进度到达 100%即表示编译成功.

当编译成功后,可以通过如下:

1670839770019.jpg

按钮手动打开编译报告。

1670839782175.jpg

在此窗口的左面列出了许多信息的列表,其中比较有价值的信息是此工程使用的芯片资源情况。如图 1.4-21 所示,本工程使用到了 1 个逻辑单元(LE)和 3 个引脚资源。

在编译期间,Quartus prime 在消息窗口会显示生成的消息。如果此工程编译通过,其中一条消息会显示编译成功,没有产生错误。

如果工程编译不通过,那么就代表设计的 Verilog 代码中至少有一个或以上错误。在这种情况下与代码中错误对应的消息就会在消息窗口显示。双击某条错误信息,该信息将会滚动显示完整并且打开 Quartus prime 自带文本编译器,将 Verilog 代码中处出现错误的地方高亮显示。类似的,编译器也会显示许多警告消息,同样的方法也适用于查看完整的警告消息。如果想获取针对于某条错误或警告消息的更多报告信息,可选住此报告后按 F1 功能键即可进行查看。

为了演示上述的现象,将模块 light.v 的最后一行改成 endmodules 后重新进行编译。Quartus prime 弹出对话框,显示编译不通过,编译报告如图 1.4-22 所示,单击 OK 以确认。在消息窗口单击Error 标签,显示图 1.4-23 所示消息。双击第一条错误信息后 Quartus prime 文本编辑器打开 light.v模块,可以看出最后一行被高亮显示,如图 1.4-24 所示。修正代码后重新进行编译,此时工程编译可以通过。

1670839792147.jpg

1670839802767.jpg

1670839810755.jpg

3.4 引脚分配


使用开发板上的 LED6(连接的信号线为 LED1_NET)代表 f,sw0 和 sw1 分别代表 x1 和 x2,所需引脚如图 1.4-25 所示。选择 Assignments>Pin Planner(或单击如下按钮),

1670839821742.jpg

打开图 1.4-26 所示窗口,在下方 Location 下面输入要配置的引脚信息。

1670839829138.jpg

1670839838892.jpg


3.5 编程及配置FPGA器件


引脚分配完毕之后,需要重新进行一次全编译。当全编译通过后 Quartus prime 软件即可生成可以烧录到 FPGA 中的配置文件。将下载器 USB-Blaster 与 FPGA 开发板进行连接,打开 FPGA 开发板电源后回到 Quartus prime 主界面,选择 Tools>Progrmmer 或单击如下按钮,打开图 1.4-27 所示窗口,

1670839852017.jpg

选择配置模式 Mode 为 JTAG。在缺省情况下,USB-Blaster 没有被选中,单击 HardwareSetup 按钮,在弹出的窗口选择 USB-Blaster 即可选定下载器,如图 1.4-28 所示,单击 Close 完成配置并退出。

1670839862952.jpg

1670839872681.jpg

如图 1.4-29 所示,待烧录进 FPGA 的配置文件 light.sof 已被列入窗口。如果该文件没有列入窗口,则单击 Add File 手动选择烧录文件 light.sof 加入。该文件是一个由编译器的汇编模块生成的二进制文件,其包含配置 FPGA 器件的数据。其中,.sof 文件后缀表示 SRAM 目标文件(SRAM Object File)。选中的器件为 EP4CE15F23,勾选 Program/Configure 选项,单击 Start。

1670839882344.jpg

注意,在使用前需要安装下载器的驱动程序。


USB-Blaster 用户,请参考 http://www.altera.com.cn/literature/ug/ug_usb_blstr.pdf

Byte-Blaste-rprime 用户,请参考 http://www.altera.com.cn/literature/ug/ug_bbprime.pdf

Ethernet-Blaster 用户,请参考 http://www.altera.com.cn/literature/ug/ug_ebcc.pdf


3.6 在线调试


下载完毕后即可进行电路的测试,利用 sw0 和 sw1 输入所有可能值,观察 LED 亮灭是否和预期保持一致。如果与预期不致,那么就需要去定位问题,此时将使用到 SINGNALTAP 工具,具体使用方法请参照下一章内容。


3.7 固化程序


将.sof 格式的配置文件烧录到 FPGA 中后,FPGA 无法完成配置文件的保存,在下一次上电的时候,FPGA 内部仍为空白。如果不希望每次上电后再次手动的将配置文件烧录到 FPGA 芯片内部,可以通过程序固化的方式,将配置文件烧录到 FPGA 芯片外部掉电不丢失数据的 Flash 存储器中。这样在每次上电的时候便可以自动的完成配置,外部存储器就会自动的将配置文件下载到 FPGA 中。

下面来介绍一下程序固化的具体步骤。

首先,打开 File>Convert Programming File,在 Programming file type 选项中选择.jic 文件格式。

1670839906241.jpg

如图 1.4-30 所示,将待烧录文件类型更改为.jic 格式后,在 Configuration Device 选项中选择设备配置为 EPCS64,在 Input files to convert 栏中,选择 Flash Loader 后点击 Add Device 按钮。随后选择 FPGA 器件型号,选择芯片型号为 EP4CE15,弹出如图 1.4-31 所示窗口后点击 OK。

1670839918842.jpg

接下来需要将.sof 配置文件转为.jic 格式,点击 SOF Data,如图 1.4-32 所示,选择相应的.sof配置文件。点击 Generate 按钮,生成.jic 文。

1670839930022.jpg

回到 Programmer 界面,点击 Add File 按钮,在文件夹下选择相应的.jic 文件。如图 1.4-32 所,将该文件加入之后在界面上将.sof 格式文件(通常情况下在第一行)取消勾选,在名称含有.jic 的文件选项中,勾选以下几个选项:Program/configure,Verify,Blank-Check。勾选 Program/configure 时其他文件的该选项也会自动勾选。

1670839945179.jpg

随后点击 Start 按钮,进行程序固化。

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

热门文章

最新文章