Author: Majeed Ahmad
Original Content from EET Electronic Engineering Magazine
Recently, a new job title has been emerging in the semiconductor industry, known as “System Architect.” European IC design service consultancy Sondrel admits that there is an increasing need for system architects to coordinate every aspect of SoC design projects, including ensuring that SoC projects meet specifications while being delivered on time and within budget.
According to Paul Martin, the design architecture director at Sondrel, a system architect is like a conductor of an orchestra. “He or she must have a deep understanding of all the skills required for the project and know when these skills come into play in the project sequence, just as a conductor ensures that each group of instruments plays at the right time.”
Before delving into the essence of the system architect role, it is essential to understand that each team in an SoC design project often has a specific user mental model. For example, product managers focus on end-use and product applications. The system architect’s job here is to focus on functionality and execution, ensuring that the requirements are met.
A system architect must be able to extract product requirements and express them effectively so that both technical and non-technical stakeholders can grasp the product intent without needing to understand excessive technical details, thus making architectural choices.
SoC Architecture Exploration
The work of a system architect begins at the requirements gathering phase, where all known functionalities and pointers must be identified, formulated, and documented, including performance requirements presented in a clear and complete proposal. This phase must also identify functionalities that are not yet fully understood or may be included in the future. The system architect must also determine and plan the tasks required to validate and quantify these functionalities.
Next, these requirements enter the analysis phase, providing appropriate concepts for design and implementation teams. This iterative process will generate specifications that include architectural design for all functionalities, including estimates for power, performance, and area (PPA).
Figure 1: SoC architecture exploration is a rigorous method for capturing one or more application use cases and data flows that the SoC must execute. (Source: Sondrel)
Architectural analysis includes architectural exploration, IP selection and specifications, requirements validation, and the generation of project execution plans detailing the major tasks in later stages. Here, architectural exploration of candidate architectures is a key component, as it models proposals and evaluates known or reference use cases to refine architectural design.
This practice can dynamically define system topology and provide resources such as memory, bus structures, and configuration data/control paths. Therefore, architectural exploration can assess and validate the quality of functional aspects like connectivity, timing, and performance, thus establishing credibility regarding the correctness of the design. Later stages will employ more detailed and accurate models to identify and rectify potential errors during the architectural implementation process.
In summary, the system architect will review the results of the exploration activities and gradually synthesize the most suitable architecture for the SoC. The architect will then communicate the findings with the product manager, who may decide to adjust requirements or collaborate with the system architect to further improve the candidate SoC architecture.
System Architect: Job Description
The above primarily provides a preliminary description of SoC design (i.e., SoC architecture exploration), giving insight into the work of a system architect. Ravi Subramanian, Senior Vice President and General Manager of IC Verification Solutions at Siemens Digital Industries Software, states that a system architect needs to possess a unique set of skills. Firstly, they must excel in coordinating across multiple levels within an organization.
Another vital skill is having substantial experience in facilitating SoC architecture and micro-architecture specifications. According to Subramanian, a system architect must understand the cycles of requirements, analysis, specifications, processing, modeling, implementation, and validation/verification. “Understanding workload analysis and computer architecture performance analysis is also crucial.”
According to Isabelle Geday, Vice President and General Manager of IP Deployment at Arteris IP, holding this position requires a systems-oriented mindset, meaning a holistic approach to ensure that the designed system can succeed. “System architects need to have a deep understanding of design and verification and grasp all key aspects of the target applications and domains.” At the same time, they must think of effective ways to address security, protection, and performance from a system perspective based on their architecture definition.
Figure 2: From blocks to subsystems to complete SoC designs, system architects need to be directly or indirectly involved in supervision. (Source: Sondrel)
Isabelle Geday, who was the founder and CEO of Magillem Design Services based in Paris, France (acquired by Arteris IP in 2020), adds that system architects should understand the target application domain because they need to drive system requirements and related management. Therefore, they must coordinate and communicate with marketing teams to establish product management strategies to effectively handle the complexities of SoCs.
Geday points out that security and protection are particularly important, as SoCs are increasingly applied in automotive, communications, and defense sectors. The resulting pressure is relatively new for the semiconductor industry; for example, Chapter 11 of ISO 26262 released in 2018.
Thus, system architects should closely interact with experts in safety, protection, and performance during the development process; on the other hand, they need to coordinate with design and verification teams to ensure system feasibility, leading to the implementation of the system.
As Martin points out, another important consideration is converting requirements into the digital user line (DSL) format needed for modeling processes. Therefore, familiarity with tools that can produce executable specifications and visualizations of use cases is crucial.
Who is Qualified for This Job?
According to Subramanian, a system architect must have a deep understanding of computer systems engineering and computer architecture, including storage systems, software, and hardware. In other words, a system architect needs to accumulate over ten years of experience in defining and implementing the architecture of computing devices.
A system architect must understand the cycles of requirements, analysis, specifications, processing, modeling, implementation, and validation/verification. Therefore, understanding workload analysis and computer architecture performance analysis is extremely critical.
Overall, this translates to accumulating substantial experience in various methodologies for SoC design processes, implementation, and verification. System architects must also be familiar with industrial standard specifications for interfaces; having balanced expertise in power, performance, and area (PPA) is also an important advantage.
Figure 3: In the later stages of SoC design projects, more detailed and accurate models are used to identify and rectify potential errors during the architectural implementation process. (Source: Sondrel)
As Martin notes, system architects typically understand use case requirements through presentations, spreadsheets, or documents. Geday states that system architects must apply reuse strategies to leverage previous designs. “However, defining reuse strategies to respond to derived management and considering variability from a system perspective is not an easy task.”
This requires integrating existing IP and subsystems into a system-level representation to derive architectural definitions; Failure Mode and Effects Analysis (FMEA) is a suitable case. Geday says, “Reuse strategies need consistent support from in-house or outsourced strategies. Outsourcing can save time, while in-house production can gain competitive advantages, ensuring that the final design meets both internal and external IP and the resulting SoC design.”
System Architect: Job Analysis
After thoroughly explaining the various aspects of a system architect’s job, it is also essential to progressively analyze the content of this job for clarity. According to Subramanian, the workflow of a system architect in SoC design projects is typically broken down as follows:
Requirements Gathering: This includes collaborating with the product management department to obtain a comprehensive summary of product requirements.
Product Analysis: This involves establishing specifications for architectural design, including estimating power, performance, and area. It requires a comprehensive understanding of how to integrate the SoC into the end platform and clearly defining use cases and software workloads to ensure the successful adoption of the SoC.
Architectural Specifications: The system architect must ensure that the outputs of product analysis or the SoC architecture definition can meet the requirements and validation methods for use cases.
Architectural Exploration: This includes exploration, IP selection and specifications, requirements validation, and the generation of project execution plans, detailing the major tasks. Architectural design is achieved by modeling architectural proposals and evaluating known or reference use cases. Thus, all functional aspects, such as connectivity, timing, and performance, must be assessed and validated to ensure the credibility of design correctness. Later stages will employ more detailed and accurate models to identify and rectify potential errors during the architectural implementation process.
Modeling: This requires developing necessary models and improving modeling methods.
Implementation and Verification: This phase covers the implementation and verification from blocks to subsystems to SoC.
Use Case Validation: This involves validating the use cases and workloads defined in the requirements phase.
System Integration Validation: This requires validating the SoC and workloads under specific use cases in a system environment, such as software that operates on the SoC in advanced driver-assistance systems (ADAS) design.
Figure 4: Modeling can explore the unknown; errors in models are easier to correct than in SoCs. (Source: Sondrel)
The blueprint of a system architect’s work continues to evolve with the development of SoCs. However, the fundamental principles of this new job will likely remain applicable in the future. At the same time, the significant costs in terms of personnel, tools, and non-recurring engineering (NRE) expenses will further highlight the importance of SoC system architects.
IIC Shenzhen, scan to register and receive gifts