FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.

Slides:



Advertisements
Similar presentations
Basic HDL Coding Techniques
Advertisements

Simulation executable (simv)
The Verilog Hardware Description Language
Spartan-3 FPGA HDL Coding Techniques
Combinational Logic.
CSE 341 Verilog HDL An Introduction. Hardware Specification Languages Verilog  Similar syntax to C  Commonly used in  Industry (USA & Japan) VHDL 
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Register-transfer Design n Basics of register-transfer design: –data paths and controllers.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
ECE 353 Computer Systems Lab I Verilog Hardware Description Language.
VHDL Synthesis in FPGA By Zhonghai Shi February 24, 1998 School of EECS, Ohio University.
Evolution of implementation technologies
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
Overview Logistics Last lecture Today HW5 due today
FPGA-Based System Design: Chapter 5 Copyright  2004 Prentice Hall PTR Topics n Basics of sequential machines. n Sequential machine specification. n Sequential.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
IAY 0600 Digitaalsüsteemide disain Event-Driven Simulation Alexander Sudnitson Tallinn University of Technology.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
Introduction to VHDL Arab Academy for Science, Technology & Maritime Transport Computer Engineering Department Magdy Saeb, Ph.D.
1 H ardware D escription L anguages Modeling Digital Systems.
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
Logic Synthesis assign z=a&b a b z What is Synthesis synthesis /sinth siss/ noun ( pl. syntheses /sinth seez/) 1 the combination of components to form.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
정 용 군 ( 전자공학과 대학원 ) 대상 : VLSI 설계 연구회 1,2,3 학년 기간 : ~ Synopsys Tool 교육 Synopsys 교육 1.
Array Synthesis in SystemC Hardware Compilation Authors: J. Ditmar and S. McKeever Oxford University Computing Laboratory, UK Conference: Field Programmable.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Logic Design Process n Functional/ Non-functional requirements n Mapping into an FPGA n Hardware.
FPGA-Based System Design: Chapter 4 Copyright  2003 Prentice Hall PTR Topics n Number representation. n Shifters. n Adders and ALUs.
Module 1.2 Introduction to Verilog
Logic Synthesis assign z=a&b a b z What is Synthesis synthesis /sinth siss/ noun ( pl. syntheses /sinth seez/) 1 the combination of components to form.
1 CSE-308 Digital System Design (DSD) N-W.F.P. University of Engineering & Technology, Peshawar.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Tools - Design Entry - Chapter 4 slide 1 FPGA Tools Course Design Entry.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Circuit design for FPGAs n Static CMOS gate vs. LUT n LE output drivers n Interconnect.
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
Hardware languages "Programming"-language for modelling of (digital) hardware 1 Two main languages: VHDL (Very High Speed Integrated Circuit Hardware Description.
FPGA-Based System Design: Chapter 1 Copyright  2004 Prentice Hall PTR Moore’s Law n Gordon Moore: co-founder of Intel. n Predicted that number of transistors.
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
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Basics of register-transfer design: –data paths and controllers; –ASM.
Logic Synthesis assign z=a&b a b z What is Synthesis synthesis /sinth siss/ noun ( pl. syntheses /sinth seez/) 1 the combination of components to form.
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
IAY 0600 Digital Systems Design Timing and Post-Synthesis Verifications Hazards in Combinational Circuits Alexander Sudnitson Tallinn University of Technology.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Introduction to the FPGA and Labs
Hardware Description Languages: Verilog
IAY 0600 Digital Systems Design
ASIC Design Methodology
Combinational Logic Design
Reg and Wire:.
Discussion 2: More to discuss
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
Topics Modeling with hardware description languages (HDLs).
Hardware Description Languages: Verilog
Topics The logic design process..
Topics Modeling with hardware description languages (HDLs).
Introduction to cosynthesis Rabi Mahapatra CSCE617
Topics HDL coding for synthesis. Verilog. VHDL..
SYNTHESIS OF SEQUENTIAL LOGIC
Levels in computer design
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Supplement on Verilog adder examples
Presentation transcript:

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n HDL coding for synthesis. –Verilog. –VHDL. n State machines n Element structure n Synthesis n I/O configuration n Timing model

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Synthesis vs. simulation semantics n Simulation: –Events are interpreted during simulation. n Synthesis: –Logic/memory is extracted from the description. CL

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Logic synthesis n Synthesis = translation + optimization. –Translated from HDL or direct Boolean network. –Ideally, translation includes don’t-cares. –Optimization rewrites to satisfy objective functions: area, speed, power.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Syntax-directed translation x = a and b; a b x if (a or b) begin x = c; end; a bx c

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Verilog simulation and synthesis n Signal assignments must use the assign keyword: –assign sig3 = sig1 & sig2;

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Verilog structural descriptions n Build a structure by wiring together components: input [7:0] a, b; input carryin; output [7:0] sum; output carryout; wire [7:1] carry; fulladd a0(a[0],b[0],carryin,sum[0],carry[1]); fulladd a1(a[1],b[1],carry[1],sum[1],carry[2]); fulladd a2(a[2],b[2],carry[2],sum[2],carry[3]); Type name Instance name

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR VHDL for Synopsys synthesis n Each process should start with an activation list: process foo (a,b,in1,in2) n At least two processes: –combinational; –sequential. n Sequential process includes wait until clock…

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Initializing variables All variables used must be initialized. Uninitialized variables cause latches to be introduced: BAD.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR State machines Use case(x/z) statement to decode current state: initial begin: Init s0 = B”000”; end case (curr) 2’b00: if (in1 = ‘0’) begin o1 = a or b; end; 2’b01:...

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Process structure n How many combinational processes? –separate datapath; –single process for data and control. n Comparison: –single process is simpler; –separate datapath uses less logic. combin seq vs. ctrl combin seq dp combin

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Multiplexing a datapath element case (muxctrl) 1’b0: muxout = a; 1’b1: muxout = b; end; foo = muxout or c;

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Arithmetic n Can generate logic by hand. n Operators (+,-,,*,+1,-1,etc.) can be mapped onto library elements. –May be limited to standard widths.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR General synthesis hints n Check out all warnings carefully. n An early synthesis run keeps you from debugging a simulation that won’t synthesize.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR The synthesis process n Synthesis is driven by a script: compile -map_effort med report_fpga > TOP + “.fpga” n Script may be customized for the design. –Verilog file foo.v, script file foo.script. –Typically start with a standard script.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Timing constraints n Clock period. –Duty cycle, etc. n Group path timing. –Cells or ports that share the same timing behavior. n Input/output delay. –End-to-end delay.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Hierarchical design and logic optimization n Boolean network model does not reach across component boundaries. n Tools generally won’t automatically flatten logic. –Size may blow up. n You may direct the tool to flatten a group of components. –Heuristic flattening algorithms may be used.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Instantiating memory n Use a memory model: –primitive memories based on LUT; –larger memories synthesized from multiple logic elements. n Synthesis can’t handle a memory described behaviorally. –Can handle behavioral ROM.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR I/O configuration n Synthesis can automatically determine the types of many I/O blocks, configure appropriately. n Some things that need to be specified: –indirect three-state activity; –I/O pin location; –registered bidirectional I/O.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Timing model n Synthesis system reads a wire load model from a technology library. –Model depends on part, speed grade.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Attribute passing n FPGA Compiler allows attributes to be passed to EDIF: –BUFG X(.I(a),.O(b)); // synopsys attribute LOC BR

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Results and reports n Save design as: –database; –EDIF. n Types of reports: –Default synthesis report. –Configuration report. »Describes LEs, IOBs, etc. –Timing report.