0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Zynq及Vitis HLS助力面向声音合成和声学控制的低时延技术

Xilinx赛灵思官微 来源:Xilinx赛灵思官微 2023-04-19 14:55 次阅读

音频输入到输出,现有的实时数字音频系统很难实现低于 1ms 的时延。实际上,200µs 是到目前为止可实现的最佳时延。INSA(法国)的 Emeraude 研究团队正在开发 Syfala 编译器,该编译器结合了 Faust (一种用于实时音频 DSP 的领域特定语言)和 AMD Vitis HLS,使其为音频 DSP 用户提供非常高级的音频合成工具。

Emeraude 采用基于 AMD Zynq 的FPGA 板卡、低时延音频编解码器和 Syfala 编译器,在众多简单的 DSP 程序上实现了 11µs 的低时延。这项新技术适用于声音合成和主动声学控制。

01

项目挑战

实时音频数字信号处理( DSP )已经在广泛的计算机架构上实现:采用冯・诺依曼架构的 CPU、多核 CPU、GPU、专用电路、FPGA 等。然而,实现超低时延(即小于1ms)的唯一方法是使用专用电路,如 ASIC 或 FPGA。

尽管如此,对于 DSP 程序员而言,使用 FPGA 几乎是不可能的事情,因为他们没有掌握硬件设计技能。

因此,该项目的主要挑战在于设计出一款工具,允许音频 DSP 程序员以极低时延(即小于 100µs)在 FPGA 上实现任意音频 DSP 算法

02

解决方案

采用的解决方案是将音频 DSP 语言编译器(即 Faust)的输出与 HLS 工具 Vitis HLS连接起来。Faust 编译器不仅可处理软硬件分区,而且还可隔离将在 FPGA 上实施的内核 DSP 算法,如图 1 所示。

0de1e9f6-de7b-11ed-bfe3-dac502259ad0.png

图 1:从 Faust 程序到 FPGA 的 Syfala 编译流程

Vitis HLS 用于实现该内核 DSP 的硬件,允许访问外部 DDR 内存以及使用 ARM Zynq 处理系统驱动程序的硬件控制器

INSA-LYON 的研究团队主管 Tanguy Risset 表示:“Vitis HLS 允许我们直接重复使用 Faust 编译器生成的 C++ 代码,因此从 Faust 高级规范直至 FPGA 比特流都无需经历手动设计流程。此外,Vitis HLS 与 AMD 的设计流程能够很好地集成在一起,方便我们进行硬件/软件的协同设计。”

03

设计成效

最终成效就是获得一个新的编译流程,可将任意音频 DSP 程序自动编译到基于 AMD Zynq 7000 的 FPGA 板卡(如 Digilent Zybo 或 Genesys)上。这样一来,模拟输入到模拟输出,所实现的程序的时延可低至 11µs。如此短的时延是前所未有的。该编译器是开源的,目前用于实现主动声学控制算法和 3D 音频编解码流程。

Risset 补充道:“Vitis HLS 使我们能够精确控制 IP 的时延。特别是 Vitis HLS 能够生成一个有一个样本延迟时延的 IP。这对于实现我们在模拟与模拟之间实现的时延极为重要。”

Risset 表示,Vitis HLS IP 的调度视图有助于我们了解 Vitis HLS 是如何引导并行化,以及内存访问是如何对 IP 时延产生影响的。他补充道:“这促使我们在 Faust 生成的 C++ 代码中对内存访问进行优化,这是实现低时延的必要步骤。”





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    544

    文章

    7687

    浏览量

    344392
  • FPGA
    +关注

    关注

    1603

    文章

    21328

    浏览量

    593275
  • 编解码器
    +关注

    关注

    0

    文章

    227

    浏览量

    23983
  • 编译器
    +关注

    关注

    1

    文章

    1577

    浏览量

    48627
  • HLS
    HLS
    +关注

    关注

    1

    文章

    126

    浏览量

    23686

原文标题:Zynq 及 Vitis HLS 助力面向声音合成和声学控制的低时延技术

