初步了解了下强悍的FPGA

时间:2023-02-03 09:49:33

今天去了趟学校,正好遇到一个师兄,看他正在调一个FPAG的板子,我就好奇了下,他在工作单位就是做FPAG项目的,很牛的,嘿嘿

 

ASK: 你在FPGA上用什么语言编程?

ANS: verilog

 

ASK: 那verilog编程语言是什么样的呢?跟C语言相似吗?

ANS: 你过来看下我的过程文件,所以我就跑过去了

        哦,还真的挺相似,首先编译环境就很相似,然后粗看了下,里面有存在函数,函数声明。其实不能讲函数,应该说模块。

       每个模块同样有输入参数,应该是面向对象的编程了,里面也存在if else 等语句

 

ASK: 你现在这块板子做的是什么?

ANS: 一个转接板,相当于把前端的传感器数据通过这块板输入到上位机,自己做了个数据包传送的格式。

 

ASK: 那你这里面有哪些模块呢?

ANS: 串口,AD转换,时钟发生器PLL,led显示,按键驱动

 

ASK: 那你怎么实现这些模块的呀?是不是FPGA上也像单片机集成了这些基本的模块,比如UART

ANS: 不是的,FPAG就像一张白纸,上面没有这些模块,UART是我自己写出来的,不仅串口,AD模块也是我自己写出来的

 

ASK: AD模块你怎么写?我知道单片机上对于AD的控制都是基于寄存器操作的

ANS: 这就是FPGA的特点之一,你可以自己实现AD模块,相当于自己创造AD的一些寄存器,当然可以简单也可以复杂,类似于有的MCU上

        集成的AD模块,通过FPGA可以做出AD的操控功能

 

ASK: 你这个片子什么来头?

ANS: actel公司的,我板子上的这个片子就要120几块钱

 

 

ASK: 这个FPGA成本真高的,一般用在什么领域呢

ANS: 基站类设备啊,军用设备啊,工业级的设备等等

 

ASK: 那FPGA和单片机比到底有什么优势呢?

ANS:灵活啊,可以并行处理;举个列子吧,市面上的8位 ,16位,32位 MCU,还有DSP,还有ARM等等使用FPGA都可以模拟出来,相当于

       你使用FPGA自己做了个IC。再举个简单的例子,你的项目需要很多串口,比如要30路,市面上可没有专门的这种多路UART的IC提供,而使   用FPGA就可以自己灵活的创造串口。(说道这,我流口水了)

 

 

ASK:这么强悍啊,那不是可以自己做IC卖了?

ANS: 可以这么说,很多IC公司都是在FPGA上设计模拟芯片的,在确定好后就可以封装成专门的IC芯片出售

       很多IC设计公司都招FPGA人才的?(我又感慨,高端技术啊)

 

 

后记:真是不问不知道,一问吃惊不小。

         有那个时间精力,我一定搞个FPGA开发板玩玩