Functional Verification in 8-bit Microcontrollers: A Case Study

Size: px
Start display at page:

Download "Functional Verification in 8-bit Microcontrollers: A Case Study"

Transcription

1 Functional Verification in 8-bit Microcontrollers: A Case Study Walter Soto Encinas Jr Walter.Encinas@motorola.com César Augusto Dueñas M. Cesar.Duenas@motorola.com Brazil Semiconductor Technology Center (BSTC) - SPS - Motorola Rod. SP-340, Km 129 Jaguariúna - SP - Brazil Abstract This paper overviews the most common functional verification techniques and describes the methodology adopted by BTSC Motorola in verification of 8-bit microcontrollers. We describe some topics in our methodology and highlight how this methodology addresses the particular requirements of this class of ICs, as the integration and reuse of Virtual Components (VC) and the tight design schedules. Presented results show the enormous workload needed by functional verification and how our verification methodology can allow the quick reuse of this work. 1 Introduction Generally speaking, verification is the process of checking if an implementation of a design matches its specification [1]. In the context of integrated circuits (IC) design, there are several specification domains, like functional, timing, electrical and real-estate. Functional specification is one of the most timeconsuming tasks in the design cycle. Nowadays, a complete system can be integrated on a single IC using millions of logic gates. This complexity makes the functional verification to be a bottleneck in the design cycle [2] since it consumes 60% of the human and computing resources in a design [3]. There is a rule-of-thumb which states that two verification engineers are needed for each design engineer. On the other hand, there is a broad range of complexity in digital ICs. Therefore, there is no verification technique that fits all requirements for all classes of digital ICs. Some verification techniques are well suited for very large designs [4], but, due to the inherent complexity of these techniques, they are not effective for simpler designs. 8-bit microcontrollers (MCUs) are a class of digital ICs which implements a system on a chip, but are in a lower complexity class than their 32-bit counterparts. The 8-bit MCU market is very dynamic and places stringent requirements for low cost and short design cycles. Therefore MCU designs are excellent candidates for reuse of blocks that implement functions needed in a broad range of applications, like timers, A-to-D converters, and so on. These blocks should be designed with reuse in mind and are known as IP (intellectual property) blocks, or more recently, VC (virtual components). Therefore a new MCU can be quickly developed by integrating these blocks with a processor core, pads and application specific logic, as shown in Figure 1. These characteristics make MCU verification an interesting case of study for verification techniques. This paper describes the verification methodology adopted by Motorola BSTC in the development of an 8-bit MCU. An overview of verification techniques will be presented in Section 2. Our methodology is described in detail in Section 3. Results are presented in Section 4. Comments and conclusions follow. MCU Proc RAM Pads IP Interface Figure 1: Diagram of an 8-bit MCU 2 Functional Verification Techniques Verification techniques can be broadly divided in 2 large groups [5]: static and dynamic, also know as formal and nonformal (or simulation based) verification techniques. A taxonomy of the techniques discussed next is shown in Figure Static Functional Verification or Formal Verification These techniques use formal mathematical methods to verify the functionality of a design. They are called static verification because these techniques don t require stimulus and simulation to verify the behavior of the design. Verification engineers don t need to develop a testbench or test vectors. On the down side, formal verification still has limitations and cannot completely substitute simulation and it is used to complement it. Formal verification techniques are divided in two classes [5]: the ones that check the design against specification and the ones that check the equivalence between an already verified model (golden model) and the model to be verified. They are called intent verification and equivalence checking respectively Intent Verification Two well known techniques that fall in the intent verification class are Model Checking and Theorem Proving. Model Checking generates all possible inputs to the model under all possible states, and checks if the properties of the model,

2 derived from specification, hold true. Due to exponential growth of complexity, this technique is better suited for verifying small blocks of control logic. This exhaustive approach implies a good coverage, but it depends on a careful construction of the properties. Theorem Proving express the model to be verified and the specification in a formal way, involving axioms, properties and inference rules. Verification is achieved by proving the properties using the axioms and inference rules. Effectiveness of this method depends on the quality of translation of the specification into properties. This method is not limited by the number of inputs or the size of the design state space and is well suited for verifying datapath-oriented designs Equivalence Checking Checks the equivalence of model under verification against a golden model, that is, a model already verified. This technique converts both models to a formal logic representation and check if these representations are the same. There are no properties to be created from specification because the golden model is used instead. Equivalence checking is offered by an increasing number of commercial tools, like Tuxedo [6]. 2.2 Dynamic Verification The design is verified through simulation by applying a pattern set. Design responses are checked with expected ones to assure correctness. This approach needs testbench, stimuli and responses to be created by hand by verification engineers. Dynamic verification also can be divided in Intent Verification and Equivalence Verification Intent Verification Specification is used as reference for the creation of verification patterns. This is a time consuming process as every statement in the specification should be checked by some pattern, and while the number of patterns grows quickly, there is no guarantee that the design is full verified Equivalence Checking Equivalence checking is performed by comparing responses of the model to be verified against responses of a golden model. In this case, pattern coverage can be improved by using pseudo-random stimuli in addition to deterministic ones. This is common practice for covering corner cases in complex blocks like processor cores [4][3]. Sometimes a hardware model of the block is built using FPGAs to speed up random verification [3]. This is known as circuit emulation. Normally equivalence checking is used to verify gate-level designs against a golden model in RTL or higher levels. 3 Case Study Our case study describes the verification in an 8-bit generalpurpose microcontroller upwardly compatible with the Motorola M68HC08 family. The instruction set incorporates all HC08 instructions, as well as additional ones and new addressing modes to improve compiler efficiency. In 48-pin LQFP or 40-pin PDIP packages and running at 40 MHz, this chip has the following blocks: 40 MHz HC08-compatible processor 512 bytes static RAM 16 Kbytes FLASH and 512 bytes EEPROM 34/30 general-purpose I/O pins in 48/40-pin packages Keyboard interrupt port Two SCI modules (asynchronous UART) SPI high-speed synchronous serial I/O 3-channel timer/pwm module 1-channel timer All the blocks were implemented as reusable VCs (virtual components). A VC database includes the logic model described in HDL, verification patterns, full documentation and all the necessary information to support all the tools in the design flow. The design flow is explained in depth in [7]. 3.1 Verification methodology The verification methodology used in this design adopts both static and dynamic verification techniques as appropriate for each VC as well as for the top level integration (a.k.a. SoC level). Intent verification relies on dynamic verification techniques. Verification engineers develop a set of verification patterns based on the specification of each of the VCs and its integration. A technique called spec-tagging helps to make sure that the patterns cover all functionality described in specification. These patterns are coded in assembly language and Verilog HDL [8]. They provide both stimuli and expected results. The patterns compare the later with simulation results indicating a pass or fail. Because of this the patterns are said to be self-checking. The simulation environment uses a testbench that instantiates a Verilog model of the device under verification as well as the Verilog part of the patterns. The assembly language part is compiled into object code and loaded into a behavioral memory model to be executed by the MCU. The verification patterns are simulated against the RTL model to validate its functionality. NC-Verilog was the simulator of choice [9]. The same pattern set runs in a later stage on a post-synthesis or post-layout Verilog netlist with full timing information, and whenever design is modified. This process of simulating the full pattern set, reporting a list of passed and failed patterns is known as regression run [10]. It Functional Verification Static Dynamic Intent Equivalence Intent Equivalence Theorem Proving Model Check Equiv Check Deteministic Deterministic Random Figure 2: Taxonomy of Functional Verification Techniques

