Intel Siskiyou Peak CPU How to Run Simulation

Slides:



Advertisements
Similar presentations
Introduction to HT-IDE3000 Micro-C development System Department.
Advertisements

Hp education services education.hp.com 85 System Crash Dump Version C.00 H4264S Module 9 Slides.
Utilizing the GDB debugger to analyze programs Background and application.
Dayu Zhang 9/8/2014 Lab02. Example of Commands pwd --- show your current directory This is home of venus, not your home directory Tilde: means you are.
Using Ant to build J2EE Applications Kumar
COMPUTER SYSTEM LABORATORY Lab4 - Bootloader. Lab 4 Experimental Goal Learn how to build U-Boot bootloader for PXA /10/8/ 142.
SoftwareTools CGS 3460, Lecture 7 Jan 25, 2006 Zhen Yang.
Introduction to The Linaro Toolchain Embedded Processors Training Multicore Software Applications Literature Number: SPRPXXX 1.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Chapter 2 Software Tools and Assembly Language Syntax.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Purpose  This training course describes how to configure the the C/C++ compiler options.
Dr Masri Ayob TK 2633: Microprocessor & Interfacing Lecture 7: Assembly Language.
Lab 11 Department of Computer Science and Information Engineering National Taiwan University Lab11 - Porting 2014/12/9/ 26 1.
Lesson 6. GCSE Computing – programming languages Candidates should be able to:  describe common tools and facilities available in an integrated development.
ABAQUS Installation on LINUX Platform D. Hanumanthappa, A. Jérusalem May 5th, 2010.
Vim Editor and Unix Command gcc compiler Computer Networks.
1 What is a Kernel The kernel of any operating system is the core of all the system’s software. The only thing more fundamental than the kernel is the.
ADAM2 Single Remocon MCU IDE User’s Manual S/W Integrated Development Environment - Assembler - Simulator - Code Wizard V1.0 Technical Sales Team, ETA.
Introduction to Systems Programming (CS 0449) PalmOS Tools: Developer Studio & Cygwin.
COP 3330 Notes 1/12. Today's topics Downloading Java and Eclipse Hello World Basic control structures Basic I/O Strings.
Incell Phonium Processor Design Specifications Dale Mansholt Aaron Drake Jonathan Scruggs Travis Svehla Incell Phonium Processor.
Digital Systems Design Lab 1 TA : 曾興嘉
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Usage of Workstation Lecturer: Yu-Hao( 陳郁豪 ) Date:
ENEE150 – 0202 ANDREW GOFFIN Introduction to ENEE150.
Fall 08, Oct 31ELEC Lecture 8 (Updated) 1 Lecture 8: Design, Simulation Synthesis and Test Tools ELEC 2200: Digital Logic Circuits Nitin Yogi
Roll Screen Development Debugging assistance for building Rocks Rolls with screens OSGC, May 2008 Nadya Williams University of Zurich.
Programmable Logic Training Course HDL Editor
How to create and install packages in R Presenter: Roman Jandarov
Bit-DSP-MicrocontrollerTMS320F2812 Texas Instruments Incorporated European Customer Training Center University of Applied Sciences Zwickau (FH)
Kirk Scott Computer Science The University of Alaska Anchorage 1.
Java Programming, Second Edition Appendix A Working with Java SDK 1.4.
Using Simulator With Undertow Suite. Source environment variables For example, envsource has all the environment variables set up. You can change the.
Debugging Ensemble Productions CAMTA Meeting 11 th November 2010 John Murray.
Working with Hadoop. Requirement Virtual machine software –VM Ware –VirtualBox Virtual machine images –Download from Cloudera (Founded by leaders in the.
1 Installing Java on Your PC. Installing Java To develop Java programs on your PC: Install JDK (Java Development Kit) Add the directory where JDK was.
Nachos Overview and Project 1. Nachos Introduction Official website
Linux A practical introduction. 1)Background and Getting Started Linux is an operating system with multiple providers Red Hat/CentOS (our version) Ubuntu.
Object Oriented Programming COP3330 / CGS5409.  Compiling with g++  Using Makefiles  Debugging.
Introduction to Computer Programming using Fortran 77.
Tutorial for Modelsim 1 Installation Download the Modelsim Student Edition: Follow the.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
Customizing the NOAA SOS Public Kiosk Keith Searight Senior/Lead Software Engineer for SOS 2015 Science On a Sphere ® Users Collaborative Network Workshop.
Linux Workshop Session 2 By Amol and Prem. Overview of Presentation Brief Review Useful tools Remote Access Troubleshooting.
Problem Solving With C++ Doxygen Oct/Nov Introduction Doxygen is a documentation generator, a tool for writing software reference documentation.
VLSI Synthesis and Simulation Tools Nitin Yogi 01/09/2009
Outline Installing Gem5 SPEC2006 for Gem5 Configuring Gem5.
CS5100 Advanced Computer Architecture
Implementation of Embedded OS
Introduction to Vivado
Computer System Laboratory
Install external command line softwares
DATA MINING Python.
USB Project (15th July) Ian Coulter.
AES on GPU using CUDA Choi dae soon.
linux and related thing
Setting up your DEV C++.
WORKSHOP 3 GSE IMPORT.
Writing Shell Scripts ─ part 3
TRANSLATORS AND IDEs Key Revision Points.
Progress Report Chester Liu 2014/03/18.
When I want to execute the subroutine I just give the command Write()
Computer Science 210 Computer Organization
Configuration Of A Pull Network.
Cordova & Cordova Plugin Installation and Management
Using emacs and G++ at U. W.
Command line.
Computer System Laboratory
Running a Java Program using Blue Jay.
Sam Williams IRAM Summer Retreat 2000
Makefiles, GDB, Valgrind
Presentation transcript:

