Dual-mode Pseudorandom Number Generator Extension for Embedded System

임베디드 시스템에 적합한 듀얼 모드 의사 난수 생성 확장 모듈의 설계

  • Lee, Suk-Han (Department of Electrical and Electronic Engineering, Yonsei University) ;
  • Hur, Won (Department of Electrical and Electronic Engineering, Yonsei University) ;
  • Lee, Yong-Surk (Department of Electrical and Electronic Engineering, Yonsei University)
  • 이석한 (연세대학교 전기전자공학과) ;
  • 허원 (연세대학교 전기전자공학과) ;
  • 이용석 (연세대학교 전기전자공학과)
  • Published : 2009.08.25

Abstract

Random numbers are used in many sorts of applications. Some applications, like simple software simulation tests, communication protocol verifications, cryptography verification and so forth, need various levels of randomness with various process speeds. In this paper, we propose a fast pseudorandom generator module for embedded systems. The generator module is implemented in hardware which can run in two modes, one of which can generate random numbers with higher randomness but which requires six cycles, the other providing its result within one cycle but with less randomness. An ASIP (Application Specific Instruction set Processor) was designed to implement the proposed pseudorandom generator instruction sets. We designed a processor based on the MIPS architecture,, by using LISA, and have run statistical tests passing the sequence of the Diehard test suite. The HDL models of the processor were generated using CoWare's Processor Designer and synthesized into the Dong-bu 0.18um CMOS cell library using the Synopsys Design Compiler. With the proposed pseudorandom generator module, random number generation performance was 239% faster than software model, but the area increased only 2.0% of the proposed ASIP.

난수 생성 함수는 소프트웨어를 사용한 시뮬레이션 테스트나 통신 프로토콜 검증 등 수많은 어플리케이션에 사용되어진다. 이런 상황에서 난수의 randomness는 사용 어플리케이션에 따라서 다르게 필요할 수 있다. 반드시 randomness가 보장된 랜덤 함수를 통한 고품질의 난수를 생성해야 할 때가 있고, 단지 난수와 비슷한 형태를 가진, randomness가 보장되지 않은 난수가 필요할 때도 있다. 본 논문에서는 고속으로 동작하는 임베디드 시스템을 위한 듀얼 모드로 동작하는 하드웨어 난수 생성기를 제안하였다. 모드 1 에서는 높은 randomness를 가지는 난수를 6사이클마다 한 번씩 생성하게 되며, 모드 2 에서는 낮은 randomness를 가지는 난수를 매 사이클마다 생성할 수 있다. 테스트를 위해, ASIP(Application Specific Instruction set Processor)를 설계하였으며, 각 모드에 맞는 명령어 세트를 설계하였다. ASIP은 LISA언어를 사용하여, 5 stage MIPS architecture를 기반으로 설계되었고, CoWare 사의 Processor Generator를 통해서 HDL코드를 생성하였으며, HDL 모델은 동부 0.18um 공정으로 Synopsys사의 Design Compiler를 통해서 합성되었다. 설계되어진 ASIP으로 난수를 생성한 결과, 하드웨어 모듈을 추가하기 전에 비해 2.0%의 면적 증가 및 239%의 성능 향상을 보였다.

Keywords

References

  1. Laszlo Hars and Gyorgy Petruska, 'Pseudorandom Recursions: Small and Fast Pseudorandom Number Generators for Embedded Applications,' EURASIP Journal on Embedded Systems, Vol. 2007, No. 1 (2007), pp. 5-5 https://doi.org/10.1155/2007/98417
  2. ISO/ISE 18000-6C : Parameter for air interface communications at 860Mhz to 960Mhz, 2005
  3. Willick, D. L. et al, Disk Cache Replacement Policies for Network Fileservers, Distributed Computing Systems, 1993 INt'l Conf. pp. 2-11 https://doi.org/10.1109/ICDCS.1993.287729
  4. G. Marsaglia, 'DIEHARD: a battery of tests of randomness,'1996, http://stat.fsu.edu/pub/diehard/
  5. G. Fishmann and L. R. Moore III, 'An exhaustive analysis of multiplicative congruential random number generators with modulus ,' SLAM Journal fof Scientific and tatistical Computing, Vol. 7, No. 1 (1985),pp. 24-45 https://doi.org/10.1137/0907002
  6. F. James, 'A review of pseudorandom number generators,' in Computer Physics Communication, North Holland, Amsterdam, The Netherlands, 1990, Vol, 60, pp.329-344 https://doi.org/10.1016/0010-4655(90)90032-V
  7. P. L'Ecuyer, 'Maximally equidistributed combined Tausworthe generators,' Mathematics of Computation, Vol. 65, No. 213 (1996), pp. 203-213 https://doi.org/10.1090/S0025-5718-96-00696-5
  8. S. K. Park and K. W. MIller, 'Random number generators: good ones are hard to find,' Communications of the ACM, Vol. 31, No. 10 (1988), pp. 1192-1201 https://doi.org/10.1145/63039.63042
  9. S. L. Anderson, 'Random number generators on vector super computers and other advanced architectures,' SIAM Review, Vol. 32, No. 2 (1990), pp. 221-251 https://doi.org/10.1137/1032044
  10. R. C. Tausworthe, 'Random numbers generated by linear recurrence module two,' Mathematics of Computation, Vol. 19, No. 90 (1965), pp. 201-209 https://doi.org/10.1090/S0025-5718-1965-0184406-1
  11. CoWare Inc., 'LISA 2.0 Language Tutorial,' http://www.coware.com
  12. T. Glokler and H. Meyr, 'Design of Energy-Efficient Application Specific Instruction-Set Processors (ASIPs),' Kluwer Academic Publishers (2003), pp. 117-143