Skip to main content
SOC Canvas
The story of how SOC Canvas came to be (2/2)

September 13, 2024

 

Let’s think a little more about what conditions are needed to build good infrastructure to eliminate and optimize inefficiencies that arise from additional development .

First, analysis is needed.
For example, in a city, it is necessary to analyze how much population there will be, how much population flow will there be, how much water and sewage will be needed according to this, how much transportation such as buses and subways will be needed, how to configure the traffic control system, what the commuting hours will be, and when there will be a lot of people.
In SOC design, it is necessary to analyze which system’s clock should be fast, whether there is a clock system that is too slow, which system has the most traffic, how much power the system consumes, whether there is data duplication, whether the IO system or buffer is sufficient, etc.
Even when working with big tech companies, there is no special method for these analyses.
Based on experience, the structure is determined at the level of drawing a picture and calculating it simply in Excel. Of course, the final verification process is done through simulation.

Second, optimization according to the analyzed results is necessary.
After conducting this system analysis, a design is required.
However, it is always too difficult to match the architecture and design.
The architecture is drawn as a picture and various parameters are entered in Excel. However, the design process is closer to the process of arbitrarily interpreting the pictures above and converting them into code.

What’s the problem with this? Isn’t the process of converting architecture into an actual product in all industries discontinuous?
In architecture, a beautiful sketch must go through various conversion processes to become a building. In urban construction, a beautiful city landscape must go through various conversion processes to become a city.

However, the problem lies in speed and complexity.
If we express the actual design process including various SOC design stages, it becomes a complex process as shown in the figure below. While cities and buildings take 5 to 10 years to design, semiconductor design must be completed within a year. Excluding the actual implementation, layout, and fabrication periods, it must be completed within about 6 months.
Actual chips contain hundreds of billions of gates according to Moore’s Law.
According to Moore’s Law, the number of transistors in a semiconductor doubles every two years, which means that the complexity of the chip increases exponentially. Because of this, there are only a few companies in the world that can design an optimized system for a chip within 6 months, and even these companies are struggling due to increasingly complex designs.

We need a different method.


덧대고 추가하며 개발되어 발생한 비효율을 제거하고, 최적화하기 위해,
인프라를 잘 건설하려면, 어떤 조건들이 필요한지 조금 더 고민해보겠습니다.

일단 분석이 필요합니다.
도시를 예를 들면, 인구가 얼마나 될지, 얼마나 인구 유동이 있을지, 여기에 따라서 상하수도는 얼마나 필요할지, 버스나 지하철등 교통편은 얼마나 필요할지, 교통 관제 시스템은 어떻게 구성할지, 출퇴근 시간은 어떻게 될지, 사람이 언제 많이 몰리는지 등에 대한 분석이 필요합니다.

SOC설계에서도,
어느 시스템의 클럭이 빨라야 하는지, 너무 느린 클럭 시스템은 없는지, 어느 시스템에 가장 트래픽이 많이 몰리는지, 시스템의 파워 소모가 얼마인지, 데이터의 중복성은 없는지, IO시스템이나, 버퍼등은 충분한지 등에 대한 분석이 필요합니다.
이러한 분석들은 빅테크 회사들과 일해봐도, 별다른 방법이 없습니다.
경험에 의해서, 그림을 그리고 엑셀로 간단하게 계산하는 레벨에서 구조를 정하게 됩니다. 물론 최종적으로 시뮬레이션을 통해 확인하는 작업을 거치게 됩니다.

두번째로 분석된 결과에 맞는 최적화가 필요합니다.
이렇게 시스템 분석을 진행했으면, 이에 따른 디자인이 필요합니다.
근데, 항상 아키텍처와 디자인을 맞추는 작업을 하는 것이 너무 어렵습니다.
아키텍처는 그림으로 그리고, 다양한 파라미터들을 엑셀로 기입해서 넣습니다. 하지만, 디자인을 하는 작업은 위의 그림들을 임의로 해석해서, 코드로 변환하는 과정에 가깝습니다.

이게 뭐가 문제지? 모든 업종이 아키텍처가 실제 제품으로 변환되는 과정은 다 불연속적인거 아니야? 라고 생각할 수 있습니다.
건축도 아름다운 스케치가 건축물로 변하기 위해서는 다양한 변환 과정을 거쳐야 하니까요. 도시건설도 아름다운 도시의 조경도가 도시로 변하기 위해서는 다양한 변환 과정을 거쳐야 합니다.

하지만, 문제는 속도와 복잡도에 있습니다.
다양한 SOC 설계 stage를 포함하여 실제 설계가 진행되는 과정을 표현하면 아래 그림과 같이 복잡한 프로세스가 됩니다. 도시와 건축물은 5년에서 10년까지의 기간이 걸리지만, 반도체 설계는 이러한 작업을 1년 안에 해내야 합니다. 실제 Implementation, layout, fabrication등의 기간을 제외하면, 거의 6개월 안에 해내야 합니다.
실제 칩은 무어의 법칙에 의해서 수백억 게이트가 들어가고 있습니다.
무어의 법칙에 의하면, 반도체에 들어가는 트랜지스터 수는 2년마다 2배로 증가하고, 이는 곧 칩의 복잡도 증가가 기하급수적으로 이루어 진다는 의미입니다. 이렇기 때문에, 칩의 최적화 시스템 설계를 6개월 안에 할 수 있는 회사는 전세계에 몇개 없고, 이러한 업체들조차 점점 더 복잡해지는 설계로 인해서, 어려움을 겪고 있습니다.

우리에게는 무언가 다른 방법이 필요합니다.