文章出处:【微信号:赛灵思,微信公众号:Xilinx赛灵思官微】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AMD-Xilinx的Vitis-HLS编译指示小结

    内的走线就会过长,这会导致时序违规。 以下行为可能阻止或限制 Vitis HLS 可在数据流模型内执行的重叠: 在数据流区域中间读取函数输入或写入函数输出。 单一生产者使用者违例。 任务的有条件执行
    发表于 12-31 21:20

    研讨会:利用编译器指令提升AMD VitisHLS 设计性能

    AMD Vitis 高层次综合 ( HLS ) 已成为自适应 SoC 及 FPGA 产品设计领域的一项颠覆性技术,可在创建定制硬件设计时实现更高层次的抽象并提高生产力。Vitis
    的头像 发表于 12-05 09:10 225次阅读
    研讨会:利用编译器指令提升AMD <b class='flag-5'>Vitis</b>™ <b class='flag-5'>HLS</b> 设计性能

    【KV260视觉入门套件试用体验】硬件加速之—使用PL加速矩阵乘法运算(Vitis HLS

    四、硬件加速之—使用PL加速矩阵乘法运算(Vitis HLS) 前四期测评计划: 一、开箱报告,KV260通过网线共享PC网络 二、Zynq超强辅助-PYNQ配置,并使用XVC(Xilinx
    发表于 10-13 20:11

    Vitis HLS:使用任务级并行性的高性能设计

    电子发烧友网站提供《Vitis HLS:使用任务级并行性的高性能设计.pdf》资料免费下载
    发表于 09-13 17:21 0次下载
    <b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b>:使用任务级并行性的高性能设计

    Vitis HLS移植指南

    电子发烧友网站提供《Vitis HLS移植指南.pdf》资料免费下载
    发表于 09-13 09:21 0次下载
    <b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b>移植指南

    亥姆霍兹吸声原理 声学亥姆霍兹方程

    亥姆霍兹吸声原理 声学亥姆霍兹方程  亥姆霍兹吸声原理和声学亥姆霍兹方程是关于声学和声学材料的两个重要概念。本文将从吸声原理和亥姆霍兹方程的基本概念、原理和应用方面进行详细讲解,最终希
    的头像 发表于 08-29 17:05 1998次阅读

    嵌入式HLS 案例开发步骤分享——基于Zynq-7010/20工业开发板(4)

    产品上市时间。 HLS 基本开发流程如下:(1) HLS 工程新建/工程导入(2) 编译与仿真(3) 综合(4) IP 核封装(5) IP 核测试测试板卡是基于创龙科技Xilinx Zynq
    发表于 08-24 14:54

    嵌入式HLS 案例开发手册——基于Zynq-7010/20工业开发板(2)

    Vivado HLS 2017.4 、Xilinx SDK 2017.4。 测试板卡是基于创龙科技Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC
    发表于 08-24 14:44

    嵌入式HLS 案例开发步骤分享——基于Zynq-7010/20工业开发板(1)

    是基于创龙科技Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC工业级核心板。HLS 案例位于产品资料“4-软件资料\Demo
    发表于 08-24 14:40

    如何在Vitis HLS GUI中使用库函数?

    VitisHLS 2023.1 支持新的 L1 库向导,本文将讲解如何下载 L1 库、查看所有可用功能以及如何在 Vitis HLS GUI 中使用库函数。
    的头像 发表于 08-16 10:26 624次阅读
    如何在<b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b> GUI中使用库函数?

    Zynq裸机设计中使用视觉库L1 remap函数的示例

    本篇博文旨在演示如何在 Zynq 设计中使用 Vitis 视觉库函数 (remap) 作为 HLS IP,然后在 Vitis 中使用该函数作为平台来运行嵌入式应用。
    的头像 发表于 08-01 10:18 344次阅读
    在<b class='flag-5'>Zynq</b>裸机设计中使用视觉库L1 remap函数的示例

    聚焦语音 AI:在 AR 眼镜上可视化语音和声音

    音频可以包含从人类语言到非语言声音等各种声音,例如狗吠和警笛声。在为听力困难的人设计无障碍应用程序时,该应用程序应能够识别声音并理解语义。 这种技术将有助于聋哑或听力有障碍的人可视化语
    的头像 发表于 07-26 19:30 451次阅读

    Vitis 库流程:视觉 L1 重映射函数 Zynq baremetal 设计实例

    本文展示了在AMD Zynq设计中,如何用 Vitis Vision Library中的函数导出一个 IP
    的头像 发表于 07-13 17:05 360次阅读
    <b class='flag-5'>Vitis</b> 库流程:视觉 L1 重映射函数 <b class='flag-5'>Zynq</b> baremetal 设计实例

    关于HLS IP无法编译解决方案

    Xilinx平台的Vivado HLSVitis HLS 使用的 export_ip 命令会无法导出 IP
    的头像 发表于 07-07 14:14 408次阅读
    关于<b class='flag-5'>HLS</b> IP无法编译解决方案

    Snap:bit-带灯光和声音的倒数计时器

    电子发烧友网站提供《Snap:bit-带灯光和声音的倒数计时器.zip》资料免费下载
    发表于 06-20 11:23 0次下载
    Snap:bit-带灯光<b class='flag-5'>和声音</b>的倒数计时器