当前位置:首页 > 新闻资讯 > FPGA之家动态 >

你不孤独!我的FPGA之旅!

时间:2024-08-07      来源:网络搜集 关于我们 0

(1)初识FPGA

什么是FPGA(Field Programmable Gate Array)? 直译过来是现场可编程门阵列,真要细说,可写好几本书(不是我能写的,市面上已经有很多了)。就简单认为可以用软件的方式,将一个它设计成需要的电路,这样的一种集成电路。FPGA就是块橡皮泥,什么硬件电路都能模仿,万用IC,你想捏成什么样随你,捏的不行,可以重新再捏。随便在浏览器的搜索框或者头条里输入“FPGA”,就能看到无数的前辈给出的定义、解释、说明......,而且它能做什么,今后的前景如何,都能仁者见仁,智者见智地得到很多答案,我就不在这里班门弄斧了。

其实FPGA一路发展过来,从原来的简单的粘合逻辑,到现在的全可编程片上系统,FPGA的发展确实很深了。主流的玩家就那么几家,Xilinx的器件贵又好,但设计套件软件(ISE或高级的Vivado)相比Altera(被Intel收购了)的软件Quartus II好像差一点,我自己了解不深,就发现软件Quartus II可以图形化给出状态机的迁移图,但ISE/Vivado只是文本?提到的公司名字,不是广告,只是自己用过的。这两家已经占据市场大部分份额了,国产化要加油!抱歉,国产的FPGA也有了,自己完全没接触过,有机会一定要支持国产的。

最开始用Xilinx的Spatran3E写了个NAND Controller(真的象个CPU,可以读指令,简单计算/比较,支持指令的各种跳转),辛苦得很,后来用到了ZYNQ7020,简直被吓呆了。抄段网上的别人的描述“每一颗Zynq-7000系列的处理器都包含了双核的Cortex™-A9处理器,整个处理器的搭建都以处理器为中心,而且处理器子系统中集成了内存控制器和大量的外设,使Cortex™-A9的核在Zynq-7000中完全独立于可编程逻辑单元,也就是说如果暂时没有用到FPGA的部分,ARM处理器的子系统也是可以独立工作,这与以前的FPGA处理器有本质区别,是以处理器为中心。另外在可编程逻辑部分是紧密的与ARM的处理单元相结合。FPGA的部分用于扩展子系统,有丰富的扩展能力,有超过3000 个内部互联,提供的带宽非常丰富。此外在IO整件方面,FPGA的优点是IO可以充分自定义,可以在FPGA部分提供集成高速的串行口,执行多种串行标准。”简单地说,有Arm内核(PS)和诸多外设,可以将FPGA部分(PL)当成外设,用硬件描述语言(Verlog等)将PL部分的FPGA设计成自己要的外设,由PS的Arm来控制,形成一个完整的系统。这个系统可以是裸机(没有操作系统,称为standalone),也可以移植Linux、RTOS等系统以实现更强大的功能。

当然,根据自己的需要选择合适的才是正道。写个呼吸灯的话,ZYNQ就太大才小用了。但用Spatra3E写个tcp server 就太费劲了吧。还得软硬件结合起来有效率。

话说要电路设计,就使用Verilog吧,和C语言比较接近,资料也多。要学FPGA,确实需要一块开发板来边学习边验证。选什么板子好呢,为避嫌,不写名字,可以给我私信推荐喔。真心喜欢他家的,资料全,视频更新多,又免费。当一拿到资料,全部学一遍,费时费力又不容易增强自信心,建议先按部就班完成流水灯实验,完成设计输入到板级验证,对开发流程有个了解后,根据工作需要,逐步学习相应的模块。在今后的更新里,计划将设计的NAND Controller的过程慢慢整理出来和大家共勉。

刚提到了NAND,它是什么鬼?其实我们常用的U盘里的存储介质就是NAND(NAND Flash)。上网查一下,又有很多的介绍。上个图,前东家的大牛们写的很不错的书。说实话,除了小学数学课本外,这是我能比较理解地看完了的为数不多的一本了!惭愧!

对于NAND,细说也是很长的故事。生产3DNAND的有名的长江存储,大家可能很熟悉吧。那个前东家 东芝/Sandisk(已经变成 Kioxia/WD了)的产品大家也应该很熟悉吧。国内还有几家,特别是前东家,Fab less 设计公司,结合国内代工的两家龙头企业,发力2D NAND的国产化,现在发展势头无可限量!

对于NAND Flash,下集再做进一步分解!

另外,报告个我的NAND Controller设计进展,实现多DUT同测了,下面感受一下。(咦,怎么不能上视频呢?只好给图了)


注明:本内容来源网络,不用于商业使用,禁止转载,如有侵权,请来信到邮箱:429562386ⓐqq.com 或联系本站客服处理,感谢配合!

用户登陆

    未注册用户登录后会自动为您创建账号

提交留言