当前位置:首页 > 芯闻号 > 基础知识科普站
[导读]几乎所有的电子设计师和嵌入式系统开发人员都听过现场可编程门阵列(FPGA)。对于实际的FPGA器件,设计人员和开发人员都知道它拥有可编程架构,能够对其进行配置来而执行想要的功能,但他们的了解可能仅限于此。

几乎所有的电子设计师和嵌入式系统开发人员都听过现场可编程门阵列(FPGA)。对于实际的FPGA器件,设计人员和开发人员都知道它拥有可编程架构,能够对其进行配置来而执行想要的功能,但他们的了解可能仅限于此。同样,当涉及创建一个可以在FPGA上实现的设计时,他们可能听过硬件描述语言(HDL)和寄存器转换级电路(RTL)之类的术语,但可能并未充分理解它们的含义。

与Verilog或VHDL相似,HDL能让FPGA设计人员描述设计意图,正如软件开发人员使用C++或者C++等编程语言一样。理解HDL的方式之一就是它可以用来描述同时发生的事物,这也是现实世界中硬件工作的方式。相比之下,软件编程语言通常用于描述顺序发生的事。

同时,RTL是常用于逻辑综合引擎输入的抽象级电路。该工具将RTL转换到逻辑元件和互连网络,然后在FPGA的可编程逻辑内实现。逻辑综合引擎可以比作软件开发者的编译器,后者采用高级程序作为输入,并将其转换为由处理器执行的机器代码。

FPGA的可编程结构可用于构建硬件加速器,以低功耗执行数据处理任务。可编程结构经过配置后可创建一个或多个更适合处理决策任务的软核处理器,这些处理器还可以控制硬件加速器,包括向其提供数据并根据结果采取相应措施。

RISC-V就是这样一种处理器,它是一种开源指令集架构(ISA),可以通过开源许可免费获得。RISC-V开源硬件概念的创造者受到Linux开源软件成功的启发。RISC-V的一大优势是在各类设计实现中都有出色的软件兼容性,并且目前这些处理器的使用急剧增长。

然而,对于想要使用这种处理器的非FPGA设计人员而言,问题在于他们缺乏有关FPGA设计语言、工具和流程的专业知识。为了解决这个问题,低功耗可编程FPGA的领先供应商莱迪思半导体开发了名为LatTIcePropel™的工具,这是一款基于图形用户界面(GUI)的设计环境,任何用户(无论是否具有FPGA专业知识)都能使用它以拖放的方式快速设计基于RISC-V处理器的系统。

Propel输出的是RTL文件,可以发送到综合引擎,生成可载入FPGA的配置文件。之后软件开发人员可以在基于FPGA的RISC-V设计实现上运行他们的RISC-V可执行文件,正如在其他任何RISC-V处理器上运行一样。莱迪思为其FPGA客户免费提供RISC-VIP核。

基于FPGA的解决方案

数据处理要求有合适的计算引擎。开发者拥有诸多不同选择,包括微处理器(MPU)、微控制器(MCU)、图形处理器(GPU)、FPGA和SoC等器件。

MPU和MCU在执行决策任务时效率很高,但是在实现原始数据处理算法时,无论是处理时间还是功耗都不太理想。SoC能以最低的功耗实现最高性能,但缺点是开发起来价格昂贵、耗费资源且十分耗时,并且在此类芯片架构中实现的算法基本上都是固定无法更改的,而系统采用的协议和标准会不断变化,因此会带来很多问题。

某些数据处理任务(包括许多AI/ML算法)非常适合并行处理。FPGA的可编程架构(图1a)经配置可实现硬件加速器(HA)功能,以大规模并行方式执行任务(图1b),从而显著提高性能,同时降低功耗。

许多情况下还需要数据协处理功能,使用中央处理器(CPU)来强化硬件加速器,处理器可以执行高级决策和控制功能。不同于直接在芯片中实现的硬核CPU,FPGA的可编程架构能够实现软核CPU以及相关的总线结构(地址、数据、控制)和任何所需的外设IP功能(图1c)。

莱迪思Propel帮助设计人员快速创建基于处理器的系统

图1.结构化总线的方法广泛适用于各类应用,包括嵌入式视觉、安防和人工智能。

需要注意的是,根据FPGA器件和用户的要求,额外的可编程逻辑功能和外围通信功能(例如USB、MIPI、I2C、SPI、CAN和UART)可以通过硬核和/或软核实现。文章篇幅有限此处不作赘述。

使用软核CPU有诸多优点,包括能够配置处理器的操作及许多可选功能,如动态内存访问(DMA)控制器,从而对其精确调整,高效地满足目标应用的要求。此外,如有需要,可以配置可编程结构实现其他外设IP功能。如在人工智能应用中,可以使用可编程逻辑资源来创建简单的人工神经网络,用于推理之类的任务。

RISC-V

如前所述,RISC-V是基于已有的精简指令集计算机(RISC)原则的开源指令集架构,可通过开源许可获得。此外,许多公司目前提供支持RISC-V的RISC-V硬核或开源操作系统,并且几种主流的软件工具链均支持该指令集。

