工程师有多种职业形式,但对工程师来说最令人兴奋的职业之一就是成为一名 FPGA 设计工程师。现场可编程门阵列 (FPGA) 设计工程师的任务是设计安全可靠且可进行个性化定制的电路和产品。
FPGA 设计工程师可以创建跨多个行业的系统。这个需求旺盛的职业正在不断发展,并在世界各地提供了许多机会。然而,最成功的工程师会定期磨练自己的技能,以使其技术技能以及业务和应用技能更加全面。
以下是 FPGA 设计工程师需要的 10 项有用技能:
FPGA 设计工具
FPGA 设计工程师需要对如何创建系统以及使用行业软件和工具有深入的了解。在软件方面,设计工程师必须知道如何建模自己的设计,并通过一系列测试保证正确的运行。业界有许多这种高级建模程序,包括Matlab,Simulink,Octave,Verdi等等。
这些程序用于创建系统的数字原型、解决问题以及在电路构建之前模拟测试和应用。FPGA设计工程师不仅要知道如何使用各种软件,还要知道何时使用它并了解其背后的方法论。
FPGA 设计工程师必须非常熟练地使用这些工具,才能成功搭建原型电路,然后对其进行测试、查找故障并进行改进。这意味着他们不仅必须知道如何在狭小的空间和小型系统上使用这些工具,而且还必须知道在各种情况下使用正确的工具。
工程流程
FPGA设计工程师必须具备扎实的工程技能和知识基础,包括工程项目如何从最初的“头脑风暴”和规划阶段到最终完成并供客户使用。
设计工程师经常与许多其他类型的工程师合作,必须对每个人的专业领域有深入的了解,以了解团队如何共同努力,分担项目的责任。最优秀的 FPGA 设计工程师不会过于专注于流程中自己的部分,而是知道自己的角色如何适应更大的前景。
沟通
成功的 FPGA 设计工程师必须具备强大的书面和口头沟通能力。在整个设计和测试过程中,工程师将定期被要求向其他团队成员提供更新信息。
这些报告可以是详细的书面文件,也可以是口头更新和演示。假如系统非常复杂,就这意味着工程师需要能够清楚地传达他们正在做什么、取得了什么进展以及出现的任何问题。
如果其他人不清楚工程师所说的内容并且提出问题或做出错误的假设,则可能会大大减慢项目流程并可能导致项目发展错误。
FPGA 设计工程师必须能够使用行业术语与团队和同事进行清晰的沟通,但他们也必须能够使用更容易理解的术语向业务领导和客户清楚地展示他们的系统优势。
创造性思维
FPGA 设计既是一门艺术,也是一门科学。设计工程师通常必须跳出框框思考才能找到创造性的解决方案。仅仅重复在学校学到的知识是不够的,成功的 FPGA 设计工程师利用他们的教育和经验来创建知识基础,然后利用创造性思维以新的方式应用他们的知识。
并不要被以前所做的事情所束缚。相反,需要充满好奇心,愿意尝试新事物。FPGA 设计工程师需要具有创新精神并愿意承担风险。他们的创造力体现在设计新型系统和寻找新方法来满足客户需求。
该领域在不断发展,设计工程师需要处于技术、设计和应用的前沿。
微架构设计
FPGA 系统本质上是小型计算机,可以执行多种任务并适用于多种情况。了解微架构对于将一切放在正确的位置至关重要。
设计 FPGA 电路类似于设计房屋或城市,但规模要小得多。工程师需要能够以正确的顺序将所有组件安装在狭小的空间中,以创建功能齐全、耐用且尺寸合适的系统。
FPGA 设计工程师必须对整个系统以及各个部分如何协同工作有深入的了解。如果系统的某一部分工作不正常或失控,可能会影响整个电路。
数学
数学和工程齐头并进,特别是对于 FPGA 设计工程师而言。许多项目需要复杂的数学方程,设计工程师需要能够快速求解。
FPGA 设计工程师使用各种数学方法,从跟踪测量和进行计算来构建硬件系统,到使用算法和统计分析来跟踪费用和风险因素。
对高等数学的深入理解在该领域取得成功至关重要。
脚本编写
许多 FPGA 设计工程师职位都需要强大的脚本语言(例如 Python、Perl、TCL 和 Unix Shell)编程技能。
这些脚本程序是FPGA设计的语言。受欢迎的 FPGA 设计工程师拥有使用这些语言实现大部分 FPGA 流程自动化的实践经验。
了解脚本可以帮助设计工程师更高效地工作,从而帮助他们发现电路中的问题并更快地进行改进。
编码
FPGA 设计工程师需要对如何使用上述及更多语言进行编码有深入的了解。在大多数组织中,设计工程师在多个计算机系统中工作,需要知道如何用多种语言进行编码。
对编码的基本了解不仅可以帮助工程师创建和编程他们的系统,还可以让他们更好地理解其他工程师的角色和工作职责。
FPGA 设计工程师经常与软件团队密切合作,需要了解编码,以便他们能够清晰地沟通和协作。
注重细节
FPGA 设计工程师致力于处理具有许多细节和小部件的复杂系统。跳过系统的一个小方面或测量不精确可能会破坏整个项目的成功。
工程师还负责测试他们的系统并让它们经历一系列复杂的场景。如果工程师在进行实验、记录观察结果时没有非常注重细节,那么整个项目可能会失败。
随着时间的推移,一个被遗漏的小细节可能会变得越来越严重;随着系统的设计,对某些人来说似乎很小的问题可能会成为一个更大的问题。FPGA 设计工程师必须从一开始就有能力发现错误并纠正细节。
解决问题
在某些方面,创建 FPGA 系统就像拼出一个大谜题或解决一个巨大的方程。每个系统都是不同的,带来不同的挑战。当 FPGA 设计工程师测试他们时,经常会发现需要改进的地方才能使系统可行和成功。
工程师必须能够分解系统以发现问题并创造新的方法来解决问题。他们需要技术技能来了解系统的每个部分并查明可以改进的领域。
解决问题的技能既涉及技术技能,也涉及心态。FPGA 设计工程师必须有一种心态,将挑战视为机遇而不是障碍。设计工程师在收到负面结果时不能放弃。
他们必须能够克服失败,找到新的成功之路。解决问题可以单独完成,也可以与团队一起完成,但这是设计工程师工作的常规部分。
FPGA 设计工程是一个不断发展的领域,融合了科学、工程和设计。成功的工程师不断学习和提高他们的技能,特别是随着技术和行业的变化。
这个炙手可热的职业可以带来令人难以置信的回报,并提供大量的成长机会。要成为一名成功的 FPGA 设计工程师,请努力培养这 10 项关键技能。
原文:OpenFPGA
作者:碎碎思
相关文章推荐
- 【开源硬件】用于构建、分析和破解 USB 设备的多功能协议分析仪-Cynthion
- 用FPGA创建SoC如此容易
- 【Vivado那些事儿】动态时钟的使用
- 2D 中值滤波算法实现
- 开源的Bluespec SystemVerilog (BSV)语言表现如何?
更多FPGA干货请关注FPGA的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。