当前位置 - 무료 법률 상담 플랫폼 - 지식재산권 전공 - NRE 지적 재산권 비용

NRE 지적 재산권 비용

몇 년 전, 디자인 ASIC 는 아직 소수의 IC 디자인 엔지니어에 불과했다. 실리콘 통합도가 높아지면서 백만 급 ASICs 를 실현하는 것은 어렵지 않다. 시스템 제조 회사의 디자이너는 점점 더 ASIC 기술 통합 시스템 수준 기능 (tegrete-SL I 의 시스템 수준 기능) 또는 System on a ch IP (온칩 시스템) 를 채택하고 있지만, ASIC 설계 역량이 제조 능력에 미치지 못하는 갈등이 갈수록 두드러지고 있다. 이제 디자이너는 모든 논리 문을 사용하여 ASICs 를 디자인할 필요가 없습니다. 인쇄 회로 보드 집적 회로 (IC) 칩의 설계와 마찬가지로 ASIC 설계자는 인쇄 회로 보드 IC 칩과 동등한 기능 모듈 (코어 또는 IP 매크로 유닛) 을 사용하여 시스템을 설계할 수 있습니다. 이것은 핵심 기반 설계 방법입니다. CPU, 스토리지, 버스 컨트롤러, 인터페이스 회로, DSP 등 핵심이 될 수 있습니다. 그러나 ASIC 설계와 인쇄 회로 기판 (PCB) 설계에는 큰 차이가 있습니다. ASIC 설계는 EDA 도구를 사용해야 합니다. 주요 문제는 PCB 설계처럼 실험 디버깅을 통해서가 아니라 컴퓨터 시뮬레이션을 통해 해결됩니다. 또한 ASIC 제조에는 상당한 비용 (일반적으로 수만 달러) 의 반복 불가능한 엔지니어링 비용 (NRE) 이 필요합니다. 현장 프로그래밍 가능 도어 어레이 (FP) 는 1980 년대 후반에 등장했습니다

GA) 와 복잡한 프로그래밍 가능 논리 장치 (CPLD) 는 모두 ASIC 의 일종이다. 그 장점은 공급업체가 제공하는 FPGA 또는 CPLD 칩을 설계 엔지니어가 현장에서 프로그래밍하여 값비싼 NRE 비용 없이 ASIC 의 최종 설계를 완료할 수 있다는 것입니다. 현재 FPGA 의 규모는 Xilinx-p.htm "target =" _ blank "title =" Xilinx source and pdf materials "> Xilinx corporation 과 같은 백만 문에 달한다

1 커널의 분류 및 특성

핵심은 시스템 설계에 통합할 수 있는 사전 정의된 검증된 복잡한 기능 모듈입니다. 핵심 기반 설계의 주요 특징은 기존 설계 모듈을 재사용하고 설계 시간을 단축하며 설계 위험을 줄일 수 있다는 것입니다. 높은 수준의 통합을 통해 전체 시스템의 성능을 향상시킬 것으로 기대합니다. FPGA 설계에는 표 1 과 같이 세 가지 코어가 있습니다.

표 1 커널 분류 및 특징

중견분자

(하드 코어)

레이아웃과 배선이 있는 미리 정의된 모듈은 설계를 수정할 수 없으며 타이밍 성능은 지정된 구현 기술에 의해 보장되어야 합니다.

고체 핵

(firm core) HDL 소스 코드는 구현 기술과 관련된 일부 네트워크 테이블 기능을 수정할 수 있으며, 지정된 구현 기술을 사용하여 주요 경로 타이밍을 제어할 수 있습니다.

소프트웨어

(소프트 코어)

동작 레벨 또는 RTL 레벨 HDL 소스 코드는 수정 및 설계할 수 있으며, 특정 구현 기술에 관계없이 타이밍 성능은 사용자에 따라 보장되지 않습니다.

하드 코어는 특정 구현 기술에 맞게 최적화되었습니다. 변경할 수 없는 구조와 레이아웃을 가지고 있으며 안정된 타이밍 성능을 가진 라이브러리 구성요소로 사용할 수 있습니다. 그러나 하드코어는 설계 요구 사항에 따라 타이밍을 수정하고 조정할 수 없습니다. Solid core 는 HDL 소스 코드와 구현 기술 관련 네트워크 테이블로 구성되며, 사용자는 규정에 따라 일부 기능을 늘리거나 줄일 수 있습니다. 솔리드 코어의 주요 경로 타이밍은 고정되어 있지만 구현 기술은 변경할 수 없습니다. 즉, 다른 공급업체의 FPGA 솔리드 코어는 서로 바꿔서 사용할 수 없습니다. 소프트 코어는 통합 가능한 하드웨어 설명 언어 (HDL) 의 소스 코드입니다. 구현 기술과 무관하게 사용자의 요구에 따라 수정할 수 있어 사용 시 유연성이 극대화됩니다. 그러나 소프트 코어의 주요 경로 타이밍 성능은 보장되지 않습니다. 최종 성능은 주로 사용자가 사용하는 통합, 레이아웃 및 구현 기술에 따라 달라집니다.

