Topics The logic design process..

Slides:



Advertisements
Similar presentations
Chapter 3 Gate-Level Minimization
Advertisements

Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
ENEL111 Digital Electronics
The Verilog Hardware Description Language
Verilog Overview. University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
CPEN Digital System Design
Verilog Intro: Part 1.
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
Figure 4.1. The function f (x1, x2, x3) =  m(0, 2, 4, 5, 6).
16/04/20151 Hardware Descriptive Languages these notes are taken from Mano’s book It can represent: Truth Table Boolean Expression Diagrams of gates and.
Anurag Dwivedi.  Verilog- Hardware Description Language  Modules  Combinational circuits  assign statement  Control statements  Sequential circuits.
1 Brief Introduction to Verilog Weiping Shi. 2 What is Verilog? It is a hardware description language Originally designed to model and verify a design.
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
1 Verilog Digital Computer Logic Kashif Bashir WWW: http//:
ECE 272 Xilinx Tutorial. Workshop Goals Learn how to use Xilinx to: Draw a schematic Create a symbol Generate a testbench Simulate your circuit.
DON’T CARE CONDITIONS Functions that have unspecified output for some input combinations are called incompletely specified functions. Unspecified minterms.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
ECE 353 Computer Systems Lab I Verilog Hardware Description Language.
Hardware Description Language HDL. 2 Hardware Description Language HDL  Describes circuits and systems in text. −As a software program.  Can be processed.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
Verilog HDL. Hardware Description Language  HDL – a “language” for describing hardware  Two industry IEEE standards: Verilog VHDL (Very High Speed Integrated.
Introduction Verilog is a HARDWARE DESCRIPTION LANGUAGE (HDL) A hardware description language is a language or means used to describe or model a digital.
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
CPEN Digital System Design
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Logic Design Process n Functional/ Non-functional requirements n Mapping into an FPGA n Hardware.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
Introduction to ASIC flow and Verilog HDL
Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-1 Chapter 1: Introduction Prof. Ming-Bo.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
VHDL From Ch. 5 Hardware Description Languages. History 1980’s Schematics 1990’s Hardware Description Languages –Increased due to the use of Programming.
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Verilog register-transfer modeling: –basics using traffic light controller;
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
1 A hardware description language is a computer language that is used to describe hardware. Two HDLs are widely used Verilog HDL VHDL (Very High Speed.
Structural Description
Hardware Description Languages: Verilog
An Introduction to Verilog: Transitioning from VHDL
Adapted from Krste Asanovic
University of Maryland Baltimore County Department of Computer Science and Electrical Engineering   CMPE 212 Laboratory (Discussion 2) Hasibul Hasan
Discussion 2: More to discuss
Topics Modeling with hardware description languages (HDLs).
Hardware Description Languages: Verilog
Hardware Description Languages
Topics Modeling with hardware description languages (HDLs).
Hardware Descriptive Languages these notes are taken from Mano’s book
Topics HDL coding for synthesis. Verilog. VHDL..
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
Week 5, Verilog & Full Adder
Hardware Description Language
Introduction to Verilog
Lecture 1.3 Hardware Description Languages (HDLs)
Levels in computer design
Digital Logic Design I Gate-Level Minimization
Hardware Descriptive Languages these notes are taken from Mano’s book
Introduction to Digital System and Microprocessor Design
Hardware Description Language
مدار منطقی به نام یگانه مهندس هستی مهدی قدیری
CS 153 Logic Design Lab Professor Ian G. Harris
The Verilog Hardware Description Language
THE ECE 554 XILINX DESIGN PROCESS
Digital Designs – What does it take
THE ECE 554 XILINX DESIGN PROCESS
COE 202 Introduction to Verilog
Presentation transcript:

Topics The logic design process.

Combinational logic networks Functionality. Other requirements: Size. Power. Performance. Primary inputs Primary outputs Combinational logic

Non-functional requirements Performance: Clock speed is generally a primary requirement. Size: Determines manufacturing cost. Power/energy: Energy related to battery life, power related to heat. Many digital systems are power- or energy-limited.

Mapping into an FPGA Must choose the FPGA: Capacity. Pinout/package type. Maximum speed.

Hardware description languages Structural description: A connection of components. Functional description: A set of Boolean formulas, state transitions, etc. Simulation description: A program designed for simulation. Major languages: Verilog. VHDL. A NAND x

Logic optimization Must transform Boolean expressions into a form that can be implemented. Use available primitives (gates). Meet delay, size, energy/power requirements. Logic gates implement expressions. Must rewrite logic to use the expressions provided by the logic gates. Maintain functionality while meeting non-functional requirements.

Macros Larger modules designed to fit into a particular FPGA. Hard macro includes placement. Soft macro does not include placement.

Physical design Placement: Routing: Configuration generation: Place logic components into FPGA fabric. Routing: Choose connection paths through the fabric. Configuration generation: Generate bits required to configure FPGA.

Example: parity Simple parity function: Implement with Xilinx ISE. P = a0 XOR a1 XOR a2 XOR a3. Implement with Xilinx ISE.

Xilinx ISE main screen Sources in project Source window Processes for source Output

New project

New project info

Create HDL file

I/O description

I/O info

Empty Verilog description module parity(a,p); input [31:0] a; output p; endmodule

Verilog with functional code module parity(a,p); input [31:0] a; output p; assign p = ^a; endmodule

RTL schematic: top-level

RTL model: implementation

Example: simulation Apply stimulus/test vectors. Look at response/output vectors. Can’t exhaustively simulate but we can exercise the module. Simulation before synthesis is faster and easier than simulating the mapped design. Sometimes want to simulate the mapped design.

Testbench Stimulus Unit Under Test (UUT) Response testbench

Automatically-created testbench module parity_testbench_v_tf(); // DATE: 11:48:13 11/07/2003 // MODULE: parity // DESIGN: parity // FILENAME: testbench.v // PROJECT: parity // VERSION: // Inputs reg [31:0] a; // Outputs wire p; // Bidirs // Instantiate the UUT parity uut ( .a(a), .p(p) ); // Initialize Inputs ‘ifdef auto_init initial begin a = 0; end ‘endif endmodule

Test vector application code initial begin $monitor("a = %b, parity=%b\n",a,p); #10 a = 0; #10 a = 1; #10 a = 2’b10; #10 a = 2’b11; #10 a = 3’b100; #10 a = 3’b101; #10 a = 3’b110; #10 a = 3’b111; … #10 a = 1024; #10 a = 1025; #10 a = 16’b1010101010101010; #10 a = 17’b11010101010101010; #10 a = 17’b10010101010101010; #10 a = 32’b10101010101010101010101010101010; #10 a = 32’b11101010101010101010101010101010; #10 a = 32’b10101010101010101010101010101011; $finish; end

Project summary