侵权投诉

采用FPGA协处理器实现算法加速教程

FPGA设计论坛 2021-09-28 10:38 次阅读

当今的设计工程师受到面积、功率和成本的约束,不能采用GHz级的计算机实现嵌入式设计。在嵌入式系统中,通常是由相对数量较少的算法决定最大的运算需求。使用设计自动化工具可以将这些算法快速转换到硬件协处理器中。然后,协处理器可以有效地连接到处理器,产生“GHz”级的性能。

本文主要研究了代码加速和代码转换到硬件协处理器的方法。我们还分析了通过一个涉及到基于辅助处理器单元(APU)的实际图像显示案例的基准数据均衡决策的过程。该设计使用了在一个平台FPGA中实现的一个嵌入式PowerPC。

协处理器的意义

协处理器是一个处理单元,该处理单元与一个主处理单元一起使用来承担通常由主处理单元执行的运算。通常,协处理器功能在硬件中实现以替代几种软件指令。通过减少多种代码指令为单一指令,以及在硬件中直接实现指令的方式,从而实现代码加速。

最常用的协处理器是浮点单元(FPU),这是与CPU紧密结合的唯一普通协处理器。没有通用的协处理器库,即使是存在这样的库,将依然难以简单地将协处理器与一个CPU(例如Pentium 4)连接。Xilinx Virtex-4 FX FPGA拥有一个或两个PowerPC,每个都有一个APU接口。通过在FPGA中嵌入一个处理器,现在就有机会在单芯片上实现完整的处理系统。

带APU接口的PowerPC使得在FPGA中得以实现一个紧密结合的协处理器。因为频率的需求以及管脚数量的限制,采用外部协处理器不大可行。因此可以创建一个直接连接到PowerPC的专用应用协处理器,大大地提高了软件速度。因为FPGA是可编程的,你可以快速地开发和测试连接到CPU的协处理器解决方案。

协处理器连接模型

1. CPU总线连接

处理器总线连接加速器需要CPU在总线上移动数据以及发送命令。通常,单个数据处理就需要很多的处理器时钟周期。因为总线仲裁以及总线驱动的时钟是处理器时钟的分频,所以会降低数据处理速度。一个与总线连接的加速器可以包含一个存储器存取(DMA)引擎。在增加额外的逻辑情况下,DMA引擎允许协处理器工作在位于连接到总线的存储器上的数据块,独立于CPU。

2. I/O连接

与I/O连接的加速器直接连接到一个专用的I/O端口。通常通过GET或PUT函数提供数据和控制。因为缺少了仲裁、控制复杂度降低以及连接器件较少,因此这些接口的驱动时钟通常比处理器总线更快。这种接口的一个较好的例子如Xilinx Fast Simplex Link(FSL)。FSL是一种简单的FIFO接口,可以连接到Xilinx MicroBlaze软核处理器或Virtex-4 FX PowerPC。与处理器总线接口中的数据移动相比,通过FSL移动的数据具有较低的延时和更高的数据速率。

3. 指令流水线连接

指令流水线连接加速器直接连接到CPU的计算内核。通过与指令流水线连接,CPU不能识别的指令可以由协处理器执行。操作数、结果以及状态直接从数据执行流水线向外传递,或接收。单个运算可以实现两个操作数的处理,同时返回一个结果和状态。

作为一个直接连接的接口,连接道指令流水线的加速器可以用比处理器总线更快的时钟驱动。Xilinx通过APU接口实现这种协处理器连接模型,对于典型的双操作数指令,在数据控制和数据传输上可以缩减10倍的时钟周期。APU控制器还连接到数据缓存控制器,通过它可以执行数据加载/存储操作。因此,APU接口能在每秒内移动数百兆字节,接近DMA速度。

I/O连接加速器或指令流水线连接加速器可以与总线连接加速器结合起来。在增加额外的逻辑条件下,可以创建一个加速器,这个加速器运行在一个位于总线连接存储器上的数据块上,通过一个快速、低延时的接口接收命令并返回状态。

