嵌入式学习者
我是在一家做视频处理芯片的公司工作,我们团队现在就在用Vitis HLS做一部分算法模块。说实话,应用挺广泛的,尤其是在你提到的AI加速和图像处理领域。
痛点就是,这些领域的算法迭代太快,用传统手写RTL,验证和修改周期太长,跟不上产品需求。HLS的核心优势就是能快速做算法探索和实现,把C/C++模型比较直接地映射成硬件。
对于求职,我的看法是:这绝对是一个很强的加分项,但前提是你的手写RTL基础必须扎实。公司招人,尤其是应届生,最看重的还是你对硬件底层(时序、面积、功耗、流水线)的理解,这是根本。HLS更像一个高级工具,让你在这个基础上如虎添翼。如果你只会HLS,但说不清楚它综合出来的电路到底什么样,遇到了性能瓶颈怎么从代码层面优化,那这个技能就有点空中楼阁。
建议你的学习路径应该是:先把手写Verilog/VHDL玩熟,做几个完整的项目,深刻理解硬件设计思想。然后再去深入学习HLS,这时候你会明白你写的每一行C代码对应着什么样的硬件结构,才能写出高质量、可综合的HLS代码。在简历上,可以把它作为一项重要的技能列出,并附上你用HLS实现过某个算法(比如图像滤波、矩阵乘法)并达到特定性能指标的项目经验,这比空谈会用什么工具有说服力得多。
总结一下,工业界在用,而且越来越多,但它不是用来替代手写RTL的,而是解决特定问题(算法密集型、快速原型)的工具。公司希望招到的是懂硬件的程序员,或者懂编程的硬件工程师,HLS技能正好契合这个需求点。
