Skip to main content
Power Canvas
Power deals with physical phenomena (UPF)

December 9, 2024

Semiconductor design is done with Verilog, but there are limits to describing physical phenomena with Verilog.
For the easiest example, there is no way in Verilog to describe who supplies the power to the logic I designed.
This means that since Verilog alone doesn’t work, I need something to describe additional information.

When the chip was not complicated, I designed it all and there was only one power supply, so it wasn’t a problem.
Because, if I want to supply two powers to the design I designed, when coding in Verilog, I can just supply VDD_A to module A and VDD_B to module B. But what if there are 50 domains? Or 100?

I have to write down the names of the powers that go into each domain somewhere and start mapping them when coding.
But what if the synthesis manager mistakenly applies the mapped information incorrectly? It would be fortunate if the chip does not turn on properly, but in the worst case, the entire chip could burn out.

This example is the simplest example of various power scenarios.

So, to solve this problem, IEEE has been updating it as the IEEE1801 standard called Unified Power Format (UPF).
It has been updated since 2007, so it is a technology that is almost 20 years old.
To explain UPF simply, it is a standard format that efficiently supports design and analysis to reduce power consumption by specifying low-power design techniques, and prevents errors in advance by defining power domains at the early stage of design.

If you look for this UPF specification document, you can see that it is about 550 pages long.
Even if you exclude the Intro, you should read about 500 pages, and even if you don’t use all the functions, you should completely understand about half of them, about 250 pages, to even start designing a power system.

In order to design a semiconductor system, you need to understand the specifications and be able to go to the implementation stage, but the initial entry barrier for power system design is very high, even with just the UPF document.

It took about 7~8 years for UPF to first come out and be applied to the industry. That means it is that difficult and tricky.

If you are curious about the practical application of UPF, please look for the document called “Using UPF for Low Power Design and Verification.” If you don’t understand this, you should not apply UPF to your design. You can really experience a burning chip. I actually burned it once.


반도체 설계는 verilog로 하지만, verilog로 physical한 현상을 기술하는 것에는 한계가 있습니다.
가장 손쉽게 예를 들면, 내가 설계한 logic에 power supply는 누가 하는 것에 대한 것을 기술할 방법이 verilog에는 존재하지 않습니다.
verilog만으로 안되니 추가적인 정보를 기술할 무엇인가가 필요하다는 의미입니다.

칩이 복잡하지 않을 때에는 내가 다 설계하고, 전원도 하나기 때문에 문제가 되지 않았습니다.
왜냐하면, 내가 설계한 디자인에 전원을 2개 공급하고 싶으면 verilog로 코딩할때 A 모듈은 VDD_A를 공급하고, B 모듈은 VDD_B를 공급하면 되기 때문입니다.
근데, 이런 domain이 50개라면 어떻게 할까요? 혹은 100개라면?
어딘가에 따로 각 domain마다 들어가는 power의 이름을 적어놓고 coding할때 mapping하기 시작해야 합니다.
근데, 이러한 정보를 합성 담당자가 실수로 mapping한 정보를 잘못 적용하면 어떻게 될까요?
칩이 정상적으로 켜지지 않는 것으로 끝나면 다행인데, 최악의 경우에는 칩이 모두 불타버리게 될 수도 있습니다.

이러한 예시는 다양한 파워 시나리오 중 가장 간단한 예시입니다.

그래서 IEEE에서는 이러한 문제를 해결하고자
Unified Power Format (UPF)라는 IEEE1801 규정으로 정해서 업데이트 해오고 있습니다.
2007년부터 업데이트 해오고 있으니까, 거의 20년 가까이 된 기술입니다.
UPF에 대해 간단하게 설명하자면, 저전력 설계 기법을 명시하여 전력 소모를 줄이기 위한 설계와 분석을 효율적으로 지원하는 표준 format으로,설계 초기에 전력 domain을 정의하여 오류를 미리 방지해줍니다.

이 UPF 스펙 문서를 혹시 찾아보신다면, 550페이지 정도 되는 문서를 확인하실 수 있습니다.
Intro를 빼고 봐도 500페이지 정도는 봐야하는데, 모든 기능을 다 사용하지 않더라도 절반정도인 250페이지 정도는 완벽하게 이해하고 있어야, power 시스템 설계를 시작이라도 할 수 있습니다.

반도체 시스템 설계를 하려면, 스펙을 이해하고 구현의 단계까지 갈 수 있어야 하는데, power 시스템 설계는 초기 진입 장벽이 UPF 문서만 해도 굉장히 높다고 할 수 있습니다.

UPF가 처음 나오고 이것을 산업계에 적용하는데는 거의 7~8년의 시간이 걸렸습니다.
그만큼 까다롭고 어렵다는 얘기입니다.
UPF실무 적용에 관한 부분이 궁금하면, “Using UPF for Low Power Design and Verification” 라는 문서를 한번 찾아보시기 바랍니다.
이게 이해가 안되면, 설계에 UPF를 적용하시면 안됩니다.
정말 칩이 불타오르는 경험을 할 수 있습니다. 저는 실제로 한번 태워먹었던 적이 있거든요.