FPGA의 IP 코어란 무엇입니까?
IP(지적 재산) 코어 모듈은 특정 기능을 갖춘 사전 설계되었거나 검증된 집적 회로, 장치 또는 구성 요소입니다. 그것은 여러 가지 형태로 나타납니다. IP 코어 모듈에는 동작, 구조, 물리적이라는 세 가지 수준의 설계가 있습니다. 이는 주로 기능적 동작을 설명하는 "소프트 IP 코어"와 구조적 설명을 완성하는 "솔리드 IP"에 해당합니다. 물리적 설명 및 프로세스 검증을 기반으로 하는 '확고한 IP 코어'와 '하드 IP 코어'입니다. 이는 집적회로(소자 또는 부품)의 조립품, 반제품, 완제품의 설계 기술에 해당합니다.
좀 더 이해하기 쉽게 표현하면 다음과 같습니다.
소프트 코어는 VHDL과 같은 하드웨어 설명 언어로 기술된 기능 블록이지만, 이러한 기능을 구현하기 위해 특정 회로 구성 요소를 사용합니다. 소프트 IP는 일반적으로 하드웨어 설명 언어 HDL 소스 파일의 형태로 나타납니다. 애플리케이션 개발 프로세스는 필요한 개발 하드웨어 및 소프트웨어 환경이 상대적으로 비싸다는 점을 제외하면 일반 HDL 설계와 매우 유사합니다. Soft IP는 설계주기가 짧고 설계 투자가 적습니다. 물리적 구현이 필요하지 않기 때문에 후속 설계를 위한 여지가 많아 IP의 유연성과 적응성이 향상됩니다. 주요 단점은 후속 프로세스가 어느 정도 소프트 IP 수정이 필요한 전체 설계에 적응할 수 없으며 성능 측면에서 포괄적인 최적화를 얻는 것이 불가능하다는 것입니다. 소프트코어는 소스코드 형태로 제공되기 때문에 소스코드가 암호화 방식을 사용할 수 있다고 하더라도 지적재산권 보호 문제를 무시할 수 없다.
하드코어는 디자인 단계의 최종 제품인 마스크를 제공합니다. 완전히 배치되고 라우팅된 넷리스트로 제공되는 이 하드 코어는 예측 가능하며 특정 프로세스 또는 구매자의 전력 및 크기에 맞게 최적화될 수 있습니다. 하드 코어는 유연성이 부족하여 이식성이 떨어지지만 RTL(레지스터 전송 수준) 파일을 제공할 필요가 없기 때문에 IP 보호를 구현하기가 더 쉽습니다.
솔리드 코어는 소프트 코어와 하드 코어의 절충안입니다. FPGA에 사용되는 대부분의 IP 코어는 사용자가 매개변수를 조정하고 재사용성을 향상시키는 데 도움이 되는 소프트 코어입니다. 소프트 코어는 일반적으로 암호화된 형식으로 제공되므로 실제 RTL은 사용자에게 보이지 않지만 유연한 배치 및 라우팅이 가능합니다. 이러한 암호화된 소프트 코어에서 커널이 매개변수화되면 사용자는 헤더 파일이나 그래픽 사용자 인터페이스(GUI)를 통해 매개변수를 쉽게 조작할 수 있습니다. 타이밍 요구 사항이 엄격한 코어(예: PCI 인터페이스 코어)의 경우 특정 신호를 미리 라우팅하거나 특정 라우팅 리소스를 할당하여 타이밍 요구 사항을 충족할 수 있습니다. 이러한 코어는 솔리드 코어로 분류될 수 있으며, 코어는 사전 엔지니어링된 코드 모듈이므로 이는 코어를 포함하는 전체 설계에 영향을 미칠 가능성이 있습니다. 코어의 설정, 유지 시간 및 핸드셰이크 신호가 고정될 수 있으므로 다른 회로는 코어와 적절하게 인터페이스하도록 설계해야 합니다. 코어의 레이아웃이 고정되거나 부분적으로 고정된 경우 이는 다른 회로의 레이아웃에도 영향을 미칩니다.
소프트 IP 코어는 일반적으로 일종의 HDL(Hardware Description Language) 텍스트로 사용자에게 제출되지만 동작 수준의 설계 최적화 및 기능 검증을 거쳤지만 구체적인 물리적 정보는 포함되어 있지 않습니다. . 이를 기반으로 사용자는 다양한 반도체 프로세스에 따라 올바른 게이트 레벨 넷리스트를 합성하고 최대 유연성으로 후속 구조 설계를 수행할 수 있습니다. EDA 합성 도구를 사용하여 다른 외부 논리 회로와 쉽게 통합할 수 있습니다. 다른 성능을 가진 장치로. 소프트 IP 코어의 일반적인 회로구조에서 상용화 가능한 게이트의 총 개수는 5,000개 이상이다. 그러나 후속 설계가 적절하지 않을 경우 전체 결과가 실패할 수 있습니다. 소프트 IP 코어는 가상 장치라고도 합니다.