
The concept of Shift Left originally came from software development.
Usually, the development flow is expressed as progressing from left to right or top to bottom, but testing and verification are mostly concentrated on the right, that is, in the latter part of the development. However, once development is complete and errors are discovered, it’s necessary to return to the development phase. This iteration leads to a significant increase in complexity, significantly increasing time and cost. Therefore, Shift Left aims to reduce development time and cost by shifting testing and verification to the left, as early as possible in development.
In semiconductor design, Shift Left is applied by shifting various verification processes, such as power, performance, timing, DFT, and security,
from the Architecture phase, which is simply Architecture → IP Design → Integration → Layout → Software.
Unlike software, where a single team handles the entire design process, semiconductor design has clearly separated areas at each stage. The concept of Shift Left can be confusing.
The key is not to shift all tasks to the left, but to prioritize or design information on the right side.
For example, while layout can’t be performed during the Architecture phase, you can consider how to efficiently conduct layout.
Functional errors previously caught through simulation during the IP Design phase can now be identified in advance through Formal Verification during the Architecture phase.
DFT design can also be performed during the IP Design phase, rather than the Integration phase.
This Shift Left reduces complexity and minimizes repetitive work, making semiconductor design complexity O(n²), which is the best case discussed in the previous column, or even lower.
What we must not forget here is that System Design can explode the complexity of the entire semiconductor design to O(2ⁿ × n⁶ × log n), which is the worst case.
Even if we shift it to the left to reduce the complexity of System Design, the complexity does not decrease significantly in a situation where information is exchanged between each design stage and P2P. A true Shift Left is possible only when the method of transmitting information to P2P is changed.
SoC Canvas moves System Design to the Architecture stage, and at the same time, it makes it possible to share information that was previously transmitted P2P through SoC Canvas.
To explain in more detail, when you draw System Design on the SOC Canvas in the Architecture stage, SOC Canvas creates output corresponding to all design areas. And instead of System Design communicating P2P with all areas as shown in the figure above, the output of System Design required for each design stage is exchanged through SOC Canvas, which appears as a true Shift Left.
It becomes possible to generate SDC or UPF, which can perform actual integration at the Architecture stage,
and it becomes possible to generate ICL and PDL, etc. by reflecting DFT structures such as OCC, SCANMUX, and DFT network in advance at the IP Design stage.
Ultimately, SoC Canvas does not just Shift Left only System Design, but also Shift Left Integration and DFT Design, and produces all necessary products at once, which leads to a practical shortening of the development period.
In this way, SOC Canvas implements a true Shift Left in SoC design, which has greatly increased in complexity,
thereby drastically reducing the task development period and cost.
Shift Left라는 개념은 원래 소프트웨어 개발에서 나온 용어입니다.
보통 개발 flow는 왼쪽에서 오른쪽, 혹은 위에서 아래로 진행되는 것으로 표현하게 되는데, 테스트와 검증은 대부분 오른쪽 즉, 개발 후반부에 몰려 있습니다. 하지만 개발을 다 마치고 오류를 발견하면, 다시 개발 단계로 돌아가게 되는데, 이 반복이 쌓이면 복잡도가 엄청나게 올라가게 되고 시간과 비용도 크게 증가하게 됩니다. 그래서 테스트와 검증을 최대한 개발 초기, 즉 왼쪽으로 옮겨서 개발 시간과 비용을 줄이자는 것이 Shift Left입니다.
반도체 설계에서의 Shift Left는,
단순화하면 Architecture → IP Design → Integration → Layout → Software 인 흐름에서 전력, 성능, 타이밍, DFT, 보안 등 다양한 검증을 Architecture 단계로 옮겨오는 방식으로 적용됩니다. 한 팀이 전체를 다루는 소프트웨어와 달리 반도체 설계는 각 단계의 영역이 명확하게 분리되어 있는데, 어떻게 Shift Left를 한다는 것인지 감이 잘 오지 않을 수도 있습니다.
핵심은 업무를 모두 왼쪽으로 옮기는 것이 아니라, 오른쪽에 있는 정보를 왼쪽에서 먼저 고려하거나 설계하는 것입니다.
예를 들어보면,
Architecture 단계에서 Layout을 진행할 수는 없지만, 어떻게 해야 Layout을 효율적으로 할지는 고려할 수 있습니다.
IP Design 단계에서 Simulation으로 잡던 기능 오류도 Architecture 단계에서 Formal Verification으로 미리 확인이 가능합니다.
DFT 설계 역시 Integration 단계에서 하는 것이 아니라, IP Design 단계에서 진행할 수 있습니다.
이런 Shift Left를 통해 복잡도를 줄이고 반복 작업을 최소화하여, 반도체 설계 복잡도를 이전 컬럼에서 얘기했던 Best 인 O(n²)으로 만들거나 그보다 더 낮출 수 있게 되는 것입니다.
여기서 잊지 말아야 할 것이 있는데, 반도체 설계 전체의 복잡도를 최악의 경우인 O(2ⁿ × n⁶ × log n)으로 폭발 시킬수도 있는 System Design 입니다.
System Design의 복잡도를 낮추기 위해 왼쪽으로 옮긴다 해도, 설계의 각 단계들과 P2P로 정보를 주고 받는 상황에서는 복잡도가 크게 줄지 않습니다. P2P로 전달되는 방식을 바꿔야 진정한 Shift Left가 가능해집니다.
SoC Canvas는 System Design을 Architecture 단계로 옮기는 동시에, P2P로 전달되던 정보들을 SoC Canvas를 통해 다같이 공유하도록 만들었습니다.
좀 더 자세히 설명하면, Architecture 단계에서 SOC canvas에 System Design을 그림으로 그리면, SOC Canvas가 모든 설계 영역에 해당하는 output을 만들어 줍니다. 그리고 위의 그림처럼 System Design이 모든 영역과 P2P 의사소통을 하는 대신, SOC Canvas를 통해 각 설계 단계에 필요한 System Design의 output을 주고 받게 되는데, 이는 진정한 의미의 Shift Left로 나타나게 됩니다.
Architecture 단계에서 실제 Integration을 수행해볼 수 있는 SDC나 UPF 생성등이 가능해지고,
IP Design 단계에서 OCC, SCANMUX, DFT network등의 DFT 구조를 미리 반영하여 ICL과 PDL등을 생성할 수 있게 됩니다.
결국 SoC Canvas는 System Design 하나만 Shift Left하는 것이 아니라 Integration과 DFT Desgin 까지 Shift Left 하면서, 필요한 모든 생성물을 한꺼번에 산출해주기 때문에 이는 실질적인 개발 기간 단축으로 이어지게 되는 것입니다.
이처럼 SOC Canvas는 복잡도가 엄청나게 증가한 SoC 설계에서 진정한 Shift Left를 구현하여,
이를 통해 과제 개발 기간과 비용을 획기적으로 줄여줍니다.