• DocumentCode
    2002608
  • Title

    AMD64 Processor Front-End Verification (at Unit-Level Testbench) with Instruction Set Simulator

  • Author

    Murale, K. ; Hildebrandt, S. ; Bojsen, P. ; Urzua, A.

  • Author_Institution
    Adv. Micro Devices, Comput. Solutions Group, Boxborough, MA
  • fYear
    2008
  • fDate
    8-10 Dec. 2008
  • Firstpage
    81
  • Lastpage
    87
  • Abstract
    Processors are verified for architectural correctness with instruction set simulators. Traditionally, this verification is done at the full-chip level with the focus on high-level register/memory correctness at each instruction execution. This approach is effective in a full-chip environment with all units in place so a test can be run from beginning to end. At the unit level, running a test means various functionalities of other units need to be filled in by the testbench. The key to accomplishing this in unit level lies in identifying the main flows in fetch, execution, and load/store memory operations, then modeling these correctly. This testbench can then be used at unit level and still verify many full-chip feature sets and pave the way for effective bring-up of full-chip verification with minimal delay. For this, the unit-level verification is done in a framework of a full-chip-like simulation environment with testbench providing stimulus from an AMD64-directed or other executable random test, and a testbench back-end that is tied into an instruction set simulator guaranteeing program order execution with correct test termination. Our back-end execution machine is a combination of testbench interfacing into design at the macro architectural level and an API into an x86-instruction set simulator to get register/memory status update as instructions are stepped. This approach opens up thousands of legacy tests that are normally run in full-chip to run in unit level and be further complemented by executable random streams generated by exercisers.
  • Keywords
    formal verification; instruction sets; microprocessor chips; AMD64 processor front-end verification; back-end execution machine; full-chip feature sets; full-chip verification; full-chip-like simulation environment; unit-level testbench; x86-instruction set simulator; Computational modeling; Computer aided instruction; Data mining; Decoding; Delay effects; Filling; Microprocessors; Registers; Sliding mode control; Testing; AMD64; directed test; instruction set simulator; unit level testbench; x86 processor verification;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microprocessor Test and Verification, 2008. MTV '08. Ninth International Workshop on
  • Conference_Location
    Austin, TX
  • ISSN
    1550-4093
  • Print_ISBN
    978-1-4244-3682-8
  • Type

    conf

  • DOI
    10.1109/MTV.2008.12
  • Filename
    5070939