The Design of 32 Bit Microprocessor for Sequence Control Using FPGA

FPGA를 이용한 시퀀스 제어용 32비트 마이크로프로세서 설계

  • Yang, Oh (Dept. of Electronic Engineering, Chongju University)
  • 양오 (청주대학교 정보통신 공학부)
  • Published : 2003.06.01

Abstract

This paper presents the design of 32 bit microprocessor for a sequence control using a field programmable gate array(FPGA). The microprocessor was designed by a VHDL with top down method, the program memory was separated from the data memory for high speed execution of sequence instructions. Therefore it was possible that sequence instructions could be operated at the same time during the instruction fetch cycle. In order to reduce the instruction decoding time and the interface time of the data memory interface, an instruction code size was implemented by 32 bits. And the real time debug operation was implemented for easeful debugging the designed processor with a single step run, PC break point run, data memory break point run. Also in this designed microprocessor, pulse instructions, step controllers, master controllers, BM and BCD type arithmetic instructions, barrel shift instructions were implemented for sequence logic control. The FPGA was synthesized under a Xilinx's Foundation 4.2i Project Manager using a V600EHQ240 which contains 600,000 gates. Finally simulation and experiment were successfully performed respectively. For showing good performance, the designed microprocessor for the sequence logic control was compared with the H8S/2148 microprocessor which contained many bit instructions for sequence logic control. The designed processor for the sequence logic showed good performance.

본 논문은 FPGA를 이용하여 시퀀스 제어용 32비트 마이크로프로세서를 설계하였다. 이를 위해 VHDL을 이용하여 톱-다운 방식으로 마이크로프로세서를 설계하였으며, 고속처리의 문제점을 해결하기 위해 프로그램 메모리부와 데이터 메모리부를 분리하여 설계함으로써 인스트럭션을 페치 하는 도중에 시퀀스 명령을 실행할 수 있는 Harvard 구조로 설계하였다. 또한 마이크로프로세서의 명령어들을 시퀀스제어에 적합하도록 RISC형태의 32 비트 명령어로 고정하여 명령어의 디코딩 시간과 데이터 메모리의 인터페이스 시간을 줄였다. 특히 설계된 마이크로프로세서의 실시간 디버깅 기능을 구현하기 위해 싱글 스텝 런, 일정 프로그램 카운터 브레이크, 데이터 메모리와 일치시 정지 기능 등을 구현함으로써 구현된 프로세서의 디버깅을 쉽게 하였다. 또한, 시퀀스제어에 적합한 펄스명령, 스텝 콘트롤 명령, 마스터 콘트롤 명령 등과 같은 비트 조작 명령과, BIN형과 BCD형 산술명령, 배럴 쉬프트명령 등을 구현하였다. 이와 같은 기능들을 FPGA로 구현하기 위하여 자이링스(Xilinx)사의 V600EHQ240(60만 게이트)과 Foundation 4.2i를 사용하여 로직을 합성하였다. Foundation 합성툴 환경에서 시뮬레이션과 실험에서 성공적으로 수행되었다. 본 논문에서 구현된 시퀀스 제어용 마이크로프로세서의 우수성을 보이기 위해 시퀀스제어용 명령어를 많이 가지고 있는 Hitachi사의 마이크로프로세서인 H8S/2148과 성능을 비교하여 본 논문에서 설계된 시퀀스 제어용 프로세서가 우수함을 확인하였다.

Keywords

References

  1. F. Bonfatti, G. Gadda, P. Daniela Monari, 'Reusable software Design for Programmable Logic controllers,' ACM SIGPLANT Notices, Vol.30, No.11, pp. 31-40, 1995 https://doi.org/10.1145/216633.216651
  2. M. Morris Mano, 'Computer System Architecture', 1997
  3. Koo. KH et al. 'Implementation of a RISC microprocessor for programmable logic controllers', Microprocess Microsys, 2000 https://doi.org/10.1016/0141-9331(96)84161-5
  4. K. Koo, W. H. Kown, 'Predicting Execution Time of Relay Ladder Logic for Programmable Logic Controllers,' in Proceeding of the 1996 IEEE Conference on Emerging Technologies and Factory Automation, Vol.2, pp. 670-676, 1996 https://doi.org/10.1109/ETFA.1996.573985
  5. Yoshiyuki Shirnokawa, Toshiyuki Matsushita, Hideo Furuno, Yoh Shimanuki, 'A High-Performance VLSI Chip of Programmable Controller and Its Language for Instrumentation and Electric Control', in Proceeding of the IECON'91 International Conference on Industrial Electronics, Control and Instrumentation, Vol.2, pp. 884-889, 1991 https://doi.org/10.1109/IECON.1991.239173
  6. Bruce W. Bomar, 'Implementation of Microprogrammed Control in FPGAs', in Proceeding of the IEEE Transactions on Industrial Electronics, Vol.49, NO.2, 2002 https://doi.org/10.1109/41.993275
  7. Miyazawa, I., Nagao, T., Fukagawa, M., Itoh, Y., Mizuya, T., Sekiguchi, T., 'Implementation of Ladder Diagram for Programmable Controller Using FPGA', in Proceeding of the 1999 7th IEEE International Conference on Emerging Technologies and Factory Automation, Vol.2, pp. 1381-1385, 1999 https://doi.org/10.1109/ETFA.1999.813150
  8. 양 오, 'FPGA를 이용한 시퀀스 로직 제어용 고속 프로세서 설계', 대한전기학회 논문지 48권 12호, pp. 1554-1563, 1999
  9. N. Aramaki, Y. Shimokawa, S. Kuno, 'A New Architecture for High-Performance Programmable Logic Controller,' in Proceeding of the 23rd International conference on Industrial Electronics, Control, and Instrumentation, Vol.1, pp. 187-190, 1997 https://doi.org/10.1109/IECON.1997.671044
  10. Xilinx, 'VirtexTM-E 1.8V Fidle Programmable Gate Arrays', 2000
  11. R. Lipsett, C. Schaefer, 'VHDL : Hardware Description and Design', KALA, 1991
  12. HITACHI Semiconductor, 'Hitachi Single-Chip Microcomputer H8S/2144 Series, H8S/2148 Series Hardware Manual', 1997
  13. HITACHI Semiconductor, 'Hitachi Single-Chip Microcomputer H8S/2144 Series, H8S/2148 Series Programming Manual', 1997
  14. Mitsubishi, 'Programming Mannual : Common Instructions', 1999