FPGA学习笔记一

1 软件下载与安装

软件版本:Quartus Prime Lite 18.1

官网地址:https://www.intel.com/content/www/us/en/software-kit/665990/intel-quartus-prime-lite-edition-design-software-version-18-1-for-windows.html

选好对应安装包和操作系统、版本后点击下载

在这里插入图片描述

1.1 安装

解压完成后,双击文件夹里的components进入

在这里插入图片描述
找到QuartusLiteSetup-18.1.0.625-windows应用程序,双击

在这里插入图片描述
点击next

在这里插入图片描述
选择 I accept…,然后点击next

在这里插入图片描述
选择好安装目录后点击next

在这里插入图片描述
点击next

在这里插入图片描述
点击next

在这里插入图片描述
等待安装

在这里插入图片描述
在这里插入图片描述
安装完成点击finish

在这里插入图片描述
安装完成后软件界面

在这里插入图片描述
补充:安装后续似乎出了一个对话框,提示是否选有无license的,我选的no…

2 例程1:点灯

2.1 新建工程

选择File>New Project Wizard,点击next

在这里插入图片描述
工程名一般与顶层设计实体名相同

在这里插入图片描述
然后点击next

**补充:**若设定文件夹不存在,则会提示新建,点击next

在这里插入图片描述

点击next

在这里插入图片描述

提示添加文件,继续点next(若有文件,点击路径添加即可)

在这里插入图片描述

选器件类型,根据自己开发板芯片型号对应选择

在这里插入图片描述

点击next

在这里插入图片描述
点击finish

在这里插入图片描述
工程创建完成

在这里插入图片描述

2.2 代码设计

双路灯控电路

在这里插入图片描述
用Verilog代码描述上述数字逻辑(模块名称保持一致)

1、File>New,选择Verilog HDL File,然后点击OK

在这里插入图片描述
出现如下窗口,并在.v文件里编入代码:

在这里插入图片描述

module light(

   input x1,
	input x2,
	output f

);

assign f = (x1 & ~x2) | (~x1 & x2);

endmodule

保存文件

在这里插入图片描述

**补充:**若已有代码文件,可在左上角切换Files后,右键Files文件夹选择Add/Remove…然后在出现对话框中点击路径添加文件

在这里插入图片描述
在这里插入图片描述

PS:可用其它工具编辑代码文件

2.2 编译设计电路

点击Processing>Start Compilation运行编译器,或直接点击下图按钮

在这里插入图片描述
运行完成如下图所示:

在这里插入图片描述

2.3 引脚分配

点击Assignments>Pin Planner或直接点击下图图标

在这里插入图片描述
在弹出来的页面中,依据原理图找到分别对应引脚,此处使用开发板上LED6(连接信号线为LED1_NET)代表f,sw0和sw1分别代表x1,x2;然后在location中分别输入引脚ab13/aa3/ab3按回车

在这里插入图片描述
最后点击右上角关闭页面

2.4 编程及配置FPGA文件

分配完引脚后,重新进行一次全编译

在这里插入图片描述
确认是否生成比特流文件,找到工程所在文件夹,在output_files文件夹里确认是否有light.sof文件

在这里插入图片描述
双击Program Device(Open Programmer)(双击前插上开发板,把USB-Blaster和板子电源线均插好,并打开电源开关)

在这里插入图片描述
可看到比特流文件出现,如果没有,去Add File…里自行添加
在这里插入图片描述
若显示为nohardware,点击左侧Hardware Setup,在框选位置处更改后退出
在这里插入图片描述
在这里插入图片描述
最终如图所示
在这里插入图片描述
(**补充:**如果上一步没有USB-Blaster选项,则需要安装USB-Blaster驱动程序

1、打开电脑设备管理器,找到USB-blaster,右键选择更新软件驱动程序

2、选择浏览计算机以查找

3、软件基本有自带驱动程序,文件路径一般在X:\quartus\drivers\usb-blaster

最后点击下一步即可)

点击start

在这里插入图片描述
下载成功
在这里插入图片描述

2.5 在线调试

下载完毕后即可进行电路测试,在开发板上利用sw0和sw1输入所有可能值,观察LED6的亮灭情况,判断是否与预期一致。

本次情况分析:

sw0和sw1同状态时,LED6亮,反之则灭,因为f输出低电平时灯亮,高电平时灯灭,与预期相同。

若在线调试发现与预期不符,则需要使用SINGNALTAP工具(Tools>Signal Tap Analyzer)观测内部信号
在这里插入图片描述

(具体待补充)

2.6 固化程序

由于sof文件烧录到FPGA中后,FPGA无法完成配置文件的保存,因此,在下一次上电后其内部会重新变为空白。如果不希望每

次上电后再次手动烧录配置文件到芯片内部,可以通过程序固化将文件烧录到芯片外部掉电不丢失数据的flash存储器中。

这样,每次上电后即可自动完成配置,外部存储器会自动将配置文件下载到FPGA中。

具体步骤如下:

1、打开File>Convert Programming File,在Programming file type选项中选择.jic文件格式(文件名按需要更改),然后在Configuration Device选项中选择设备配置为EPCS64,在Input files to convert一栏中选择Flash Loader后点击Add Device,

在这里插入图片描述

最后选择FPGA器件型号,选择芯片型号为EP4CE15,弹出下面窗口后点击OK

在这里插入图片描述
点击sof data,再点添加文件

在这里插入图片描述
找到sof文件

在这里插入图片描述
点击generate

弹出successfully的消息提示框以后,返回目录下看jic文件是否生成

在这里插入图片描述
重新烧录,在programmer里去掉sof文件,加载jic文件并勾选

在这里插入图片描述

点击start下载,固化完成,重新上电后自动加载文件。

小梅哥在学习Xilinx FPGA期间进行了积极的探索,特别是对Cyclone V SOC的开发流程进行了学习。从裸机到基于Linux嵌入式系统,小梅哥实现了FPGA和ARM Cortex-A9 CPU之间的双向控制和数据传输。 在代码编写方面,小梅哥设计了个名为mux2的模块,用于实现二选多路器。模块包含了输入和输出端口,并通过assign语句实现了信号的赋值。 在激励文件中,小梅哥使用reg和wire定义了输入和输出信号,并通过mux2模块进行了实例化。然后,通过initial块生成了系列的激励信号,对模块进行仿真。 总结来说,小梅哥在Xilinx FPGA学习笔记中记录了自己对Cyclone V SOC的学习、代码编写和激励文件的使用。这些学习内容对于理解FPGA开发流程以及实现特定功能非常有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [FPGA自学笔记——设计与验证VIP版.pdf](https://download.csdn.net/download/qq_30307853/11656682)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [小梅哥Xilinx FPGA学习笔记1——二选多路器](https://blog.csdn.net/weixin_42454243/article/details/122026484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值