Next in line… Advance techniques in design optimisations. Introduction to synthesis tools. Design flow using FPGA and ASIC. Summary.

Slides:



Advertisements
Similar presentations
Arbitrary Waveform Discussion 5.5 Example 34.
Advertisements

Ring Counter Discussion D5.3 Example 32. Ring Counter if rising_edge(CLK) then for i in 0 to 2 loop s(i)
Sequential-Circuit Building Blocks
Introductory Comments Regarding Hardware Description Languages.
FPGAs and VHDL Lecture L12.1. FPGAs and VHDL Field Programmable Gate Arrays (FPGAs) VHDL –2 x 1 MUX –4 x 1 MUX –An Adder –Binary-to-BCD Converter –A Register.
Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an.
HDL-Based Digital Design Part I: Introduction to VHDL (I) Dr. Yingtao Jiang Department Electrical and Computer Engineering University of Nevada Las Vegas.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi Some of the slides were taken from K Gaj’s lecture slides from GMU’s.
Foundation and XACTstepTM Software
Advanced FPGA Based System Design Lecture-5-6 Introduction to VHDL By: Dr Imtiaz Hussain 1.
4-bit Shift Register. 2-bit Register Serial-in-serial-out Shift Register.
Introduction to VHDL (part 2)
1 Part V: VHDL CODING. 2 Design StructureData TypesOperators and AttributesConcurrent DesignSequential DesignSignals and VariablesState Machines A VHDL.
Introduction to Design Tools COE Review: Tools, functions, design flow Four tools we will use in this course – HDL Designer Suite FPGA Advantage.
Designing with FPGAs ELEC 418 Advanced Digital Systems Dr. Ron Hayne Images Courtesy of Thomson Engineering.
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
1/8/ L20 Project Step 8 - Data Path Copyright Joanne DeGroat, ECE, OSU1 State Machine Design with an HDL A methodology that works for documenting.
Copyright © 1997 Altera Corporation & 提供 What is VHDL Very high speed integrated Hardware Description Language (VHDL) –is.
STATEFLOW AND SIMULINK TO VERILOG COSIMULATION OF SOME EXAMPLES
Introducing the Nexys 2 Board CS 332 – Operating Systems 12/04/2011 by Otto Castell-R.
Introduction to VHDL Spring EENG 2920 Digital Systems Design Introduction VHDL – VHSIC (Very high speed integrated circuit) Hardware Description.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Copyright © 1997 Altera Corporation 11/20/2015 P.1 Beginner VHDL Training Class Danny Mok Altera HK FAE
Copyright © 1997 Altera Corporation & 提供 Beginner VHDL Training Class Danny Mok Altera HK FAE
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
VHDL Discussion Sequential Sytems. Memory Elements. Registers. Counters IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology.
1 Part III: VHDL CODING. 2 Design StructureData TypesOperators and AttributesConcurrent DesignSequential DesignSignals and VariablesState Machines A VHDL.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Apr. 3, 2000Systems Architecture I1 Introduction to VHDL (CS 570) Jeremy R. Johnson Wed. Nov. 8, 2000.
VHDL ELEC 311 Digital Logic and Circuits Dr. Ron Hayne Images Courtesy of Cengage Learning.
May 9, 2001Systems Architecture I1 Systems Architecture I (CS ) Lab 5: Introduction to VHDL Jeremy R. Johnson May 9, 2001.
George Mason University Behavioral Modeling of Sequential-Circuit Building Blocks ECE 545 Lecture 8.
Lecture 11 Xilinx FPGA Memories Part 2
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
An Introduction to V.H.D.L.. Need of a Compiler… main( ) { int x=10,y=20,z; z = x + y ; printf ( “ %d “, z ); getch( ) ; } What’s That ? Give me only.
Introduction to Vivado
Systems Architecture Lab: Introduction to VHDL
Behavioral Style Combinational Design with VHDL
UNIT 8: Synthesis Basics
Part IV: VHDL CODING.
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
Programmable Logic Memories
Sequential-Circuit Building Blocks
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
VHDL VHSIC Hardware Description Language VHSIC
RTL Style در RTL مدار ترتيبي به دو بخش (تركيبي و عناصر حافظه) تقسيم مي شود. مي توان براي هر بخش يك پروسس نوشت يا براي هر دو فقط يك پروسس نوشت. مرتضي صاحب.
Hardware Description Languages
IAS 0600 Digital Systems Design
Non-synthesizable VHDL Poor Design Practices
ECE 448 Lecture 6 Modeling of Circuits with a Regular Structure Aliases, Constants, Packages Mixing Design Styles ECE 448 – FPGA and ASIC Design with.
VHDL (VHSIC Hardware Description Language)
VHDL Discussion Subprograms
State Machine Design with an HDL
VHDL Introduction.
Behavioral Modeling of Sequential-Circuit Building Blocks
Founded in Silicon Valley in 1984
Sequntial-Circuit Building Blocks
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
VHDL Discussion Subprograms
IAS 0600 Digital Systems Design
ECE 448 Lecture 4 Modeling of Circuits with a Regular Structure Constants, Aliases, Packages ECE 448 – FPGA and ASIC Design with VHDL.
Digital Designs – What does it take
Sequntial-Circuit Building Blocks
High-Low Guessing Game
디 지 털 시 스 템 설 계 UP2 Kit를 이용한 카운터 설계
VHDL Synthesis for Implementing Digital Designs into FPGAs
Presentation transcript:

