Skip to main content
SOC Canvas
SOC Canvas Current – Power Canvas, Clock Canvas

November 6, 2024

 

Designs SOCs with pictures that everyone can understand, and generates all outputs without errors. Of course, you may ask when I say this.
“Of course it’s good, but is this possible?”
“There are so many types of semiconductors in the world, how can you handle them all?”
“Is there a plan or product that can implement this?”
I think the biggest question is whether it is feasible. So, I’m going to summarize what I said at the beginning. Just as a city is not made up of buildings, a SOC is not made up of IPs.
In a city, buildings are functions, and infrastructure such as power, water, and roads are needed to make the functions work smoothly, just as in a SOC, IPs are functions, and infrastructure systems such as power, clock, and bus are needed to make the functions work smoothly.

However, if you think about the infrastructure of a city, it looks the same all over the world. If you look at a road, there are roads paved with cement, lanes, right and left turns, and traffic lights. How these are combined has a huge impact on the performance of the entire city, but the basic structure of these functions is all standardized. I think the reason why cities have such similar appearances is because of the implicit agreement that it is most efficient to organize the infrastructure of a city by standardizing it like this. It is just that they do not create new infrastructure because they do not have money or cannot harm existing functions, but the answer to implementation is almost set.
Implementing city infrastructure requires a lot of money, so it is already standardized, and the equipment to implement it has also developed accordingly.

Like cities, SOCs are mostly the same. I think ARM played a big role in making them look so similar. It defined most of the protocols corresponding to the design infrastructure. However, unlike city infrastructure implementation, SOC infrastructure design is mostly done by hand. The reason for this is that SOC design is implemented in the form of code.
However, if you write code by hand one by one and implement it, it takes too much time and money, and it is difficult to reach the desired level of optimization.

There are many ways to design optimal SOC infrastructure, but I think it is difficult to implement them. City infrastructure design can be automated if you define which roads to make, and the number of lanes and traffic lights are automatically created accordingly. City infrastructure design, which requires creating real objects, can also be automated, but SOC infrastructure design is in the form of code without real objects, so if you define the specifications well, it can be sufficiently automated.
I think that we are in an era where the intention of analysis is more important than the SOC design itself, and the technological foundation for doing this efficiently has been established.

So, SOC Canvas was created to automate the parts of the infrastructure that are already standardized within the design system but need to be reassembled anew each time by designing them as No-code. The starting point is Power Canvas and Clock Canvas, which can design power systems and clock systems.


모두가 이해할 수 있는 그림으로 SOC를 설계하고, 모든 아웃풋을 오류없이 생성해준다. 이렇게 얘기하면 당연히 물어볼 수 있습니다.
“당연히 좋지, 근데 이게 가능한 얘기야?”
“세상에 수 많은 종류의 반도체들이 존재하는데 어떻게 다 대응을 한다는 거야?”
“이런 걸 실행할 수 있는 계획이나 제품이 있어?”

실현 가능성이 가장 큰 의문일 거라고 생각합니다.
그래서, 처음에 말씀 드렸던 부분을 다시 한번 정리해보려고 합니다.
빌딩이 모여있다고 해서 도시가 아닌 것처럼, IP를 모아 둔다고 해서 SOC도 아닙니다.

도시에서는 빌딩이 기능이고, 기능이 원할하게 작동하게 하는 전력, 수도, 도로 등의 인프라 스트럭처가 필요하듯이
SOC에서는 IP가 기능이고, 기능이 원할하게 작동하게 하는 Power, Clock, Bus 등의 인프라 시스템이 필요합니다.

근데, 도시의 인프라를 생각해보면, 전세계가 다 동일한 모습을 가지고 있습니다. 도로를 보면, 시멘트로 포장된 도로가 있고, 차선이 있으며, 우회전 좌회전이 있고, 신호등이 있습니다. 이를 어떻게 조합하는지는 전체 도시의 성능에 엄청나게 영향을 주지만, 그러한 기능들의 기본 구조는 다 표준화가 되어 있습니다.
도시가 이렇게 비슷한 모습을 갖추게 된 이유는, 이렇게 표준화하여 도시의 인프라를 구성하는 것이 가장 효율적이라는 암묵적인 합의에 의해서 그렇다고 생각합니다. 돈이 없거나 기존 기능을 해칠 수 없어서, 새롭게 인프라를 만들지 않을 뿐, 구현에 대한 답은 거의 정해져 있는 것이죠.
도시 인프라를 구현하는 것은 엄청나게 돈이 많이 드는 공사를 해야 하는거라, 이미 많이 표준화 되어있고, 이를 구현하는 장비들도 그에 맞게 발전되어있습니다.

도시처럼 SOC도 거의 대부분 동일한 모습을 가지고 있습니다. 이렇게 유사한 모양을 가지게 된데는 ARM이 큰 역할을 했다고 생각합니다. 설계의 인프라에 해당하는 프로토콜을 대부분 정의했거든요.
하지만, SOC의 인프라 설계는 도시 인프라 구현과 달리 대부분 사람이 손으로 하고 있습니다. 이렇게 된 이유는 SOC 설계가 code의 형태로 구현되기 때문이죠. 그런데, 하나하나 손으로 코드를 짜서 구현하는 형태로는 시간과 돈이 너무 많이 들고, 원하는 만큼의 최적화 수준에 도달하기 어렵습니다.

최적의 SOC 인프라 설계를 할 수 있는 방법은 많이 나와있지만, 오히려 이에 대한 구현이 어려운 시대라고 생각합니다.
도시의 인프라 설계도 어떤 도로를 만들지 정의하고, 그에 맞게 차선 수, 신호등이 자동으로 만들어 진다면 자동화 할 수 있습니다.
실물을 만들어야 구현이 가능한 도시의 인프라 설계도 자동화가 가능한데, SOC의 인프라 설계는 실물이 없는 code형태라 스펙만 잘 정의한다면 충분히 자동화 할 수 있습니다.
SOC 설계 자체보다 분석에 의한 의도가 더 중요한 시대이고, 이를 효율적으로 해줄 수 있는 기술적 기반이 마련되었다고 생각합니다.

그래서, SOC Canvas는 설계 시스템 내에서, 이미 정형화 되어 있지만, 매번 새롭게 재조합해야 하는 인프라에 해당하는 부분들을 No-code로 설계하여 자동화 할 수 있게 만들었습니다.
그 시작은 power system과 clock system을 설계할 수 있는, Power Canvas, Clock Canvas 입니다.