FPGA 설계에서는 공급업체마다 구체적인 구현 기술이 크게 다르기 때문에 하드웨어 구현 기술과는 전혀 무관한 소프트 코어의 성능이 크게 제한되고 하드 코어는 사용할 수 있는 유연성이 부족하기 때문에 하드웨어 코어의 절충으로 더 많이 사용됩니다. 이상은 대표적인 핵심 분류다. 실제 사용에서 기능의 핵심은 다양한 형태로 나타나는 경우가 많으며, 사용자가 필요에 따라 선택할 수 있습니다. 소프트 코어에는 HDL 소스 코드뿐만 아니라 포괄적인 제약 조건 파일을 안내하는 기능 테스트를 위한 동작 모델 및 테스트 벡터도 포함되어 있습니다.

듀얼 코어 FPGA 설계 방법 소개

커널 기반 설계에서 완전한 설계는 주로 두 부분으로 구성됩니다. 하나는 그림 1 의 MCU 및 RAM 과 같은 커널이고, 다른 하나는 사용자 정의 논리 회로입니다. 시스템 설계 요구 사항에 따라 이러한 기능 모듈을 연결하여 칩 설계를 완료합니다. 각 코어 또는 기능 블록의 연결에는 현재 통일된 표준이 없습니다. 설계가 다르기 때문에 일반적으로 일정 시간 요구 사항을 충족해야 합니다. 핵심 설계를 기반으로 하는 첫 번째 단계로서 핵심 기능, 성능 신뢰성, 구현 기술 등에서 적합한 코어를 선택해야 합니다.

그림 1 커널 기반 설계 칩 구조도

코어는 먼저 그림 2 와 같이 코어의 기능 및 타이밍 요구 사항을 설명하는 기능 프로필이 있어야 합니다. 둘째, 설계 구현 및 설계 검증 두 파일, 즉 핵심 기능을 구현하는 RTL 소스 코드 또는 네트워크 테이블뿐만 아니라 핵심 구현 후 논리 기능의 정확성을 검증하는 시뮬레이션 모델 및 테스트 벡터도 포함되어야 합니다. 하드 코어의 구현은 PCB 설계에서 IC 칩의 사용과 유사한 비교적 간단하지만 소프트 코어의 사용은 비교적 복잡하며, 구현 후의 성능은 사용자의 구체적인 구현 방식과 관련이 있습니다. 소프트 코어의 성능을 보장하기 위해 소프트 코어 공급자는 일반적으로 소프트 코어 합성을 안내하는 포괄적인 프로파일을 제공하며, 코어 사용은 둘 사이에 있습니다.

그림 2 의 핵심은 설계 구현 및 설계 검증으로 구성됩니다. 많은 핵심 공급업체는 핵심 기능 및 사용을 쉽게 이해할 수 있도록 핵심 평가 환경, 데모 및 개발 보드를 제공합니다.

커널 기반 FPGA 설계 프로세스는 그림 3 에 나와 있습니다. 설계 입력 섹션에는 다음이 포함됩니다.

1) 사용자 설계 논리, 소프트 코어, 솔리드 코어 또는 하드 코어 시뮬레이션 모델의 입력,

2) 기능 시뮬레이션,

3) 논리적 합성. 시뮬레이션 모형은 기능적 시뮬레이션에만 사용되는 동작 모형이며 종합이 없습니다.

그림 3 커널 기반 FPGA 설계 프로세스

디자인 입력은 일반적으로 VHDL, V erilog 등과 같은 HDL 언어입니다. 설계 및 시뮬레이션 모형을 가져온 후 기능 시뮬레이션을 수행하고 기능 시뮬레이션이 완료되면 논리 회로를 통합할 수 있습니다.