在本文中介绍的C-HDL工具组可以实现总线连接和I/O连接加速器,它还能实现连接到PowerPC的APU接口的加速器。尽管APU连接是基于指令流水线的,C-HDL工具组实现了一种I/O流水线接口,该接口具有I/O连接加速器的典型性能。

FPGA/PowerPC/APU接口

FPGA允许硬件设计工程师利用单芯片上的处理器、解码逻辑、外设和协处理器实现一个完整的计算系统。FPGA可以包含数千到数十万的逻辑单元,可以从这些逻辑单元实现一个处理器,如Xilinx PicoBlaze或MicroBlaze处理器,或者可以是一个或者更多的硬逻辑单元(如Virtex-4 FX PowerPC)。大量的逻辑单元使你可以实现数据处理单元,这些单元与处理器系统一起工作,由处理器对其进行控制或监控

FPGA作为一种可重复编程的单元,允许你在设计过程中进行编程并对其进行测试。如果你发现了一个设计缺陷,你可以立即对其进行重新编程设计。FPGA还允许你实现硬件运算功能,而这在以前的实现成本是很高的。CPU流水线与FPGA逻辑之间紧密结合,这样就可以创建高性能软件加速器。

图1的模块框图显示了PowerPC、集成的APU控制器以及一个与之相连的协处理器。来自高速缓存或存储器中的指令可以立即出现在CPU解码器和APU控制器上,如果CPU能识别指令,则运行这些指令。

否则,APU控制器或用户创建的协处理器可以对指令做出应答并执行指令。一个或者两个操作数被传递到协处理器,并返回一个结果或状态。APU接口还支持用一个指令发送一个数据单元。数据单元的大小范围从一个字节到4个32位的字。

c718629c-1fbe-11ec-82a8-dac502259ad0.jpg

图1:PowerPC、集成的APU控制器和协处理器

通过一个结构协处理器总线(FCB),可以将一个或多个协处理器连接到APU接口。连接到总线的协处理器范围包括现存的内核(例如FPU)到用户创建的协处理器。一个协处理器可以连接到FCB用于控制和状态运算,并连接到一个处理器总线,实现直接存储器数据块访问以及DMA数据传递。一种简化的连接方案,例如FSL,也可以在FCB和协处理器之间使用,在牺牲一定性能的条件下实现FIFO数据和控制通信。

为展示指令流水线连接加速器的性能优势,我们采用一个处理器总线连接FPU首先实现了一个设计,然后采用APU/FCB连接的FPU实现设计。表1总结了两种实现方式下有限脉冲响应(FIR)滤波器的性能。如表1中所反映的一样,连接到一个指令流水线的FPU使软件浮点运算速度增加30倍,而APU接口相比于总线连接FPU来说改善了近4倍。

c75f6458-1fbe-11ec-82a8-dac502259ad0.jpg

表1:未加速与加速的浮点性能

C代码转换到HDL

采用C到HDL的转换工具将C代码转换到HDL加速器是一种创建硬件协处理器的高效方法。图2所示以及下面详述的步骤总结了C到HDL转换的过程:

c7a9f72a-1fbe-11ec-82a8-dac502259ad0.jpg

图2:C-HDL设计流程

使用标准C工具实现应用程序或算法。开发一种软件测试向量(test bench)用于基线性能和正确性(主机或台式电脑仿真)测试。使用一种编译器(例如gprof)来开始确定关键的函数。

确定是否浮点到定点转换适当。使用库或宏来辅助这种转换,使用一个基线测试向量来分析性能和准确性。使用编译器来重新评估关键函数。

使用C到HDL转换工具(如Impulse C),在每个关键功能上重复,以实现:将算法分割成并行的进程;创建硬件/软件进程接口(流、共享存储器、信号);对关键的代码段(例如内部代码循环)进行自动优化和并行化;使用桌面电脑仿真、周期准确的C仿真以及实际的在系统测试对得到的并行算法进行测试和验证。

