A 16 bit FPGA Microprocessor for Embedded Applications

실장제어 16 비트 FPGA 마이크로프로세서

  • 차영호 (부경대학교 전자컴퓨터 정보통신공학부) ;
  • 조경연 (부경대학교 전자컴퓨터 정보통신공학부) ;
  • 최혁환 (부경대학교 전자컴퓨터 정보통신공학부)
  • Published : 2001.12.01

Abstract

SoC(System on Chip) technology is widely used in the field of embedded systems by providing high flexibility for a specific application domain. An important aspect of development any new embedded system is verification which usually requires lengthy software and hardware co-design. To reduce development cost of design effort, the instruction set of microprocessor must be suitable for a high level language compiler. And FPGA prototype system could be derived and tested for design verification. In this paper, we propose a 16 bit FPGA microprocessor, which is tentatively-named EISC16, based on an EISC(Extendable Instruction Set Computer) architecture for embedded applications. The proposed EISC16 has a 16 bit fixed length instruction set which has the short length offset and small immediate operand. A 16 bit offset and immediate operand could be extended using by an extension register and an extension flag. We developed a cross C/C++ compiler and development software of the EISC16 by porting GNU on an IBM-PC and SUN workstation and compared the object code size created after compiling a C/C. standard library, concluding that EISC16 exhibits a higher code density than existing 16 microprocessors. The proposed EISC16 requires approximately 6,000 gates when designed and synthesized with RTL level VHDL at Xilinix's Virtex XCV300 FPGA. And we design a test board which consists of EISC16 ROM, RAM, LED/LCD panel, periodic timer, input key pad and RS-232C controller. 11 works normally at 7MHz Clock.

SoC(System on Chip) 기술은 높은 융통성을 제공하므로 실장제어 분야에서 널리 활용되고 있다. 실장제어 시스템은 소프트웨어와 하드웨어를 동시에 개발하여야 하므로 많은 시간과 비용이 소요된다. 이러한 설계시간과 비용을 줄이기 위해 고급언어 컴파일러에 적합한 명령어 세트를 가지는 마이크로프로세서가 요구된다. 또한 FPGA(Field Programmable Gate Array)에 의한 설계검증이 가능해야 한다. 본 논문에서는 소형 실장제어 시스템에 적합한 EISC(Extendable Instruction Set Computer) 구조에 기반한 16 비트 FPGA 마이크로프로세서인 EISC16을 제안한다. 제안한 EISC16은 짧은 길이의 오프셋과 작은 즉치값을 가진 16 비트 고정 길이 명령어 세트를 가진다. 그리고 16 비트 오프셋과 즉치 값은 확장 레지스터와 확장 플래그를 사용하여 확장한다. 또한, IBM-PC와 SUN 워크스테이션 상에서 C/C++ 컴파일러 빛 응용 소프트웨어를 설계하였다. 기존 16 비트 마이크로프로세서들의 C/C++ 컴파일러를 만들고 표준 라이브러리의 목적 코드를 생성하여 크기를 비교한 결과 제안한 EISC16의 코드 밀도가 높음을 확인하였다. 제안한 EISC16은 Xilinx의 Vertex XCV300 FPGA에서 RTL 레벨 VHDL로 설계하여 약 6,000 게이트로 합성되었다. EISC16은 ROM, RAM, LED/LCD 판넬, 주기 타이머, 입력 키 패드, 그리고 RS-232C 제어기로 구성한 테스트 보드에서 동작을 검증하였다. EISCl6은 7MHz에서 정상적으로 동작하였다.

Keywords