自从赛灵思在上世纪 80 年代初期开发和推出世界首款 FPGA 后,这些用途丰富的可编程逻辑器件就成为硬件工程师的 MacGyver 万能工具。赛灵思最近发布了 SDxTM 系列开发环境(即 SDAccelTM、SDSoCTM 和 SDNetTM),使软件开发人员和系统工程师(非 FPGA 设计人员)能够利用赛灵思器件轻松创
建自己的定制化软件定义硬件,从而助力更多创意头脑实现非凡的创新技术。
介绍这些新型环境以及赛灵思及其联盟成员提供的其他软件开发资源之前,我们先来思量一下处理架构的演变及其对软件开发的影响。
这是软件问题…
2000 年以前,典型的微处理器主要由一个带有板载内存的巨型单片处理器内核和一些其他零部件组成,使 MPU 成为一种用以开发新一代应用的相对简单直观的平台。在那之前的三十年里,微处理器厂商每隔22 个月就会以摩尔定律的增长速度推出具有更高容量和性能的器件。他们会简单地以增加时钟速率的方式来提高性能。当时速度最快的单片 MPU 是英特尔奔腾 4 处理器 (Pentium 4 Pro),其极限速度刚刚超过 4GHz。这种演进对于开发人员来说非常重要,因为随着每代产品的推出,他们的程序会变得日趋复杂,能执行更细化的功能,而且程序运行速度更快。
但在 21 世纪初期,半导体行业改变了游戏规则,迫使开发人员根据一套新的规则进行调整。这种转变起始于人们意识到了如果 MPU 产业继续在新的单片 MPU 架构中提高时钟速率,那么鉴于芯片工艺技术的发展路线图以及日趋恶化的晶体管漏电流问题,MPU 将很快达到与太阳相同的功率密度。
正因为如此,MPU 产业快速向同质多处理架构转型 ;在这种同质多处理架构中,计算任务被分配给多个以较低时钟速率运行的小型内核。新的处理模型让 MPU 和半导体厂商能够继续生产新一代容量更高的器件,并将更多功能集成到单个芯片中以获得更高性能。然而,现有程序无法利用新型分布式
架构,因此软件开发人员必须想办法开发出能够跨多个处理器内核高效运行的程序。
同时,后来的几代芯片工艺技术继续使晶体管数量成倍增长,让半导体公司能够采取另一个创新举措,即将不同类型的内核集成到同一颗芯片中,创建出 SoC。这些异构多处理器架构给嵌入式软件开发人员提出了更多挑战,使软件开发人员不得不开发定制软件协议栈,让应用能够在目标系统上实现最佳运行。
如今,半导体行业又一次改变游戏规则,但这次软件开发人员则对转变持欢迎态度。面对另一个功耗窘境,半导体和系统公司正在将目光转向由FPGA 加速的异构处理架构。这种架构将 MPU 与 FPGA 紧密配合在一起,能以最小的功耗成本提高系统性能。这种新兴架构最显著的应用是用于新型数据中心处理架构中。在一篇现在著名的论文中,微软研究人员展示了在架构上将 MPU 与 FPGA 组合在一起能实现 90% 的性能提升,同时功耗仅仅增加10%,在单位功耗性能方面远远优于 MPU 与高功耗GPU 相结合而实现的架构。
通过 FPGA 加速的异构多处理架构的优势已经超出了数据中心应用范畴。赛灵思 Zynq®-7000 All Programmable SoC 器件在单芯片上完美集成了ARM 处理器和可编程逻辑,让采用该器件的嵌入式系统受益良多。使用即将推出的 Zynq UltraScale+TM MPSoC 的系统注定将会更加出色。Zynq ltraScale+
MPSoC 在单个器件中集成了多个 ARM® 内核(4 个 CortexTM-A53 应用处理器、2 个 Cortex-R5 实时处理器和 1 个 MaliTM-400MP GPU)、可编程逻辑、多级安全、更高安全性以及高级电源管理模块(如图 1 所示)。
本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念
本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“
课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了
@2003-2020 中国电子顶级开发网