EmGen: An Automatic Test-Program Generation Tool for Embedded IP Cores
|
|
- Magdalene King
- 5 years ago
- Views:
Transcription
1 EmGen: An Automatic Test-Program Generation Tool for Embedded IP Cores Haihua Shen, Yunji Chen, and Jing Huang Institute of Computing Technology Chinese Academy of Sciences Beijing, China {shenhh, cyj, Abstract: Core-based system-on-chip (SoC) design is quickly becoming a new paradigm in electronic system design due to the reusability of IP cores. However, the validation of IP cores is the most time consuming task in the design flow. This paper presents EmGen, an automatic test-program generation tool designed for embedded microprocessor cores. EmGen provides an configurable formal specification model with heuristic knowledge, which can generate test programs according to different configuration of microprocessors architecture, a test generation scheme based on heuristic algorithms, which can efficiently provide instructions in test programs, and validation testbenches, which support simulation with generated test programs automatically and check the equivalence of microprocessors and the specified instruction reference model. EmGen is currently in use at ICT for the verification of embedded microprocessor cores. Experiments results show that EmGen can improve verification process and cut down skilled manpower obviously. 1 Introduction Today, microprocessor vendors are suddenly clamoring to take the lead in offering reusable IP cores ranged from North Bridge to 32-bit microprocessor cores a trend that promises to shorten the time to market and fill the design productivity gap due to development of deep sub-micron technologies. Compared with general multimilliongate processors, embedded microprocessor cores pay more attention to low-cost and other attributes such as flexibility and reconfigurability. Traditional design verification comprises a large portion of the effort in designing a processor [1]. Simulationbased verification tries to uncover errors of design by detecting circuits faulty behavior when deterministic or pseudo-random simulation vectors are applied. Many practices involve in technologies to improve test generation and coverage analysis [2][3][4]. Some papers are more concerned with comparison among those advanced techniques within existing strategies of test generation. It indicates that using random test bench to perform the directed testing is strongly recommended [5]. The primary motivation of our work is to take advanced test generation technologies into practice to adapt to the feature of embedded microprocessor cores verification. Although it presents a set of new techniques to realize recommendation trends, the main contribu- Z. Wu et al. (Eds.): ICESS 2004, LNCS 3605, pp , Springer-Verlag Berlin Heidelberg 2005
2 EmGen: An Automatic Test-Program Generation Tool for Embedded IP Cores 529 tion of our work is not in theory, but in describing how to translate this theory into practice in a practical way, a task that is far from trivial. This paper presents an automatic test generation tool named EmGen, which is able to induce test programs according to design configuration for simplifying the process of verification. EmGen is based on a previously developed configurable formal specification model with heuristic knowledge that can specify request from highly directed tests to completely random ones according to the requirement of different microprocessor cores configuration and coverage metrics, a reference instruction set simulator, which can provide accurate reference results for DUT verification in executable framework, a test generation scheme with heuristic algorithms, which can efficiently provide appropriate instructions based on the configurable formal specification model, and validation testbenches, which support simulation with generated test programs automatically and check the equivalence of microprocessor cores and their reference model [6]. EmGen s uniqueness, when compared to general-purpose verification tools in stimuli generation [7] [8], lies in the fact that both the generation schemes and the validation testbenches it provides are oriented at the characteristics of flexible and reconfigurable embedded microprocessors by high-level test program generation. It has been taken into practice in the Institute of Computing Technology of the Chinese Academy of Sciences for the verification of a 32-bit embedded microprocessor core. The remainder of this paper is as follows. In Section 2 & 3, we briefly describe the configurable formal specification model and the heuristic test generation algorithms used in EmGen. Then we present the validation environments and the framework of EmGen in Section 4. Finally we present experimental results in Section 5 and give some conclusions in Sections 6. 2 Configurable Formal Specification Model Given an RT-level description of a microprocessor core, simulation-based verification requires test programs and a simulator to simulate its execution. The goal we design EmGen is to generate test programs automatically and effectively according to the specified generation rules that describe the requirement of the configurable microarchitecture of embedded microprocessors and the verification plan precisely. Test generation rules are hard to specify correctly, and yet are often critical and beneficial that their specifications are correct, complete and unambiguous. Formal specifications, based on using multiple constraints to collectively define the behavior of test generation, promise to meet all requirements. Our formal specification is summarized to four style rules. The adjustability rule requires the instructions to be generated fully adapting to different microarchitecture configuration of embedded microprocessor core. Configurable microprocessor core is an emerging technology that takes the high performance of many different asics or application specific standard products (assp) into an application tailored embedded microprocessor core [9]. General options of embedded microprocessor core configuration can be the size and organization of cache & TLB, the usage of floating point units and multimedia units, the optional bus
3 530 Haihua Shen, Yunji Chen, and Jing Huang interfaces of microprocessor core, the pipeline partition according to the requirement of frequency and so on. According to the adjustability rule, the specification should initialize all parameters in relation to the configuration of microprocessor, as well as parameters of test program length and random seeds. Constraints on microarchitecture configuration of embedded core are written in the following forms:. Config parameters TLB 1 FPU 0 MMX 1 ICACHE 2 DCACHE 2. End of config.pipeline stages ALU_WB_STAGE 1 TLB_STAGE 1 MUL_WB_STAGE 1 RENAME_STAGE 0 FMUL_STAGE 3. End of pipeline stages The random rule requires the instructions with or without arrangements to be generated randomly with configurable ratio. Based on the random rule, instruction specifications should be written with appropriate ratio. The flexibility rule requires the instructions to be generated in configurable styles from pseudorandom groups with different seeds to totally directed sequence with strict constraints. Separated by operands, allowed instructions are divided into four groups. I type includes instructions with only two src operands and dst operand in registers. M type includes instructions that access memory resources. J type & B type are all instructions whose target is to change program counters. The difference between them is that instructions in B type have branch conditions and those in J type have not. Function I/M/J/B (instruction var) is defined to find if the instruction var is in I/M/J/B type. The constraints should be written according to the following reasoning: prec(i M J B) R src1 R src2 R dst prec( I M J B) (R base ((R src2 R dst ) (R src2 R dst ))) (M str M end ) prec( I M J B) T target prec( I M J B) R src1 R src2 T offset The prec construct allows the operands of an instruction with expressed precondition to be limited by the expression of constraining logic. The divisibility rule requires each constraint to constrain only the behavior of one instruction component. Equivalently, because the constraining part is isolated from each other, the rule requires the consequent to contain only one or a scope of values for one field. The four styles above are powerful enough to specify the requirement of generation from random to totally direction, see [6] for more detailed information on the model used here. Although abiding by the style rules may seem restrictive, it promises many benefits. For example, the specification is easier to maintain. Constraints can be added or removed and independently modified. It is also believed that it is easier to write and debug. Since most existing languages are already written as a list of rules, the translation to this type of specification requires less effort and results in fewer opportunities for errors.
4 EmGen: An Automatic Test-Program Generation Tool for Embedded IP Cores Test Generation Process For a given specification model, EmGen s generation process can be divided into two layers: traversing the internal specification statement tree and generating the instructions on the basis of specification. It is easy to do the statement tree travel in a hierarchical manner. But generating the instructions is more difficult because the generation process interleaved with the execution of Reference Instruction Set Simulator must maintain the intermediate processor states dynamically. The intermediate processor states embedded in all kinds of general registers, control registers, statement registers and memories are always limited by realistic resources in practice. There are several factors in contradiction with each other that may bring on difficulties in generation process, such as the limitation of realistic memory addresses with the supposed large size of idealistic virtual memory addresses. To solve these problems, we present two algorithms named the dynamic boundary check (DBC) algorithm and the scan TLB (ST) algorithm. The DBC algorithm handles the random branches targets to achieve expected quantities and quality of generation according to verification plan. Then the ST algorithm is used to generate enough efficient instructions under the limitation of memory address space in validation environments. 3.1 The Dynamic Boundary Check (DBC) Algorithm The main idea of DBC algorithm is to change the direction of instruction flows whenever they meet a boundary, carefully select the branch targets to avoid the boundary and delete the dead branch whose target is breaking the rules or terminate the generation process if it does not belong to the random freely group. The DBC algorithm is implemented by following steps. Step 1: Generate a new instruction according to the constraints of configurable specification. Judge if the instruction is a branch or jump. If the instruction is a branch, then go to Step2. Else go to Step3. Step2: Search if there is an appropriate target pc not in pc stack following all the constraints in specification and not breaking the boundary in pc stack. If the correct target pc cannot be found, then turn to Step4, otherwise, Step5. Step3: Check the boundary in pc stack. If the instruction meets the boundary in pc stack, go to Step6; else transfer the instruction to RISS and go back to Step1. Step4: Check if the instructions belongs to random freely group. If it is random freely, then cancel this instruction and turn back to Step1 to generate a new instruction instead; else print alert and terminate the generation process. Step5: Select an appropriate target pc for the instruction and transfer the instruction to RISS. Then go on the generation process in Step1. Step6: If the instruction is in a sequence, terminate the generation process and pop up an alert. Else insert a directly jump instruction behind the instruction to avoid the boundary and go back to Step1. A case of instruction flows changed by the DBC algorithm is shown in Fig. 1.
5 532 Haihua Shen, Yunji Chen, and Jing Huang Fig. 1 A case of instruction flows changed by DBC algorithm The results of experiments show that the DBC algorithm can improve the generation process obviously (see Fig. 3 in section 5). 3.2 The Scan TLB (ST) Algorithm It is important for EmGen to generate and control all the exceptions and interrupts tightly according to verification plans. In all kind of exceptions, TLB miss happens frequently because of the limitation of TLB pages. To reduce the complexity of testbench, the maxim number and size of TLB pages are always predefined. So it is very important to generate instructions in the limitation of TLB to avoid unexpected TLB miss. The ST algorithm is presented to solve this problem. Main idea of ST is dynamically initializing the TLB whenever an instruction with a pc in new page or a memory access with a new page address happened. It is necessary to keep a TLB stack and push the TLB page to TLB stack whenever a new TLB page is distributed. When all the TLB entries are distributed, new instructions program counter and memory access is limited to the old blank TLB. The ST algorithm is described as following: Step1: Initialize a TLB page according to the predefined first pc in the configure file. Step2: When generating a new instruction, search the pc in TLB stack. If the instruction is on a page distributed, do nothing to TLB stack. Otherwise insert the TLB entry to the stack. When TLB stack filled, go to Step 5. Step3: Check if the new instruction is a branch or jump. If the instruction generated in Step2 is a branch or jump, then check if the page that contains the branch target is in TLB stack. If in the stack, do nothing. Otherwise check if the TLB stack filled. If filled, regenerate the same instruction with different target by several times (Retry times can be predefined or changed dynamically in progress according to generation plan). If there is an appropriate target whose page entry is already in TLB stack, then do nothing. Else go to step 5. If the TLB stack is not filled, insert the page that contains the instruction target into TLB stack. Step4: Go back to Step1. Step5: Terminate the generation process because of the TLB miss.
6 EmGen: An Automatic Test-Program Generation Tool for Embedded IP Cores 533 The ST algorithm acts as supplementary for the DBC algorithm to improve generation process in EmGen. Experiment results show that the required number of instructions can be generated easily according to the configurable specification by means of DBC and ST algorithms (see Figure 3 in Section 5). 4 The Sketch of Validation EmGen s modeling framework contains several components: an instruction library, a configurable formal specification model with a parser, a test generator, a reference instruction set simulator (RISS), a simulator with the validation environment, an RTlevel design under test (DUT), and a result compare logic. The overall architecture is shown in Fig.2. All microprocessor instructions are described in an instruction library. The configurable formal specification model includes the configurable formal specification described above and a parser, which can parse the specification to internal data structures. Test generator selects instructions from library according to the configurable formal specification, which can be optimized by the corresponding coverage metrics. Besides, a validation environment, which supports simulation with generated test programs and checks the equivalence of microprocessor cores and their reference model automatically, is also provided by EmGen. By means of the validation environment, EmGen can judge whether the results of the test runs are correct or not. Configurable Specification Model Validation Environment Instruction Library Parser DUT RISS Test Generator Real Memory & Reg Virtual Memory & Reg Results Compare Logic Bugs?! Fig. 2. The sketch of EmGen 5 Experimental Results To demonstrate EmGen on a meaningful design, we chose a 32-bit embedded RISC microprocessor core based on MIPS instruction set with about 0.48 million gates of logic as DUT for verification. The optional configurations of the microprocessor core are 2-Way Set Associative I-cache & D-cache, 4-Way Set Associative I-cache & D- cache, no Cache & TLB, the floating point units and multimedia units. Simulations
7 534 Haihua Shen, Yunji Chen, and Jing Huang were run on Intel Pentium 4 2.8GHz HyperThreading system with 2G of main memory. Verification results: Before presented approach is taken into practice, the DUT has been verified for more than two months. Stimuli include popular benchmarks (Whetd, Dhrystone, Paranoia), real operation systems (Linux) and many manual test programs. Using the random test programs provided by the methodology, two previously unreported bugs have been found in the DUT. The process of finding bugs is now nearly automated and much easier since result compare logic can give direct location of errors. Performance results: Performance issues, such as speed and memory usage, do not pose to be problems because of the hardware improvement. So we are free to focus on generating interesting simulation inputs. It has been mentioned above that effects of generation process is influenced by resources limitation. Predefine an address space limitation available in test program generation to be 64x8Kbytes. Our experiments show that the maximum number of instructions generated by DBC&ST algorithms is an order of magnitude larger than it was without DBC&ST algorithms (see Fig. 3). Fig. 3 a) Ability of random test generator without DBC&ST Algorithm b) Ability of random test generator with DBC&ST Algorithm Coverage results After running more than 55,000,000 instructions generated, the average code coverage of the design reaches 73.8% of line coverage, 68.9% of condition coverage, 59.78% toggle coverage, which is hard to be improved by increasing more random instructions. It is obviously that the likelihood of generating more effective events so unintentionally is low, though the EmGen is capable of generating such events. To improve the coverage of simulation, the design should be simulated with more expert experiences, and so configuring such constrained corner cases supported by configurable formal specification model to determine biases is extremely fruitful; most of the holes can be covered with these biasing.
8 EmGen: An Automatic Test-Program Generation Tool for Embedded IP Cores Conclusions In this paper, we describe EmGen, an automatic test-program generation tool designed for configurable embedded microprocessor cores. EmGen s modeling platform includes an configurable formal specification, which can describe the requirement of microprocessor configuration and verification plan completely and correctly, a heuristic test program generator with DBC and ST algorithms, which enable the generation of test programs across the full spectrum, from completely random through testingknowledge biased random, to highly directed, a reference instruction set simulator, which can provide reference results for all test cases, and a validation environment, which check the equivalence of simulations and reports the bugs automatically. Em- Gen has been taken into practice for the verification of a 32-bit configurable embedded microprocessor core. Experiment results have proven its flexibility, applicability and good performance. References 1. D. Campenhout, T. Mudge, J. Hayes, High-Level Test Generation for Design Verification of Pipelined Microprocessors, In proceeding of the 36th ACM/IEEE Design Automation Conference (DAC), (1999) S.Fine, A. Ziv, Coverage Directed Test Generation for Functional Verification Using Bayesian Networks, In proceeding of the 40th ACM/IEEE Design Automation Conference (DAC), (2003) R. Emek, et al. X-Gen: A Random Test-Case Generator for Systems and Socs, IEEE International High Level Design Validation and Test Workshop, Cannes(2002) 4. O. Lachish, E. Marcus, et al. Hole Analysis for Functional Coverage Data, In proceeding of the 39th ACM/IEEE Design Automation Conference (DAC), (2002) M. Bartley, D.Galpin, T.Blackmore. A Comparison of Three Verification Techniques: Directed Testing, Pseudo-Random Testing and Property Checking, In proceedings of the 39th ACM/IEEE Design Automation Conference (DAC), (2002) Haihua Shen, et al. Adaptive Test Program Generation for Embedded Microprocessor Core, In proceedings of the 1 st International Conference on Embedded Software and System (ICESS), (2004) Synopsys, Inc. Constrained-Random Test Generation and Functional Coverage with Vera, (2003) 8. Verisity Design, Inc. Specman Elite, (2004) 9. Jim Lipman, Configurable SoCs Give You Options, (2000)
INTEG: A Stochastic Testing System for Microprocessor Verification
Proceedings of the 11th WSEAS International Conference on CIRCUITS, Agios Nikolaos, Crete Island, Greece, July 23-25, 2007 55 INTEG: A Stochastic Testing System for Microprocessor Verification I. V. GRIBKOV,
More informationECE902 Virtual Machine Final Project: MIPS to CRAY-2 Binary Translation
ECE902 Virtual Machine Final Project: MIPS to CRAY-2 Binary Translation Weiping Liao, Saengrawee (Anne) Pratoomtong, and Chuan Zhang Abstract Binary translation is an important component for translating
More informationASIC world. Start Specification Design Verification Layout Validation Finish
AMS Verification Agenda ASIC world ASIC Industrial Facts Why Verification? Verification Overview Functional Verification Formal Verification Analog Verification Mixed-Signal Verification DFT Verification
More informationECE 486/586. Computer Architecture. Lecture # 8
ECE 486/586 Computer Architecture Lecture # 8 Spring 2015 Portland State University Lecture Topics Instruction Set Principles MIPS Control flow instructions Dealing with constants IA-32 Fallacies and Pitfalls
More informationLecture Topics. Branch Condition Options. Branch Conditions ECE 486/586. Computer Architecture. Lecture # 8. Instruction Set Principles.
ECE 486/586 Computer Architecture Lecture # 8 Spring 2015 Portland State University Instruction Set Principles MIPS Control flow instructions Dealing with constants IA-32 Fallacies and Pitfalls Reference:
More informationExploiting On-Chip Data Transfers for Improving Performance of Chip-Scale Multiprocessors
Exploiting On-Chip Data Transfers for Improving Performance of Chip-Scale Multiprocessors G. Chen 1, M. Kandemir 1, I. Kolcu 2, and A. Choudhary 3 1 Pennsylvania State University, PA 16802, USA 2 UMIST,
More informationADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts
1 ADVANCED DIGITAL IC DESIGN (SESSION 6) Digital Verification Basic Concepts Need for Verification 2 Exponential increase in the complexity of ASIC implies need for sophisticated verification methods to
More informationAddressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers
Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Subash Chandar G (g-chandar1@ti.com), Vaideeswaran S (vaidee@ti.com) DSP Design, Texas Instruments India
More informationAn Evaluation of the Advantages of Moving from a VHDL to a UVM Testbench by Shaela Rahman, Baker Hughes
An Evaluation of the Advantages of Moving from a VHDL to a UVM Testbench by Shaela Rahman, Baker Hughes FPGA designs are becoming too large to verify by visually checking waveforms, as the functionality
More informationCREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION
CREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION Joseph Richards SGI, High Performance Systems Development Mountain View, CA richards@sgi.com Abstract The challenges involved in
More informationCS/ECE 5780/6780: Embedded System Design
CS/ECE 5780/6780: Embedded System Design John Regehr Lecture 18: Introduction to Verification What is verification? Verification: A process that determines if the design conforms to the specification.
More informationAdministrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification?
Administrivia ECE/CS 5780/6780: Embedded System Design Scott R. Little Lab 8 status report. Set SCIBD = 52; (The Mclk rate is 16 MHz.) Lecture 18: Introduction to Hardware Verification Scott R. Little
More informationTest Scenarios and Coverage
Test Scenarios and Coverage Testing & Verification Dept. of Computer Science & Engg,, IIT Kharagpur Pallab Dasgupta Professor, Dept. of Computer Science & Engg., Professor-in in-charge, AVLSI Design Lab,
More informationBenchmarking the UB-tree
Benchmarking the UB-tree Michal Krátký, Tomáš Skopal Department of Computer Science, VŠB Technical University of Ostrava, tř. 17. listopadu 15, Ostrava, Czech Republic michal.kratky@vsb.cz, tomas.skopal@vsb.cz
More informationDEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE
DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE N.G.N.PRASAD Assistant Professor K.I.E.T College, Korangi Abstract: The AMBA AHB is for high-performance, high clock frequency
More informationAssertive Verification: A Ten-Minute Primer
Assertive Verification: A Ten-Minute Primer As published on 8/16/02 in EEDesign.com And Written by Saeed Coates, Paradigm Works, Inc. www.paradigm-works.com Table of Contents 1.1 Introduction: The Verification
More informationChoosing an Intellectual Property Core
Choosing an Intellectual Property Core MIPS Technologies, Inc. June 2002 One of the most important product development decisions facing SOC designers today is choosing an intellectual property (IP) core.
More informationAccuracy Enhancement by Selective Use of Branch History in Embedded Processor
Accuracy Enhancement by Selective Use of Branch History in Embedded Processor Jong Wook Kwak 1, Seong Tae Jhang 2, and Chu Shik Jhon 1 1 Department of Electrical Engineering and Computer Science, Seoul
More informationA UVM Based Methodology for Processor Verification
A UVM Based Methodology for Processor Verification Abhineet Bhojak, Freescale Semiconductor India Pvt. Ltd, Noida, India (abhineetmnnit26@gmail.com) Tejbal Prasad, Freescale Semiconductor India Pvt. Ltd,
More informationAccelerating RTL Simulation Techniques by Lior Grinzaig, Verification Engineer, Marvell Semiconductor Ltd.
Accelerating RTL Simulation Techniques by Lior Grinzaig, Verification Engineer, Marvell Semiconductor Ltd. Long simulation run times are a bottleneck in the verification process. A lengthy delay between
More informationCHAPTER 1 INTRODUCTION
CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits
More informationAnalysis of the Test Driven Development by Example
Computer Science and Applications 1 (2013) 5-13 Aleksandar Bulajic and Radoslav Stojic The Faculty of Information Technology, Metropolitan University, Belgrade, 11000, Serbia Received: June 18, 2013 /
More information4. Hardware Platform: Real-Time Requirements
4. Hardware Platform: Real-Time Requirements Contents: 4.1 Evolution of Microprocessor Architecture 4.2 Performance-Increasing Concepts 4.3 Influences on System Architecture 4.4 A Real-Time Hardware Architecture
More informationA Formal Verification Methodology for Checking Data Integrity
A Formal Verification Methodology for ing Data Integrity Yasushi Umezawa, Takeshi Shimizu Fujitsu Laboratories of America, Inc., Sunnyvale, CA, USA yasushi.umezawa@us.fujitsu.com, takeshi.shimizu@us.fujitsu.com
More informationINTEL Architectures GOPALAKRISHNAN IYER FALL 2009 ELEC : Computer Architecture and Design
INTEL Architectures GOPALAKRISHNAN IYER FALL 2009 GBI0001@AUBURN.EDU ELEC 6200-001: Computer Architecture and Design Silicon Technology Moore s law Moore's Law describes a long-term trend in the history
More informationChapter 2 Logic Gates and Introduction to Computer Architecture
Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are
More informationAsynchronous on-chip Communication: Explorations on the Intel PXA27x Peripheral Bus
Asynchronous on-chip Communication: Explorations on the Intel PXA27x Peripheral Bus Andrew M. Scott, Mark E. Schuelein, Marly Roncken, Jin-Jer Hwan John Bainbridge, John R. Mawer, David L. Jackson, Andrew
More informationPlugging the Holes: SystemC and VHDL Functional Coverage Methodology
Plugging the Holes: SystemC and VHDL Functional Coverage Methodology Pankaj Singh Infineon Technologies Pankaj.Singh@infineon.com Gaurav Kumar Verma Mentor Graphics Gaurav-Kumar_Verma@mentor.com ABSTRACT
More informationAdvanced processor designs
Advanced processor designs We ve only scratched the surface of CPU design. Today we ll briefly introduce some of the big ideas and big words behind modern processors by looking at two example CPUs. The
More informationRegisters. Registers
All computers have some registers visible at the ISA level. They are there to control execution of the program hold temporary results visible at the microarchitecture level, such as the Top Of Stack (TOS)
More informationWhat is Computer Architecture?
What is Computer Architecture? Architecture abstraction of the hardware for the programmer instruction set architecture instructions: operations operands, addressing the operands how instructions are encoded
More informationSynthetic Benchmark Generator for the MOLEN Processor
Synthetic Benchmark Generator for the MOLEN Processor Stephan Wong, Guanzhou Luo, and Sorin Cotofana Computer Engineering Laboratory, Electrical Engineering Department, Delft University of Technology,
More informationCSC 258 lab notes, Fall 2003
CSC 258 lab notes, Fall 2003 Instructor: E. R. C. Hehner Lab demonstrators: Nicolas Kokkalis, Andrés Lagar Cavilla Successful completion of the three graded labs in this course involves a significant amount
More informationChapter 2: Instructions How we talk to the computer
Chapter 2: Instructions How we talk to the computer 1 The Instruction Set Architecture that part of the architecture that is visible to the programmer - instruction formats - opcodes (available instructions)
More informationHardware Design and Simulation for Verification
Hardware Design and Simulation for Verification by N. Bombieri, F. Fummi, and G. Pravadelli Universit`a di Verona, Italy (in M. Bernardo and A. Cimatti Eds., Formal Methods for Hardware Verification, Lecture
More informationVerifying the Correctness of the PA 7300LC Processor
Verifying the Correctness of the PA 7300LC Processor Functional verification was divided into presilicon and postsilicon phases. Software models were used in the presilicon phase, and fabricated chips
More informationProcessing Unit CS206T
Processing Unit CS206T Microprocessors The density of elements on processor chips continued to rise More and more elements were placed on each chip so that fewer and fewer chips were needed to construct
More informationA Study of the Speedups and Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning
A Study of the Speedups and Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning By: Roman Lysecky and Frank Vahid Presented By: Anton Kiriwas Disclaimer This specific
More informationN-Model Tests for VLSI Circuits
40th Southeastern Symposium on System Theory University of New Orleans New Orleans, LA, USA, March 16-18, 2008 MC3.6 N-Model Tests for VLSI Circuits Nitin Yogi and Vishwani D. Agrawal Auburn University,
More informationDesign Verification of an Embedded Processor: From Error Model to Test Method
Design Verification of an Embedded Processor: From Error Model to Test Method Tao Lv 1,, Yang Zhao 1,, Hua-wei Li 1, Xiao-wei Li 1 1 Key Laboratory of Computer System and Architecture, Institute of Computing
More informationCSE Verification Plan
CSE 45493-3 Verification Plan 1 Verification Plan This is the specification for the verification effort. It indicates what we are verifying and how we are going to do it! 2 Role of the Verification Plan
More informationMore on Conjunctive Selection Condition and Branch Prediction
More on Conjunctive Selection Condition and Branch Prediction CS764 Class Project - Fall Jichuan Chang and Nikhil Gupta {chang,nikhil}@cs.wisc.edu Abstract Traditionally, database applications have focused
More informationReconfigurable Multicore Server Processors for Low Power Operation
Reconfigurable Multicore Server Processors for Low Power Operation Ronald G. Dreslinski, David Fick, David Blaauw, Dennis Sylvester, Trevor Mudge University of Michigan, Advanced Computer Architecture
More informationDesign and Implementation of 5 Stages Pipelined Architecture in 32 Bit RISC Processor
Design and Implementation of 5 Stages Pipelined Architecture in 32 Bit RISC Processor Abstract The proposed work is the design of a 32 bit RISC (Reduced Instruction Set Computer) processor. The design
More informationDesign and Verification of Slave Block in Ethernet Management Interface using UVM
Indian Journal of Science and Technology, Vol 9(5), DOI: 10.17485/ijst/2016/v9i5/87173, February 2016 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Design and Verification of Slave Block in Ethernet
More informationAPPLICATION OF BAYESIAN NETWORKS TO COVERAGE DIRECTED TEST GENERATION FOR THE VERIFICATION OF DIGITAL HARDWARE DESIGNS. Jeffery S.
APPLICATION OF BAYESIAN NETWORKS TO COVERAGE DIRECTED TEST GENERATION FOR THE VERIFICATION OF DIGITAL HARDWARE DESIGNS by Jeffery S. Vance BS Computer Engineering, University of Pittsburgh, 2006 Submitted
More informationA Comparison of Three Verification Techniques: Directed Testing, Pseudo-Random Testing and Property Checking
A Comparison of Three Verification Techniques: Directed Testing, Pseudo-Random Testing and Property Checking Mike G. Bartley 1 Elixent Ltd Castlemead, Lower Castle Street Bristol BS1 3AG Mikebartleyuk@Yahoo.co.uk
More informationStatistical Performance Comparisons of Computers
Tianshi Chen 1, Yunji Chen 1, Qi Guo 1, Olivier Temam 2, Yue Wu 1, Weiwu Hu 1 1 State Key Laboratory of Computer Architecture, Institute of Computing Technology (ICT), Chinese Academy of Sciences, Beijing,
More informationLEVERAGING A NEW PORTABLE STIMULUS APPROACH Graph or rule based stimulus descriptions
A New Stimulus Model for CPU Instruction Sets by Staffan Berg, European Applications Engineer, and Mike Andrews, Verification Technologist, Mentor Graphics INTRODUCTION Verifying that a specific implementation
More informationStitching UVM Testbenches into Integration-Level
Stitching UVM Testbenches into Integration-Level Wayne Yun Advanced Micro Devices, Inc. +1-289-695-1968 Wayne.Yun@amd.com David Chen Advanced Micro Devices, Inc. +1-289-695-1162 Dave.Chen@amd.com Oliven
More informationA UVM-based AES IP Verification Platform with Automatic Testcases Generation
Advances in Engineering Research (AER), volume 82 2016 International Conference on Engineering and Advanced Technology (ICEAT-16) A UVM-based AES IP Verification Platform with Automatic Testcases Generation
More information6 February Parallel Computing: A View From Berkeley. E. M. Hielscher. Introduction. Applications and Dwarfs. Hardware. Programming Models
Parallel 6 February 2008 Motivation All major processor manufacturers have switched to parallel architectures This switch driven by three Walls : the Power Wall, Memory Wall, and ILP Wall Power = Capacitance
More informationReusing Cache for Real-Time Memory Address Trace Compression
Reusing for Real-Time Memory Address Trace Ing-Jer Huang Dept of Computer Science and Engineering National Sun Yat-Sen University Kaohsiung 804, Taiwan Tel : +886-7-525-2000 ext 4315 e-mail: ijhuang@csensysuedutw
More informationMarrying Formal Methods With Simulation-Based Verification Function Verification Research at UCSB. Tim Cheng & Li-C. Wang UC-Santa Barbara
Marrying Formal Methods With Simulation-Based Verification Function Verification Research at UCSB Tim Cheng & Li-C. Wang UC-Santa Barbara 1 Outline Current Issues in Functional Verification Functional
More informationBuilding a Bridge: from Pre-Silicon Verification to Post-Silicon Validation
Building a Bridge: from Pre-Silicon Verification to Post-Silicon Validation FMCAD, 2008 Moshe Levinger 26/11/2008 Talk Outline Simulation-Based Functional Verification Pre-Silicon Technologies Random Test
More informationInstruction Set Architecture. "Speaking with the computer"
Instruction Set Architecture "Speaking with the computer" The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture Digital Design
More informationEfficient Failure Triage with Automated Debug: a Case Study by Sean Safarpour, Evean Qin, and Mustafa Abbas, Vennsa Technologies Inc.
Efficient Failure Triage with Automated Debug: a Case Study by Sean Safarpour, Evean Qin, and Mustafa Abbas, Vennsa Technologies Inc. Functional debug is a dreadful yet necessary part of today s verification
More informationEFFICIENT ATTRIBUTE REDUCTION ALGORITHM
EFFICIENT ATTRIBUTE REDUCTION ALGORITHM Zhongzhi Shi, Shaohui Liu, Zheng Zheng Institute Of Computing Technology,Chinese Academy of Sciences, Beijing, China Abstract: Key words: Efficiency of algorithms
More informationVERIFICATION OF RISC-V PROCESSOR USING UVM TESTBENCH
VERIFICATION OF RISC-V PROCESSOR USING UVM TESTBENCH Chevella Anilkumar 1, K Venkateswarlu 2 1.2 ECE Department, JNTU HYDERABAD(INDIA) ABSTRACT RISC-V (pronounced "risk-five") is a new, open, and completely
More informationFundamentals of Quantitative Design and Analysis
Fundamentals of Quantitative Design and Analysis Dr. Jiang Li Adapted from the slides provided by the authors Computer Technology Performance improvements: Improvements in semiconductor technology Feature
More informationDigital Design Methodology (Revisited) Design Methodology: Big Picture
Digital Design Methodology (Revisited) Design Methodology Design Specification Verification Synthesis Technology Options Full Custom VLSI Standard Cell ASIC FPGA CS 150 Fall 2005 - Lec #25 Design Methodology
More informationFedX: A Federation Layer for Distributed Query Processing on Linked Open Data
FedX: A Federation Layer for Distributed Query Processing on Linked Open Data Andreas Schwarte 1, Peter Haase 1,KatjaHose 2, Ralf Schenkel 2, and Michael Schmidt 1 1 fluid Operations AG, Walldorf, Germany
More informationWinARM - Simulating Advanced RISC Machine Architecture. Shuqiang Zhang
WinARM - Simulating Advanced RISC Machine Architecture Shuqiang Zhang Department of Computer Science Columbia University New York, NY sz184@columbia.edu Abstract This paper discusses the design and implementation
More informationCypress Adopts Questa Formal Apps to Create Pristine IP
Cypress Adopts Questa Formal Apps to Create Pristine IP DAVID CRUTCHFIELD, SENIOR PRINCIPLE CAD ENGINEER, CYPRESS SEMICONDUCTOR Because it is time consuming and difficult to exhaustively verify our IP
More informationUniversität Dortmund. ARM Architecture
ARM Architecture The RISC Philosophy Original RISC design (e.g. MIPS) aims for high performance through o reduced number of instruction classes o large general-purpose register set o load-store architecture
More informationMapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience
Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience H. Krupnova CMG/FMVG, ST Microelectronics Grenoble, France Helena.Krupnova@st.com Abstract Today, having a fast hardware
More informationComputer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture
Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture. Idea:
More informationBibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.
Bibliography Books on software reuse: 1. 2. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, 1997. Practical Software Reuse, Donald J. Reifer, Wiley, 1997. Formal specification and verification:
More informationOptimal Routing-Conscious Dynamic Placement for Reconfigurable Devices
Optimal Routing-Conscious Dynamic Placement for Reconfigurable Devices Ali Ahmadinia 1, Christophe Bobda 1,Sándor P. Fekete 2, Jürgen Teich 1, and Jan C. van der Veen 2 1 Department of Computer Science
More informationContents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)
1 Introduction............................................... 1 1.1 Functional Design Verification: Current State of Affair......... 2 1.2 Where Are the Bugs?.................................... 3 2 Functional
More informationDigital Design Methodology
Digital Design Methodology Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 1-1 Digital Design Methodology (Added) Design Methodology Design Specification
More informationModel Checking VHDL with CV
Model Checking VHDL with CV David Déharbe 1, Subash Shankar 2, and Edmund M. Clarke 2 1 Universidade Federal do Rio Grande do Norte, Natal, Brazil david@dimap.ufrn.br 2 Carnegie Mellon University, Pittsburgh,
More informationOnline Hardware Task Scheduling and Placement Algorithm on Partially Reconfigurable Devices
Online Hardware Task Scheduling and Placement Algorithm on Partially Reconfigurable Devices Thomas Marconi, Yi Lu, Koen Bertels, and Georgi Gaydadjiev Computer Engineering Laboratory, EEMCS TU Delft, The
More informationComputer Architecture. Chapter 2-2. Instructions: Language of the Computer
Computer Architecture Chapter 2-2 Instructions: Language of the Computer 1 Procedures A major program structuring mechanism Calling & returning from a procedure requires a protocol. The protocol is a sequence
More information101-1 Under-Graduate Project Digital IC Design Flow
101-1 Under-Graduate Project Digital IC Design Flow Speaker: Ming-Chun Hsiao Adviser: Prof. An-Yeu Wu Date: 2012/9/25 ACCESS IC LAB Outline Introduction to Integrated Circuit IC Design Flow Verilog HDL
More informationHW/SW Co-Verification of a RISC CPU using Bounded Model Checking
HW/SW Co-Verification of a RISC CPU using Bounded Model Checking Daniel Große Ulrich Kühne Rolf Drechsler Institute of Computer Science University of Bremen 28359 Bremen, Germany {grosse, ulrichk, drechsle}@informatik.uni-bremen.de
More informationPATH FINDING AND GRAPH TRAVERSAL
PATH FINDING AND GRAPH TRAVERSAL PATH FINDING AND GRAPH TRAVERSAL Path finding refers to determining the shortest path between two vertices in a graph. We discussed the Floyd Warshall algorithm previously,
More informationECE 448 Lecture 15. Overview of Embedded SoC Systems
ECE 448 Lecture 15 Overview of Embedded SoC Systems ECE 448 FPGA and ASIC Design with VHDL George Mason University Required Reading P. Chu, FPGA Prototyping by VHDL Examples Chapter 8, Overview of Embedded
More informationThe Role of Performance
Orange Coast College Business Division Computer Science Department CS 116- Computer Architecture The Role of Performance What is performance? A set of metrics that allow us to compare two different hardware
More informationFundamentals of Computer Design
Fundamentals of Computer Design Computer Architecture J. Daniel García Sánchez (coordinator) David Expósito Singh Francisco Javier García Blas ARCOS Group Computer Science and Engineering Department University
More informationHardware Software Codesign of Embedded Systems
Hardware Software Codesign of Embedded Systems Rabi Mahapatra Texas A&M University Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on Codesign of Embedded System
More informationChapter 14 Performance and Processor Design
Chapter 14 Performance and Processor Design Outline 14.1 Introduction 14.2 Important Trends Affecting Performance Issues 14.3 Why Performance Monitoring and Evaluation are Needed 14.4 Performance Measures
More informationDesign of Embedded DSP Processors Unit 2: Design basics. 9/11/2017 Unit 2 of TSEA H1 1
Design of Embedded DSP Processors Unit 2: Design basics 9/11/2017 Unit 2 of TSEA26-2017 H1 1 ASIP/ASIC design flow We need to have the flow in mind, so that we will know what we are talking about in later
More informationEN164: Design of Computing Systems Lecture 24: Processor / ILP 5
EN164: Design of Computing Systems Lecture 24: Processor / ILP 5 Professor Sherief Reda http://scale.engin.brown.edu Electrical Sciences and Computer Engineering School of Engineering Brown University
More informationSPECMAN-E TESTBENCH. Al. GROSU 1 M. CARP 2
Bulletin of the Transilvania University of Braşov Vol. 11 (60) No. 1-2018 Series I: Engineering Sciences SPECMAN-E TESTBENCH Al. GROSU 1 M. CARP 2 Abstract: The scope of this document is to present a Verification
More informationNew Advances in Micro-Processors and computer architectures
New Advances in Micro-Processors and computer architectures Prof. (Dr.) K.R. Chowdhary, Director SETG Email: kr.chowdhary@jietjodhpur.com Jodhpur Institute of Engineering and Technology, SETG August 27,
More informationInstructions: Language of the Computer
CS359: Computer Architecture Instructions: Language of the Computer Yanyan Shen Department of Computer Science and Engineering 1 The Language a Computer Understands Word a computer understands: instruction
More informationFunctional Coverage Driven Test Generation for Validation of Pipelined Processors
Functional Coverage Driven Test Generation for Validation of Pipelined Processors Prabhat Mishra, Nikil Dutt To cite this version: Prabhat Mishra, Nikil Dutt. Functional Coverage Driven Test Generation
More informationStory Unit Segmentation with Friendly Acoustic Perception *
Story Unit Segmentation with Friendly Acoustic Perception * Longchuan Yan 1,3, Jun Du 2, Qingming Huang 3, and Shuqiang Jiang 1 1 Institute of Computing Technology, Chinese Academy of Sciences, Beijing,
More informationEEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools
EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools Wen-Yen Lin, Ph.D. Department of Electrical Engineering Chang Gung University Email: wylin@mail.cgu.edu.tw March 2013 Agenda Introduction
More informationComputer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra
Binary Representation Computer Systems Information is represented as a sequence of binary digits: Bits What the actual bits represent depends on the context: Seminar 3 Numerical value (integer, floating
More informationChapter 7 The Potential of Special-Purpose Hardware
Chapter 7 The Potential of Special-Purpose Hardware The preceding chapters have described various implementation methods and performance data for TIGRE. This chapter uses those data points to propose architecture
More informationLecture 4: RISC Computers
Lecture 4: RISC Computers Introduction Program execution features RISC characteristics RISC vs. CICS Zebo Peng, IDA, LiTH 1 Introduction Reduced Instruction Set Computer (RISC) represents an important
More informationComputer Systems and Networks. ECPE 170 Jeff Shafer University of the Pacific. MIPS Assembly
ECPE 170 Jeff Shafer University of the Pacific MIPS Assembly 2 Lab Schedule This Week Activities MIPS discussion Practice problems (whiteboard) Using the QtSPIM simulator Discuss available resources Lab
More informationUSING WHEN-SUBTYPING EFFECTIVELY IN SPECMAN ELITE VERIFICATION ENVIRONMENTS
INCISIVE VERIFICATION ARTICLE MAY 2006 USING WHEN-SUBTYPING EFFECTIVELY IN SPECMAN ELITE VERIFICATION ENVIRONMENTS DEAN D MELLO AND DAN ROMAINE, VERIFICATION DIVISION, CADENCE DESIGN SYSTEMS INTRODUCTION
More informationTen Reasons to Optimize a Processor
By Neil Robinson SoC designs today require application-specific logic that meets exacting design requirements, yet is flexible enough to adjust to evolving industry standards. Optimizing your processor
More informationGodson-3 Multicore RISC Processor
Godson-3 Multicore RISC Processor A Chinese Challenge to Intel Gabriele Ghelfi Matricola 740511 Overview Godson-3 is the third generation of the Godson microprocessor series developed by ICT at the Chinsese
More informationLecture 3 Machine Language. Instructions: Instruction Execution cycle. Speaking computer before voice recognition interfaces
Lecture 3 Machine Language Speaking computer before voice recognition interfaces 1 Instructions: Language of the Machine More primitive than higher level languages e.g., no sophisticated control flow Very
More informationA Study for Branch Predictors to Alleviate the Aliasing Problem
A Study for Branch Predictors to Alleviate the Aliasing Problem Tieling Xie, Robert Evans, and Yul Chu Electrical and Computer Engineering Department Mississippi State University chu@ece.msstate.edu Abstract
More informationHeuristics Core Mapping in On-Chip Networks for Parallel Stream-Based Applications
Heuristics Core Mapping in On-Chip Networks for Parallel Stream-Based Applications Piotr Dziurzanski and Tomasz Maka Szczecin University of Technology, ul. Zolnierska 49, 71-210 Szczecin, Poland {pdziurzanski,tmaka}@wi.ps.pl
More information