首页 > 新能源汽车

为信号处理平台选择正确的硬件配置

来源:新能源汽车网
时间:2023-03-06 17:07:17
热度:

为信号处理平台选择正确的硬件配置软件无线电或通信调制解调器等信号处理系统的质量取决于所选硬件平台的性能。早期的设计探索使设计人员能够在寄存器传输级 (RTL) 和软件可用之前深入了

软件无线电或通信调制解调器等信号处理系统的质量取决于所选硬件平台的性能。早期的设计探索使设计人员能够在寄存器传输级 (RTL) 和软件可用之前深入了解实现挑战、增强性能和功耗的架构决策以及硬件/软件分区。

此外,早期的设计探索有助于架构设计决策,有助于规划当前和未来的需求。设计人员可以进一步扩展设计探索以进行故障分析并确定测试用例以进行验证。

本文介绍了系统级建模和仿真方法,用于在设计流程的早期为软件定义无线电或高速通信调制解调器构建信号处理平台。

问题 
大多数复杂系统(例如高速信号处理平台)都会经历昂贵的设计迭代。超过 70% 的时间迭代是由于不正确的设计决策或对需求的误解。此外,还有许多因素会影响此类复杂系统。其中一些是低处理延迟、低功耗、可配置性和资源限制。早期的设计探索有助于克服这些问题。

设计师和建筑师遵循多种方法来进行设计探索和分析。尽管分析方法提供了有关坏情况执行时间的重要信息,但大多数范围不会发生在现实生活中。物理测试方法可以提供准确的信息,但不适用于 SDR 或高速通信调制解调器等复杂系统。

解决方案 
离散事件仿真使设计人员和架构师能够在更短的时间内评估具有成百上千个用例、任务调度和系统配置的目标系统。离散事件建模和仿真不仅有助于构建极其复杂的仿真模型,还使架构师和设计师能够运行广泛的用例和概率集。

此外,硬件架构组件和框架的预构建和验证库的可用性有助于建模软件架构。它们提高了系统模型的准确性并减少了构建仿真模型的时间。

这种方法允许设计者

专注于结果的分析和解释,而不是构建模型。

通过使用应用程序配置文件运行模拟来探索平台选择,从而优化产品架构;硬件与软件决策;外围设备与性能;以及在目标架构上的软件线程分布。

解决方案实施 
本文介绍了信号处理平台的设计探索。设计探索的目的是捕获处理延迟、现场可编程门阵列 (FPGA) 缓冲区要求、数据包长度对性能的影响以及硬件平台配置的识别。可以进一步扩展探索,以了解每个信号处理功能的资源利用率,例如峰值查找、相关器、加权乘法和累加器。

离散事件仿真模型使用以下组件:

四个 5 MHz 的 ADC 通道。

数据包长度为 512 和 1024 字节。

233 MHz 的 FIFO。

深度为 1024 的缓冲区。

FPGA 初始时钟速度为 125MHz。FPGA 时钟速度可以变化以满足延迟要求。

运行频率为 167 MHz 的外部 DDR 内存。

ADSP TS201 运行频率为 260MHz。

使用 VisualSim Architect 的预建可配置库以图形方式构建模型。处理器、内存、FPGA 资源、总线和互连使用 VisualSim“SystemResource”库模块进行建模。模数转换器 (ADC) 被建模为流量发生器,并负责生成 5MHz 的数字样本。

在这个系统探索中,我们考虑了每个功能的抽象细节。通过集成 matlab/simulink/C/C++ 模块,可以利用这些细节来创建精细模型。对于每个函数,我们都考虑了系统生成器中运行的现有 Verilog 代码的时序值和标准发布值。加权输入的总和被转发到数字信号处理器进行显示处理和浮点 FFT,然后将数据写入帧缓冲区进行显示。

所提出的系统平台框图如图1所示,VisualSim仿真模型如图2所示。


图 1. 系统框图(:Mirabilis Design 项目提供)


