新书预告
由小梅哥编写,Intel FPGA大学计划经理推荐,骏龙科技大力支持的基于Intel SoC FPGA 器件的设计和开发教程已经上线预售,京东天猫均已上架,欢迎小伙伴围观。
前言(摘自《SoC FPGA嵌入式设计和开发教程》前言)
随着集成电路生产工艺的不断进步,芯片的含晶体管数量也不断增加。GAL、PLD、CPLD、FPGA等一系列的可编程逻辑数字集成电路相继诞生。新型架构芯片的出现,不仅得益于集成电路设计和制造工艺的进步,更离不开实际的应用需求。现代数字系统大多都朝小型化,集成化方向发展。而作为一种通用的可编程逻辑器件,FPGA以其灵活的现场可编程特性,强大的并行处理能力,在众多的性能数字系统中都有应用。
鉴于很多高性能的数字系统都离不开FPGA器件,因此为了进一步降低硬件系统的复杂度,各大FPGA厂家都推出了基于各自FPGA的软核CPU方案。通过该方案,设计者能够将原本需要通过外置CPU实现的功能,转移到FPGA芯片中使用通用逻辑搭建的软核CPU来实现,在保证系统功能和性能的前提下,简化硬件系统设计,提高系统集成度,降低维护难度。但是受限于FPGA中通用逻辑的可运行最大频率,各种软核CPU的运行频率都较低,一般不超过200MHz,再加上架构的原因,各种软核CPU的软件生态都远赶不上各种常用的单片机。因此,基于软核处理器的应用开发受到了较大的限制。
在此情形下,众多的FPGA厂商又相继推出了集成高性能ARM硬核处理器和通用可编程逻辑的新型架构芯片。这其中,就包括以Xilinx的Zynq系列为代表的全可编程芯片以及以Intel 的可编程片上系统芯片(SoC FPGA)。
无论是Xilinx的Zynq系列芯片,还是Intel的SoC FPGA芯片,两者的架构都是相似的,都是在同一个晶片上将高性能的ARM Cortex-A系列处理器和FPGA有机结合,并辅以各种常见的外设,实现完整的系统。依赖于ARM 处理器强大的开发工具链和软件生态环境,使用这一类器件进行系统设计,开发和调试的时间将被大大缩短。
得益于Intel大学计划提供的众多学习机会和学习资料,笔者从2014年底开始接触Intel的SoC FPGA,并开始了断断续续的学习。但是由于在这之前,笔者并没有任何基于Linux系统开发的基础,因此学习的过程非常的艰辛,学习的资料主要来自网络博文和一些讲解Linux开发的书籍。幸好在这个学习的过程中得到了很多朋友的无私协助,尤其是骏龙科技的工程师,也是本书的第二作者宋工,多次为我提供了最新的一手学习资料,这也才让我最终坚持了下来。
在我决定编写本书前,市面上还很难找到系统讲解Intel SoC FPGA开发的书籍,笔者作为一个草根创业者,既对该器件的开发抱有极大的兴趣,同时又受限于个人知识积累,因此学习过程本身就是一个不断试错的过程。本书从某种意义上来说,可以算做笔者学习SoC FPGA开发的学习笔记。由于笔者能力有限,虽然在写作过程中投入了大量的精力和时间,但也总会有所遗漏,若读者在阅读本书时发现任何疏漏,希望能及时反馈给我们,以便及时更正。读者可以通过本书配套的网站www.corecourse.cn留言反馈在阅读本书过程中发现的疏漏,或者在学习过程中遇到的疑惑。同时,读者也可以在该网站上以本书名作为关键词,搜索与本书相关的软硬件配套资源。