RISC-V的模块化设计包括基础指令集和其他的扩展指令集。在行业、技术界和教育机构的共同努力下,两者已得到长足的发展。基础指令集规定了指令(及其编码)、控制流、寄存器(及其大小)、存储器和寻址、逻辑(即整数)操作以及辅助功能。仅基础指令集就能实现具有全面软件支持(包括通用编译器)的通用计算机。

还可以通过可选拓展指令集实现额外功能,从而让设计人员灵活选择其应用所需的功能。RISC-V定义了许多扩展指令集,包括A(原子)、F(单精度浮点)、D(双精度浮点)、Q(四精度浮点)和C(压缩的16位指令以减少代码尺寸,用于存储空间有限的系统)。上述指令集均可灵活选择。

莱迪思Propel帮助设计人员快速创建基于处理器的系统

图2.莱迪思是首个支持RISC-V的基于闪存和SRAM的FPGA供应商。

与作为专用处理器的硬核实现相比,基于FPGA的软核RISC-V拥有的巨大优势在于FPGA可重新配置的巨大潜力能够满足各种扩展需求。

莱迪思RISC-V软核IP套件拥有32位RISC-V处理器核以及可选的定时器和可编程中断控制器(PIC)子模块。该CPU核支持RV32I指令集、外部中断和符合JTAGIEEE1149.1规范的调试。

定时器子模块是一个64位实时计数器,它将实时寄存器与另一个寄存器进行比较以触发定时器中断。PIC子模块最多将八个外部中断输入聚合为一个外部中断。处理器核通过使用行业标准的32位AHB-L总线接口访问子模块寄存器。

莱迪思Propel

许多嵌入式系统的设计人员都对使用FPGA很感兴趣,但是一想到要使用传统的FPGA设计工具和HDL就望而却步。为了解决这一问题,莱迪思Propel采用了基于图形用户界面(GUI)的设计环境,任何用户(无论是否具有FPGA专业知识)都能使用其拖放的设计方式快速构建和配置基于RISC-V处理器的设计。

Propel输出的是使用VerilogHDL语言的RTL文件,可以将其发送到综合引擎,生成可载入FPGA的配置文件。该配置文件可用于莱迪思CrossLink™-NX(面向嵌入式视觉应用)、Certus™-NX(通用FPGA)以及MachXO3D™和Mach™-NXFPGA(安全系统控制)系列产品。FPGA配置完成后,软件开发人员可以在基于FPGA的RISC-V设计实现上运行他们的RISC-V可执行文件,正如在其他任何RISC-V处理器上运行一样。

莱迪思Propel帮助设计人员快速创建基于处理器的系统

图3.Propel界面直观、易于使用、功能强大。

除了拖放IP实例化,PropelBuilder还能自动进行引脚连接,通过向导配置和设置参数以及采用按构造逐步校正进行IP集成。

其次是莱迪思PropelSDK(软件开发套件),可提供无缝的软件开发环境。它拥有行业标准的集成开发环境(IDE)和工具链。SDK还为PropelBuilder定义的系统提供软件/硬件调试功能以及软件库和板级支持包(BSP)。

需要注意的重要一点是,Propel可以很好地对接下游工具,并且它也是一个独立的程序,且其大小仅为0.5GB,可以快速轻松地下载和安装。同样令人感兴趣的是,Propel的所有命令都可以用Tcl编写,从而提高了设计效率并将其快速集成到用户自己的设计环境中。

莱迪思Propel帮助设计人员快速创建基于处理器的系统

图4.无论是简单的“HelloWorld”应用还是复杂的嵌入式控制和数据处理系统,Propel都能让用户快速完成设计

对于硬件设计,Propel是那些需要FPGA优势但缺乏FPGA硬件设计经验的团队的理想选择。此外,如果团队成员确实具有FPGA设计经验,那么他们还可以根据需要对设计做更为精确的控制。对于软件设计,Propel提供行业标准的C/C++开发环境。软件开发人员似乎更多地使用现成的微控制器。

设计人员可以使用Propel在CrossLink-NX、Certus-NX和Mach-NXFPGA中快速轻松地生成基于RISC-V软软核的处理器系统,从而提供复杂的视频处理、系统控制和系统安全功能,其延迟远远低于通过外部独立处理器实现的设计。

总结

除了拥有以低功耗执行高性能数据处理任务的逻辑功能和硬件加速器外,FPGA内部的可编程架构还可用于实现一个或多个更适合决策任务的软核处理器,以及用于诸如硬件加速器之类的控制功能,包括向它们提供数据并根据结果采取措施。

RISC-V就是这样一种处理器,它是一种开源指令集架构(ISA),可以通过开源许可免费获得。莱迪思是首个支持RISC-V以及为其FPGA客户免费提供RISC-VIP核的基于闪存和SRAM的FPGA供应商。

对于想要使用这种处理器的非FPGA设计人员而言,问题在于他们缺乏有关FPGA设计语言、工具和流程的专业知识。为了解决这个问题,莱迪思提供了Propel来简化设计流程,让开发人员能够快速设计基于RISC-V处理器的系统。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