1 CS294 Project VIRAM-1 Verification Retreat – Winter 2001 Sam Williams.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Final Presentation Part-A
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
May 7, A Real Problem  What if you wanted to run a program that needs more memory than you have?
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
7/14/2000 Page 1 Design of the IRAM FPU Ioannis Mavroidis IRAM retreat July 12-14, 2000.
Memory Management (II)
VIRAM-1 Architecture Update and Status Christoforos E. Kozyrakis IRAM Retreat January 2000.
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
Retrospective on the VIRAM-1 Design Decisions Christoforos E. Kozyrakis IRAM Retreat January 9, 2001.
1 IRAM Testing / Verification Sam Williams UC Berkeley
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
INPUT/OUTPUT ORGANIZATION INTERRUPTS CS147 Summer 2001 Professor: Sin-Min Lee Presented by: Jing Chen.
8/16/2015\course\cpeg323-08F\Topics1b.ppt1 A Review of Processor Design Flow.
What are Exception and Interrupts? MIPS terminology Exception: any unexpected change in the internal control flow – Invoking an operating system service.
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
1 CS503: Operating Systems Part 1: OS Interface Dongyan Xu Department of Computer Science Purdue University.
Ross Brennan On the Introduction of Reconfigurable Hardware into Computer Architecture Education Ross Brennan
NetSim ZigBee Simulation Code Walkthrough in 10 steps
NET+OS 6 BSP How and why it was restructured Changes to memory map New features How to port to custom hardware.
SystemC: A Complete Digital System Modeling Language: A Case Study Reni Rambus Inc.
CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University1 Input/Output CS 342 – Operating Systems Ibrahim Korpeoglu Bilkent University.
SPREE RTL Generator RTL Simulator RTL CAD Flow 3. Area 4. Frequency 5. Power Correctness1. 2. Cycle count SPREE Benchmarks Verilog Results 3. Architecture.
Virtual Memory Review Goal: give illusion of a large memory Allow many processes to share single memory Strategy Break physical memory up into blocks (pages)
The Macro Design Process The Issues 1. Overview of IP Design 2. Key Features 3. Planning and Specification 4. Macro Design and Verification 5. Soft Macro.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Basic Input/Output System
Ted Pedersen – CS 3011 – Chapter 10 1 A brief history of computer architectures CISC – complex instruction set computing –Intel x86, VAX –Evolved from.
GPUs: Overview of Architecture and Programming Options Lee Barford firstname dot lastname at gmail dot com.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
Lab 2 Parallel processing using NIOS II processors
Processor Architecture
Slide 1 IRAM Original Plan A processor architecture for embedded/portable systems running media applications –Based on media processing and embedded DRAM.
Spring 2003CSE P5481 Precise Interrupts Precise interrupts preserve the model that instructions execute in program-generated order, one at a time If an.
© 2010 Altera Corporation - Public Lutiac – Small Soft Processors for Small Programs David Galloway and David Lewis November 18, 2010.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Constructive Computer Architecture Tutorial 4: Running and Debugging SMIPS Andy Wright TA October 10, 2014http://csg.csail.mit.edu/6.175T04-1.
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
UC Regents Spring 2014 © UCBCS 152: L7: Power and Energy John Lazzaro (not a prof - “John” is always OK) CS 152 Computer Architecture and Engineering.
UNIX U.Y: 1435/1436 H Operating System Concept. What is an Operating System?  The operating system (OS) is the program which starts up when you turn.
Translation Lookaside Buffer
Module 3: Operating-System Structures
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Chapter Objectives In this chapter, you will learn:
VLSI Testing Lecture 14: System Diagnosis
Rough Schedule 1:30-2:15 IRAM overview 2:15-3:00 ISTORE overview break
Figure 1 PC Emulation System Display Memory [Embedded SOC Software]
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
Lecture 8: ILP and Speculation Contd. Chapter 2, Sections 2. 6, 2
Combining Simulators and FPGAs “An Out-of-Body Experience”
Operating Systems Chapter 5: Input/Output Management
Translation Lookaside Buffer
Chapter 2: Operating-System Structures
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
Overview 1. Inside a PC 2. The Motherboard 3. RAM the 'brains' 4. ROM
CSE451 Virtual Memory Paging Autumn 2002
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
CSE 471 Autumn 1998 Virtual memory
Chapter 2: Operating-System Structures
Sam Williams IRAM Summer Retreat 2000
Chapter 13: I/O Systems.
CMSC 611: Advanced Computer Architecture
Presentation transcript:

1 CS294 Project VIRAM-1 Verification Retreat – Winter 2001 Sam Williams

2 CS294 Project Current Debug / Verification Efforts Current m5kc+fpu :program simulation on RTL m5kc+vu+xbar+dram :program simulation on RTL AU : corner cases + random values on VERILOG netlist To Do Entire VIRAM-1 :program simulation on RTL (m5kc+vu+fpu+xbar+dram) Vector Register File : only a few cases have been (layout) spiced.