Next in line… Advance techniques in design optimisations. Introduction to synthesis tools. Design flow using FPGA and ASIC. Summary.

Optimisation while building a counter Comparator is checking 2 variables, value[3:0] and q[3:0]. process begin wait until clk’event and clk=’1’ ; some_value if (count = some_value) then count <= 0 ; else count <= count + 1 ; end if ; end process ;

Optimisation of counter: Slightly different syntax (identical functionality): process begin wait until clk’event and clk=’1’ ; if (count = 0) then count <= some_value ; else count <= count - 1 count <= count - 1 ; end if ; end process ; Comparator is checking 1 variable and 1 constant, therefore much smaller. Now we count to zero

Advanced: Think in hardware process (data1, data2) variable x, y, z : unsigned (64 downto 0); begin x := '0' & unsigned(data1); y := '0' & unsigned(data2); z := y - x; if (z(64) = '0') then LE <= '1'; else LE <= '0'; end if; end process; begin LE <= '1' when (data1 <= data2) else '0'; end EG ; Turns out that… 1 is better than 2 using ASIC library from vendor A; 2 is better than 1 (10 times smaller) using ASIC library from vendor B; 1 is the almost the same as 2 using FPGA library from vendor C!

Advanced: Think in hardware Destination architecture Standard cells available “Fit” with synthesizers How good the library designer is

Commercial Synthesis Tools Leonardo Spectrum ( FPGA Express ( Synplicity Pro ( Cadance, Avant! ess_to_Business/Computers/Software/CAD_CAM/I C_Design/ ess_to_Business/Computers/Software/CAD_CAM/I C_Design/

Leonardo Spectrum Leonardo and Spectrum is two parts. –Spectrum is the synthesis engine, text and TCL scripts driven. source compatible –Spectrum is source compatible with AutologicII. –Leonardo is the graphical front end. Level 3 handles ASIC synthesis.

FPGA Express For FPGA! Used in Xilinx Foundation as their default synthesizer. Integrated into Foundation, so handled by Project Manager. Altera just switched to Leonardo Spectrum. ASIC synthesis: Physical Compiler

Can I see my design placed inside FPGA in some way? library IEEE; use IEEE.std_logic_1164.all; entity counter is port ( clk : in std_logic ; value1 : in integer range 0 to 255; count : out integer range 0 to 255); end counter ; architecture EG of counter is signal counting : integer range 0 to 255; begin process begin count <= counting; wait until clk'event and clk='1'; if (counting = 0) then counting <= value1 ; else counting <= counting - 1 ; end if ; end process ; end EG ; Completing Design Flow in FPGA

Your design is here

Advantages in Synthesis to PLDs and FPGAs Flexibility Portability Fast design cycle Some abstractions No need for verifications

Disadvantages in Synthesis Strict coding style for efficient implementation Buried timing Less efficient use to silicon area Only half way to solution No easy verifications

Other Approaches Pre-synthesis analysis Post-synthesis analysis Syntax parsers Templates Formal descriptions Behavioural descriptions System descriptions

Conclusions Basic HDL structures for fundamental digital system components. Synthesize for low power, small area. Automatic synthesis tools cannot replace clever syntax & analysis from designers. Good tools + good designer = good implementation Tools will get clever, but nowhere as good as us.

Sources Simon Leung 44