使用C到HDL转换工具将关键的代码段转换到HDL协处理器。

将协处理器连接到APU接口用于最终的测试。

Impulse:C到HDL转换工具

如图3所示的Impulse C通过结合使用C兼容库函数与Impulse CoDeveloper C代码到硬件的编译器,使嵌入式系统设计工程师能创建高度并行的、FPGA加速的应用。Impulse C通过使用定义完好的数据通信、消息传递和同步处理机制,简化了硬件/软件混合应用设计。Impulse C提供了C代码(例如循环流水线处理、展开和运算符调度)的自动优化以及交互式工具,允许你对每个周期的硬件行为进行分析。

c7f209ac-1fbe-11ec-82a8-dac502259ad0.jpg

图3. Impulse C

Impulse C设计用于面向数据流的应用,但是它也具有足够的灵活性来支持其他的编程模型,包括使用共享存储器。这一点很重要,因为基于FPGA不同的应用具有不同的性能和数据要求。在一些应用中,通过块存储器读和写在嵌入式处理器和FPGA之间转移数据是有意义的;在其它的情况下,流传数通信信道可能提供更高的性能。可以快速建模、编译和评估可选的算法的能力对于实现某个应用最佳的结果来说,非常重要。

到目前为止,Impulse C库包含以新数据类型和预定义的函数调用形式的最少C语言扩展。使用Impulse C函数调用,你可以定义多个并行程序段(调用进程),并使用流、信号和其他机制描述它们的互连。Impulse C编译器将这些C语言进程转换并优化成:可以综合到FPGA的较低级HDL,或可以通过广泛存在的C交叉编译器编译到支持的微处理器上标准C(带相关的库调用)。

完整的CoDeveloper开发环境包括与标准C编译器和调试器(包括微软公司的Visual Studio和GCC/GDB)兼容的台式电脑仿真库。使用这些库,Impulse C程序设计工程师能编译和执行他们用于算法验证和调试目的的应用程序。C程序设计工程师还能检验并行进程,分析数据移动,并利用CoDeveloper Application Monitor解决进程到进程的通信问题。

在编译时,Impulse C应用的输出是一组硬件和软件源文件,用于输入到FPGA综合工具。这些文件包括:

用于描述编译硬件进程的自动产生的HDL文件;

用于描述连接硬件进程到系统总线所需的流、信号和存储器组件的自动产生的HDL文件;

自动产生的软件组件(包括运行时间库)用于建立任何硬件/软件流连接的软件端;

附加文件,包括脚本文件,用于输入产生的应用程序到目标FPGA布局布线环境。这种编译进程的结果是一个完整的应用,包括需要的硬件/软件接口,用于在基于FPGA的编程平台上实现。

设计实例

图4所示的Mandelbrot图是一种经典的不规则几何图形,该图形广泛用在科学和工程学界用于仿真无序事件,例如天气。不规则图形也用于产生纹理和在视频显示应用上成像。Mandelbrot图像描述为自相似性。放大图形的局部,可以获得类似于整个图形的另外一个图形。

c8357b74-1fbe-11ec-82a8-dac502259ad0.jpg

Mandelbrot图形是硬件/软件协同设计的理想选择,因为它具有单个运算密集的函数。通过将关键的函数转移到硬件实现将大大地增加整个系统的速度,使这个关键函数更快。Mandelbrot应用还能清楚地区分硬件和软件进程,使用C-HDL工具很容易实现。

本文使用CoDeveloper工具组作为C-HDL工具组用于该设计实例,而且只修改了软件Mandelbrot C程序以使其与C-HDL工具兼容。其中的改变包括:将软件项目分割成不同的进程(顺序执行的独立单元);函数接口转换(硬件到软件)到流;增加编译器指令来对产生的硬件进行优化。我们随后使用CoDeveloper工具组来创建Pcore协处理器,将该协处理器输入到Xilinx Platform Studio(XPS

)。利用XPS,我们将PC连接到PowerPC APU控制器接口,并测试系统。