3 should be run after modifications in design to check if the changes had the expected effects and didn t affect other blocks. To complement the verification, equivalence checking is used to validate gate-level netlist against the RTL. Depending on block complexity, simulations with random stimuli can be used. Processor cores are good candidates for this technique [2] [10] and it was used in the verification of our core. An ISA (instruction set accurate) model was developed and the same randomly generated instruction stream was fed to both the RTL and ISA model, having their outputs compared. Several million random patterns were run successfully. Shaded boxes in Figure 2 identify the verification techniques used in our methodology. 3.2 Spec-tagging Specification tagging (a.k.a. specification annotation) is the process of labeling (tagging) every sentence in the functional specification related to some testable functional aspect with the name of the functional pattern that tests the described functionality. This systematic approach provides traceability between the functional specification and the verification pattern suite, maximizing the coverage of the functionality described in the specification. The spec-tagging process is aided by an in-house tool that collects all the specification statements with a given tag and creates a header for the pattern with all statements that should be tested. This header outlines the pattern strategy and is used as the starting point for the pattern development. benefits like allowing to easily excluding the drivers/monitors when they are not needed or wanted. Depending on the simulation context, patterns can be classified as being either slave or master mode. module clk_gen(clk); real freq; reg enabled; reg clk; output clk; // Model of clock generator goes here task set_freq(f); task set_value(v); task enable; task disable; endmodule Example 1: Driver structure, in Verilog 3.4 Slave Mode In this mode a driver generates read or write transactions directly on the IP Interface bus, completely bypassing the processor. Other blocks may be present to generate other signals to stimulate the block under test, or may be substituted by drivers performing its role. This is shown in Figure Once dynamic verification is used, testbench development is necessary. The testbench instantiates the block under verification, stimulates the block using drivers and check its responses using monitors as shown in Figure 3. Stimuli, expected results and checks are embedded in the patterns. DUT Bus driver Block Under Verif. DUT IP Interface Figure 3: structure and monitors are verification entities only, not intended for synthesis. and monitors are behavioral models structured in same fashion as software objects, with internal variables storing state of the module (properties) and tasks that control the module (methods). This object-oriented approach allows monitors and drivers to implement tasks that perform full transactions. In this way, low-level details of transactions are hidden from patterns, enhancing its reusability and readability. A simple driver (a clock generator) shown in Example 1 clarifies these ideas. and monitors are not declared or instantiated in the main testbench file. Instead, each monitor or driver is declared in an individual files, which is included and instantiated in the testbench by our simulation environment. This approach brings Figure 4: for Verification in Slave Mode As verification in slave mode can be carried out without any other block besides block under verification, it is useful for preliminary testing of the block. It is desired that verification patterns can also be reused to perform production tests in silicon. Slave-mode verification patterns must drive the IP Interface bus inside the chip. High pin-count devices, like 32- bit MCUs, have enough pins to bring outside the chip these signals (data bus, address bus and other control signals), enabling reuse of slave-mode verification patterns in production test. But this is hardly the case with 8-bit MCUs, generally low pin-count devices. So new patterns should be developed for use in production tests. That s why verification in slave mode was not adopted in our 8-bit MCU verification methodology.