3 CS294 Project Verify script Command line args include mode, and switches for disabling state initialization, method for init/test, run from on/off chip, turn of TLB, etc… Implemented a trace comparator capable of handling out of order commit, and partial execution few issues need to be hammered out for vu trace generation Tests can fail for self-check (software), unexpected exceptions, simulator failure, traces not consistent, etc… Since there are currently two different processors being verified, each had to have its own verify script and random test generator..test.r vsim simv.s rand_gen Insert init, self-check, c, etc… pass / fail verify.execute.pl Trace compare Command line args

4 CS294 Project Progress vsim m5kc+vu+ xbar+dram m5kc+fpu m5kc ISAXC’s Arith.  KernelsTLB  Kernels randomcompiled MIPS Testsuite ISAXC’s Arith.  KernelsTLB  Kernels randomcompiled ISA XC’s Arith.  Kernels randomcompiled Testsuite on Synthesized VIRAM-1 (superset of above) Entire VIRAM-1 Testsuite Testsuite on Synthesized MIPS testsuite is about 1700 test-mode combinations + <100 FP tests-mode combinations that are valid for the VIRAM-1 FPU Additionally, entire VIRAM-1 testsuite has about 2200 tests, each of which can be run in 200 modes (only 1 mode has been run). Each mode is 24M instructions, and 4M lines of asm code Vector unit currently passes about 1800 tests (only the ISA sub suite) There are about 200 exception tests for both coprocessors Kernel tests are long, but there are only about 100 of them Tests are continually being written, so that they are ready once the RTL can run them MIPS Vector Subset of VIRAM-1 Testsuite FPU Subset of VIRAM-1 Testsuite + MIPS FPU Testsuite Entire VIRAM-1 Testsuite

5 CS294 Project Test File Format Retrospective init/test functions aren’t written by the test writter, this allowed them to be switched as needed. e.g. when vld/vst weren’t working, vector register init/test was handled via vins/vext. The test was identical, all that changed was a command line option. xbar had a bug in it which prevented any access to DRAM (from m5kc or vu). Another command line allowed running tests from off chip memory, and forced application of the previous option Test format allows for easy modification to reduce simulation time in a debug cycle. Difficult to apply ISA changes to the entire test suite. e.g. half as many registers, changes in functionality for instructions, narrow element ordering, etc… [INIT] vr:0 half 0x7fff 0x0001 0xffff 0x7fff 0x0001 0xffff 0x7fff 0x0001 0xffff vr:1 half 0x7fff 0x7fff 0x7fff 0x0001 0x0001 0x0001 0xffff 0xffff 0xffff [CODE] li a0,1 ; vcset a0,vpw li a0,9 ; vcset a0,vl vfclr $vf8 ; vfset vfmask0 vadd.vv $vr2,$vr1,$vr0 vfor.sv $vf16,$vs0,$vf8 END [TEST] vr:2 half 0xfffe 0x8000 0x7ffe 0x8000 0x0002 0x0000 0x7ffe 0x0000 0xfffe vf:16 hex1 d

6 CS294 Project Bug Trends xbar/DRAM/SysAD timing and arbitration problems VERILOG could use extensions for handling control logic for multiple lanes instead of copying and modifying code, which led to many typos Major mistake in xbar functionality had to be fixed with major memory pipeline change. A few chaining errors so far Tests which had hand coded versions of boot code were not kept sync’d with master version (e.g. some regs had to be initialized, and were in master version, but not in the handful of tests which had their own version) ISA docs were not kept in sync with RTL, as a result many tests which look correct failed on RTL. (vector processing instructions, lack of interlocks) FP execution unit as it was shipped to us had many flaws with respect to exceptions and NaN’s – fixed to make it IEEE compliant FP reorder buffer / CDB problems missing results cop0 hazards initially weren’t reported by vsim, and caused hard fails on RTL Instruction Encoding – some instructions were encoded differently in the RTL than what had been used by the assembler / software simulator

7 CS294 Project VIRAM-1 Board Daughter card (modified m5kc core card) has DIMM, VIRAM-1, and chipset (which maps SysAD  PCI,SDRAM) Yamon software can be used to directly download and run programs to daughter card via ethernet or serial. An m5kc based core card will allow us to run thru the methodology before receiving parts. Atlas board has PCI, compact PCI, SCSI, Parallel, Ethernet, KB/Mouse, USB, Serial devices. Will allow for creation of VIRAM- 1 workstation For OS support, we would have to modify an unsupported MIPS Linux port. The vector unit can only touch on chip memory. viram1chipset Daughter card Atlas board

8 CS294 Project Still Left To Do FPU RTL almost done, needs a little more work. VU RTL verification needs to be completed, only done with ISA Integrate everything together for VIRAM-1 RTL model Include real versions of AU, xbar, VRF Iterate over timing driven layout, to ensure nothing is broken Board/daughter card checks Linux/MIPS port to Linux/VIRAM-1