›› 2010, Vol. 25 ›› Issue (2): 267-273.

• Special Section on CPU Researches in China • Previous Articles     Next Articles

Design and Application of Instruction Set Simulator on Multi-Core Verification

Xiang-Dong Hu (胡向东), Senior Member, CCF, Yong Guo (郭勇), Ying Zhu (朱英), Xin Guo (郭昕), and Peng Wang (王鹏)   

  1. National High Performance IC (Shanghai) Design Center, Shanghai 201204, China
  • Received:2009-03-23 Revised:2010-01-25 Online:2010-03-05 Published:2010-03-05
  • About author:
    Xiang-Dong Hu is a processor in National High Performance IC (Shanghai) Design Center. He is a senior member of China Computer Federation (CCF). He received his B.S. and M.S. degrees in electrical engineering from Zhejiang University. His main research interests include high performance computer architecture, and high performance processor design & verification.
    Yong Guo is an assistant processor in National High Performance IC (Shanghai) Design Center. His research interests include simulation, verification, and compiler optimization.
    Ying Zhu is a processor in National High Performance IC (Shanghai) Design Center. Her research interests include high performance processor design & verification, and hardware design.
    Xin Guo is an associate processor in National High Performance IC (Shanghai) Design Center. Her research interests include high performance processor design, and hardware design.
    Peng Wang is an assistant processor in National High Performance IC (Shanghai) Design Center. He received the Ph.D. degree from Tsinghua University. His research interests include high performance processor design.

Instruction Set Simulator (ISS) is a highly abstracted and executable model of micro architecture. It is widely used in the fields of verification and debugging during the development of microprocessors. However, with the emergence of Chip Multi-Processors, the single-core ISS cannot meet the needs of microprocessor development. In this paper, we introduce our multi-core chip architecture first, after that a general methodology to expand a single-core ISS to a multi-core ISS (MCISS) is proposed. On this basis, a real-time comparison environment is created for multi-core verification, and the problems of multi-core communication and synchronization are addressed gracefully. With the ``save and restore'' mechanism, the verification procedure and the debugging are speeding up greatly.

[1] Robinson W H, Alles M L, Bapty T A et al. Soft error considerations for multicore micro-processor design. In Proc. IEEE International Conference on Integrated Circuit Design and Technology, Austin, USA, May 30-June 1, 2007, pp.1-4.

[2] Hu W, Wang J, Gao X et al. Godson-3: A scalable multicore RISC processor with X86 emulation. IEEE Micro, 2009, 29(2): 17-29.

[3] Rosenblum M, Varadajan M. SimOS: A fast operating system simulation environment. Technical Report, CSL-TR-94-631, Stanford University, 1994.

[4] Martin M M, Sorin D J, Beckmann B M et al. Multifacet’s general execution-driven multiprocessor simulator (GEMS) toolset. Computer Architecture News, 2005, 33(4): 92-99.

[5] Glamm B, Lilja D J. Automatic verification of instruction set simulation using synchronized state comparison. In Proc. the 34th Annual Simulation Symposium (SS 2001), Seattle, USA, April 22-26, 2001, pp.72-77.

[6] Taylor S, Quinn M, Brown D et al. Functional verification of a multiple-issue, out-of-order, superscalar alpha processor — The DEC Alpha 21264 microprocessor. In Proc. the 35th Conference on Design Automation, San Francisco, California, USA, June 15-19, 1998, pp.638-643.

[7] Josseo Yim, Park C, Yang W et al. Design verification of complex microprocessors. In Proc. IEEE Asia Pacific Conference on Circuits and Systems, Seoul, Korea, Nov. 18-21, 1996, pp.441-448.

[8] Semeria L, Ghosh A. Methodology for hardware/software coverification in C/C++. In Proc. ASP-DAC 2000, Yokohama, Japan, Jan. 25-28, 2000, pp.405-408.

[9] Kumar J. UltraSPARC processor emulation verification: Getting HW/SW right the first time. In Proc. DesignCon 2007, Santa Clara, USA, Jan. 29-Feb. 1, 2007, pp.1-17.

[10] Wu Y, Yu L, Lan L et al. A coverage-driven constraint random-based functional verification method of memory controller. In Proc. the 19th IEEE/IFIP International Symposium on Rapid System Prototyping, Monterey, USA, June 2-5, 2008, pp.99-104.

[11] Anderson T L. Open verification methodology: Fulfilling the promise of system verilog. Information Quarterly, 2008, 7(1): 52-54.

[12] Spear C. SystemVerilog for Verification. A Guide to Learning the TestBench Language Features. Springer, 2008, pp.382419.

[13] MacBeth J S, Heinz D, Gary K. An assembler driven verification methodology (ADVM). In Proc. Design, Automation and Test in Europe Conference and Exposition (DATE 2005), Munich, Germany, March 7-11, 2005, pp.278-283.

[14] Aharon A, Goodman D, Levinger M et al. Test program generation for functional verification of PowerPC processors in IBM. In Proc. IEEE/ACM 32nd Design Automation Conference (DAC), Philadelphia, Pennsylvania, Sept. 10-13, 2006, pp.279-285.

No related articles found!
Full text



[1] Liu Mingye; Hong Enyu;. Some Covering Problems and Their Solutions in Automatic Logic Synthesis Systems[J]. , 1986, 1(2): 83 -92 .
[2] Chen Shihua;. On the Structure of (Weak) Inverses of an (Weakly) Invertible Finite Automaton[J]. , 1986, 1(3): 92 -100 .
[3] Gao Qingshi; Zhang Xiang; Yang Shufan; Chen Shuqing;. Vector Computer 757[J]. , 1986, 1(3): 1 -14 .
[4] Chen Zhaoxiong; Gao Qingshi;. A Substitution Based Model for the Implementation of PROLOG——The Design and Implementation of LPROLOG[J]. , 1986, 1(4): 17 -26 .
[5] Huang Heyan;. A Parallel Implementation Model of HPARLOG[J]. , 1986, 1(4): 27 -38 .
[6] Min Yinghua; Han Zhide;. A Built-in Test Pattern Generator[J]. , 1986, 1(4): 62 -74 .
[7] Tang Tonggao; Zhao Zhaokeng;. Stack Method in Program Semantics[J]. , 1987, 2(1): 51 -63 .
[8] Min Yinghua;. Easy Test Generation PLAs[J]. , 1987, 2(1): 72 -80 .
[9] Zhu Hong;. Some Mathematical Properties of the Functional Programming Language FP[J]. , 1987, 2(3): 202 -216 .
[10] Li Minghui;. CAD System of Microprogrammed Digital Systems[J]. , 1987, 2(3): 226 -235 .

ISSN 1000-9000(Print)

CN 11-2296/TP

Editorial Board
Author Guidelines
Journal of Computer Science and Technology
Institute of Computing Technology, Chinese Academy of Sciences
P.O. Box 2704, Beijing 100190 P.R. China
E-mail: jcst@ict.ac.cn
  Copyright ©2015 JCST, All Rights Reserved