사용자 논리와 소프트 코어의 합성은 설계 요구 사항을 충족하기 위해 적절한 타이밍 제약을 받아야 하며, 제약 조건은 합성 스크립트에 의해 주어질 수 있습니다. 설계 입력이 완료되면 설계 구현 단계로 들어갑니다. 여기서 네트워크 테이블 및 설계 제약 조건 파일은 고정되어 있고, 사용자 작성 네트워크 테이블 및 설계 제약 조건 파일은 FPGA 레이아웃 배선 도구에 함께 입력되며, FPGA 의 최종 구현을 완료하고, 타이밍 시뮬레이션 및 기능 검증을 위해 타이밍 파일을 생성합니다. 마지막으로 설계 검증 단계에 들어가 정적 타이밍 분석을 통해 설계가 성능 요구 사항을 충족하는지 확인하고 기능 시뮬레이션 결과를 타이밍 시뮬레이션 결과와 비교하여 설계 타이밍 및 기능이 올바른지 확인합니다. 설계 성능이 요구 사항을 충족하지 못하면 성능에 영향을 미치는 주요 경로를 찾고, 지연 정보를 반환하고, 구속조건 파일을 수정하고, 설계를 다시 종합하고, 설계 요구 사항이 충족될 때까지 여러 번 반복해야 합니다. 여러 번 반복해도 설계 요구 사항을 충족하지 못하는 경우 설계를 수정하거나 다른 구현 기술을 채택해야 합니다.

3 소프트 코어 설계 및 사용

FPGA 하드웨어 기술의 급속한 발전으로 인해 하드웨어 자원이 점점 더 풍부하고 속도가 빨라지고 있으며, 소프트 코어 자원 활용률이 낮고 작업 속도가 느린 단점을 보완하고 있으며, 소프트 코어는 코어 기반 설계에서 점점 더 중요한 역할을 하고 있습니다. 그것의 주된 장점은 기능이 구현 기술과 무관하고 융통성이 있다는 것이다. 이렇게 하면 다양한 구현 기술 하에서 소프트 코어를 쉽게 사용할 수 있습니다. 예를 들어 X LINX FPGA 로 구현된 소프트 코어는 디자인을 변경하지 않고 ACTEL FPGA 로 구현할 수 있어 설계와 구현의 유연성이 크게 향상됩니다. 그러나 소프트 코어의 성능은 여전히 구현 기술에 큰 영향을 받고 있으며, 소프트 코어의 예상 성능을 보장하는 방법은 현재 시급히 해결해야 할 과제입니다. 최근 몇 년 동안, 외국에서는 기술 구현과 무관한 합성 소프트 커널에 대한 생각을 내놓았으며, 소프트 코어 HDL 소스 코드 컴파일에 대한 몇 가지 제한 사항을 합성 도구의 타이밍 제약 기능과 결합하여 소프트 코어 성능을 부분적으로 제어하는 목적을 달성하고자 합니다. (윌리엄 셰익스피어, Northern Exposure (미국 TV 드라마), 과학명언) 예를 들어 소프트 코어는 피드백 루프, 다중 클럭 경로, 3 상태 논리, 잠금 장치 및 비동기 위치 재설정 트리거 없이 엄격한 동기화 논리로만 설계할 수 있으며 D 트리거와 논리 문만 사용할 수 있습니다. 이렇게 하면 통합 도구의 도움을 받아 소프트 코어 키 경로의 지연을 효과적으로 제어하고 특정 구현 기술에서 소프트 코어의 성능을 예측할 수 있습니다. 물론, 이는 일부 FPGA 논리 자원을 희생하는 대가를 치르지만, 실리콘 공예가 발전함에 따라 하드웨어 자원이 이미 매우 풍부해, 일부 하드웨어 자원을 낭비하여 설계 유연성을 높이는 것은 가치 있는 것이다. PC 소프트웨어 설계에서 프로그램이 차지하는 스토리지 공간에 너무 많은 관심을 기울이는 사람은 거의 없다. (알버트 아인슈타인, Northern Exposure (미국 TV 드라마), 예술명언)

위의 소프트 코어 설계 아이디어에 따르면 저자는 완전 동기화 논리 설계를 사용하여 D 트리거와 논리 문으로만 PIC 16C57 호환 8 비트 마이크로컨트롤러 설계를 구현합니다. 최상위 구조는 그림 4 와 같이 하버드 구조를 사용합니다. 명령을 취하고 명령을 실행하는 동시 작업, 몇 가지 절차 점프 명령을 제외한 모든 것은 단일 클럭 주기 명령입니다. 프로그램 메모리 ROM 은 일반적으로 FPGA 외부에 위치하며, ROM 에 명령어가 거의 없는 경우 FPGA 에 위치할 수 있습니다. 데이터 버스는 다양한 구현 기술을 수용할 수 있도록 멀티플렉서의 형태를 채택하고 있습니다. 명령 레지스터 및 특수 기능 레지스터 (IO 포트 레지스터, 상태 레지스터, 프로그램 카운터 등) , d 트리거로 구성됩니다. 범용 레지스터는 FPGA 의 RAM 모듈을 사용하며 명령어 번역과 산술 논리 단위는 조합 논리 문으로 구성됩니다.

참고 자료:

/htm _ tech/2008-110171_/kloc--