한 분야에서 유일하게 변하지 않는 것이 변화라면 전자 기술과 디자인 방법의 발전과 변화를 돌이켜 보고 어떻게 디자인 엔지니어가 차세대 혁신 제품을 창조할 수 있는지 목격할 필요가 없다.마이크로프로세서의 대규모 응용 이후 새로운 저렴하고 고품질의 기술은 소프트웨어 기반의 혁신적인 전자 제품의 디자인에 문을 열었다.이것은 아주 좋은 예이다.간단히 말해서, 설계의 주요 요소인 제어 "스마트"를 소프트 영역으로 옮긴 후, 설계 엔지니어는 더 짧은 시간 내에 더 좋고, 더 스마트하고, 더 저렴한 제품을 만들 수 있습니다.
이러한 변화는 임베디드 소프트웨어 개발자가 오늘날의 전자 제품 기능 및 특성 정의의 주요 원동력이며 궁극적으로 하드웨어를 생산한다는 것을 의미합니다.이러한 접근 방식의 성공 요인은 하드웨어 복잡성을 줄이고 설계된 제어 요소를 프로그래밍 가능한 영역으로 변환하여 개방적인 유연성을 제공하는 데 있습니다.
오늘날 고용량, 저비용 프로그래밍 가능한 장치의 도래는 소프트웨어 분야에서 시스템 하드웨어 자체를 정의하는 것이 가능해졌기 때문에 전자 제품 설계의 발전에 같은 희망을 가져왔다.대용량 FPGA와 같은 대규모 장치는 이러한 요구 사항을 충족하는 데 이상적입니다.이러한 주기는 일반적으로 버스 인터페이스, I/O 블록, 심지어 스토리지를 포함한 시스템 주변 논리 기능 블록의 대부분을 구축하는 데 사용될 수 있습니다.대량의 로직을 FPGA 분야에 도입하는것은 하드웨어개발에 심원한 영향을 끼쳤으며 설계에 전례없는 신축성을 제공하고 판의 크기와 복잡성을 낮추는 무한한 잠재력을 갖춘"소프트"설계의 새로운 시대의 문을 열어놓았다.
전자 제품 개발 프로세스를 완전히 변경할 수도 있지만 대부분의 임베디드 소프트웨어 개발자는 설계 프로세스가 시작될 때 별도의 하드웨어 프로세서를 선택하고 물리적 플랫폼을 만든 다음 소프트웨어를 작성하여 플랫폼을 사용합니다.사람들은 임베디드 시스템이 개발한"소프트"와 하드웨어 분야에 대한 탐구가 부족한데, 주로 C 프로그래머가 프로그래밍 가능한 하드웨어 차원에서 기술을 활용할 수 있는 도구가 부족하기 때문이다.사실 현재 대부분의 FPGA 설계 프로세스는 주로 칩 설계 분야에서 시작되며 매우 전문적인 기술이 필요합니다.
소프트 설계를 새로운 수준으로 향상
FPGA 접착 논리 응용을 넘어서려면 프로그래밍 가능한 부품을 충분히 활용하고 가능한 한 많은 하드웨어를 소프트웨어 분야에 도입하는 등 더 넓은 시야가 필요하다.여기에는 프로세서 기능 자체에 대한 설명이 포함됩니다.오늘날 FPGA의 소프트 프로세서는 점점 더 많은 임베디드 플랫폼으로 바뀌고 있습니다.근본적으로 FPGA가 있는 소프트 프로세서로 전환하면 구조적 유연성, 더 작은 보드 크기, 더 간단한 이점이 있습니다.그러나 더욱 심층적인 응용은 더욱 흡인력이 있는 우세를 가져다줄것이다.
FPGA의 프로그래밍 가능한 특성이 프로세서 상단의 추상 레이어를 얻는 데 사용될 때, 임베디드 개발자에게 소프트웨어뿐만 아니라 하드웨어에서도 추상 레이어 설계를 구현할 수 있는 무한한 가능성을 열어준다.시스템에서 프로세서가 구성 가능한 하드웨어 (본질적으로 하드웨어 패키지) 를 통해 메모리와 주변 장치에 연결된다고 상상해 보세요. 이것은 프로세서의 인터페이스를 추상화합니다.FPGA를 간단히 재프로그래밍하면 하드웨어 패키지를 변경할 수 있으며, 시스템 설계자는 다른 시스템 하드웨어를 수정하지 않고도 프로세서 코어를 쉽게 변경하거나 하드 프로세서와 소프트 프로세서 사이를 전환할 수 있습니다.모든 프로세서가 시스템 관점에서 유사하므로 하드웨어 설계 프로세스가 단순화됩니다.물론 이를 응용 소프트웨어 분야로 확장하려면 프로세서 간에 C급 호환성을 제공할 수 있는 컴파일러가 필요하다.
이 시스템의 장점은 프로세서를 "미리" 선택할 필요가 없다는 것입니다.이 시스템은 어떤 프로세서를 사용하여 개발할 수 있지만, 개발 단계에서는 더 높은 성능과 더 빠른 장치를 필요로 한다는 것을 발견했다.패키지 레이어 때문에 프로세서는 주변 하드웨어에 영향을 주지 않고 소프트, 하드, 심지어 FPGA 내부의 하드웨어 프로세서 코어가 될 수 있습니다. 변환 레이어는 주변 장치를 연결하는 표준 인터페이스만 만들기 때문입니다.실제로 주변 장치 자체의 연결은 같은 방식으로 추상화될 수 있습니다.이 시나리오에서 FPGA는 임베디드 시스템의 모든 구성 요소에 공통적인 연결을 제공하며 효과적으로 시스템 상호 연결 구조가됩니다.즉, 하드웨어와 소프트웨어 모두 프로세서 및 주변 장치와 쉽게 통신할 수 있는 표준 인터페이스의"핵심"이 되는 데 효과적입니다.
마지막으로 프로세서에 투명 포장기를 도입하면 FPGA 기반 개발 환경을 만들어 진정한 프로세서 독립성을 제공할 것이다.소프트웨어와 하드웨어 개발의 속도가 향상되고 프로세서의 선택은 설계 과정의 후기에 진행할 수 있으며 효과적인 소프트웨어/하드웨어 협동 설계가 가능해졌다.
소프트웨어와 하드웨어 간 변환
구성 가능한 하드웨어에 프로세서 및 주변 포장 레이어를 생성하는 아이디어의 확장 중 하나는 애플리케이션에 특화된 시스템 하드웨어를 자동으로 생성하고 하드웨어에 소프트웨어 알고리즘을 실행하는 것입니다."자체"하드웨어와 프로세서.
C 코드에서 하드웨어를 직접 생성한다는 아이디어는 새로운 것이 아닙니다.이미 몇 개의 시스템이 구현되었습니다.지금까지 우리의 아이디어는 C와 유사한 언어를 통해 완전한 시스템 하드웨어를 만드는 것입니다.본질적으로 이것은 HDL(예: VHDL 또는 Verilog)을 사용하여 FPGA를 설계하는 것과 다르지 않으며 소프트웨어 개발자가 새로운 설계 방법을 배우고 채택해야합니다.내장형 개발자에게 실제로 적용되는 것은 프로세스를 투명하게 만드는 것입니다.설계 도구는 표준 ANSI C 코드의 입력을 처리하고 프로그래머가 선택한 기능을 하드웨어로 변환할 수 있어야 합니다.뿐만 아니라 시스템은 생성된 하드웨어를 사용하는 데 필요한 모든 코드를 생성할 수 있어야 합니다.이러한 방식으로 내장 프로그래머는 기본 하드웨어의 설계 세부 사항을 모르는 상태에서 전용 알고리즘을 프로세서에서 전용 하드웨어로 마운트 해제합니다.
FPGA의 잠재력 활용
분명히, 도구의 관점에서 볼 때, FPGA와 같은 프로그래밍 가능한 장치가 제공하는 기회를 최대한 활용하려면 유사한 설계 기술과 프로세스를 통해 설계의 핵심 요소를 쉽게 변경할 수 있도록 개발 프로세스의 추상 수준을 향상시키는 시스템이 필요합니다.이러한 시스템은 전체 전자 제품 개발 프로세스를 통합하고 하드웨어, 소프트웨어 및 프로그래밍 가능한 하드웨어의 개발을 통합 환경에 통합할 수 있어야 합니다.
그림 1.FPGA의 잠재력을 최대한 활용하면 하드웨어 및 소프트웨어를 포함한 설계의 모든 요소를 프로그래밍 가능한 영역으로 가져옵니다.
Altium Designer는 소프트웨어, FPGA 및 PCB의 요구 사항을 충족하고 필요한 모든 프로세스를 하나의 애플리케이션에 통합하는 통합 제품 개발 환경을 제공하는 단순한 고급 프로세서를 도입했습니다(그림 1).하드웨어 및 소프트웨어 개발은 플랫폼 수준에서 통합되어 신속한 소프트웨어 / 하드웨어 공동 설계를 가능하게 합니다.설계자는 FPGA 기반 프로세서 및 프로세서 패키징 코어를 통해 Altium Designer 또는 지원되는 타사 프로세서를 대상으로 FPGA 주변 장치에 쉽게 연결하는 등 설계된 모든 기능을 유지할 수 있습니다.Altium Designer Viper 기반 컴파일러는 시스템에서 지원하는 모든 프로세서 아키텍처 간의 C-레벨 코드 호환성을 보장합니다.
빠른 제품 개발의 잠재력 외에도 Altium Designer의 통합성은 임베디드 개발자에게 새로운 디자인과 기능 가능성을 제공합니다.Altium은 또한 Altium Designer의 지원을 곧 받을 새로운 통합 하드웨어/소프트웨어 컴파일러 기술을 개발했습니다.이 기술은 표준 C 코드에서 매우 최적화된 실행 코드와 병렬 하드웨어 FPGA 구현을 동시에 생성하고 런타임 시 두 가지를 연결하는 데 필요한 코드를 생성합니다.실제로 이것은 개발자가 프로세서에서 하드웨어로 언로드하는 C 코드 함수를 지정할 수 있다는 것을 의미하며, Altium Designer의 통합 소프트웨어/하드웨어 환경은 프로세스를 빠르고 투명하게 만든다(그림 2).
그림 2:고급 소프트웨어 도구를 통해 내장형 개발자는 하드웨어 엔지니어가 되면 기본 시스템 하드웨어에 영향을 미치고 수정하며 디버깅할 수 있습니다.
이러한 시스템은 내장형 개발자에게 시스템 선택 확인란을 제공하여 전용 소프트웨어 기능을 하드웨어로 이전할 때 최종 성능 및 비용 개선 가능성을 제공합니다.이를 통해 개발자는 하드웨어와 소프트웨어 간에 기능을 효과적으로 전달하고 최적화된 애플리케이션 솔루션을 계속 통합할 수 있습니다.주목할 만한 흥미로운 점은 Altium Designer의 이 기능과 내장형 패키징 코어 및 라이브러리 기반 사전 동기화 소프트웨어 구성 요소와 같은 다른 고급 기능을 사용하는 소프트웨어 개발자가 FPGA 메커니즘의 하드웨어를 효과적으로 사용할 수 있다는 것입니다.간단히 말해서, 이 시스템을 사용하는 소프트웨어 엔지니어는 대상 장치의 기본 구조 또는 RTL 프로그래밍과 관련되지 않고 기존 기술을 사용하여 FPGA 하드웨어를 쉽게 사용할 수 있습니다 (그림 3).
그림 3, 하드웨어, 프로그래밍 가능한 하드웨어, 소프트웨어를 포함한 설계 프로세스의 통합으로 FPGA 장치는 범용 기술만 필요로 하는 완전한 임베디드 시스템을 이용하고 만들 수 있다.
Altium Designer의 통합 개발 환경은 저렴한 대규모 FPGA와 결합되어 내장 개발자가 프로그래밍 가능한 장치의 잠재력을 최대한 활용할 수 있습니다.올바른 개발 환경을 사용한 후, 현재 FPGA가 가져온 거대한 재구성 가능한 디자인 공간은 수십 년 전처럼 전자 제품 개발에 혁명적인 혁신을 가져올 수 있는 새로운 임베디드 디자인 방법을 가능하게 한다.프로세서의 도입은 전자 산업을 완전히 변화시켰다.