图 2. 信号处理平台的 VisualSim 模型(:Courtesy Mirabilis Design 项目)

分析和 
该模型在两个人小时内构建完成,仿真在具有 4 GB RAM 的 2.6 GHz Microsoft Windows 10 平台上运行,模拟了 900.0 毫秒的实时时间。VisualSim 用了 25 秒的挂钟时间来完成模拟。

探索的重点是根据数据包大小和捕获功率与性能的权衡来实现算法处理截止时间。

继续第2页>>

分析 1 
此探索将缓冲区深度视为“数据包长度”大小的两倍,并期望 512 字节数据包长度的信号处理延迟低于 20 毫秒。

图 3 中显示的模拟显示处理延迟为 24.52 毫秒。这表明在 FPGA 上实现的信号处理功能需要更多的周期来处理。克服这一挑战的解决方案是提高 FPGA 的时钟速度或修改算法。我们决定提高 FPGA 的时钟速度作为初步解决方案。


图 3. 处理延迟图(:Courtesy Mirabilis Design 项目和分析)


图 4:系统功耗(:Mirabilis Design 项目提供)

通过不断的探索,我们发现通过将FPGA时钟速度从125 MHz提高到170 MHz,系统满足20 ms的延迟要求。我们发现平均功耗(6.2 瓦)仅增加了 1.1 瓦。

延迟图如图 5 所示,功耗图如图 6 所示。


图 5. 处理延迟(:Courtesy Mirabilis Design 项目)


图 6. 系统功耗(:Mirabilis Design 项目提供)

考虑到增加数据包长度支持的需求的可能性,我们通过将数据包长度从 512 字节增加到 2048 字节来扩展系统分析。我们发现功耗没有显着变化。但是,实现的处理延迟为 76 毫秒,而预期延迟为 20 毫秒或更短。的系统平均功耗为 7.8 瓦。


图 7. 处理延迟(:Courtesy Mirabilis Design 项目)

我们还查看了某些函数的缓冲区占用情况。对于所有上述场景,表 1 中显示的每个函数的数据包数缓冲区占用率是相同的。这表明算法实现未优化以支持数据包大小的变化,并且如果设计需要可变数据包大小,则实现也不可行。

功能数据包数中的缓冲区计数
寻峰/预处理4 * 数据包大小
相关器4 * 数据包大小
加权乘法3 * 数据包大小
1 * 数据包大小

表 1:缓冲要求

分析 2 
在此探索过程中,我们为每个 ADC 通道的每个功能建模专用资源。

我们查看了处理延迟图和平均功耗图来评估系统配置。

处理延迟如图 8 所示,平均系统功耗如图 9 所示。


图 8. 处理延迟(:Courtesy Mirabilis Design 项目)

由于每个 ADC 通道的每个功能都有专用的 FPGA 资源,与分析 1 中所示的平均系统功耗相比,系统的功耗显着增加。但是平均端到端延迟低于 10.8 毫秒,峰值延迟为 11.1 毫秒.


图 9. 平均功耗(:Mirabilis Design 项目提供)

这表明,如果为每个 ADC 通道考虑专用 FPGA 资源,即使在较低的 FPGA 时钟速度下也可以满足性能要求。

不利的一面是,我们注意到 FPGA 资源需求更多,平均功耗也增加了 100%。

结论 
通过建模和仿真进行的早期设计探索验证了实现信号处理算法的硬件能力和效率。这确保所选架构具有足够的处理能力,以满足当前和未来在系统性能、功率和可靠性方面的要求。使用 VisualSim 进行性能建模使我们能够估计资源需求、性能和功率统计数据以做出设计决策。

在我们的研究中,我们发现通过“分析 - 1”,系统架构师可以做出平衡系统性能和功耗的设计决策。“分析 - 2”表明,即使时钟速度较低也可以实现系统性能,但需要更多的 FPGA 资源和几乎 100% 的功率要求。