Intel Siskiyou Peak CPU How to Run Simulation Chester Liu 2014/03/14

General Information Test environment Ubuntu 13.10 Download and uncompress source files In the following slides, ${SISKIYOU_TOP} means the directory where you place your uncompressed source files in

Tool Chain Prerequisite software packages Build tool chain libncurses5-dev bison & flex texinfo Use older texinfo (e.g. 4.13) if you encounter unknown command `colophon’ when building the tool chain llvm-3.1 & clang Build tool chain cd ${SISKIYOU_TOP}/toolchain/buildroot Use default configuration make menuconfig and exit (this will generate .config.cmd) cp configs/nano-newlib_defconfig .config; make Or customize your own configuration make menuconfig; make It takes a long time to complete

Environment Variables Set environment variables export HW_TOP=${SISKIYOU_TOP}/rtl export NANO_SHARED=${SISKIYOU_TOP}/toolchain/buildroot/output

RTL Prerequisite software package Compile RTL VCS-MX (e.g. 2013.06) mkdir ${SISKIYOU_TOP}/rtl/run cd ${SISKIYOU_TOP}/rtl/run ../sim/scripts/build.sh Remove -full64 from build.sh if running on 32-bit machine A file named simv should be created

RTL (contd.) Run RTL simulation for benchmark Dhrystone ./simv -ucli source ../sim/scripts/testbench.tcl load_elf_into_nc_memory ../sim/benchmarks/dhrystone/hw_obj/nano-O3/dhrystone.out Manual stop (press ctrl+c when you see “All assert checks passed”) run Or auto stop extract_labels_from_elf labels ../sim/benchmarks/dhrystone/hw_obj/nano-O3/dhrystone.out run_until_eip $labels(exit) exit

Dump Simulation Waveform Prerequisite software package Verdi (e.g. 2013.07) Modify ${SISKIYOU_TOP}/sim/tb/nc_base_top_tb.sv Add the following lines initial begin $fsdbDumpfiles(“waveform.fsdb”); $fsdbDumpvars; // dump RTL signals // $fsdbDumpvars(“+mda”); // plus dump multi-dimension arrays // $fsdbDumpvars(“+all”); // plus dump MDAs and structures end Modify ${SISKIYOU_TOP}/sim/scripts/build.sh Put the following lines in VCS_OPTIONS +vpi +vcsd +memcbk –P ${NOVAS_HOME}/share/PLI/VCS/LINUX/novas.tab ${NOVAS_HOME}/share/PLI/VCS/LINUX/pli.a Recompile and rerun RTL simulation

Compile Benchmark Use Dhrystone as example cd ${SISKIYOU_TOP}/rtl/sim/benchmarks/dhrystone Fix paths for nanoc and sysroot in do_all.sh with ${NANO_SHARED} ./do_all.sh

Run Assembly Code Simulation Modify ${SISKIYOU_TOP}/sim/tools/linker.ld Change comment style from // to /**/ to avoid syntax error Run RTL simulation cd ${SISKIYOU_TOP}/rtl/run ./simv -ucli source ../sim/scripts/testbench.tcl exec_assembly YOUR_ASSEMBLY_FILE exit

Sample Assembly Code # main.S .text xorl %eax, %eax # 31 C0 exit: nop # 90

Experiment Modify ${SISKIYOU_TOP}/rtl/src/core/pipeline_id.sv Change XOR (opcode = 8’h31) to behave like NOT Run the sample assembly code Normal XOR operation Should write 0 to EAX twice Modified XOR operation First write 0xffffffff to EAX, then write 0 to EAX

Simulation Result Normal XOR operation Modified XOR operation