不想在互联网吸“寒气”?不妨试试换一个赛道!

前言

之前写了一篇文章,分享了我秋招放弃互联网,选择新的EDA赛道,最终上岸的总结。
选择新赛道这件事,大家一定要结合自身情况,慎重考虑,本文仅仅是分享上岸经验,不构成任何建议。
EDA软件开发作为一个十分冷门的方向,想自学能获得的中文资料极少,主要还是靠英文的资料。我在这个过程中也遇到了不少苦难,走了一些弯路。
这次,我梳理了我对EDA目前形成的整体认识,以及EDA软件开发需要哪些知识。
由于本人并非电子类专业,因此有些词汇我直接使用英文,防止出现错误翻译。
介绍的主要目的是建立一个大体的框架,建立整体认识,之后再慢慢补充细节。

EDA介绍

定义

EDA(Electronic Design Automation,电子设计自动化),是一个由软件,硬件和服务组成的细分市场,其目标是协助半导体器件或者芯片的definition, planning, design, implement,verification和后续制造。关于这些设备的制造主要由半导体铸造厂或者晶圆厂提供,这些高度复杂且昂贵的设备,要么由大型垂直集成半导体公司拥有和运营,要么就是作为独立的纯制造服务的提供商运营。后者已成为主要的商业模式。

EDA的作用

EDA并不直接参与芯片的制造,但它在三个方面起到了即为重要的作用。
1.用于设计和验证半导体制造过程,以此确保达到所需的性能和密度。EDA的这个部分被称为工艺计算机辅助设计( technology computer-aided designTCAD
2.用于核实一个设计,满足制造过程的所有要求。这方面的缺陷会导致成品芯片无法实现功能或功能降低;同时也会导致可靠性风险。EDA的这个部分被称为可制造性设计(design for manufacturability,DFM
3.在芯片制造完成后,现在越来越需要监控设备从 制造后测试 到 现场部署 的性能表现,以此确保设备在整个生命周期中的表现都符合预期,并确保设备没有被篡改。被称为硅生命周期管理(silicon lifecycle management, SLM)。
除此以外,与EDA密切相关的另一个细分市场是半导体知识产权(半导体IP)。这个细分市场提供了预先设计好的不同复杂性的电路,既可以直接使用,也可以定制化修改;从而简化复杂芯片的设计,降低时间成本。由于IP的使用和重用极大的依赖于EDA工具,因此,这些市场被视为一个整体。

EDA如何工作

EDA主要是软件业务,精密且复杂的功能主要从三个方面来帮助芯片的设计和制造,简述如下
1. 模拟工具:对计划的电路进行描述,并在实现之前预测它的行为
2. 设计工具:对计划的电路功能进行描述,并将实现该功能的电路元件集合在一起。既是逻辑过程(组装和连接电路元件),也是物理过程(创建将在制造过程中实现电路的互相连接的几何形状)。这个工具是以完全自动化并提供交互引导的方式交付的。
3. 验证工具:检查芯片的逻辑或物理表示,以确定最终设计的连接正确,并可以提供所需要的性能。
EDA主要是以软件形式交付的,但在需要更高性能的情况下,也会以硬件的形式进行交付。EDA的两个主要的交付工具是仿真和快速原型,属于模拟工具。

EDA工具的类型

较为详细的说明如下

模拟

仿真工具对拟议的电路进行描述,并在实现之前预测其行为。这种描述通常用标准的硬件描述语言(如Verilog或VHDL)表示。仿真工具对电路元件的行为进行不同精度的建模,并执行各种操作来预测电路的最终行为。所要求的详细程度取决于所设计电路的类型及其预期用途。如果必须处理大量的输入数据,则使用硬件方法,如模拟或快速原型。当处理器的操作系统必须针对真实场景(如视频处理)运行时,就会出现这些情况。如果没有硬件辅助的方法,这些情况的运行时间很可能是无法接受的。

设计

设计工具对拟议的电路功能进行描述,并将实现该功能的电路元件集合在一起。这个装配过程可以是一个逻辑过程,选择正确的电路元件并相互连接以实现所需的功能;比如,逻辑综合。它也可以是一个物理过程,实现硅中的电路的几何形状被组装、place and route在一起。这个过程通常被称为place and route。通过设计器,它是可交互的形式,被称为自定义布局。

验证

验证工具检查芯片的逻辑或物理表示,以确定最终设计是否连接正确,并将提供所需的性能。这里可以使用许多流程。物理验证检查相互连接的几何图形,以确保它们的放置符合晶圆厂的制造要求。这些需求变得非常复杂,可能包括超过10,000条规则。验证也可以采取将实现的电路与原始描述进行比较的形式,以确保它忠实地反映所需的功能。layout vs.schematic(LVS)就是这个过程的一个例子。芯片的功能验证也可以使用仿真技术来比较实际行为和预期行为。该方***受所提供的输入脉冲的完整性的限制。另一种方法是通过算法验证电路的行为,而不需要输入脉冲。这种方法被称为等价检查,是形式验证规程的一部分。

EDA软件开发所需的基本能力

EDA的简要介绍如上文所述;做EDA软件开发工程师,便是做上面其中之一的内容。
所需要的技术如下:
  1. 软件(c++),硬件语言(verilog
  2. 算法:较好的算法能力
  3. 最好了解EDA常用的算法
  4. 基础课程:图论,数电,数据库
  5. 英语:较好的英文文献阅读能力
目前,EDA软件开发门槛还不是很高,红色部分为必备能力黑色部分加分项

最后啰嗦一句,选择新赛道有风险,一定要结合自身情况仔细思考

祝大家早日上岸!

#秋招寒气退!退!退!#
全部评论
老哥去哪家了,我大概去华大九天
点赞 回复 分享
发布于 2022-10-02 18:07 上海
大佬校友本还是硕啊
点赞 回复 分享
发布于 2022-10-05 16:14 山东
大佬,你是相关专业的吗?转行的话,还有半年来得及吗
点赞 回复 分享
发布于 2022-10-19 21:04 四川
点赞 回复 分享
发布于 2022-10-29 10:57 山东
请问一下大佬eda方向的c++软开岗位多吗?然后一般准备什么项目会比较对口呢
点赞 回复 分享
发布于 2023-06-19 09:58 江西

相关推荐

无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
评论
4
19
分享
牛客网
牛客企业服务