时间:2024-07-18 来源:网络搜集 关于我们 0
FPGA ,英文全称是Field Programmable Gate Array,中文名是现场可编程门阵列。FPGA是一种可以重构电路的芯片,是一款可以通过编程手段改变其功能的芯片,其具有运算速率快、逻辑可实时改变、内部为逻辑门阵列结构等特点。
它可以模拟CPU、GPU等硬件的各种并行运算,通过编程,用户可以随时改变它的应用场景。举个例子,如果你玩过水管工的游戏就会看到,各种管子、接头、三通、四通、阀门这样的零件,你需要对它们进行排列组合,让水流到需要去的地方。
02FPGA与IC设计的区别? 硬件知识-FPGA硬件知识-IC设计FPGA与IC设计的区别有哪些?
以实现A = B & C为例
01FPGA实现逻辑1、首先在FPGA内部配置资源(LUT)实现一个与逻辑的模块。
2、确定信号的输入和输出端口,即A B C的端口。
3、将端口信息和模块预留出的端口信息匹配到一起。
4、随后将需要进行与操作的信号输入,经过FPGA内部与逻辑模块的运算,得到最终的输出结果。
02IC设计的开发流程
1、首先编写代码实现A=B&C。(逻辑代码Verilog编写)
2、对代码进行验证。(发现代码中的错误,多使用systemVerilog)
3、将代码进行综合,用具体的器件库完成对网表的映射。(这里需要注意,在FPGA上映射的是资源,而在IC设计中,映射的是具体要实现的电路)
4、随后需要对映射的器件进行布局布线,并进行后仿真,查看时序。
5、最后将版图信息输出进行流片生产。
6、对流片回来的芯片进行测试,查看功能(在本例中,查看是否能实现与操作)。
代码语言要求ASIC和FPGA的开发语言区别在于ASIC的设计语言主要有Verilog和VHDL,而FPGA的设计语言主要有Verilog、VHDL和SystemVerilog。ASIC的设计语言主要是为了方便设计人员进行电路设计,而FPGA的设计语言则更加注重可编程性,可以通过修改代码来实现不同的功能。
ASIC和FPGA的区别还有很多,比如ASIC的逻辑通常远远大于FPGA的,门数上有数量级的差别,运行时钟也远远高于FPGA。而且,ASIC只有一次机会,对代码要求会更加严格,FPGA因为可以编程,所以coding的灵活性相对提高。
开发环境要求FPGA开发大多是在Windows环境下开发,一个编辑器,一个Vivado可以走到底,下载bit流到开发板。一个人全流程。
ASIC开发基本都在Linux环境下开发,编译用VCS、debug用Verdi,清lint/CDC/RDC用Spyglass等等。需要一个完整团队,才能做出一颗完美的芯片。
03FPGA的薪资与前景FPGA最初的应用领域也是传统的应用领域,通信领域,随着5G、云计算、人工智能等技术高速发展,带来了对算力规模、算力能力等需求的快速提升和异构计算的迅速发展,现场可编程门阵列(FPGA)也迎来了新的发展机会。
FPGA的未来发展趋势是很有前景的。
一直以来,半导体芯片都是国产技术的薄弱点。因为国内在这方面起步较晚,而且长期受到了国外的技术垄断和人才封锁。所以截至目前,国内对于芯片进口还存在着很深的依赖,不能完全摆脱国外技术。现在国内要发展芯片,数字前端设计的需求肯定会越来多。
目前在半导体行业中存在的最大的问题就是国内FPGA人才市场缺口大。随着这个趋势,市场对于芯片行业的相关岗位需求也在不断地增加。
招聘网站,搜索“FPGA工程师”得到如下结果,可以看到,三年的工作经验大部分月薪都有 20k 左右,也有更高的30k、40k的。
部分素材来自网络,侵删
你是否想入行FPGA?
你是否了解自己的真实水平?
你究竟和FPGA工程师还差多远?
点击下图即可跳转【FPGA入行测试题】小程序
快来答题吧!
大厂笔面试资料&简历模板
已为大家整理好
扫描下方二维码,即可免费领取
点击“阅读原文”,1v1 IC行业入行指导