임베디드 시스템 지원하는 다양한 산업표준 프로세서
자료제공│아이앤씨 마이크로시스템
점점 더 증가하고 있는 임베디드 에플리케이션의 중심에 프로세서가 있다. 액텔은 산업 표준 프로세서 솔루션들의 포괄적인 포트폴리오로 내장된 임베디드 시스템을 지원한다. 32비트 ARM에서부터 LEON3, 가장 작은 소프트 마이크로로 구현되는 CoreABC 등 액텔은 설계자들이 요구에 맞추어 적합한 것을 찾고 사용할 수 있도록 광범위한 프로세서들을 제공한다.
또한 CoreConsole, SoftConsole, Actel Libero® Integrated Design Environment(IDE), 보드, 레퍼런스 디자인, 서드 파티 툴 등을 포함한 포괄적인 개발 환경을 제공하기도 한다. 이런 통합 툴의 환경과 지원은 액텔 고객들에게 빠른 시장 변화에 시스템레벨 생산제품이 가능하게 한다.
Cortex-M1
고성능이며 32비트 처리장치인 이 프로세서는 FPGA 구현을 위한 것으로 액텔과의 협력으로 ARM에서 개발했다. 이것은 FPGA를 위해 특별히 개발된 첫 번째 ARM 프로세서이다. Cortex-M1은 빠르며 프로그램 논리 크기를 최소화 하였다.
Cortex-M1은 Cortex 프로세서의 ARM 계열로 성장하였으며 Cortex-M3 파이프라인으로부터 유래되었다. 이 프로세서는 기존의 Thumb® 명령을 실행한다, 그래서 기존의 Thumb코드는 변화 없이 이 프로세서에서 실행될 수 있다. 만약 사용자들이 FPGA에서 ASIC으로 전환을 원한다면, Cortex-M1에 기록된 프로그램은 ASIC 구현을 위해 ARM으로부터 인가된 Cortex-M3에서 실행될 수 있다. 이것은 다른 FPGA 벤더에서 제공하고 있는 인가된 32비트 구조가 아닌 ASIC 구현을 위한 방법이다.
또한 Cortex-M1은 FPGA에 구현될 때 로직 크기와 속도에서 좋은 균형을 제공하고 있는 3단계 파이프라인을 가지고 있다. 이 프로세서는 메모리들(ITCM과 DTCM)간의 데이터와 명령어인 ARMv6 -M 명령어 사용이 가능하다. 그것은 인터럽트 콘트롤러, 빠르고 작은 하드웨어 곱셈기를 구현할 수 있고 디버깅 블록을 구현할 수 있다. Cortex-M1은 Core-Console에서 사용 가능하며 Advanced 고성능 Bus(AHB)에게 연결한다. 그래서 설계자들은 그것들의 서브 시스템을 구축할 수 있고 그리고 쉽게 프로세서에 주변 장치 기능을 더할 수 있다.
CoreMP7
ARM7TM은 32비트 RISC 마이크로 프로세서로 널리 사용된 프로세서다. 액텔 CoreMP7은 매우 인기 있는 ARM7 처리장치의 소프트 IP 버전으로 성능을 극대화하고 액텔 M7Fusion 그리고 ProASIC®3/E에서 크기를 최소화 하기 위해 최적화 되었다. 액텔은 ARM7를 사용하기 위한 비용을 최대한으로 줄이기 위해서 사용자에게 CoreMP7을 제공하고 있다.
그림 1. ARM 구성도
CoreMP7은 ARMv4T 명령어 집합 구조로 실행되며 모든 32비트 ARM7 명령들과 16비트 Thumb 명령들로 구현된다. 프로세서는 3 단계 파이프라인, 32비트 ALU, 32비트 레지스터 파일, JTAG 디버그 인터페이스, 그리고 내장된AHB 내부 연결 버스에 ARM7 버스를 결합하여 사용될 수 있는 configurable AHB 인터페이스를 가지고 있다. AHB 버스로의 연결은 설계자들이 CoreMP7에 이용할 수 있는 AMBA 주변기기 사용을 가능하게 한다.
액텔 M7 FPGA들은 다른 액텔 플래시 계열 디바이스들의 특징들을 모두 가지고 있고 CoreMP7의 완전한 사용을 위해 활성화 되어 있다. 이 디바이스들은 비 휘발성 플래시 기술과, 250K~3M 게이트, 그리고 616 고성능 I/O까지 지원한다.
Core8051/Core8051s
8051은 코드의 거대한 범위, 각양각색의 툴들, 그리고 이것을 사용하였던 많은 설계자들을 가지고 있는 산업 표준 구조이기 때문에 새로운 디자인에서 지속적으로 사용된다. Core8051 그리고 Core8051s의 사용은 애플리케이션이 소형, 저전력 제어 요소를 요구할 때 최적의 선택이 될 수 있다. 빠르면서도 완전한 개발 환경을 지원하고, 액텔 FPGA를 위해 최적화 되어 있는 두 코어는 무료로 사용 가능하다.
또한 Core8051는 Netlist 또는 RTL로 구현 가능하고 8051과 동일한 제품이다. 그래서 설계자들은 그들의 디자인 시간을 짧게 하기 위하여 현존하는 방대한 양의 코드를 이용할 수 있다. Core8051은 특별한 기능 레지스터들(SFRs), 메모리 인터페이스들, 그리고 전원 관리 전자 회로를 포함하여 8비트 ALU와 표준 8051가지의 특징을 가지고 있다.
Core8051s는 주변장치 기능을 제거한 8051구조를 구현한다. 그리고 Advanced Peripheral Bus(APB) 인터페이스는 SFR 인터페이스에 추가 하였다. 이것은 어떠한 APB 주변 장치 IP 기능을 쉽게 결합하고 그들의 애플리케이션 요구에 맞추어 명확하게 코어 구성을 가능하게 한다. Core8051s는 신속하게 기존의 8051 코드를 실행할 수 있고 8051 개발 툴과 호환이 가능하다. Core8051 그리고 Core8051s에 디버그 블록들은 동일하여 같은 툴 사용을 가능하게 한다.
그림 2. Cortex-M1 구성도
CoreABC
CoreABC는 FPGA에 사용 가능한 가장 작은, RTL 프로그래밍이 가능한 Soft Micro로 다양한 임베디드 어플리케이션에 사용 할 수 있다. 무상의 이 컨트롤러는 RAM 또는 ROM 없이 241개의 tile로 구성할 수 있으며 따라서 최저가의 A3P030 ProASIC3 디바이스를 포함하여 가장 작은 액텔 디바이스에 CoreABC을 사용할 수 있다.
CoreABC은 CoreConsole에서 사용 가능하며 매우 간단하기 때문에 사용자의 데이터 타입이나 데이터 패스 등을 지원하기 위하여 매우 적합하다. 코어는 APB 읽고/쓰기, 비트 오퍼레이션, ALU 작동, 논리 명령어, 단순 분기, 그리고 분기 명령어와 호출 명령과 같은 임베디드 기능의 로컬 컨트롤을 가능하게 하는 프로그램 가능한 시퀀셜 제어기를 사용한다.
이 처리 장치는 데이터를 저장 및 테스트 할 수 있으며 다양하게 변화하는 read/ write 사이클을 허용하고 있다. Core-ABC은 하드웨어 게이트들 또는 메모리에 저장될 수 있는 어셈블리형 명령들에 의해서 프로그램 된다. 오직 소수의 명령들이 필요할 때, RTL 프로그래밍에 이점이 있다. 메모리로부터 CoreABC을 실행하는 것은 다수의 명령들이 요구될 때 효율적인 프로그래밍을 가능하게 한다. CoreABC은 단순한 컨트롤 애플리케이션의 주 프로세서로 사용하거나 큰 시스템 구현의 데이터 처리를 위해 사용될 수 있다. 이 soft micro는 액텔 flash 기반의 Fusion, IGLOO, ProASIC3 또는 RTAX-S 그리고 Axcelerator를 포함한 Antifuse 기반의 제품들 모두 사용될 수 있다.
그림 3. 프로세서 디자인 플로우
LEON3
LEON3은 SPARC V8 구조와 동일한 액텔 FPGA에 최적화된 32비트 프로세서다. Microsoft® Windows®/리눅스와 같은 최고급 오퍼레이팅 시스템들로 사용될 수 있다. LEON3을 위한 모든 코드는 GNU GPL 라이센스로 사용 가능하다. 이 프로세서는 Gaisler Research로부터 저가의 상업적인 라이센스로 또한 사용 가능하다(www.gaisler.com). LEON3 프로세서의 Fault-tolerant 버전 또한 system-critical 애플리케이션들을 위해 사용할 수 있다.
프로세서 디자인 플로우
액텔 디바이스로 산업 표준 마이크로 프로세서를 설계하는 사용자들은 다양한 툴 환경과 디자인 지원 그리고 내장된 소프트웨어 프로그램 등 매우 많은 이점을 얻을 수 있다. 이런 환경에 CoreConsole IP Deployment Platform(IDP), Soft-Console, Libero IDE, 그리고 개발과 디버그 환경을 제공한다.
액텔 프로세서 사용자는 FPGA에 임베디드 어플리케이션을 위한 IP들을 단순화 할 수 있게 그래피컬 유저 인터페이와 블록 단위의 연결이 가능한 플랫폼이 내장된 개발 환경인 Coreconsole을 이용하여 그들의 개발 기간을 단축시킬 수 있다. 이 툴은 Actel Libero IDE를 가지고 통합된다. 이것은 plach-and-route, synthesis, 그리고 simulation tool을 포함하고 있다. SoftConsole 프로그램 개발 툴은 Cortex-M1, CoreMP7, Core8051, 그리고 Core8051s에 대해 사용 가능하고 프로세서를 실행하기 위한 소프트웨어 개발 프로젝트를 설계, 디버깅, 관리하는 기능을 제공하고 있다. SoftConsole는 사용하기 쉬운 인터페이스를 가지고 있으며 각각의 프로세서를 위한 C 컴파일러 및 디버거를 포함한다.