Zynq MPSoC

作者:清风流云

背景:
之前在一个ASCI开发项目中有小小接触过一些新思科技的一个NVMe控制器,代码量尚可,只是由于速度及其他原因的考虑,整个部分的设计其实有时候还是比较难以考量的,而且由于流片成本及IP购买成本的问题,当时就想像如果在一款FPGA中可以直接实现这样一款高性能的PCIe NVMe控制器或许会对整个性能的把握会更好一些,而下面的Fidus Sidewinder-100系统就是一个集成的PCIe NVMe 控制系统。

Fidus Sidewinder-100 PCIe NVMe Storage Controller:

赛灵思公司(Xilinx, Inc. (NASDAQ:XLNX))今日宣布其 Zynq UltraScale+ RFSoC 系列开始发货,该系列是通过一个突破性的架构将 RF 信号链集成在一个单芯片SoC 中,致力于加速 5G 无线、有线 Remote-PHY 及其它应用的实现。基于 16nm UltraScale+ MPSoC 架构的 All Programmable RFSoC 在单芯片上集成 RF 数据转换器,可将系统功耗和封装尺寸减少最高达 50%-70%,而且其软判决前向纠错 (SD-FEC) 内核可满足 5G 和 DOCSIS 3.1 标准要求。随着芯片样片向多家客户发货, Zynq UltraScale+ RFSoC 系列早期试用计划现已启动。

用于 RF 信号链的片上系统
Zynq RFSoC 将 RF 数据转换器、SD-FEC 内核以及高性能 16nm UltraScale+ 可编程逻辑和 ARM® 多处理系统完美集成在一起打造出了一个全面的模数信号链。射频-数字信号调节与处理通常分派给不同的独立子系统中,但 Zynq UltraScale+ RFSoC 将模拟、数字和嵌入式软件设计集成到单个单芯片器件上,实现了高度的系统稳健性。该系列器件具有如下特性:

让 Linux 接收来自 PL 的自定义中断信号

作者:rickys,Xilinx

硬件连接
MPSoC 可以接收两组来自 PL 的中断信号。在 Vivado 中,可以通过 PS-PL Configuration -> General -> Interrupts -> PL to PS -> IRQ0/IRQ1 打开。


对应的硬件中断号分别是
PL PS Group 0: 121-128
PL PS Group 1: 136-143

这两组中断信号既可以与 IPI 中的 IP 的中断信号相连接,也可以和 Verilog 中的逻辑相连接。如果有多个中断源要连接到一组信号中,可以使用concat将多个信号组合成一组信号,然后连接到 IRQ。

得益于赛灵思的SDSoC开发环境,将您的软件算法部分卸载到Zynq SoC或Zynq UltraScale + MPSoC的PL(可编程逻辑)以满足系统性能要求是非常简单的。一旦您熟悉了SDSoC的数据传输选项,可以在PS和PL之间来回移动数据,您可以选择适合您的设计的最佳选择的数据移动器。然后,SDSoC的软件估算工具会显示预期的性能结果。

然而,当在实际的硅片上进行执行的最终测试时,您的系统的性能有时不符合预期,您需要发现原因和治疗方法。由于您已将软件任务卸载到PL,所以现有的软件调试/分析方法并不完全适用,因为并不是所有的处理都发生在PS中。

您需要确定出现意想不到的性能差距的原因。也许你是数据移动者的最佳选择。也许卸载的代码不是卸载到PL的好候选人。在不了解其原因的情况下,您无法解决性能问题。

您如何调查和调试基于Zynq的异构嵌入式系统的系统性能,其中部分代码在PS中运行,部分在PL中?

如果您是PL数据处理调试的世界的新人,您可能不熟悉查看PL数据流的选项。幸运的是,如果您使用SDSoC通过将其卸载到PL来加速软件任务,则有一个简单的解决方案。SDSoC具有仿真功能,用于查看使用整个系统上下文的PL硬件的模拟操作。

作者:kenshin

