前 言
全球知名的可编程逻辑元器件生产厂商——美国Xilinx公司,于2012年发布了新一代Vivado集成开发环境,使得新一代FPGA的设计环境和设计方法发生了重大变化。2014年年初,Xilinx新一代UltraScale结构的FPGA也进入量产阶段。这些都标志着未来在高性能数据处理方面(如人工智能、云计算和物联网等),FPGA将发挥越来越重要的作用。
Xilinx新一代集成开发环境Vivado突出基于知识产权(Intellectual Properity,IP)核的设计方法,更加体现系统级设计的思想,进一步增强了设计者对FPGA底层物理约束和时序约束能力,这样设计者可以尝试选择不同的设计策略,然后评估在不同策略下的最终实现结果,从中找到最佳的设计方案。
Vivado设计套件所集成的高级综合工具HLS,真正实现了从软件算法到FPGA物理硬件实现的自动转换,加速了算法模型的构建与实现过程,显著提高了设计效率,缩短了产品的上市时间,并将FPGA的设计方法从传统的基于HDL的RTL级设计提高到了基于C/C++/SystmC的高层次设计,为FPGA的设计方法带来了一场深刻的变革。
本书是在《Xilinx FPGA设计权威指南——Vivado 2014集成开发环境》(电子工业出版社,2015)的基础上,针对读者提出的意见和建议,对原书进行了大幅度修订。主要修订内容包括:
(1)采用Xilinx公司最新的Vivado 2018设计套件,书中所有的设计实例均在Vivado 2018设计套件中进行了验证。
(2)在介绍UltraScale结构时,增加了对内部单元原理和用法的进一步解释与说明,用于帮助读者能够正确地理解并掌握Xilinx FPGA底层原语的原理及使用方法,以实现RTL级上的最佳设计。
(3)在介绍第2章和第3章内容时,重新提供了设计实例,并增加了设计实例的难度,以帮助读者能够进一步学习和掌握Vivado设计套件在工程模式和非工程模式下的完整设计流程,并增加了对一些设计流程细节的说明。此外,对从用户HDL代码中生成HDL例化模板的方法进行了详细介绍。
(4)在第5章介绍IP封装和调用的内容时,增加了不包含源文件的IP封装和调用的方法。
(5)在第7章介绍Vivado调试工具时,增加了虚拟输入输出(Virtual Input Output,VIO)IP核在调试设计中的应用。
(6)在第8章介绍部分可重配置原理及实现的内容时,增加了工程模式下的可重配置实现过程,以及部分重配置控制器PRC的原理及应用。
(7)考虑Vivado HLS工具正逐渐大规模广泛应用于Xilinx FPGA设计中,因此本书大幅度增加了对HLS原理内容的介绍,使所涵盖的内容更全面。本次修订后,将HLS相关内容扩展为两章,分别介绍HLS原理和实现过程。并且,对HLS实现过程的一些细节问题进行了进一步的详细说明,并对设计实例中的一些代码和用户策略进行了修正,以满足读者对掌握HLS设计方法的要求。
参加本书编写的人员还有王中正、张艳辉和汤宗美。其中,王中正参与第3章和第6章设计实例的验证,张艳辉参与第7章设计实例的验证,汤宗美参与第8章设计实例的验证。全书由何宾统稿和定稿。
本书的修订得到Xilinx大中华区新任大学计划经理陆佳华先生和Xilinx亚太区传媒总监张俊伟女士的大力支持和帮助,他们为本书的编写提供了大量的资料和硬件设计平台。回想起来,2008年作者与Xilinx大学计划建立正式的合作关系,到今年整整十年了。在这十年间,相继得到 Xilinx公司不同技术专家的无私帮助和鼎力支持,才能使作者编写并出版一系列Xilinx FPGA方面的著作和教材,以促进该技术在中国的普及和推广,进一步提升国内相关技术的科技实力。也要感谢电子工业出版社的编辑和相关工作人员,他们的辛勤工作保证了本书的高质量出版。
由于FPGA技术发展迅速,作者水平有限,书中难免会有疏漏之处,欢迎读者批评指正。
作 者
2018年9月于北京