Xilinx公司的应用说明资料XAPP901中提供了该设计的全面描述和设计文件,并提供下载。同时,用户指南UG096提供一种实现设计实例的逐步设计指导。

我们对Mandelbrot图像纹理问题、图像滤波应用和三倍DES加密的性能改善进行了测量

本文小结

受功率、尺寸和成本的约束,你可能需要做出一个并非理想的处理器选择,通常所选择处理器性能比期望的性能低。当软件代码不能运行足够快时,协处理器代码加速器成为一种很有吸引力的解决方案。你可以在HDL中手动设计加速器或使用C-HDL工具自动将C代码转换成HDL。

使用Impulse C这样的C-HDL工具能使加速器运行更快且更简单。Virtex-4 FX FPGA具有两个嵌入式PowerPC,能实现处理器指令流水线到软件加速器之间紧密的连接。如上所述,关键的软件程序增加速度10倍到30倍,使300MHz的PowerPC提供等于或高于高性能GHz级处理器的性能。上面的实例每个只需要几天的时间来产生,显示了采用C-HDL流程的快速设计、实现和测试

编辑:jq

原文标题:如何采用FPGA协处理器实现算法加速

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

2021 OPPO开发者大会:OPPO满足开发者需求

2021 OPPO开发者大会:OPPO满足开发者需求 2021 OPPO开发者大会上介绍了开发者需求....
的头像 璟琰乀 发表于 10-27 14:40 73次 阅读
2021 OPPO开发者大会:OPPO满足开发者需求

MCU基础

1.CPU的基本结构和运行机制一个基本的MCU的结构图如下所示。主要由处理器CPU,存储器Memor....
发表于 10-27 14:36 3次 阅读
MCU基础

特斯拉Q3财报显示利润率高出天际,赚钱不靠“卖碳”了

10月22日,特斯拉如期公布了Q3财报,虽然马斯克没有出席财报会议,但这次会议带来的信息足以震撼各大....
的头像 电子发烧友网 发表于 10-27 10:41 96次 阅读

阿里云展示阿里自研的云芯片倚天710

10月19日,在2021云栖大会主论坛上,阿里云智能总裁、达摩院院长张建锋在演讲过程中正式向外界展示....
的头像 电子发烧友网 发表于 10-27 09:34 111次 阅读

oppo开发者大会2021时间表

2021 OPPO开发者大会于10月27日在上海举办,在OPPO开发者大会上,将为开发者和创作者分享....
的头像 lhl545545 发表于 10-27 09:25 84次 阅读

两个网络相关的开源项目详解

今天介绍两个(only two)网络相关的开源项目。 Alex的verilog-ethernet之前....
的头像 OpenFPGA 发表于 10-27 09:20 56次 阅读
两个网络相关的开源项目详解

怎样向DS1302时钟芯片写入数据和读取数据呢

怎样向DS1302时钟芯片写入数据和读取数据呢?
发表于 10-27 07:55 0次 阅读

请问网络中IP数据报传输的过程是怎样的?

请问网络中IP数据报传输的过程是怎样的?
发表于 10-27 07:03 0次 阅读

请问一下FPGA+STM32开发板怎么样?

请问一下FPGA+STM32开发板怎么样?
发表于 10-27 06:45 0次 阅读

CPU,MPU,MCU,SOC的区别

1、CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。CP....
发表于 10-26 17:06 3次 阅读
CPU,MPU,MCU,SOC的区别

易路:PeopleAnalytics的发展趋势及对HR的启示

