近来在半导体产业领域,一种新的工作职务正在崛起,其职称是“系统架构师”(systems architect)。欧洲IC设计服务咨询公司Sondrel坦言,业界越来越需要系统架构师来协调SoC设计项目的每一个层面,包括确保SoC项目符合规格并且准时且低成本。
据Sondrel设计架构主管Paul Martin解释,系统架构师就像是管弦乐队的指挥。“他或她必须对项目所需的所有技能有深刻的理解,知道这些技能在项目顺序中发挥的时机,就像指挥家所做的一样,让管弦乐团的每种乐器群分别在正确的时间演奏。”
在深入说明系统架构师一职的实质内涵之前,最重要的是知道SoC设计项目中的每个团队往往都有一个特定的用户心智模型。例如,产品经理会专注在终端用途与产品应用上。系统架构师在此的工作则是着重在功能面和执行面,并确保实现需求。
系统架构师必须能提取产品需求并有效地表达,才能让技术和非技术利害相关者无需了解过多技术细节,而能掌握产品意图并作架构选择。
SoC架构探索
系统架构师的工作从需求获取阶段开始,此阶段要辨识、制订和记录所有已知的功能与指针,包括以明确完整的提案提出效能要求。这阶段也要辨识尚未完全理解或将来可能纳入的功能。系统架构师在此阶段还必须确定并规划完成这些功能的验证与量化所需的任务。
其次,这些需求会进入分析阶段,提供设计和实施团队输入的适当构想。这个迭代过程会针对所有的功能性产生包含架构设计的规范,而其功能包括决定对于功率、效能和面积(PPA)的估计。
图1:SoC架构探索是一种严格的方法,用于获取SoC必须执行的一个或多个应用使用案例和数据流。(数据源:Sondrel)
架构分析包括架构探索、IP选择和规格、需求验证以及项目执行计划的产生并详述后期阶段的主要任务。在这里,候选架构之架构探索是关键组成要素,因为它经由对提案进行建模、评估已知或可参考的使用案例让架构设计去芜存菁。
这种做法能够动态地定义系统拓扑并提供诸如内存、总线结构和配置的数据/控制路径等资源。因此,架构探索可以评估、验证连接性、时序和效能等功能面的质量,进而对设计的正确性产生可信度。后期阶段则会采用更详细、更准确的模型来确定和修正架构实施过程中的潜在错误。
总而言之,系统架构师会检查探索活动的结果,并逐渐汇整归纳出最适合SoC的架构。然后,架构师再与产品经理沟通调查的结果,产品经理可能会决定修改需求或与系统架构师合作,进一步改善该候选SoC的架构。
系统架构师:工作描述
以上主要是针对SoC设计做初步描述(即SoC架构探索),让人一窥系统架构师的工作内涵。西门子数字工业软件公司(Siemens Digital Industries Software)资深副总裁兼IC验证解决方案总经理Ravi Subramanian表示,系统架构师需要具备一套独特的技能资格。首先是擅长在组织中跨多个层级协调的能力。
另一个重要技能是在促成SoC架构和微型架构规范上有实质的经验。根据Subramanian的说法,系统架构师必须了解需求、分析、规格、加工、建模、实施和验证/确认的周期循环。“了解工作负载分析和计算机架构效能分析也是关键所在。”
依据Arteris IP公司副总裁兼IP部署总经理Isabelle Geday的说法,担任这项职务需要具备系统导向的思维,也就是需要有整体性的做法确保所设计的系统能够成功。“系统架构师需要对设计和验证有深入的理解,并掌握目标应用与领域的各个关键层面。”同时从系统面根据其架构的定义,思考有效处理安全性、保护和效能的方法。
图2:从区块到子系统再到完整的SoC设计,都需要系统架构师直接或间接参与监督。(数据源:Sondrel)
Isabelle Geday曾经是总部位于法国巴黎的Magillem Design Services公司(已于2020年为Arteris IP收购)创办人兼首席执行官。她补充说,系统架构师应该了解目标应用领域,因为他们要推动系统需求和衍生的相关管理。因此,必须与营销团队协调合作、沟通才能订定产品管理策略,有效处理SoC的复杂性。
Geday指出,安全与保护特别重要,因为SoC目前在汽车、通信和国防上的应用越来越重要。由此产生的压力对半导体业而言是相对较新的压力;例如2018年发布的ISO 26262第11章(Chapter 11)。
因此,系统架构师一方面应该在开发过程中与安全、保护及效能的专家密切互动;另一方面,他们需要与设计及验证团队协调合作,以确保系统可行性,进而使系统付诸实现。
正如同Martin所指出的,另一个重要的考虑因素是将需求转换为建模流程所需的数字用户线(DSL)格式。因此,熟悉可产生使用案例之可执行规格与可视化的工具非常重要。
谁有资格胜任此工作?
依据Subramanian的说法,系统架构师必须对计算机系统工程、计算机架构,包括储存系统、软件和硬件有深入的了解。换句话说,系统架构师需要在定义及实施运算设备的架构方面累积10余年的经验。
系统架构师必须了解需求、分析、规格、加工、建模、实施和验证/确认的周期循环。因此,了解工作负载分析和计算机架构效能分析极其关键。
整体而言,这相当于在SoC设计流程、实施和验证的各种方法论上都积累了实质的经验。系统架构师还必须熟悉接口的工业标准规格;在功率、效能、面积(亦即PPA)的专业知识上都能均衡掌握也是重要的加分优势。
图3:在SoC设计项目的后期阶段,采用了更详细、更准确的模型来确定及修正架构实施过程中的潜在错误。(数据源:Sondrel)
正如Martin指出的,系统架构师通常是透过简报、电子表格或文件了解使用案例需求。Geday说,对此,系统架构师必须运用再利用策略将先前的设计加以发挥。“然而,定义再利用策略以因应衍生的管理,并从系统层面考虑变化性并非易事。”
这需要以系统级的表示法将现有的IP与子系统等信息加以整合,用于推导架构的定义;失效模式和影响分析(FMEA)就是一个很适当的案例。Geday说:“再利用策略需要有一致的自制或外购策略之支持。外购可节省时间而自制可获得竞争优势,同时确保最终都能符合内部与外部IP以及由此产生的SoC设计。”
系统架构师:工作分析
在充份解释系统架构师各方面的工作后,为了更加清楚起见,逐步分析这份工作的内涵也很重要。依据Subramanian的说法,系统架构师在SoC设计项目中的工作流程,典型细分如下:
需求获取:包括与产品管理部门合作以取得全面的产品需求摘要。
产品分析:这涉及建立架构设计的规范,其中包括估计功率、效能与面积。这需要全面了解如何将SoC整合到终端平台,并明确定义使用案例与软件工作负载,让SoC成功受到采用。
架构规范:系统架构师必须确保产品分析的输出或SoC架构的定义能够符合要求与使用案例的验证方法。
架构探索:包括探索、IP选择和规格、需求验证以及项目执行计划的产生,并详细阐述主要工作任务。架构设计是透过对架构提案建立模型并评估已知或可参考的使用案例来完成。因此,所有功能层面,诸如连接性、时序、效能等都要经过评估和验证,以确保设计正确性的可信度。后期阶段要采用更详细、更准确的模型,用来确定及修正架构实施期间的潜在错误。
建模:这需要开发必要的模型并改进建模方法。
实施及验证:这个阶段涵盖从区块到子系统再到SoC之实施及验证。
使用案例验证:这涉及需求阶段所定义的使用案例与工作负载的验证。
系统整合验证:这需要在系统环境的特定使用案例下验证SoC与工作负载,例如在先进驾驶辅助系统(ADAS)设计中可在SoC上运作的软件。
图4:建模能够探索未知,模型中的错误比在SoC中更容易修正。(数据源:Sondrel)
系统架构师工作的蓝图仍随着SoC的发展而演变着。然而,这项新工作的基本原则在未来仍然可能适用。同时,在人员数、工具和单次工程费用(NRE)等方面的庞大费用将更突显出SoC系统架构师重要性。
(参考原文:Systems architect: Blueprint of a new job in semiconductor industry,by Giovanni Di Maria)