4 3.5 Master Mode Master mode verification simulates the block in a full chip context. All transactions on the IP Interface are driven by the processor, not by drivers. Other blocks may drive other internal signals, if they are instantiated. The testbench only drives external signals and checks the responses of the device. The processor generates the internal stimuli by running a program stored in its memory. External stimuli and response checks are coded in the testbench, as shown in Figure 5. Verification in master mode does a more extensive verification than slave mode because patterns will test not only the functionality of block under verification but also the connections from this block to the IP Interface, pads, and other blocks. Due to this fact, there are fewer conditions to test in integration of these blocks (top-level) and fewer patterns to develop, making patterns developed in master mode more reusable than those in slave mode, regarding VC integration. Likewise, master mode offers better pattern reusability for production tests, since internal signals are all driven by the processor and other blocks, not by the testbench. On the other hand, master mode verification requires that models for the processor and other integration blocks are available and debugged.. Behavioral models can be used while RTL or gatelevel models are not available. 3.6 Stimuli Synchronization Since master mode patterns require codification in two domains (assembler and some HDL, Verilog in our case), these domains must be synchronized. This is illustrated in Example 2, where the value of bit 0 in port B of the MCU must be checked at the correct time. Two possible synchronization methods are: by memory access and by instruction fetch. DUT Proc RAM Block Under Verif. IP Interface Memory Access Synchronization is achieved by monitoring the address bus for some reserved memory addresses. Verilog part of verification pattern waits the assembler part accesses one of these memory addresses. When Verilog part detects it the checks are done. This technique is well suited for processors with large addressing space and large amounts of RAM, because some addresses must be reserved for synchronization purposes and extra instructions are required for each synchronization memory access. Figure 5: for Verification in Master Mode ; Set bit 0 in PORT B BSET 0,PORTB ; Clear bit 0 in PORT B BCLR 0,PORTB Instruction Fetch Synchronization is achieved by monitoring the address bus during instruction fetches. This technique does not require reserved addresses or extra synchronization instructions, but cannot be used in the case of processors with complex pipelines. It is well suited for 8-bit MCUs, which are scarce in address space and RAM, and generally have a simple pipeline structure with constant look-ahead for instruction fetch. Therefore, this is the synchronization technique used in our methodology. Example 3 shows assembler and Verilog parts synchronized using this technique. The addresses of assembler labels can be determined by processing the report file generated by the assembler program. Corresponding Verilog define statements can be created with these information and included in Verilog part of the patterns. But having the pattern distributed in two separate files, PORTB0_PIN_MONITOR.CHECK(1); PORTB0_PIN_MONITOR.CHECK(0); Example 2: Pattern with stimulus in assembler and response checking in Verilog ; Set bit 0 in PORT B BSET 0,PORTB SET_BIT_LABEL: ; Clear bit 0 in PORT B BCLR 0,PORTB CLR_BIT_LABEL: wait (`ADDRESS_BUS == `SET_BIT_LABEL+`CTE_PIPE); PORTB0_PIN_MONITOR.CHECK(1); wait ( ÀDDRESS_BUS == `CLR_BIT_LABEL+`CTE_PIPE); PORTB0_PIN_MONITOR.CHECK(0); Example 3: Synchronized pattern with stimulus in assembler and response checking in Verilog BSET 0,PORTB ; Set bit 0 in PORT B FUNA code_pc,*+cte_pipe & wait ( ÀDDRESS_BUS == code_pc); & PORTB0_PIN_MONITOR.CHECK(1); BCLR 0,PORTB ; Clear bit 0 in PORT B FUNA code_pc,*+cte_pipe & wait ( ÀDDRESS_BUS == code_pc); & PORTB0_PIN_MONITOR.CHECK(0); code_pc = 16 h00a4; // Generated by FUNA wait ( ÀDDRESS_BUS == code_pc); PORTB0_PIN_MONITOR.CHECK(1); code_pc = 16 h00a5; // Generated by FUNA wait ( ÀDDRESS_BUS == code_pc); PORTB0_PIN_MONITOR.CHECK(0); Example 4: Synchronized pattern coded in embedded Verilog and Verilog file after assembler processing

5 assembler and Verilog, is not very convenient Embedded Verilog A more elegant solution for synchronization in master mode was reached by integrating assembler and Verilog in the same file. A commercial assembler program was modified under Motorola specifications to do that. This assembler recognizes all lines starting by & as special comments containing Verilog statements, which are extracted into a file as part of the each of the blocks (behavioral, RTL, gate-level with or without timing, and so on). In master mode, the assembler pattern is translated into object code which is then converted to a format suitable to be read by the $readmemh Verilog system task, that initializes the behavioral RAM model. The file with the extracted embedded Verilog is included in the testbench. After that, simulation can start as shown in Figure 6. All this functionality is encapsulated in a single script, which also allows automation of complete regressions, generating a specification blocks testbench spectag behavioral Verilog RTL Verilog Verilog Netlist Verilog pattern spec statements verification engineer Embedded Verilog asm Collector OBJ Verilog Proc Block Under Test OBJ to Mem PLI RAM IP Mem Figure 6: Structure of verification environment assembly process. Besides that, a new pseudo-instruction FUNA was created. As other pseudo instructions, it does not generate any object code. It generates a Verilog attribution statement and writes this statement to the file along with the other embedded Verilog statements, working like a bridge linking assembler and Verilog domains. Any constant or label in assembler can be passed to the Verilog domain. Example 4 shows FUNA storing the address of the current assembler instruction (plus a constant) to a Verilog variable code_pc. The constant added to the current address circumvents the processor pipeline, which fetches an instruction some cycles before it is really executed. The coding style of assembler with embedded Verilog should be a linear sequence of stimuli and checks, and it is necessary to take care with changes of flow as they may compromise the synchronization. 3.7 Verification Environment Our simulation environment is a set of programs that automate the simulation of a pattern. They collect all the block models needed, as well as desired drivers and monitors, building all the verification infrastructure of the whole MCU, which is then handed to the simulator. A configuration file guides this process, allowing the user to choose which model is used for pass/fail log file. 4 Results The design used for this case study was a completely new design and no blocks were available for reuse. A full suite of verification patterns had to be created for each block as well as for the top-level integration. Table 1 shows the number of patterns as well as the number of simulation runs. This is because some patterns can be configured at run time to test more than one case. It took 33 verification engineers for 6 months to complete the pattern development. 5 Conclusions The results shown make clear the enormous amount of work spent in functional verification. Due to this fact, a verification methodology must consider pattern reuse as is the case with the one presented here. Patterns suites developed for each block are delivered as part of its database for reuse in future designs. Master mode patterns can be also be reused for production tests resulting in even more savings. Other benefit is a relatively modest number of patterns that verify integration, because in master mode patterns verify the block for functionality as well as integration. A new MCU version is now under development, and mostly all of its blocks are being reused. Instead 33

6 verification engineers, verification team now is just one. This shows the importance of reuse in the verification methodology. References [1] Dhodhi, M. et al, Functional Verification of Multimillion Gates ASICs for Designing Communications Networks: Trends, Tools and Techniques, Int. Conference on Microelectronics ICM '99, pp , 1999 [2] Yim, Joon-Seo et al, Verification Methodology of Compatible Microprocessors, Design Automation Conference DAC 97, pp , 1997 [3] Kumar, J.; Pixley, C., Logic and functional verification in a commercial semiconductor environment, Int. Conference on Application of Concurrency to System Design, pp. 8 15, 1998 [4] Glenn, Scott et al, Functional Design Verification for the PowerPC 601 microprocessor, 12 th IEEE VLSI Test Symposium, pp , 1994 [5] VSI Alliance, Taxonomy of Functional Verification for Virtual Component, Jan [6] [7] Oliveira, A., Takiguti, R., Andrade, P. J., Development of an 8-bit Microcontroller Using System-on-a-Chip Methodology, 7 th IBERCHIP, Mar [8] Palnitkar, S., Verilog HDL - A Guide to Digital Design and Synthesis, Prentice Hall, 1996 [9] affirma_nc_verilog_sim.html, 2001 [10] Hu, Eileen et al, A Methodology for Design Verification, 7 th IEEE Int. ASIC Conference and Exhibit, pp , 1994 Block # of Patterns # of Runs Processor RAM 8 13 Flash and EEPROM Ports 6 12 Keyboard and External Interrupts SCI SPI channel Timer channel Timer Integration Total Table 1: Patterns developed for each block of MCU

ADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts

ADVANCED 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 information

DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE

DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE Akhilesh Kumar and Richa Sinha Department of E&C Engineering, NIT Jamshedpur, Jharkhand, India ABSTRACT Today in the era of modern technology

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.

Bibliography. 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 information

Trend in microelectronics The design process and tasks Different design paradigms Basic terminology The test problems

Trend in microelectronics The design process and tasks Different design paradigms Basic terminology The test problems Electronics Systems Trend in microelectronics The design process and tasks Different design paradigms Basic terminology The test problems The Technological Trend # of trans. 100M 75M 50M Moore s Law (#

More information

Test and Verification Solutions. ARM Based SOC Design and Verification

Test and Verification Solutions. ARM Based SOC Design and Verification Test and Verification Solutions ARM Based SOC Design and Verification 7 July 2008 1 7 July 2008 14 March 2 Agenda System Verification Challenges ARM SoC DV Methodology ARM SoC Test bench Construction Conclusion

More information

SoC Verification Methodology. Prof. Chien-Nan Liu TEL: ext:

SoC Verification Methodology. Prof. Chien-Nan Liu TEL: ext: SoC Verification Methodology Prof. Chien-Nan Liu TEL: 03-4227151 ext:4534 Email: jimmy@ee.ncu.edu.tw 1 Outline l Verification Overview l Verification Strategies l Tools for Verification l SoC Verification

More information

Logic Verification 13-1

Logic Verification 13-1 Logic Verification 13-1 Verification The goal of verification To ensure 100% correct in functionality and timing Spend 50 ~ 70% of time to verify a design Functional verification Simulation Formal proof

More information

Choosing an Intellectual Property Core

Choosing 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 information

Hardware/Software Co-Verification Using the SystemVerilog DPI

Hardware/Software Co-Verification Using the SystemVerilog DPI Hardware/Software Co-Verification Using the SystemVerilog DPI Arthur Freitas Hyperstone GmbH Konstanz, Germany afreitas@hyperstone.com Abstract During the design and verification of the Hyperstone S5 flash

More information

Design Process. Design : specify and enter the design intent. Verify: Implement: verify the correctness of design and implementation

Design Process. Design : specify and enter the design intent. Verify: Implement: verify the correctness of design and implementation Design Verification 1 Design Process Design : specify and enter the design intent Verify: verify the correctness of design and implementation Implement: refine the design through all phases Kurt Keutzer

More information

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Graham Reith Industry Manager Communications, Electronics and Semiconductors MathWorks Graham.Reith@mathworks.co.uk 2015 The MathWorks,

More information

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks 2014 The MathWorks, Inc. 1 Agenda -Based Design for FPGA and ASIC Generating HDL Code from MATLAB and Simulink For prototyping

More information

101-1 Under-Graduate Project Digital IC Design Flow

101-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 information

ECE 587 Hardware/Software Co-Design Lecture 11 Verification I

ECE 587 Hardware/Software Co-Design Lecture 11 Verification I ECE 587 Hardware/Software Co-Design Spring 2018 1/23 ECE 587 Hardware/Software Co-Design Lecture 11 Verification I Professor Jia Wang Department of Electrical and Computer Engineering Illinois Institute

More information

High Speed SPI Slave Implementation in FPGA using Verilog HDL

High Speed SPI Slave Implementation in FPGA using Verilog HDL High Speed SPI Slave Implementation in FPGA using Verilog HDL Mr. Akshay K. Shah Abstract SPI (Serial Peripheral Interface) is a synchronous serial communication interface for short distance communication.

More information

For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were

For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were CHAPTER-2 HARDWARE DESCRIPTION LANGUAGES 2.1 Overview of HDLs : For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were sequential

More information

LSN 1 Digital Design Flow for PLDs

LSN 1 Digital Design Flow for PLDs LSN 1 Digital Design Flow for PLDs ECT357 Microprocessors I Department of Engineering Technology LSN 1 Programmable Logic Devices Functionless devices in base form Require programming to operate The logic

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

IMPLEMENTATION OF LOW POWER INTERFACE FOR VERIFICATION IP (VIP) OF AXI4 PROTOCOL

IMPLEMENTATION OF LOW POWER INTERFACE FOR VERIFICATION IP (VIP) OF AXI4 PROTOCOL e-issn 2455 1392 Volume 2 Issue 8, August 2016 pp. 1 8 Scientific Journal Impact Factor : 3.468 http://www.ijcter.com IMPLEMENTATION OF LOW POWER INTERFACE FOR VERIFICATION IP (VIP) OF AXI4 PROTOCOL Bhavana

More information

INDUSTRIAL TRAINING: 6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD

INDUSTRIAL TRAINING: 6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD 6 Month Industrial Internship in VLSI Design & Verification" with Industry Level Projects. CURRICULUM Key features of VLSI-Design + Verification Module: ASIC & FPGA design Methodology Training and Internship

More information

Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts)

Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts) Nate Pihlstrom, npihlstr@uccs.edu Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts) Objective The objective of this lab assignment is to introduce and use a methodology for designing

More information

Design and Verification of FPGA Applications

Design and Verification of FPGA Applications Design and Verification of FPGA Applications Giuseppe Ridinò Paola Vallauri MathWorks giuseppe.ridino@mathworks.it paola.vallauri@mathworks.it Torino, 19 Maggio 2016, INAF 2016 The MathWorks, Inc. 1 Agenda

More information

Overview of Digital Design with Verilog HDL 1

Overview of Digital Design with Verilog HDL 1 Overview of Digital Design with Verilog HDL 1 1.1 Evolution of Computer-Aided Digital Design Digital circuit design has evolved rapidly over the last 25 years. The earliest digital circuits were designed

More information

ASIC world. Start Specification Design Verification Layout Validation Finish

ASIC 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 information

CHAPTER 1 INTRODUCTION

CHAPTER 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 information

Design and Verification of Serial Peripheral Interface 1 Ananthula Srinivas, 2 M.Kiran Kumar, 3 Jugal Kishore Bhandari

Design and Verification of Serial Peripheral Interface 1 Ananthula Srinivas, 2 M.Kiran Kumar, 3 Jugal Kishore Bhandari Design and Verification of Serial Peripheral Interface ISSN: 2321-9939 Design and Verification of Serial Peripheral Interface 1 Ananthula Srinivas, 2 M.Kiran Kumar, 3 Jugal Kishore Bhandari 1,3 MTech Student,

More information

6 Month Certificate Program in VLSI Design & Verification" with Industry Level Projects. Tevatron Technologies Prívate Limited

6 Month Certificate Program in VLSI Design & Verification with Industry Level Projects. Tevatron Technologies Prívate Limited 6 Month Certificate Program in VLSI Design & Verification" with Industry Level Projects.. : Tevatron Technologies Prívate Limited Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy!

More information

EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification

EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification PURPOSE: To use Formality and its formal techniques to prove or disprove the functional equivalence of two designs. Formality can be used

More information

Glossary. ATPG -Automatic Test Pattern Generation. BIST- Built-In Self Test CBA- Cell Based Array

Glossary. ATPG -Automatic Test Pattern Generation. BIST- Built-In Self Test CBA- Cell Based Array Glossary ATPG -Automatic Test Pattern Generation BFM - Bus Functional Model BIST- Built-In Self Test CBA- Cell Based Array FSM - Finite State Machine HDL- Hardware Description Language ISA (ISS) - Instruction

More information

DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE

DEVELOPMENT 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 information

RTL Coding General Concepts

RTL Coding General Concepts RTL Coding General Concepts Typical Digital System 2 Components of a Digital System Printed circuit board (PCB) Embedded d software microprocessor microcontroller digital signal processor (DSP) ASIC Programmable

More information

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer) ESE Back End 2.0 D. Gajski, S. Abdi (with contributions from H. Cho, D. Shin, A. Gerstlauer) Center for Embedded Computer Systems University of California, Irvine http://www.cecs.uci.edu 1 Technology advantages

More information

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series Design Verification An Introduction Main References Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series A Roadmap

More information

Leveraging Formal Verification Throughout the Entire Design Cycle

Leveraging Formal Verification Throughout the Entire Design Cycle Leveraging Formal Verification Throughout the Entire Design Cycle Verification Futures Page 1 2012, Jasper Design Automation Objectives for This Presentation Highlight several areas where formal verification

More information

DESIGN A APPLICATION OF NETWORK-ON-CHIP USING 8-PORT ROUTER

DESIGN A APPLICATION OF NETWORK-ON-CHIP USING 8-PORT ROUTER G MAHESH BABU, et al, Volume 2, Issue 7, PP:, SEPTEMBER 2014. DESIGN A APPLICATION OF NETWORK-ON-CHIP USING 8-PORT ROUTER G.Mahesh Babu 1*, Prof. Ch.Srinivasa Kumar 2* 1. II. M.Tech (VLSI), Dept of ECE,

More information

DQ8051. Revolutionary Quad-Pipelined Ultra High performance 8051 Microcontroller Core

DQ8051. Revolutionary Quad-Pipelined Ultra High performance 8051 Microcontroller Core DQ8051 Revolutionary Quad-Pipelined Ultra High performance 8051 Microcontroller Core COMPANY OVERVIEW Digital Core Design is a leading IP Core provider and a System-on-Chip design house. The company was

More information

Design Development and Implementation of SPI

Design Development and Implementation of SPI MIT International Journal of Electronics and Communication Engineering, Vol. 4, No. 2, August 2014, pp. 65 69 65 Design Development and Implementation of SPI A. Sirisha Kurnool (DT), A.P, INDIA M. Sravanthi

More information

An 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 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 information

Hardware/Software Co-design

Hardware/Software Co-design Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction

More information

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES DIGITAL DESIGN TECHNOLOGY & TECHNIQUES CAD for ASIC Design 1 INTEGRATED CIRCUITS (IC) An integrated circuit (IC) consists complex electronic circuitries and their interconnections. William Shockley et

More information

On-Chip Design Verification with Xilinx FPGAs

On-Chip Design Verification with Xilinx FPGAs On-Chip Design Verification with Xilinx FPGAs Application Note 1456 Xilinx Virtex-II Pro devices have redefined FPGAs. The Virtex-II Pro brings with it not only a denser and faster FPGA, but an IBM PPC

More information

ECE 448 Lecture 15. Overview of Embedded SoC Systems

ECE 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 information

VLSI Testing. Fault Simulation. Virendra Singh. Indian Institute of Science Bangalore

VLSI Testing. Fault Simulation. Virendra Singh. Indian Institute of Science Bangalore VLSI Testing Fault Simulation Virendra Singh Indian Institute of Science Bangalore virendra@computer.org E0 286: Test & Verification of SoC Design Lecture - 4 Jan 25, 2008 E0-286@SERC 1 Fault Model - Summary

More information

The Design of MCU's Communication Interface

The Design of MCU's Communication Interface X International Symposium on Industrial Electronics INDEL 2014, Banja Luka, November 0608, 2014 The Design of MCU's Communication Interface Borisav Jovanović, Dejan Mirković and Milunka Damnjanović University

More information

Revolutionary Quad-Pipelined Ultra High Performance 16/32-bit Microcontroller v. 6.05

Revolutionary Quad-Pipelined Ultra High Performance 16/32-bit Microcontroller v. 6.05 DQ80251 Revolutionary Quad-Pipelined Ultra High Performance 16/32-bit Microcontroller v. 6.05 O V E R V I E W DQ80251 is a revolutionary Quad-Pipelined ultrahigh performance, speed optimized soft core,

More information

Hardware Design and Simulation for Verification

Hardware 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 information

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 01 Introduction Welcome to the course on Hardware

More information

Graduate Institute of Electronics Engineering, NTU Advanced VLSI SOPC design flow

Graduate Institute of Electronics Engineering, NTU Advanced VLSI SOPC design flow Advanced VLSI SOPC design flow Advisor: Speaker: ACCESS IC LAB What s SOC? IP classification IP reusable & benefit Outline SOPC solution on FPGA SOPC design flow pp. 2 What s SOC? Definition of SOC Advantage

More information

Asynchronous on-chip Communication: Explorations on the Intel PXA27x Peripheral Bus

Asynchronous 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 information

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis ECE 4514 Digital Design II A Tools/Methods Lecture Second half of Digital Design II 9 10-Mar-08 L13 (T) Logic Synthesis PJ2 13-Mar-08 L14 (D) FPGA Technology 10 18-Mar-08 No Class (Instructor on Conference)

More information

Architecture for Massively Parallel HDL Simulations Rich Porter Art of Silicon

Architecture for Massively Parallel HDL Simulations Rich Porter Art of Silicon Architecture for Massively Parallel HDL Simulations Rich Porter Art of Silicon 1 Art of Silicon Founded in 2005 Bristol based Multimedia centric Silicon IP Bespoke IP creation Consultancy 2 It's all about

More information

Functional Verification of xhci (extensible host controller Interface) for USB 3.1 Using HDL

Functional Verification of xhci (extensible host controller Interface) for USB 3.1 Using HDL Functional Verification of xhci (extensible host controller Interface) for USB 3.1 Using HDL 1 Mr. Dipesh Gehani, 2 Prof. Ketan N. Patel, M.E. Student, Assistant Professor Vishwakarma Government Engineering

More information

Design Verification Lecture 01

Design Verification Lecture 01 M. Hsiao 1 Design Verification Lecture 01 Course Title: Verification of Digital Systems Professor: Michael Hsiao (355 Durham) Prerequisites: Digital Logic Design, C/C++ Programming, Data Structures, Computer

More information

Custom Design Formal Equivalence Checking Based on Symbolic Simulation. Overview. Verification Scope. Create Verilog model. Behavioral Verilog

Custom Design Formal Equivalence Checking Based on Symbolic Simulation. Overview. Verification Scope. Create Verilog model. Behavioral Verilog DATASHEET Custom Design Formal Equivalence Checking Based on Symbolic Simulation High-quality equivalence checking for full-custom designs Overview is an equivalence checker for full custom designs. It

More information

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments 8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments QII51017-9.0.0 Introduction The Quartus II incremental compilation feature allows you to partition a design, compile partitions

More information

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany 2013 The MathWorks, Inc. 1 Agenda Model-Based Design of embedded Systems Software Implementation

More information

The Optimization of a Design Using VHDL Concepts

The Optimization of a Design Using VHDL Concepts The Optimization of a Design Using VHDL Concepts Iuliana CHIUCHISAN 1, Alin Dan POTORAC 2 "Stefan cel Mare" University of Suceava str.universitatii nr.13, RO-720229 Suceava 1 iuliap@eed.usv.ro, 2 alinp@eed.usv.ro

More information

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Pinit Kumhom VLSI Laboratory Dept. of Electronic and Telecommunication Engineering (KMUTT) Faculty of Engineering King Mongkut s University

More information

תכן חומרה בשפת VERILOG הפקולטה להנדסה

תכן חומרה בשפת VERILOG הפקולטה להנדסה תכן חומרה בשפת VERILOG סמסטר ב' תשע"ג משה דורון מרצה: מתרגלים: אריאל בורג, חג'ג' חן הפקולטה להנדסה 1 Course Topics - Outline Lecture 1 - Introduction Lecture 2 - Lexical conventions Lecture 3 - Data types

More information

Register Transfer Level in Verilog: Part I

Register Transfer Level in Verilog: Part I Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National

More information

ECE 459/559 Secure & Trustworthy Computer Hardware Design

ECE 459/559 Secure & Trustworthy Computer Hardware Design ECE 459/559 Secure & Trustworthy Computer Hardware Design VLSI Design Basics Garrett S. Rose Spring 2016 Recap Brief overview of VHDL Behavioral VHDL Structural VHDL Simple examples with VHDL Some VHDL

More information

CMPE 415 Programmable Logic Devices Introduction

CMPE 415 Programmable Logic Devices Introduction Department of Computer Science and Electrical Engineering CMPE 415 Programmable Logic Devices Introduction Prof. Ryan Robucci What are FPGAs? Field programmable Gate Array Typically re programmable as

More information

Philip Andrew Simpson. FPGA Design. Best Practices for Team-based Reuse. Second Edition

Philip Andrew Simpson. FPGA Design. Best Practices for Team-based Reuse. Second Edition FPGA Design Philip Andrew Simpson FPGA Design Best Practices for Team-based Reuse Second Edition Philip Andrew Simpson San Jose, CA, USA ISBN 978-3-319-17923-0 DOI 10.1007/978-3-319-17924-7 ISBN 978-3-319-17924-7

More information

Design Tools for 100,000 Gate Programmable Logic Devices

Design Tools for 100,000 Gate Programmable Logic Devices esign Tools for 100,000 Gate Programmable Logic evices March 1996, ver. 1 Product Information Bulletin 22 Introduction The capacity of programmable logic devices (PLs) has risen dramatically to meet the

More information

Simulation-Based FlexRay TM Conformance Testing an OVM success story

Simulation-Based FlexRay TM Conformance Testing an OVM success story Simulation-Based FlexRay TM Conformance Testing an OVM success story Mark Litterick, Co-founder & Verification Consultant, Verilab Abstract This article presents a case study on how the Open Verification

More information

Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC

Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC 2012 The MathWorks, Inc. 1 Agenda Integrated Hardware / Software Top

More information

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation Testing & Verification of Digital Circuits ECE/CS 5745/6745 Hardware Verification using Symbolic Computation Instructor: Priyank Kalla (kalla@ece.utah.edu) 3 Credits Mon, Wed 1:25-2:45pm, WEB 2250 Office

More information

Glossary. AHDL A Hardware Description Language, such as Verilog-A, SpectreHDL, or VHDL-A, used to describe analog designs.

Glossary. AHDL A Hardware Description Language, such as Verilog-A, SpectreHDL, or VHDL-A, used to describe analog designs. Glossary ADC, A/D Analog-to-Digital Converter. AHDL A Hardware Description Language, such as Verilog-A, SpectreHDL, or VHDL-A, used to describe analog designs. AMBA Advanced Microcontroller Bus Architecture.

More information

FPGA Based Digital Design Using Verilog HDL

FPGA Based Digital Design Using Verilog HDL FPGA Based Digital Design Using Course Designed by: IRFAN FAISAL MIR ( Verilog / FPGA Designer ) irfanfaisalmir@yahoo.com * Organized by Electronics Division Integrated Circuits Uses for digital IC technology

More information

DESIGNING OF INTER INTEGRATED CIRCUIT USING VERILOG

DESIGNING OF INTER INTEGRATED CIRCUIT USING VERILOG DESIGNING OF INTER INTEGRATED CIRCUIT USING VERILOG DISHA MALIK Masters of Technology Scholar, Department of Electronics & Communication Engineering, Jayoti Vidyapeeth Women s University, Jaipur INDIA

More information

UART TO SPI SPECIFICATION

UART TO SPI SPECIFICATION UART TO SPI SPECIFICATION Author: Dinesh Annayya dinesha@opencores.org Table of Contents Preface... 3 Scope... 3 Revision History... 3 Abbreviations... 3 Introduction... 3 Architecture... 4 Baud-rate generator

More information

SD Card Controller IP Specification

SD Card Controller IP Specification SD Card Controller IP Specification Marek Czerski Friday 30 th August, 2013 1 List of Figures 1 SoC with SD Card IP core................................ 4 2 Wishbone SD Card Controller IP Core interface....................

More information

VLSI Design Automation

VLSI Design Automation VLSI Design Automation IC Products Processors CPU, DSP, Controllers Memory chips RAM, ROM, EEPROM Analog Mobile communication, audio/video processing Programmable PLA, FPGA Embedded systems Used in cars,

More information

VLSI Design Automation. Calcolatori Elettronici Ing. Informatica

VLSI Design Automation. Calcolatori Elettronici Ing. Informatica VLSI Design Automation 1 Outline Technology trends VLSI Design flow (an overview) 2 IC Products Processors CPU, DSP, Controllers Memory chips RAM, ROM, EEPROM Analog Mobile communication, audio/video processing

More information

ASIC Design Flow. P.Radhakrishnan, Senior ASIC-Core Development Engineer, Toshiba, 1060, Rincon Circle, San Jose, CA (USA) Jan 2000 (Issue-3)

ASIC Design Flow. P.Radhakrishnan, Senior ASIC-Core Development Engineer, Toshiba, 1060, Rincon Circle, San Jose, CA (USA) Jan 2000 (Issue-3) By P.Radhakrishnan, Senior ASIC-Core Development Engineer, Toshiba, 1060, Rincon Circle, San Jose, CA 95132 (USA) Jan 2000 (Issue-3) Contents Introduction... 3 Application Specific Integrated Circuits

More information

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor 1 2 A microprocessor is a single, very-large-scale-integration (VLSI) chip that contains many digital circuits that perform arithmetic, logic, communication, and control functions. When a microprocessor

More information

Intellectual Property Macrocell for. SpaceWire Interface. Compliant with AMBA-APB Bus

Intellectual Property Macrocell for. SpaceWire Interface. Compliant with AMBA-APB Bus Intellectual Property Macrocell for SpaceWire Interface Compliant with AMBA-APB Bus L. Fanucci, A. Renieri, P. Terreni Tel. +39 050 2217 668, Fax. +39 050 2217522 Email: luca.fanucci@iet.unipi.it - 1 -

More information

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS Embedded System System Set of components needed to perform a function Hardware + software +. Embedded Main function not computing Usually not autonomous

More information

Design and Verification of Slave Block in Ethernet Management Interface using UVM

Design 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 information

Module 4. Design of Embedded Processors. Version 2 EE IIT, Kharagpur 1

Module 4. Design of Embedded Processors. Version 2 EE IIT, Kharagpur 1 Module 4 Design of Embedded Processors Version 2 EE IIT, Kharagpur 1 Lesson 23 Introduction to Hardware Description Languages-III Version 2 EE IIT, Kharagpur 2 Instructional Objectives At the end of the

More information

Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design

Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design Lisa Piper Technical Marketing Real Intent Inc., Sunnyvale, CA Comprehensive verification of Finite State

More information

Digital Systems Testing

Digital Systems Testing Digital Systems Testing Verilog HDL for Design and Test Moslem Amiri, Václav Přenosil Embedded Systems Laboratory Faculty of Informatics, Masaryk University Brno, Czech Republic amiri@mail.muni.cz prenosil@fi.muni.cz

More information

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Universität Dortmund RTL Synthesis Purpose of HDLs Purpose of Hardware Description Languages: Capture design in Register Transfer Language form i.e. All

More information

Chapter 10 Objectives

Chapter 10 Objectives Chapter 10 Topics in Embedded Systems Chapter 10 Objectives Understand the ways in which embedded systems differ from general purpose systems. Be able to describe the processes and practices of embedded

More information

Contents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)

Contents 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 information

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27,

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27, VLSI Testing Fault Simulation Virendra Singh Indian Institute t of Science Bangalore virendra@computer.org E 286: Test & Verification of SoC Design Lecture - 7 Jan 27, 2 E-286@SERC Fault Simulation Jan

More information

FlexRIO. FPGAs Bringing Custom Functionality to Instruments. Ravichandran Raghavan Technical Marketing Engineer. ni.com

FlexRIO. FPGAs Bringing Custom Functionality to Instruments. Ravichandran Raghavan Technical Marketing Engineer. ni.com FlexRIO FPGAs Bringing Custom Functionality to Instruments Ravichandran Raghavan Technical Marketing Engineer Electrical Test Today Acquire, Transfer, Post-Process Paradigm Fixed- Functionality Triggers

More information

Design Guidelines for Optimal Results in High-Density FPGAs

Design Guidelines for Optimal Results in High-Density FPGAs White Paper Introduction Design Guidelines for Optimal Results in High-Density FPGAs Today s FPGA applications are approaching the complexity and performance requirements of ASICs. In some cases, FPGAs

More information

Making the Most of your MATLAB Models to Improve Verification

Making the Most of your MATLAB Models to Improve Verification Making the Most of your MATLAB Models to Improve Verification Verification Futures 2016 Graham Reith Industry Manager: Communications, Electronics & Semiconductors Graham.Reith@mathworks.co.uk 2015 The

More information

VLSI Design Automation

VLSI Design Automation VLSI Design Automation IC Products Processors CPU, DSP, Controllers Memory chips RAM, ROM, EEPROM Analog Mobile communication, audio/video processing Programmable PLA, FPGA Embedded systems Used in cars,

More information

Basic Components of Digital Computer

Basic Components of Digital Computer Digital Integrated Circuits & Microcontrollers Sl. Mihnea UDREA, mihnea@comm.pub.ro Conf. Mihai i STANCIU, ms@elcom.pub.ro 1 Basic Components of Digital Computer CPU (Central Processing Unit) Control and

More information

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation Course Goals Lab Understand key components in VLSI designs Become familiar with design tools (Cadence) Understand design flows Understand behavioral, structural, and physical specifications Be able to

More information

VERIFICATION OF AHB PROTOCOL USING SYSTEM VERILOG ASSERTIONS

VERIFICATION OF AHB PROTOCOL USING SYSTEM VERILOG ASSERTIONS VERIFICATION OF AHB PROTOCOL USING SYSTEM VERILOG ASSERTIONS Nikhil B. Gaikwad 1, Vijay N. Patil 2 1 P.G. Student, Electronics & Telecommunication Department, Pimpri Chinchwad College of Engineering, Pune,

More information

System Level Design with IBM PowerPC Models

System Level Design with IBM PowerPC Models September 2005 System Level Design with IBM PowerPC Models A view of system level design SLE-m3 The System-Level Challenges Verification escapes cost design success There is a 45% chance of committing

More information

FPGA chip verification using UVM

FPGA chip verification using UVM FPGA chip verification using UVM Ravi Ram Principal Verification Engineer Altera Corp Charles Zhang Verification Architect Paradigm Works Outline Overview - Verilog based verification environment - Why

More information

18. Synopsys Formality Support

18. Synopsys Formality Support 18. Synopsys Formality Support QII53015-7.2.0 Introduction Formal verification of FPGA designs is gaining momentum as multi-million System-on-a-Chip (SoC) designs are targeted at FPGAs. Use the Formality

More information

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC Multi-core microcontroller design with Cortex-M processors and CoreSight SoC Joseph Yiu, ARM Ian Johnson, ARM January 2013 Abstract: While the majority of Cortex -M processor-based microcontrollers are

More information

EE595. Part VIII Overall Concept on VHDL. EE 595 EDA / ASIC Design Lab

EE595. Part VIII Overall Concept on VHDL. EE 595 EDA / ASIC Design Lab EE595 Part VIII Overall Concept on VHDL VHDL is a Standard Language Standard in the electronic design community. VHDL will virtually guarantee that you will not have to throw away and re-capture design

More information

The Nios II Family of Configurable Soft-core Processors

The Nios II Family of Configurable Soft-core Processors The Nios II Family of Configurable Soft-core Processors James Ball August 16, 2005 2005 Altera Corporation Agenda Nios II Introduction Configuring your CPU FPGA vs. ASIC CPU Design Instruction Set Architecture

More information