Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts)
|
|
- Reynold Wheeler
- 5 years ago
- Views:
Transcription
1 Nate Pihlstrom, 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 HDL-based FPGAs. A. DESIGN METHODOLOGY - AN INTRODUCTION ASIC chips and FPGAs are designed systematically. Designers follow a "design flow," which specifies the steps that will be taken to design and verify a chip. ASIC design flows involve several steps, from specification and design entry to place-and-route and timing closure of the circuit in silicon. Design flows for FPGA-based circuits are simpler than those for ASICs, because FPGA technology uses a pre-fabricated architecture of characterized and configurable devices, and programmable interconnect. This eliminates the place-and-route step that accompanies cell-based ASIC methodology, and its attendant problems with "timing closure." We will follow the major steps of the FPGA design flow shown in Figure 1. Design Specification (1) Design Partition (2) Design Entry: Verilog Model (3) Block Level Verification (4) Pre-Synthesis Sign-Off (6) Synthesis and Implementation (7) Configuration Bitstream Download (8) Prototype Functional Testing (9) Design Integration and System Verification (5) Final Sign-Off (10) Hardware Prototype Figure 1: Design flow for ECE 4200 FPGA-based designs 1. Design Specification The design flow begins with a written specification for the design. The specification document can be a very elaborate statement of functionality, timing, silicon area, power, testability, fault coverage, and other criteria that govern the design. In our initial lab exercise the specification will consist of a description of the functional characteristics that are to be implemented in a design. 2. Design Partition In today's methodologies for designing ASICs and FPGAs, large circuits are partitioned to form an architecture, i.e., a configuration of functional units communicating through their ports, with each unit described by a behavioral model of its functionality. The process by which a complex design is progressively partitioned into smaller and simpler functional units is called top-down design or hierarchical design. Even though the architecture consists of functional units that are simpler than Page 1 of 8 Lab1 Version 1.5
2 the whole, designers don't form their gate-level implementation directly. Instead, they write so-called behavioral models for each functional unit, which are ultimately and automatically synthesized into a gate-level circuit (structure). High-level synthesis begins with an abstract (algorithmic) behavioral description of a system and seeks an architecture that will implement its functionality. This approach to design is beyond the scope of this lab. 3. Design Entry: Verilog Model Design entry creates a description of the design in an electronic format. Traditionally, a schematic or structural description would describe a design. Hardware description languages, like Verilog, which supports structural and behavioral modeling, describe modern designs. Structural modeling connects primitive gates to create a specified functionality, e.g., an adder, just as parts are connected on a chip or a circuit board. But gate-level models are not necessarily the most convenient or understandable models of a circuit, especially when the design involves more than a few gates. Many modern ASICs have several million gates on a single chip! Also, truth tables become unwieldy when the circuit has several inputs, limiting the utility of user-defined primitives. Architectural partitioning forms a structural model, but the functional units in the architecture have much more complexity than basic combinational logic gates, and are modeled behaviorally. Traditionally, designers have designed at the gate (structural) level, but modern design methodology decomposes and represents a design at a meaningful level of abstraction, and then synthesizes it into gates. Synthesis tools translate and map the HDL description into a physical technology, such as an ASIC standard cell library, or a library of programmable parts, such as field programmable gate arrays (FPGAs). Behavioral modeling is the predominant descriptive style used by industry, enabling the design of massive chips. Behavioral modeling describes the functionality of a design, i.e., what the designed circuit will do, not how to build it in hardware. It specifies the input-output model of a logic circuit and suppresses details about physical, gate-level implementation. Behavioral modeling encourages designers to (1) rapidly create a behavioral prototype of a design (without binding it to hardware detail), (2) verify its functionality, and then (3) use a synthesis tool to optimize and map the design into a selected physical technology. If the model has been written in a synthesis-ready style, the synthesis tool will remove redundant logic, perform tradeoffs between alternative architectures and/or multilevel equivalent circuits, and ultimately achieve a design that is compatible with area or timing constraints. By focusing the designer's attention on the functionality that is to be implemented, rather than on individual logic gates and their interconnections, behavioral modeling provides freedom to explore alternatives to a design before committing it to production. Aside from its importance in synthesis, behavioral modeling provides flexibility to a design project by allowing portions of the design to be modeled at different levels of abstraction and completeness. The Verilog language accommodates mixed levels of abstraction so that portions of the design that are implemented at the gate level (i.e., structurally) can be integrated and simulated concurrently with other portions of the design that are represented by behavioral descriptions. 4. Block Level Verification In general, a design should be partitioned along functional lines into smaller functional units, each having a common clock domain, and each of which is to be verified separately. The verification process is threefold, and includes (1) development of a test plan, (2) development of a test-bench, and (3) execution of the test. i. Test Plan Development Page 2 of 8 Lab 1 Version 1.5
3 A carefully documented test plan is developed to specify what functional features are to be tested and how they are to be tested. For example, the test plan might specify that an exhaustive simulation of its behavior will verify the instruction set of an ALU. Test plans for sequential machines must be more elaborate to ensure a high level of confidence in the design. A test plan identifies the stimulus generators, response monitors, and the "gold" response against which the design will be tested. Your grade, and your company's future, will depend on the care that you take in developing and executing your test plan. ii. Testbench Development The testbench (TB) is a Verilog module in which the device under test (DUT) has been instantiated together with pattern generators that are to be applied to the inputs of the model during simulation. Graphical displays and/or response monitors are part of the TB. The testbench is documented to identify the goals and sequential activity that will be observed during simulation (e.g., "Testing the opcodes") Note: If a design is formed as an architecture of multiple modules, each must be verified separately, beginning with the lowest level of the design hierarchy, then the integrated design must be tested to verify that the modules interact correctly. In this case, the test plan describes the functional features of each module that will be tested and the process by which they will be tested, but it also specifies how the aggregate is to be tested. iii. Test Execution and Model Verification The testbench is exercised according to the test plan, and the response is verified against the original specification for the design, e.g., does the response match that of the prescribed ALU? 5. Design Integration and System Verification After each of the functional sub-units of a partitioned design has been verified to have correct functionality, the architecture must be integrated and verified to have the correct overall functionality. This requires development of a separate testbench whose stimulus generators exercise the input/output functionality of the top-level module, monitor port and bus activity across module boundaries, and observe state activity in any embedded state machines. This step in the design flow is crucial and must be executed thoroughly to ensure that the design that is being signed off for synthesis is correct. A separate test plan for the system is developed at the beginning of this step. 6. Pre-Synthesis Sign-Off A demonstration of full functionality is to be provided by the testbench, and any discrepancies between the functionality of the Verilog behavioral model and the design specification must be resolved. Sign-off occurs after all known functional errors have been eliminated. 7. Synthesis and Implementation After all syntax and functional errors have been eliminated from the design and sign-off has occurred, a synthesis tool is used to create an optimal Boolean description. In general, a synthesis tool removes redundant logic and seeks to reduce the area of the logic needed to implement the functionality and satisfy performance (speed) specifications. 8. Configuration Bitstream Download Xilinx FPGAs are configured by downloading a bitstream from a host PC through a parallel port to a connector on the prototype board, and into an on-chip SRAM. The bitstream stored in the SRAM determines how the chips "configurable logic blocks" (CLBs), input/output blocks (IOBs) and Page 3 of 8 Lab 1 Version 1.5
4 interconnect will be configured. The contents of the on-chip SRAM are volatile, i.e., the chip must be powered at all times. It is crucial that the correct part be specified, and that the pins be mapped correctly to the I/O of the model. (Note: The programming switch (SW9) on the Digilab board must be in the PROG position while downloading. If the parallel port is to be used as a functional port, switch SW9 must be moved to the "PORT" position after downloading the bitstream). 9. Prototype Functional Testing Once the bitstream has been downloaded successfully (indicated by LED9 on the prototype board), the part may be exercised to verify that the prototype works as intended. Figure 2 shows a framework for post-synthesis verification of a design. This step compares the response of the gatelevel hardware realization to the response of the behavioral model. This can be done by a testbench that instantiates both models, and drives them with a common stimulus. The responses can be monitored by software and/or by visual/graphical means. Post-synthesis verification in an FPGA design flow can reveal software race conditions in the behavioral model that cause timing to occur in a different clock cycle than expected1. Careful modeling can prevent this outcome. Our postsynthesis verification will be based on a prototype board-level demonstration of the design. Verilog Model Logic Synthesis Gate Level Description Stimulus Generation Test-Bench for System Verification Response Comparator Pass/Fail Figure 2: Post-synthesis functional verification 10. Final sign-off Final sign-off occurs after the lab instructor has witnessed a working design. Congratulations! Schedule a meeting with your venture capitalist. Following the methodology presented in our lab exercises will prepare you to follow a methodology as part of a design team in industry. This methodology might seem cumbersome, but experience has shown that it works better than chaos. We don't get "to do our own thing" if we want the silicon to work. Systematic methodologies reduce the Page 4 of 8 Lab 1 Version 1.5
5 risk of error and increase the likelihood of success. The methodology is not fool-proof, but neither is a free-wheeling alternative, which is more likely to be very costly in the long run. B. DESIGN OF A SIMPLE SEQUENTIAL MACHINE This objective of this part of the assignment is to start the design of a simple sequential machine as an example to illustrate the steps of the design flow. The machine, ALU_machine_4_bit, will be designed and implemented on the Digilent board. The machine's block diagram is in Figure 3 and the top-level I/O is in Table 1. 3 Opcode Alu_machine_4_bit Data 4 Data_A Opcode Alu_4_bit Alu_out 5 Alu_out Data_B 4 4 Reg_out[3:0] Register D Q D Q D Q D Q clk reset Go Control clk load reset Led_wait Go Led_rdy Led_idle Led_wait Led_rdy Led_idle Figure 3: Architecture for ALU_machine_4_bit Name Direction Width Purpose clk input 50MHz clock (20ns period) reset input Asynchronous active high reset Page 5 of 8 Lab 1 Version 1.5
6 Opcode input [2:0] The opcode Data input [3:0] Input data 2 s complement Go input Load Data into register Alu_out output [4:0] ALU output 2 s complement Led_idle output Machine is in reset state Led_wait output Register is loading Led_rdy output Ready for new op-code or data Table 1: I/O ports for ALU_machine_4_bit 1. ALU_machine_4_bit Design Specification: The machine is to operate as follows: Led_idle will indicate that the machine is in its "reset" state. When Go is asserted the internal register is to be loaded with the content of Data[3:0] and is to assert Led_wait until Go is de-asserted. After Go is de-asserted, Led_rdy is to assert. While Led_rdy is asserted the slide switches may be used to set an opcode and/or a new value for Data[3:0]. As the slide switches and/or Data are changed, the effect should be apparent at Alu_out. The cycle is to repeat if Go is re-asserted while Led_rdy is asserted, i.e., the storage register is to be re-loaded. The machine is to be synchronized by the rising edge of a clock, and have an asynchronous active-high reset. Additional specifications will be given below. 2. ALU_machine_4_bit Design Partition We begin with the architectural partition of ALU_machine_4_bit shown in Figure 3. The architecture has three functional sub-units: an ALU, a storage register, and a state machine controller. The ALU implements an instruction set (described below), and the controller directs the operations of the machine. One input datapath of ALU_machine_4_bit is connected to the internal storage register and the other is connected to one data port of the ALU. The output of the register is connected to the other data port of the ALU. The datapath is to be controlled by Control, a state machine that will be described below. The manual slide switches on the prototyping board will control the opcode and the input datapath of ALU_machine_4_bit. Board LEDs will indicate the internal status of the system (i.e. Led_idle, Led_wait, and Led_ready) and are derived from the state within Control. Our design of ALU_machine_4_bit will be progressive. The ALU, ALU_4_bit will be designed and separately verified in this lab. The state machine controller, Control, and Register will be designed in Lab #3, along with a programmable clock generator. In Lab #4 we will integrate the individually verified functional units, verify that the integrated design has the correct functionality, and achieve final pre-synthesis sign-off. In Lab #6 we will synthesize the design into a working prototype on the Digilab board. Do not attempt design integration yet. Proceed to Step 6 (Pre-Synthesis Sign-Off) for each individual unit discussed below. We will execute Step 5 of the design flow (Design Integration and Verification) in Lab #4. 3. ALU_4_bit Design Entry: Verilog Model In this step block ALU_4_bit will be designed in Verilog to implement the operations enumerated in Table 2. Opcode Meaning ALU Operation 000 Add Data_A + Data_B 001 Sub Data_A Data_B 010 Not_A ~Data_A Page 6 of 8 Lab 1 Version 1.5
7 011 Not_B ~Data_B 100 A_and_B Data_A & Data_B 101 A_or_B Data_A Data_B 110 ReductionOR_A Data_A 111 ReductionAND_B &Data_B Table 2: ALU_4_bit Opcodes Note that the output of ALU_4_bit, Alu_out, is a 5-bit word in 2 s complement and the inputs of ALU_4_bit, Data_B and Data_A, are 4-bit words in 2 s complement. You will need to keep track of the sign bit yourself or use the Verilog signed construct. 4. ALU_4_bit - Block Level Verification In this step a test plan for ALU_4_bit will be written, the test-bench will be designed, and the test plan will be executed. i. Test Plan Development Write a test plan that specifies the functional features that are to be tested and how they will be tested. You must verify your design for a suitable number of patterns that cover the data and opcodes of the ALU. As an example, complete Table 3 for patterns that you choose. Include at least these patterns in your test-bench, along with others that you choose. Be sure to pick a mixture of negative and positive values as well as 0 for Data_A and Data_B. Data_A 0100 Data_B 1000 Opcode Alu_out Alu_out Alu_out Alu_out Alu_out Alu_out Alu_out Add Sub Not_A Not_B A_and_B A_or_B ReductionOR_A ReductionAND_B Table 3: Test cases for ALU_4_bit ii. Testbench Development Using the test plan, write a test-bench that verifies the functionality of ALU_4_bit. To make the test-bench self checking, use the data in Table 3 to predict the expected result and flag an error if they do not. Do not simply replicate ALU_4_bit in your test-bench but rather use Table 3 as the expected results and code these expected results into your testbench. iii. Test Execution and Model Verification Using the test-bench developed in ii. Testbench Development, implement the test plan written in i. Test Plan Development. Deliverables 1. Source code of ALU_4_bit 2. Source code of the test-bench. 3. Test plan for ALU_4_bit including Table 3 Page 7 of 8 Lab 1 Version 1.5
8 4. Demonstration of the operation of the test-bench to the lab instructor using any simulator Grading 1. Demonstrations: a. Correct operation of the ALU_4_bit model - 20 pts b. Demonstration of test-bench 20 pts 2. Final Report a. Completeness of test-plan 20 pts b. Final report 20pts Page 8 of 8 Lab 1 Version 1.5
Lab 3 Sequential Logic for Synthesis. FPGA Design Flow.
Lab 3 Sequential Logic for Synthesis. FPGA Design Flow. Task 1 Part 1 Develop a VHDL description of a Debouncer specified below. The following diagram shows the interface of the Debouncer. The following
More informationHardware 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 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 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 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 informationHIERARCHICAL DESIGN. RTL Hardware Design by P. Chu. Chapter 13 1
HIERARCHICAL DESIGN Chapter 13 1 Outline 1. Introduction 2. Components 3. Generics 4. Configuration 5. Other supporting constructs Chapter 13 2 1. Introduction How to deal with 1M gates or more? Hierarchical
More informationOutline HIERARCHICAL DESIGN. 1. Introduction. Benefits of hierarchical design
Outline HIERARCHICAL DESIGN 1. Introduction 2. Components 3. Generics 4. Configuration 5. Other supporting constructs Chapter 13 1 Chapter 13 2 1. Introduction How to deal with 1M gates or more? Hierarchical
More informationCMSC 611: Advanced Computer Architecture
CMSC 611: Advanced Computer Architecture Design Languages Practically everything adapted from slides by Peter J. Ashenden, VHDL Quick Start Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr
More informationstructure syntax different levels of abstraction
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationHere is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationExp#8: Designing a Programmable Sequence Detector
Exp#8: Designing a Programmable Sequence Detector Objectives Learning how to partition a system into data-path and control unit. Integrating Schematics and Verilog code together Overview In this lab you
More informationA Brief Introduction to Verilog Hardware Definition Language (HDL)
www.realdigital.org A Brief Introduction to Verilog Hardware Definition Language (HDL) Forward Verilog is a Hardware Description language (HDL) that is used to define the structure and/or behavior of digital
More informationDon t expect to be able to write and debug your code during the lab session.
EECS150 Spring 2002 Lab 4 Verilog Simulation Mapping UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 4 Verilog Simulation Mapping
More informationLecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration
TKT-1426 Digital design for FPGA, 6cp Fall 2011 http://www.tkt.cs.tut.fi/kurssit/1426/ Tampere University of Technology Department of Computer Systems Waqar Hussain Lecture Contents Lecture 1: Introduction
More informationLab Manual for COE 203: Digital Design Lab
Lab Manual for COE 203: Digital Design Lab 1 Table of Contents 1. Prototyping of Logic Circuits using Discrete Components...3 2. Prototyping of Logic Circuits using EEPROMs...9 3. Introduction to FPGA
More informationDESIGN STRATEGIES & TOOLS UTILIZED
CHAPTER 7 DESIGN STRATEGIES & TOOLS UTILIZED 7-1. Field Programmable Gate Array The internal architecture of an FPGA consist of several uncommitted logic blocks in which the design is to be encoded. The
More informationOUTLINE SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL September 3, 2018 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1)
September 3, 2018 GETTING STARTED WITH VHDL 2 Top-down design VHDL history Main elements of VHDL Entities and architectures Signals and processes Data types Configurations Simulator basics The testbench
More informationSynthesis of Combinational and Sequential Circuits with Verilog
Synthesis of Combinational and Sequential Circuits with Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two
More informationCSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0
Lab 0: Tutorial on Xilinx Project Navigator & ALDEC s Active-HDL Simulator CSE 591: Advanced Hardware Design and Verification Assigned: 01/05/2011 Due: 01/19/2011 Table of Contents 1 Overview... 2 1.1
More informationECE2029: Introduction to Digital Circuit Design. Lab 2 Implementing Combinational Functional Blocks
ECE2029: Introduction to Digital Circuit Design Lab 2 Implementing Combinational Functional Blocks Objective: In this lab exercise you will simulate, test, and download various digital circuits which implement
More informationHardware 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 informationBuilding Combinatorial Circuit Using Behavioral Modeling Lab
Building Combinatorial Circuit Using Behavioral Modeling Lab Overview: In this lab you will learn how to model a combinatorial circuit using behavioral modeling style of Verilog HDL. You will model a combinatorial
More informationEECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis
EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State
More informationDigital Logic Design Lab
Digital Logic Design Lab DEPARTMENT OF ELECTRICAL ENGINEERING LAB BROCHURE DIGITAL LOGIC DESIGN LABORATORY CONTENTS Lab Venue... 3 Lab Objectives & Courses... 3 Lab Description & Experiments... 4 Hardware
More informationThe 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 informationV1 - VHDL Language. FPGA Programming with VHDL and Simulation (through the training Xilinx, Lattice or Actel FPGA are targeted) Objectives
Formation VHDL Language: FPGA Programming with VHDL and Simulation (through the training Xilinx, Lattice or Actel FPGA are targeted) - Programmation: Logique Programmable V1 - VHDL Language FPGA Programming
More informationSynthesizable Verilog
Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL
More informationOutline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?
Outline EECS 5 - Components and Design Techniques for Digital Systems Lec Putting it all together -5-4 David Culler Electrical Engineering and Computer Sciences University of California Berkeley Top-to-bottom
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 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 informationDigital System Design with SystemVerilog
Digital System Design with SystemVerilog Mark Zwolinski AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo
More informationFPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.
FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different
More informationRTL 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 informationCOE 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 informationDesign Methodologies and Tools. Full-Custom Design
Design Methodologies and Tools Design styles Full-custom design Standard-cell design Programmable logic Gate arrays and field-programmable gate arrays (FPGAs) Sea of gates System-on-a-chip (embedded cores)
More informationUniversity of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018
University of California, Davis Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS Spring Quarter 2018 LAB 2: FPGA Synthesis and Combinational Logic Design Objective: This lab covers
More informationVerilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design
Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is
More informationEECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Finite State Machine Review
EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Feb 9, 2010 John Wawrzynek Spring 2010 EECS150 - Lec7-CAD2 Page 1 Finite State Machine Review State Transition
More informationHardware Description Languages (HDLs) Verilog
Hardware Description Languages (HDLs) Verilog Material from Mano & Ciletti book By Kurtulus KULLU Ankara University What are HDLs? A Hardware Description Language resembles a programming language specifically
More informationFPGA 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 informationLSN 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 informationChapter 9: Integration of Full ASIP and its FPGA Implementation
Chapter 9: Integration of Full ASIP and its FPGA Implementation 9.1 Introduction A top-level module has been created for the ASIP in VHDL in which all the blocks have been instantiated at the Register
More informationMore Course Information
More Course Information Labs and lectures are both important Labs: cover more on hands-on design/tool/flow issues Lectures: important in terms of basic concepts and fundamentals Do well in labs Do well
More informationVerilog Simulation Mapping
1 Motivation UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 4 Verilog Simulation Mapping In this lab you will learn how to use
More informationECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS
ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS Note: Closed book no notes or other material allowed apart from the one
More informationEvolution of CAD Tools & Verilog HDL Definition
Evolution of CAD Tools & Verilog HDL Definition K.Sivasankaran Assistant Professor (Senior) VLSI Division School of Electronics Engineering VIT University Outline Evolution of CAD Different CAD Tools for
More informationOne and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE
One and a half hours Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Fundamentals of Computer Engineering Date: Thursday 21st January 2016 Time: 14:00-15:30 Answer BOTH Questions
More informationLogic 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 informationOverview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips
Overview CSE372 Digital Systems Organization and Design Lab Prof. Milo Martin Unit 5: Hardware Synthesis CAD (Computer Aided Design) Use computers to design computers Virtuous cycle Architectural-level,
More informationDesign Methodologies. Full-Custom Design
Design Methodologies Design styles Full-custom design Standard-cell design Programmable logic Gate arrays and field-programmable gate arrays (FPGAs) Sea of gates System-on-a-chip (embedded cores) Design
More informationTwo HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design
Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial
More informationTOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis
TOPIC : Verilog Synthesis examples Module 4.3 : Verilog synthesis Example : 4-bit magnitude comptarator Discuss synthesis of a 4-bit magnitude comparator to understand each step in the synthesis flow.
More informationLecture 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 informationINSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING
INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad - 00 0 ELECTRONICS AND COMMUNICATIONS ENGINEERING QUESTION BANK Course Name : DIGITAL DESIGN USING VERILOG HDL Course Code : A00 Class : II - B.
More informationLecture #1: Introduction
Lecture #1: Introduction Kunle Olukotun Stanford EE183 January 8, 20023 What is EE183? EE183 is continuation of EE121 Digital Logic Design is a a minute to learn, a lifetime to master Programmable logic
More informationSpiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.
1-4.1 1-4.2 Spiral 1 / Unit 4 Verilog HDL Mark Redekopp OVERVIEW 1-4.3 1-4.4 Digital Circuit Design Steps Digital Circuit Design Description Design and computer-entry of circuit Verification Input Stimulus
More informationCSE 141L Computer Architecture Lab Fall Lecture 3
CSE 141L Computer Architecture Lab Fall 2005 Lecture 3 Pramod V. Argade November 1, 2005 Fall 2005 CSE 141L Course Schedule Lecture # Date Day Lecture Topic Lab Due 1 9/27 Tuesday No Class 2 10/4 Tuesday
More informationAdvanced FPGA Design Methodologies with Xilinx Vivado
Advanced FPGA Design Methodologies with Xilinx Vivado Alexander Jäger Computer Architecture Group Heidelberg University, Germany Abstract With shrinking feature sizes in the ASIC manufacturing technology,
More informationLab 3 Verilog Simulation Mapping
University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences 1. Motivation Lab 3 Verilog Simulation Mapping In this lab you will learn how to use
More informationSunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.
World Class SystemVerilog & UVM Training Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc. Cliff Cummings
More informationNote: Closed book no notes or other material allowed, no calculators or other electronic devices.
ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Exam Review Note: Closed book no notes or other material allowed, no calculators or other electronic devices. One page
More informationECE U530 Digital Hardware Synthesis. Programming Assignments
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu Sept 11, 2006 Lecture 2: CAD TOOLS: Xilinx and Modelsim Levels of Design VHDL Introduction ECE U530 F06 Programming Assignments All
More informationRevision: August 30, Overview
Module 5: Introduction to VHDL Revision: August 30, 2007 Overview Since the first widespread use of CAD tools in the early 1970 s, circuit designers have used both picture-based schematic tools and text-based
More informationCSCB58 - Lab 3. Prelab /3 Part I (in-lab) /2 Part II (in-lab) /2 TOTAL /8
CSCB58 - Lab 3 Latches, Flip-flops, and Registers Learning Objectives The purpose of this exercise is to investigate the fundamental synchronous logic elements: latches, flip-flops, and registers. Prelab
More informationIntroduction to Field Programmable Gate Arrays
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May 9 June 2007 Javier Serrano, CERN AB-CO-HT Outline Historical introduction.
More informationCombinational Logic Design with Verilog. ECE 152A Winter 2012
Combinational Logic Design with Verilog ECE 152A Winter 2012 Reading Assignment Brown and Vranesic 2 Introduction to Logic Circuits 2.10 Introduction to Verilog 2.10.1 Structural Specification of Logic
More informationField Programmable Gate Array (FPGA)
Field Programmable Gate Array (FPGA) Lecturer: Krébesz, Tamas 1 FPGA in general Reprogrammable Si chip Invented in 1985 by Ross Freeman (Xilinx inc.) Combines the advantages of ASIC and uc-based systems
More informationVerilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)
Verilog Sequential Logic Verilog for Synthesis Rev C (module 3 and 4) Jim Duckworth, WPI 1 Sequential Logic Module 3 Latches and Flip-Flops Implemented by using signals in always statements with edge-triggered
More informationCS232 VHDL Lecture. Types
CS232 VHDL Lecture VHSIC Hardware Description Language [VHDL] is a language used to define and describe the behavior of digital circuits. Unlike most other programming languages, VHDL is explicitly parallel.
More informationFishTail: The Formal Generation, Verification and Management of Golden Timing Constraints
FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints Chip design is not getting any easier. With increased gate counts, higher clock speeds, smaller chip sizes and
More informationEE183 LAB TUTORIAL. Introduction. Projects. Design Entry
EE183 LAB TUTORIAL Introduction You will be using several CAD tools to implement your designs in EE183. The purpose of this lab tutorial is to introduce you to the tools that you will be using, Xilinx
More informationFPGAs: Instant Access
FPGAs: Instant Access Clive"Max"Maxfield AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO % ELSEVIER Newnes is an imprint of Elsevier Newnes Contents
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 information1 Design Process HOME CONTENTS INDEX. For further assistance, or call your local support center
1 Design Process VHDL Compiler, a member of the Synopsys HDL Compiler family, translates and optimizes a VHDL description to an internal gate-level equivalent. This representation is then compiled with
More informationDigital System Design Lecture 2: Design. Amir Masoud Gharehbaghi
Digital System Design Lecture 2: Design Amir Masoud Gharehbaghi amgh@mehr.sharif.edu Table of Contents Design Methodologies Overview of IC Design Flow Hardware Description Languages Brief History of HDLs
More informationIntroduction to WebPACK 3.1. Using XILINX WebPACK Software to Create CPLD Designs
Introduction to WebPACK 3.1 Using XILINX WebPACK Software to Create CPLD Designs RELEASE DATE: 8/28/2000 All XS-prefix product designations are trademarks of XESS Corp. All XC-prefix product designations
More informationFlexRIO. 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 informationXilinx ChipScope ICON/VIO/ILA Tutorial
Xilinx ChipScope ICON/VIO/ILA Tutorial The Xilinx ChipScope tools package has several modules that you can add to your Verilog design to capture input and output directly from the FPGA hardware. These
More informationPINE TRAINING ACADEMY
PINE TRAINING ACADEMY Course Module A d d r e s s D - 5 5 7, G o v i n d p u r a m, G h a z i a b a d, U. P., 2 0 1 0 1 3, I n d i a Digital Logic System Design using Gates/Verilog or VHDL and Implementation
More informationLAB 5 Implementing an ALU
Goals To Do Design a practical ALU LAB 5 Implementing an ALU Learn how to extract performance numbers (area and speed) Draw a block level diagram of the MIPS 32-bit ALU, based on the description in the
More informationMLR Institute of Technology
MLR Institute of Technology Laxma Reddy Avenue, Dundigal, Quthbullapur (M), Hyderabad 500 043 Course Name Course Code Class Branch ELECTRONICS AND COMMUNICATIONS ENGINEERING QUESTION BANK : DIGITAL DESIGN
More informationThe Embedded computing platform. Four-cycle handshake. Bus protocol. Typical bus signals. Four-cycle example. CPU bus.
The Embedded computing platform CPU bus. Memory. I/O devices. CPU bus Connects CPU to: memory; devices. Protocol controls communication between entities. Bus protocol Determines who gets to use the bus
More informationCSE140L: Components and Design Techniques for Digital Systems Lab. Verilog HDL. Instructor: Mohsen Imani UC San Diego. Source: Eric Crabill, Xilinx
CSE140L: Components and Design Techniques for Digital Systems Lab Verilog HDL Instructor: Mohsen Imani UC San Diego Source: Eric Crabill, Xilinx 1 Hardware description languages Used to describe & model
More informationUVM for VHDL. Fast-track Verilog for VHDL Users. Cont.
UVM for VHDL Fast-track Verilog for VHDL Users Course Description Verilog for VHDL Users is an intensive 2-day course, converting knowledge of VHDL to practical Verilog skills. Contrasting Verilog and
More informationENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim
ENGN 1630 Fall 2018 Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim You will use the Xilinx ISim simulation software for the required timing simulation of the XC9572XL CPLD programmable
More informationEE 4755 Digital Design Using Hardware Description Languages
EE 4755 Digital Design Using Hardware Description Languages Basic Information URL: http://www.ece.lsu.edu/v Offered by: David M. Koppelman, Room 345 ERAD Building 578-5482. koppel@ece.lsu.edu, http://www.ece.lsu.edu/koppel/koppel.html
More informationתכן חומרה בשפת VERILOG הפקולטה להנדסה
תכן חומרה בשפת VERILOG סמסטר ב' תשע"ג משה דורון מרצה: מתרגלים: אריאל בורג, חג'ג' חן הפקולטה להנדסה 1 Course Topics - Outline Lecture 1 - Introduction Lecture 2 - Lexical conventions Lecture 3 - Data types
More informationLecture 3: Modeling in VHDL. EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware
More informationLab 1: Introduction to Verilog HDL and the Xilinx ISE
EE 231-1 - Fall 2016 Lab 1: Introduction to Verilog HDL and the Xilinx ISE Introduction In this lab simple circuits will be designed by programming the field-programmable gate array (FPGA). At the end
More informationBulletproofing 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 informationPROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES
PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES. psa. rom. fpga THE WAY THE MODULES ARE PROGRAMMED NETWORKS OF PROGRAMMABLE MODULES EXAMPLES OF USES Programmable
More informationLecture 15: System Modeling and Verilog
Lecture 15: System Modeling and Verilog Slides courtesy of Deming Chen Intro. VLSI System Design Outline Outline Modeling Digital Systems Introduction to Verilog HDL Use of Verilog HDL in Synthesis Reading
More informationFPGA: What? Why? Marco D. Santambrogio
FPGA: What? Why? Marco D. Santambrogio marco.santambrogio@polimi.it 2 Reconfigurable Hardware Reconfigurable computing is intended to fill the gap between hardware and software, achieving potentially much
More informationSt.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad
St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad-500 014 Subject: Digital Design Using Verilog Hdl Class : ECE-II Group A (Short Answer Questions) UNIT-I 1 Define verilog HDL? 2 List levels of
More informationModeling Concepts. Introduction
Introduction Verilog HDL modeling language supports three kinds of modeling styles: gate-level, dataflow, and behavioral. The gate-level and datafow modeling are used to model combinatorial circuits whereas
More informationINTRODUCTION TO FPGA ARCHITECTURE
3/3/25 INTRODUCTION TO FPGA ARCHITECTURE DIGITAL LOGIC DESIGN (BASIC TECHNIQUES) a b a y 2input Black Box y b Functional Schematic a b y a b y a b y 2 Truth Table (AND) Truth Table (OR) Truth Table (XOR)
More informationVHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language
VHDL Introduction to Structured VLSI Design VHDL I Very High Speed Integrated Circuit (VHSIC) Hardware Description Language Joachim Rodrigues A Technology Independent, Standard Hardware description Language
More informationEEC 118 Spring 2011 Lab #5 Manchester Carry-Chain Adder
EEC 118 Spring 2011 Lab #5 Manchester Carry-Chain Adder Rajeevan Amirtharajah Dept. of Electrical and Computer Engineering University of California, Davis Issued: May 9, 2011 Due: May 20, 2011, 5 PM in
More informationECE2029: Introduction to Digital Circuit Design Lab 3 Implementing a 4-bit Four Function ALU
ECE2029: Introduction to Digital Circuit Design Lab 3 Implementing a 4-bit Four Function ALU Objective: Inside a computer's central processing unit (CPU) there is a sub-block called the arithmetic logic
More informationRegister 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