随着人们对计算性能需求的增加以及数据量的显著提升,嵌入式领域传统的微处理器和外设的系统架构设计显得越来越微不足道,除此之外很多应用还要求系统在满足相关行业标准的同时还需要具有可靠性和安全性。目前在单一的处理器上同时满足处理高带宽数据、执行系统应用程序、响应实时任务请求并满足行业安全标准似乎很难,因此多核异构处理器架构应运而生。一个多核异构处理系统一般由不同类型的多个单核心或多核心处理器组成,最简单的形式是由一个多核处理器和GPU组成。

图1:异构多核处理器的时代已经到来

图1:异构多核处理器的时代已经到来

视频:iVeia驾驶系统演示短片

iVEia 推出面向自动驾驶汽车的驾驶平台,该平台由 Perrone Robotics 和 Xilinx 联合开发。与高功耗标准计算架构相比,Xilinx MPSoC 异构计算技术可实现更小的外形、更低的功耗,以及高度的可扩展性,在其发展至自动驾驶汽车的过程中,适应各种新的算法。

“MAX”自动驾驶汽车软件平台可通过轻松集成实现自主驾驶操作的传感器及控制逻辑实现快速开发。Zynq MPSoC 可实现对来自 LIDAR、GPS、摄像机以及其它设备的各种数据的更快速处理,从而可带来安全、可扩展的实时响应的、高度差异化的解决方案。

当ZYNQ遇到Linux Userspace I/O(UIO)

作者:何晔 来源: Linuxer微信公众号 (微信号:LinuxDev)

作者简介:
何晔:做过学生也做过老师又做了学生后错入了IT门。接触linux也有十来个年头,辗转于各种驱动开发,无一精通。在AMD就职期间,曾提交过少量的xHCI和ACPI的patch,算是在linux内核留下点印记。现就职于Xilinx,从事与嵌入式FPGA的应用支持。FPGA的使用经验满打满算也不过半年,斗胆写下此篇分享一下经验,也是自己一个小小设计的总结。其中谬误,望指正并谅解。

装B一点可以叫《UIO在FPGA上的实现和应用》。本文出于草根,还是装C吧。

作者:清风流云

背景:
My Pappy said
Son,you’re gonna
Drive me to Dribkin’
If you don’t stop drivin’
That Hot Rod Lincoln——Commander Cody & His Lost Planet Airmen

相信大家一定听过上面这首歌,这首歌整体来说只有一个意思,那就是你需要一个自动驾驶汽车。对于很多关注机器学习或者是喜欢看美国大片的创客都对自动驾驶汽车这个概念不再陌生了,那就来说说关于自动驾驶最近的消息吧。

Perrone Robotic MAX:
在过去的14年中,Perrone Robotic一直将目光聚焦为自动驾驶汽车创建一个集成的创新平台上,这个平台允许汽车制造商快速集成多个各种各样用途的传感器和控制算法并可以应用在自动驾驶汽车上。而公司开发的MAX(Mobile Autonomous X)正是一个综合的全栈的模块化的具有实时分析能力并且可定制的可以用于自动驾驶汽车或者是专用机器人中的软件平台。

基于Zynq UltraScale+ MPSoC的自动驾驶平台MAX

作者:kenshin

近几年来自动驾驶汽车吸引很多传统汽车制造商以及新型的互联网公司参与竞争,这是传统行业与人工智能的一种结合的探索,比如我们熟悉的特斯拉、百度、福特等公司都完成了自动驾驶技术的测试,尽管自动驾驶在法律法规上的不完善,但是探索的脚步一直在前进。

Perrone Robotics公司则致力于研发自动驾驶控制平台,提供给汽车制造商实现集成各种功能的传感器和控制算法来实现自动驾驶,该公司推出的MAX(Mobile Autonomous X)平台是一个功能全面的模块化具备实时功能的自动化软件软硬件控制平台,在底特律举办的2017 TU-Automotive大会期间Perrone Robotics公司将MAX平台集成到林肯MKZ轿车上并进行了自动驾驶展示。

图1:集成了Perrone Robotics MAX平台的林肯MKZ自动驾驶汽车

同步内容