时间:2025-02-11 来源:FPGA_UCY 关于我们 0
最近开始学习一些硬件方面的知识,如果硕士毕业自己的研究方向找不到满意的工作,自己可能就会往这方向去转,也不知道能不能行,主要是自己考研期间对数字电路这块儿比较感兴趣,所以就想学习一下FPGA相关的知识,用写帖子来当作对自己每天学到的知识的复习巩固和成果检验。
1、FPGA简介
FPGA的英文全称为Field Gate Array,即现场可编程门阵列的缩写,是一种主要以数字电路为主的集成芯片,属于可编程逻辑器件(PLD)的一种。它是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物,于1985年由创始人之一Ross 发明。因为传统的全定制电路在设计芯片的时候,芯片的硬件逻辑在出厂后就已经固定下来了,所以想要再改变其中的逻辑关系就很困难了,要想在这种已经固定好逻辑关系和功能的芯片电路结构的话就需要重新设计芯片、再流片、测试等,整个流程会很繁琐。FPGA作为专用集成电路(ASIC)领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA的一些特点:
(1)、现场可编程性:FPGA可以在使用时进行编程,而无须将芯片拆下并返回生产厂家完成编程。这意味着用户可以根据自己的需求来编写程序,并通过重新配置FPGA来实现这些功能。
(2)、高灵活性:与ASIC相比,FPGA具有更高的灵活性和可重构性。用户可以根据自己的需求动态地配置和重新连接逻辑块,从而实现不同的功能。
(3)、低延迟:FPGA的并行计算能力使得它在高性能数字信号处理应用中具有优势,能够提供较低的延迟。
(4)、丰富的资源:FPGA内部包含大量的逻辑门和可编程电路资源,如可编程输入输出单元、可配置逻辑块、数字时钟管理模块、嵌入式块RAM等。
FPGA的工作原理:
FPGA的工作原理基于可编程逻辑单元(PLU)和可编程互连资源(ICR)。PLU是FPGA中的核心部分,由逻辑块和寄存器组成。逻辑块用于执行布尔运算和逻辑功能,而寄存器则用于存储计算结果和中间变量。ICR负责连接不同的逻辑块,使得它们之间可以相互通信和交换数据。通过可编程连线互连,FPGA可以根据设计需求动态地配置和重新连接逻辑块,从而实现不同的功能。
FPGA的应用领域: 通信和网络:FPGA被广泛用于协议转换、数据包处理和网络路由等任务,能够提供更高的吞吐量和更低的延迟。汽车和航空航天:FPGA在汽车中用于实现各种驱动控制、传感器接口和车载娱乐系统等功能;在航空航天领域,FPGA被应用于导航系统、飞行控制和通信设备中。工业自动化:在工业生产线上,FPGA可以用于实现各种控制系统、传感器接口和机器视觉等功能。科学研究:FPGA在实验设备和测量仪器中也有广泛应用,能够满足科学家对实验控制和数据采集的要求。其他领域:FPGA还应用于音视频处理、智能安防系统、嵌入式系统和物联网设备等。 2、FPGA开发环境搭建
我学习FPGA用的是野火的升腾、凌云系列开发板,所以主要的开发环境选择了、、visio、++。四款软件的安装包放在如下链接里:
(1)、的安装:
1.将下载好的软件包解压缩,注意要将安装包解压到一个全英文文件夹路径中,防止后续安装出现问题。
2.随后在解压好的软件包里找到setup安装程序,右键点开“以管理员身份运行”。
3.打开安装程序后,会出现如下页面,点击“next”进入下一步。
4.接着全部勾选我同意并继续点击“next”进入下一步。
5.下面开始勾选想要安装的模块,建议勾选第三个,因为它包含了第一、二、四三个部分的全部内容,第一个只是网络模块的内容、第二个是设计模块、第三个是文档导航部分,随后继续点击“next”进入下一步。
6.这一部分我的建议是电脑内存如果充足的话就全部勾选,防止在后续学习过程中遇到一些问题。点击“next”。
7.最后一步就是选择安装的路径,这个根据个人选择确定安装在哪个路径,然后再点击“next”就可以安装了,等待安装完即可。
8.对安装好的软件进行许可证的安装,在安装完之后,会弹出一个配置的窗口,在窗口左侧点击“load ”会弹出文件打开窗口。
9.,随后在刚才解压好的软件包中找到我们的许可证文件添加进去,许可证文件在abc文件夹里,安装成功后会显示一个安装成功的窗口提示,如下图。
10.至此,软件的安装就结束了,你可以点击“view ”查看许可证获取状态。
(2)、 se 10.5的安装
详细安装教程请参考如下: SE 10.5安装教程安装教程10.5-CSDN博客
!!!:文中环境变量配置在win11系统下应该在菜单栏右键系统里面打开,随后选择高级系统设置,即可进行环境变量的配置。
(3)、visio的安装:
本人用的是版本,如需其他版本可自行下载。将下载好的软件包进行解压,随后在解压好的软件包中找到setup安装程序,右键以管理员身份运行,随后按照提示开始安装。
倘若此方法安装的visio无法激活,可以参考下面的方法:
1.进入 tool plus官方网站,地址如下:,随后点击立即下载。
2.进入下载页面后,点击“山东大学镜像站”或者“云图小镇”进行下载,二者选择其一就好,下载到相应的路径中。
3.将下载好的软件包解压缩到对应的文件夹中,找到对应的安装程序,右键点击“以管理员身份运行”。
4.进入如下页面后,点击“部署”,查看自己的部署模式是否正确,勾选上下载后再部署以及创建桌面快捷方式,并在部署页面找到产品栏目,点击“添加产品”,并选择自己想要安装的visio版本。
5.这里我选择的是专业版,然后回到上面部署那里,点击“开始部署”,在确认窗口点击是之后就开始安装了,安装时右下角会弹出检验错误,我们依旧点击“是”就好了,下面就是等待visio安装完毕。
6.安装完之后就可以打开visio了,但是此刻的visio还没有被激活,我们还是无法使用,所以我们回到刚才的 tool plus软件,打开“激活”页面,在页面的许可证管理栏下点击“安装许可证”,随后选择自己所安装版本的许可证并点击确定。
7.下面开始安装kms,kms的主机名称直接照抄即可:kms.loli.beer,随后记住点击“设置主机”,安装完成后回到最上面点击“激活”,等待弹出激活成功窗口,我们的visio就已经激活完毕,可以正常使用了。
8.最后一步,我在上文网盘链接visio文件夹中还放置了野火的visio波形工具箱,打开工具箱文件包,并将文件包下的三个文件到“文档”中“我的形状”文件夹下,随后新建visio文件,在左侧“更多形状”中的我的形状中勾选刚刚拷贝进去的文件,至此,我们在visio中就可以使用这些波形工具箱进行波形图的绘制、状态机的绘制以及框图的绘制。
(4)、++的安装:
1.这一部分是代码编辑器的安装,我是选择的野火教程里面的++来编写代码,读者们也可以使用自己熟悉的代码编辑器,例如等等。使用++的跟着下面的教程走就可以了:首先下载++的软件,下载地址如下: ++ - free - ,直接下载就行,但是下载需要挂vpn,不然下载不了,我上文网盘里也有一份,网页上下载不了的可以去网盘里面找。
2.随后双击下载好的++安装程序,点击“下一步”。
3.点击“我接受”许可证协议。
4.选择组件部分直接点击“下一步”。
5.选择创建快捷方式并进行“安装”,至此++就已经完全安装完毕。
6.为了++更适合rtl代码的编写,我们需要对软件进行一些设置,首先将++软件设置为后缀名是.v文件的默认打开程序,打开++,点击“设置”栏中的“首选项”。
在首选项页面中点击“文件关联”并选择最后一个“”,随后在文本框中输入.v,点击右边的箭头,此时就已经完成.v文件的关联。
接下来对++新建文档的格式以及编码进行设置,此处是为了防止或开发软件使用自带编辑器打开后缀为.v的文件时出现中文的乱码。点击“新建”选择“”,勾选上UTF-8和应用于打开ANSI文件。
下面是制表符的设置,目的是防止其他编辑器软件打开后缀为.v文件时出现格式的混乱,打开“语言”,制表符宽度选择4,勾选上替换为空格。
下面是自动完成的设置,此处是wile方便以后rtl代码的编写,打开“自动完成”,按照下图所示改为从第三个字符开始。
备份的设置,打开“备份”,按照下图所示取消启动文件的勾选。
自动更新的设置,打开“其他”,按照下图所示取消启动自动更新的勾选。
以上就是对++软件的基本设置,方便我们后续编写rtl代码。
那么到此为止,FPGA基本的开发环境就已经搭建好了,可以开始学习下面的内容了。关于、以及代码编辑器++三者之间的关联在另外的一篇帖子,需要的可以在我主页的FPGA栏目里面找一下。