아래 글은 EE에서 발췌한 글입니다. 원문을 그대로 옮깁니다.
마이크로 프로세서IP를 어떤 모델로 라이센싱할 것인가에 대한 의견을 개진한 글입니다. 여러가지 방법이 있지만 FPGA라는 특성을 반영하여 라이센스하는 것을 말하고 있습니다. 이 글에서는 프로세서를 어떻게 파느냐의 글입니다. 어떻게 시장에서 자리매김하는가에 대해서는 언급하지 않고 있습니다. 파는것 보다도 중요한 부분은 자리매김이라고 생각합니다. 자리 매김이 되어야 파는 부분에 대해서도 성립하기 때문에 자리매김에 대한 내용이 정리되어야 합니다.
소프트 마이크로프로세서의 네 가지 라이선싱 모델
Gordon Hands
Director of Strategic Marketing
Lattice Semiconductor Corp.
FPGA 설계자들은 점점 더 많은 디자인에 소프트 마이크로프로세서를 내장하고 있다. 이에 따라, FPGA 벤더들과 써드파티 IP 벤더들은 가장 최신 모델인 오픈소스를 비롯하여 여러 가지 방식의 라이선스를 갖는 다수의 소프트 마이크로프로세서를 개발해왔다.
설계자들은 보통 자신들의 소프트 마이크로프로세서를 위한 소프트웨어 코드 개발에 상당한 시간을 투자한다. 때문에 이들이 관련 라이선싱 모델들이 무엇을 의미하는 지 이해하는 것은 중요한 일이다.
어려운 결정
일단 소프트 마이크로프로세서를 구현하기로 결정되었으면 설계자들은 어떤 라이선싱 모델이 자신들의 요구에 가장 잘 맞는지를 결정해야 한다. FPGA 벤더들이 소프트 마이크로프로세서와 MCU에 이용하는 기본적인 라이선싱 모델에는 네 가지가 있다.
써드파티 IP 벤더들은 보통 IP 구매 모델을 이용한다. 여기서 이들이 취한 접근 방식을 논하지는 않겠지만 그 대부분은 FPGA 벤더들의 접근 방식과 유사하다.
모델 1: IP 구매─FPGA에 소프트 마이크로프로세서를 공급하는 전통적인 모델은 IP 구매이다.
이 모델은 네 가지 해결 과제들을 가져다준다.
・ 마이크로프로세서 개발툴과 생성된 HDL 코드의 사용권에 비용을 지불해야 한다.
툴을 계속 사용한다든가 소프트웨어 유지 관리를 하는 경우 이 비용은 매년 들어가게 된다.
・ 마이크로프로세서의 HDL 디스크립션은 보통 암호화되어있다.
이는 설계자가 이 구현물을 제한적으로만 최적화시킬 수 있도록 하며, 버그를 수정하기 위해서는 FPGA 벤더에 의존해야 한다.
・ 마이크로프로세서를 지원하는 개발 자원들은 FPGA 벤더가 선택한 것으로 제한된다.
설계자가 아니라 벤더가 자원들의 우선순위를 정하게 된다.
・ IP 구매 시의 라이선싱 조항으로 벤더의 FPGA 디바이스에 대한 구현이 제한된다.
이 마이크로프로세서에 대해 개발된 코드가 축적될수록 설계자가 다른 FPGA 벤더로 옮겨가기는 더 어려워진다.
・ 설계자가 벤더를 전환하지 못함으로 인하여 벤더에게 경쟁 상의 이유로 압박을 가하지 못하게 된다.
이는 최종 제품이 고객들의 관심을 덜 끌게 만든다. 또한, 미래에 FPGA 벤더로부터 가격 상의 양보를 제한적으로만 받게 한다.
모델 2: 무료 레퍼런스 디자인─무료 레퍼런스 디자인 접근 방식은 IP 구매 모델과 관련된 두 가지 문제를 없애준다.
업프론트 비용이 없다는 것은 분명 매력적이다.
그리고 이러한 디자인들이 변함없이 소스 코드 포맷으로 제공됨으로 인해 이 디자인의 스트럭처에 접근할 수 있다.
하지만, FPGA 벤더가 이 디자인의 소유권을 갖기 때문에 이 디자인에 대한 추가적인 코드 개발의 인센티브가 없어진다.
마지막으로, IP 구매 방식에서와 같이 레퍼런스 디자인의 구현은 벤더의 디바이스 아키텍처로 제한된다.
모델 3: IP 암호화─IP 암호화는 IP 구매 방식의 몇 가지 문제를 해결하려는 새로운 시도이다.
이 모델에서 FPGA 설계툴들과 생성된 암호화 비트스트림을 이용한 디자인에 IP가 통합된다.
이 비트스트림을 이용하려면 미리 프로그램된 특수 FPGA를 복호화 키와 함께 표준 FPGA보다 비싼 값에 구매해야 한다.
이 접근 방식은 업프론트 비용을 없애주며, 표준 마이크로프로세서 아키텍처가 FPGA 내에 사용될 수 있게 해준다.
표준 아키텍처의 이러한 사용은 코드가 독립 칩과 ASIC 같은 다른 비 FPGA 솔루션에 구현될 수 있게 해준다. 하지만, 설계자들은 다시 한 벤더의 디바이스에 묶이게 된다. 코드를 눈으로 볼 수 없다는 문제와 벤더가 개발 우선순위를 정하게 된다는 문제는 이러한 접근 방식으로는 풀 수 없다.
모델 4: 오픈소스─오픈 소스 접근 방식은 다른 라이선싱 모델들과 관련된 고통스러운 문제들을 해결해 줄 것을 약속한다. 이것은 코드를 눈으로 볼 수 있게 해주어 설계자가 디자인의 기능을 이해할 수 있게 해주고, 자신들의 사용에 최적화시킬 수 있도록 한다.
이것은 설계자들이 코드를 수정할 수 있도록 융통성을 제공해 주며, 사용자들이 코드를 개선하여 더 넓은 개발 커뮤니티가 사용할 수 있도록 장려하는 IP 권리를 제공한다.
오픈 소스는 무료이며, 아마도 더 중요한 것은 이것이 어떠한 FPGA 아키텍처에도, 심지어는 ASIC 같은 비 FPGA 구현물에도 구현될 수 있게 해주는 이식성을 제공한다는 것일 것이다.
오픈소스 소프트웨어를 위한 GPL
오픈소스 운동은 소프트웨어 영역에서 시작되었다. 소프트웨어 영역에서는 많은 오픈소스 라이선싱 접근 방식들이 취해지고 있는데, 그 중 유명한 것 하나가 GNU General Public License (GPL)이다.
기부자가 자신의 작업을 인정받을 권리와 그 작업이 퍼블릭 도메인에 남아있도록 하는 것, 그리고 미래 사용자의 필요요건 간에 GPL이 취하고 있는 균형이 소프트웨어 개발 커뮤니티에서 이것이 인기있는 이유의 하나이다. 하지만 GPL은 궁극적으로 하드웨어에 구현될 IP에는 불완전한 라이선스이다.
구매자가 알아야 할 것들
FPGA 내에 임베딩되는 소프트 마이크로프로세서가 널리 유행함에 따라 설계자들은 라이선싱 조항에 세심한 주의를 기울일 필요가 있다. 이 기사에서는 네 가지 라이선싱 접근 방식을 살펴보았다. 그 중 오픈소스 접근 방식을 제외한 나머지는 향후 설계자들의 FPGA 디바이스 선택을 제한시켰다. 또한 이 접근 방식의 일부는 설계자가 코드에 접근하는 것을 제한함으로써 버그 수정을 IP 공급업체의 손에 맡길 수 밖에 없게 하고 있다.
소프트 마이크로프로세서의 오픈소스 라이선싱은 설계자에게 FPGA 아키텍처를 바꿀 융통성을 제공하고 그들이 필요로 하는 프로세서 아키텍처를 눈으로 볼 수 있게 해준다.
하지만, 오픈소스라 하더라도 라이선싱 세부 사항에 대해 세심한 주의가 필요하다. 이는 소프트웨어 영역에서 인기있는 많은 오픈소스 라이선스들이 하드웨어를 대상으로 하는 IP에 적용될 때는 심각한 문제들을 드리우는 경우도 있기 때문이다. 라이선스 없이 하드웨어를 배포해야 할 필요나 단일 하드웨어 구현물에 공개 코드와 고유 코드를 혼용해야 할 필요가 그러한 문제들에 포함된다.