数字系统初学者
简单直接说几点考量:
1. 任务划分原则:低延迟、高确定性的前段处理(如抗混叠滤波、数字下变频)放PL;需要高吞吐矩阵/向量运算的(如自适应波束成形算法中的样本协方差矩阵计算、QR分解)放AI Engine;PS负责非实时任务,如算法参数更新、系统状态监控。
2. 通信瓶颈与优化:AI Engine和PL间通信带宽足够,但延迟和效率取决于设计。优化策略:使用AI Engine的缓存(tile memory)和DMA进行高效数据搬运;在PL和AI Engine间采用“生产者-消费者”流水线模式,避免停滞;尽可能在AI Engine阵列内部完成计算,减少与PL的数据交换次数。
3. 非技术因素至关重要:一是“工具链”,Vitis和AI Engine开发环境较新,可能存在未知bug,需预留充足的调试时间。二是“长期支持与可靠性”,确认所选Versal型号的长期供货承诺,并评估其软错误率(SER)是否满足航天级要求。三是“知识储备”,团队是否具备异构编程(Python/C++ for AIE, HLS/Verilog for PL)的综合能力。四是“合规性”,注意技术出口管制(如ITAR)对开发工具和IP的可能限制。