本文由易路人力资源科技特邀作者Jeff Luo原创 作者简介:罗粤海Jeff,英国杜伦大学 (Dur....
的头像 话说科技 发表于 10-26 14:29 114次 阅读
易路:PeopleAnalytics的发展趋势及对HR的启示

FPGA MCU FSMC通信接口——NAND Flash模式

FPGA MCU通信——异步接口(仿NAND Flash)FPGA MCU通信——异步接口MCU侧开....
发表于 10-26 11:51 9次 阅读
FPGA MCU FSMC通信接口——NAND Flash模式

关于SOC和MCU的区别

1、CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。CP....
发表于 10-26 11:21 9次 阅读
关于SOC和MCU的区别

一体成型功率电感MWSA-S/MWLA-S新品发布

概要 顺络一体成型功率电感MWSA-S/MWLA-S系列,产品目前涵盖了4.4*4.2 mm-17.....
发表于 10-26 10:30 402次 阅读
一体成型功率电感MWSA-S/MWLA-S新品发布

浅析C++基础语法梳理之网络编程中Socket

Socket Linux Socket 编程(不限 Linux) Socket 中的 read()、....
的头像 C语言编程学习基地 发表于 10-26 10:10 211次 阅读
浅析C++基础语法梳理之网络编程中Socket

浅析C++基础语法之计算机网络中传输层(TCP&UDP)

运输层 协议: TCP(Transmission Control Protocol,传输控制协议) ....
的头像 C语言编程学习基地 发表于 10-26 10:07 114次 阅读
浅析C++基础语法之计算机网络中传输层(TCP&UDP)

如何将python打包后的exe还原成py

用到的工具 pyinstxtractor.py 拆包(解压)工具,将exe文件解压成一个文件夹 un....
的头像 马哥Linux运维 发表于 10-26 09:56 116次 阅读
如何将python打包后的exe还原成py

如何抓住这种需求激增所带来的物联网市场机会

  随着技术的发展,连网设备的数量正在迅速增加。事实上,据估计,目前每秒钟有 127 台新设备连接到....
的头像 物联网智慧城市D1net 发表于 10-26 09:10 316次 阅读

如何使用FPGA控制其输出正弦波?

如何使用FPGA控制其输出正弦波?
发表于 10-26 08:04 0次 阅读

如何通过FEDOT将AutoML用于时间序列数据?

如何通过FEDOT将AutoML用于时间序列数据? 如何通过时间序列预测的现实世界任务了解FEDOT的核心正在发生什么? ...
发表于 10-26 07:37 0次 阅读

简谈CPU、MCU、FPGA、SoC芯片异同之处

大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖....
发表于 10-25 17:51 33次 阅读
简谈CPU、MCU、FPGA、SoC芯片异同之处

CPU、MPU、MCU、SoC、MCM介绍

写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自....
发表于 10-25 17:06 10次 阅读
CPU、MPU、MCU、SoC、MCM介绍

FPGA扇出太多引起的时序问题

1.扇出太多引起的时序问题。 信号驱动非常大,扇出很大,需要增加驱动能力,如果单纯考虑驱动能力可以尝....
的头像 FPGA设计论坛 发表于 10-25 16:30 477次 阅读

FPGA verilog HDL实现中值滤波

发表于 10-25 15:37 101次 阅读

《嵌入式 - 嵌入式大杂烩》一文搞懂CPU、MPU、MCU、SOC的联系与区别

1 CPUCPU(Central Processing Unit),是一台计算机的运算核心和控制核心....
发表于 10-25 13:21 13次 阅读
《嵌入式 - 嵌入式大杂烩》一文搞懂CPU、MPU、MCU、SOC的联系与区别

MCU和CPU有什么区别?

MCU(Micro Controller Unit),又称单片微型计算机(Single Chip M....
发表于 10-25 10:21 14次 阅读
MCU和CPU有什么区别?

四大方向、三大新品,奉加微电子带你走向智能家居的未来

在本次论坛中奉加微分享了未来市场前景四大发展方向,分别为Matter,超低功耗BLE,算力提升,方案....
的头像 西西 发表于 10-25 09:43 1433次 阅读
四大方向、三大新品,奉加微电子带你走向智能家居的未来

如何选择异常检测算法

异常检测(也称为离群点检测)是检测异常实例的任务,异常实例与常规实例非常不同。这些实例称为异常或离群....
的头像 Imagination Tech 发表于 10-25 09:15 154次 阅读

什么是操作系统?操作系统有哪些作用

计算机是由哪几大单元组成的? 什么是操作系统?操作系统有哪些作用?...
发表于 10-25 07:56 0次 阅读

PMON目录结构解析

argets目录是由哪些部分组成的? 与CPU相关的一些宏定义有哪些? ...
发表于 10-25 07:55 0次 阅读

MCU与CPU有哪些区别

什么是MCU? MCU与CPU有哪些区别?
发表于 10-25 07:25 0次 阅读

单片机MCU和CPU有什么区别

单片机MCU和CPU有什么区别? 为什么要从51单片机学起? 单片机和嵌入式有何关系? ...
发表于 10-25 06:51 0次 阅读

华为开发者大会2021HDC——如何在NPU上进行端侧推理

2021年10月22日~24日,华为将在中国松山湖举行2021华为开发者大会,聚焦鸿蒙系统、智能家居....
的头像 汽车玩家 发表于 10-23 15:34 264次 阅读
华为开发者大会2021HDC——如何在NPU上进行端侧推理

华为开发者大会2021智能硬件开发—正确的数据分级分类

2021年10月22日~24日,华为将在中国松山湖举行2021华为开发者大会,聚焦鸿蒙系统、智能家居....
的头像 汽车玩家 发表于 10-23 15:21 157次 阅读
华为开发者大会2021智能硬件开发—正确的数据分级分类

华为开发者HarmonyOS零基础入门:UI组件设计开发实践

华为开发者HarmonyOS零基础入门:UI组件设计开发实践之图库应用介绍,应用数据加载显示模型图片....
的头像 lhl545545 发表于 10-23 10:58 202次 阅读
华为开发者HarmonyOS零基础入门:UI组件设计开发实践

华为开发者HarmonyOS零基础入门:系统能力调用示例

华为开发者HarmonyOS零基础入门:系统能力调用示例,修改组件属性页面加载参数接收数据连接,优化....
的头像 lhl545545 发表于 10-23 10:44 221次 阅读
华为开发者HarmonyOS零基础入门:系统能力调用示例

一文解析FPGA在数字电源控制器的应用思路

1 引言在信息技术高速发展的今天,电子系统数字化已经成为有目共睹的趋势,从传统应用中小规模芯片构造电....
发表于 10-22 19:36 8次 阅读
一文解析FPGA在数字电源控制器的应用思路

Zynq-7000的PL端功能动态设备树使用方法

目录前言————31动态设备树生成————41.1生成硬件描述文件————41.2导入设备树源码——....
发表于 10-22 18:48 3次 阅读

Zynq-7010/7020|邮票孔核心板规格书

核心板简介创龙科技SOM-TLZ7x-S是一款基于XilinxZynq-7000系列XC7Z010/....
发表于 10-22 18:47 4次 阅读

分布式锁三个属性和两大类

“分布式锁”这个问题快被说烂了,奈何笔者实在没有找到一个满意的答案,故记录自己寻找答案、总结的过程。....
的头像 数据分析与开发 发表于 10-22 17:30 291次 阅读

埋点实践过程中遇到的一些问题

埋点本身现在已经有太多的集成解决方案,神策、诸葛IO、GIO,但是在实践的过程中仍然还是会碰都很多问....
的头像 数据分析与开发 发表于 10-22 16:33 245次 阅读

华为开发者大会2021概念股

华为2021开发者大会举行在即。根据华为官网消息,华为2021开发者大会将于10月22日在东莞松山湖....
的头像 ss 发表于 10-22 11:56 454次 阅读

探究支持数据转发和基于FPGA的图像处理卸载的图像采集卡

单输入至四输入的CoaXPress 2.0图像采集卡,支持数据转发和基于FPGA的图像处理卸载 用于....
的头像 广州虹科电子科技有限公司 发表于 10-22 10:46 2434次 阅读

支持数据转发和基于FPGA的图像处理卸载的图像采集卡

单输入至四输入的CoaXPress 2.0图像采集卡,支持数据转发和基于FPGA的图像处理卸载 用于....
的头像 广州虹科电子科技有限公司 发表于 10-22 10:38 838次 阅读
支持数据转发和基于FPGA的图像处理卸载的图像采集卡

思迈特软件Smartbi:数据看板搭建的常见错误分析

但在实际工作中,由于拉新、留存、转化分别由市场、产品、运营三个部门负责,用户增长数据分隔在三个部门的....
发表于 10-22 10:37 37次 阅读

北明软件参加华为开发者大会2021

据消息,北明软件参加华为开发者大会2021,北明软件将通过“软件定义世界,数据驱动未来”愿景,全方位....
的头像 lhl545545 发表于 10-22 09:31 315次 阅读

NVIDIA为轻量级地图和精确感知提供高性能计算

NVIDIA DRIVE Orin为轻量级地图和精确感知提供高性能计算。 自动驾驶卡车需要减轻绘制地....
的头像 NVIDIA英伟达企业解决方案 发表于 10-22 09:26 193次 阅读

NVIDIA加速虚拟人项目渲染与推理效率

腾讯AI LAB致力于打造产学研用一体的 AI 生态,主要的研究方向包括计算机视觉、语音识别、自然语....
的头像 NVIDIA英伟达企业解决方案 发表于 10-22 09:12 207次 阅读

华为开发者大会受益公司有哪些

华为2021开发者大会举行在即,根据华为官网消息,华为2021开发者大会将于10月22日在东莞松山湖....
的头像 ss 发表于 10-21 17:51 700次 阅读

AndesBoardFarm提供SoC工程师透过远程在线FPGA开发板探索RISC-V处理器

晶心科技于今日宣布推出「AndesBoardFarm」,一个可以提供SoC设计人员从自己的计算机远程....
发表于 10-21 17:26 1508次 阅读
AndesBoardFarm提供SoC工程师透过远程在线FPGA开发板探索RISC-V处理器

稳中求进实力强横的欧美系MOSFET有哪些

电子发烧友网报道(文/李宁远)时至今日,大至功率变换器,小至内存、CPU等各类电子设备核心元件,无不....
的头像 电子发烧友网 发表于 10-21 15:30 220次 阅读

基于FPGA的百变逻辑设计

FPGA方案 随着一款产品在研发阶段的日渐成熟,实现的功能也日趋复杂化和多样化,对产品功能实现重定义....
的头像 润欣科技Fortune 发表于 10-21 15:11 185次 阅读
基于FPGA的百变逻辑设计

一文快速带你理解RTL与LUT之间的关系

Quartus II EDA工具进行综合 布局布线后,点击“Chip Planner”,Chip P....
的头像 OpenFPGA 发表于 10-21 14:35 222次 阅读
一文快速带你理解RTL与LUT之间的关系

浅析数据分析之指标设计

数据指标,并不是数据分析和业务同学的专属模块。日常会用到数据指标的,还包括开发(比如机器资源利用率,....
的头像 数据分析与开发 发表于 10-21 14:27 219次 阅读

嵌入式开发中常用的几种通信接口总结

关注、星标公众号,直达精彩内容在嵌入式系统中,板上通信接口是指用于将各种集成电路与其他外围设备交互连....
发表于 10-21 11:21 16次 阅读
嵌入式开发中常用的几种通信接口总结

嵌入式系统的分类与组成

一、嵌入式系统分类(1) 嵌入式微处理器(EMBEDDED MICROPROCESSOR UNIT,....
发表于 10-21 10:21 11次 阅读
嵌入式系统的分类与组成

数据分析如何中看又中用?送你一套方案大大提升工作效率

相信大多数永洪BI的用户都和我有着同一个苦恼,报告做得越来越复杂后,要找到某个组件变难了。只能点击到....
发表于 10-21 10:16 94次 阅读
数据分析如何中看又中用?送你一套方案大大提升工作效率

嵌入式软件运行流程详述

1. 上电复位、板级初始化阶段• 嵌入式系统上电复位后完成板级初始化工作。• 板级初始化程序具有完全....
发表于 10-20 21:06 8次 阅读
嵌入式软件运行流程详述

TMS320VC5501 定点数字信号处理器

TMS320VC5501(5501)定点数字信号处理器(DSP)基于TMS320C55x™DSP生成CPU处理器内核。 C55x™DSP架构通过增加并行性和全面关注降低功耗来实现高性能和低功耗。 CPU支持内部总线结构,该结构由一个程序总线,三个数据读总线,两个数据写总线以及专用于外设和DMA活动的附加总线组成。这些总线能够在一个周期内执行最多三次数据读取和两次数据写入。并行,DMA控制器可以独立于CPU活动执行数据传输。 C55x™CPU提供两个乘法累加(MAC)单元,每个单元能够进行17位×17位乘法运算。单循环。额外的16位ALU支持中央40位算术/逻辑单元(ALU)。 ALU的使用受指令集控制,提供优化并行活动和功耗的能力。这些资源在C55x CPU的地址单元(AU)和数据单元(DU)中进行管理。 C55x DSP代支持可变字节宽度指令集,以提高代码密度。指令单元(IU)从内部或外部存储器执行32位程序提取,并为程序单元(PU)排队指令。程序单元解码指令,将任务指向AU和DU资源,并管理完全受保护的管道。预测分支功能可避免执行条件指令时的管道刷新。 5501外设...
发表于 10-09 14:55 395次 阅读
TMS320VC5501 定点数字信号处理器

TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP411设备是一个带有内置本地温度传感器的远程温度传感器监视器。远程温度传感器,二极管连接的晶体管通常是低成本,NPN或PNP型晶体管或二极管,是微控制器,微处理器或FPGA的组成部分。 远程精度为±1 °C适用于多个设备制造商,无需校准。双线串行接口接受SMBus写字节,读字节,发送字节和接收字节命令,以设置报警阈值和读取温度数据。 TMP411器件中包含的功能包括:串联电阻取消,可编程非理想因子,可编程分辨率,可编程阈值限制,用户定义的偏移寄存器,用于最大精度,最小和最大温度监视器,宽远程温度测量范围(高达150°C),二极管故障检测和温度警报功能。 TMP411器件采用VSSOP-8和SOIC-8封装。 特性 ±1°C远程二极管传感器 ±1°C本地温度传感器 可编程非理想因素 串联电阻取消 警报功能 系统校准的偏移寄存器 与ADT7461和ADM1032兼容的引脚和寄存器 可编程分辨率:9至12位 可编程阈值限...
发表于 09-19 16:35 348次 阅读
TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器

TMP468器件是一款使用双线制SMBus或I 2 C兼容接口的多区域高精度低功耗温度传感器。除了本地温度外,还可以同时监控多达八个连接远程二极管的温度区域。聚合系统中的温度测量可通过缩小保护频带提升性能,并且可以降低电路板复杂程度。典型用例为监测服务器和电信设备等复杂系统中不同处理器(如MCU,GPU和FPGA)的温度。该器件将诸如串联电阻抵消,可编程非理想性因子,可编程偏移和可编程温度限值等高级特性完美结合,提供了一套精度和抗扰度更高且稳健耐用的温度监控解决方案。 八个远程通道(以及本地通道)均可独立编程,设定两个在测量位置的相应温度超出对应值时触发的阈值。此外,还可通过可编程迟滞设置避免阈值持续切换。 TMP468器件可提供高测量精度(0.75°C)和测量分辨率(0.0 625°C)。该器件还支持低电压轨(1.7V至3.6V)和通用双线制接口,采用高空间利用率的小型封装(3mm×3mm或1.6mm×1.6mm),可在计算系统中轻松集成。远程结支持-55°C至+ 150°C的温度范围。 特性 8通道远程二极管温度传感器精度:±0.75&...
发表于 09-18 16:05 255次 阅读
TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器