SlideShare uma empresa Scribd logo
1 de 48
AQuick Introduction toProgrammable Logic.Omer Kilic – OSHUG #9, April 2011
http://omer.kilic.name
Agenda History of Digital Electronics Programmable Logic Devices Design ‘flow’ for FPGAs State of the Art / Challenges Q & A
1854 AND NOT OR George Boole Inventor of Boolean Logic An Investigation of the Laws of Thought http://www.gutenberg.org/ebooks/15114
Logic Functions
1937 Claude Shannon Designs first electrical application utilising Boolean Theory A Symbolic Analysis of Relay and Switching Circuits http://dspace.mit.edu/handle/1721.1/11173
1947: Point-contact transistor invented at Bell Labs 1954: Texas Instruments introduces first commercial silicon transistor
http://www.flickr.com/photos/andy_squirrel/4701062117
Logic Families
7400 Series (TTL)
http://www.flickr.com/photos/dnny/1435262760/
Application-Specific Integrated Circuit
Programmable Logic Array
Programmable Array Logic
Complex Programmable Logic Device ‘Macrocells’ EEPROM/Flash Non-volatile configuration Instant-on Not-OTP! Coarse Grain
Field Programmable Gate Array ‘Field Programmable’ Based on blocks of logic and a flexible interconnect matrix Fine Grain Used in: digital signal processing, software-defined radio, aerospace and defense systems, ASIC prototyping, medical imaging, computer vision, speech recognition, cryptography, bioinformatics, computer hardware emulation, radio astronomy, metal detection,…
Programmable Logic Vendors
Configurable Logic Block
Configurable Logic Block Slice Slice Slice Slice
Configurable Logic Block Slice Slice Logic Cell Logic Cell Logic Cell Logic Cell Slice Slice Logic Cell Logic Cell Logic Cell Logic Cell
Aside: Software Compilation main.s         .file   "main.c"         .section        .rodata .LC0:         .string "hello, world"         .text .globl main         .type   main, @function main: leal    4(%esp), %ecx andl    $-16, %esp pushl   -4(%ecx) pushl   %ebp movl    %esp, %ebp pushl   %ecx subl    $4, %esp movl    $.LC0, (%esp)         call    puts movl    $0, %eax addl    $4, %esp popl    %ecx popl    %ebp leal    -4(%ecx), %esp         ret         .size   main, .-main         .section        .note.GNU-stack,"",@progbits main.c #include <stdio.h> int main(void) { printf("hello, world"); return 0; } gcc -S main.c http://en.wikipedia.org/wiki/X86_instruction_listings
FPGA Design Flow Behavioural Simulation Post-Synthesis Simulation Post-PAR Simulation
Design Entry Schematic Based Hardware Description Languages VHDL Verilog Constraints definition ‘Floorplan’ Timing Power “Which HDL do you prefer?” “The one I'm not using this week” Janick Bergeron
VHDL vs Verilog Example: 8-bit shift-left register with a positive-edge clock, serial in, and serial out VHDL library ieee;use ieee.std_logic_1164.all;entity shift is  port(C, SI : in std_logic;       SO : out std_logic);end shift; architecture Behav of shift is  signal tmp: std_logic_vector(7 downto 0);beginprocess (C)begin  if (C'event and C='1') then    for i in 0 to 6 looptmp(i+1) = tmp(i);    end loop; tmp(0) = SI;  end if;end process; SO = tmp(7);end Behav; Verilog module shift (C, SI, SO); input C,SI;output SO;reg [7:0] tmp;  always @(posedge C)    begintmp= tmp<< 1;tmp[0] = SI;  end   assign SO = tmp[7];endmodule From:  http://www.xilinx.com/itp/3_1i/data/fise/xst/chap02/xst02007.htm
VHDL vs Verilog “Verilog was written by a bunch of hardware guys who knew nothing about software.  We beat on it 'till you could do software with it.” “VHDL was written by a bunch of software guys who knew nothing about hardware.  We beat on it 'till you could do hardware with it.” http://groups.google.com/group/comp.lang.vhdl/msg/c9edc45f3a7c86d4
Synthesis Check Syntax Analyse/Optimise hierarchy of design Translate Schematic/HDL code into a ‘netlist’
Implementation Translate Merges netlists/constraints (Functional Simulation) Map Maps design onto physical FPGA blocks (CLB, IOB, etc.) (Static Timing Analysis) Place & Route (PAR) Places ‘mapped’ blocks onto FPGA fabric and arranges connections between them  (Static Timing Analysis) Produces ‘bitstream’
Programming Most FPGAs are SRAM based Volatile configuration External configuration memory JTAG
Simulation!
FPGA Design Flow Behavioural Simulation Post-Synthesis Simulation Post-PAR Simulation
Xilinx Microblaze ‘Softcore’ Processor
Xilinx Microblaze ‘Softcore’ Processor
Xilinx ML605 http://bit.ly/xilinx-ml605
Avnet Spartan-6 LX9 MicroBoard http://bit.ly/avnet-s6-microboard  Digilent Basys2 http://bit.ly/digilent-basys2
Enterpoint Merrick1 100+1 FPGAs 10 x 10 array of Spartan™-3A DSP XC3SD3400A and a Virtex™-5 XC5VLX30T “A standard Merrick1 can be rented at GBP £2000, USD $3000, per month subject to minimum rental period and deposit. Additional costs for shipping, insurance and taxes may also apply.” http://bit.ly/enterpoint-merrick1
State of the Art
State of the Art
State of the Art
Challenges Toolchains are complicated, costly and (mostly) closed source Lack of standardised frameworks or workflows Advances in device capabilities not fully utilised by applications
Thanks! Any Questions?

Mais conteúdo relacionado

Mais procurados

Taking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded FrameworkTaking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded FrameworkOmer Kilic
 
Nios2 and ip core
Nios2 and ip coreNios2 and ip core
Nios2 and ip coreanishgoel
 
Internet Technology for the Commodore 64
Internet Technology for the Commodore 64Internet Technology for the Commodore 64
Internet Technology for the Commodore 64Leif Bloomquist
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to ArduinoOmer Kilic
 
Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64Scala Italy
 
Fpga computing
Fpga computingFpga computing
Fpga computingrinnocente
 
Cloud Deep Learning Chips Training & Inference
Cloud Deep Learning Chips Training & InferenceCloud Deep Learning Chips Training & Inference
Cloud Deep Learning Chips Training & InferenceMr. Vengineer
 
Rdl esp32 development board trainer kit
Rdl esp32 development board trainer kitRdl esp32 development board trainer kit
Rdl esp32 development board trainer kitResearch Design Lab
 
TDD in deeply embedded system (Arduino) with TAP
TDD in deeply embedded system (Arduino) with TAPTDD in deeply embedded system (Arduino) with TAP
TDD in deeply embedded system (Arduino) with TAPFrançois Perrad
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to ArduinoYong Heui Cho
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduinovishal kumar
 

Mais procurados (20)

Taking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded FrameworkTaking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded Framework
 
Asus Tinker Board
Asus Tinker BoardAsus Tinker Board
Asus Tinker Board
 
Nios2 and ip core
Nios2 and ip coreNios2 and ip core
Nios2 and ip core
 
Internet Technology for the Commodore 64
Internet Technology for the Commodore 64Internet Technology for the Commodore 64
Internet Technology for the Commodore 64
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Intel galileo
Intel galileoIntel galileo
Intel galileo
 
Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64
 
Fpga computing
Fpga computingFpga computing
Fpga computing
 
EDA
EDAEDA
EDA
 
Cloud Deep Learning Chips Training & Inference
Cloud Deep Learning Chips Training & InferenceCloud Deep Learning Chips Training & Inference
Cloud Deep Learning Chips Training & Inference
 
Rdl esp32 development board trainer kit
Rdl esp32 development board trainer kitRdl esp32 development board trainer kit
Rdl esp32 development board trainer kit
 
Audible Objects
Audible ObjectsAudible Objects
Audible Objects
 
Free / Open Source EDA Tools
Free / Open Source EDA ToolsFree / Open Source EDA Tools
Free / Open Source EDA Tools
 
Asus Tinker Board
Asus Tinker BoardAsus Tinker Board
Asus Tinker Board
 
TDD in deeply embedded system (Arduino) with TAP
TDD in deeply embedded system (Arduino) with TAPTDD in deeply embedded system (Arduino) with TAP
TDD in deeply embedded system (Arduino) with TAP
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
The Parrot VM
The Parrot VMThe Parrot VM
The Parrot VM
 
Introduction to EDA Tools
Introduction to EDA ToolsIntroduction to EDA Tools
Introduction to EDA Tools
 
Embedded Objective-C
Embedded Objective-CEmbedded Objective-C
Embedded Objective-C
 

Destaque

Mux decod pld2_vs2
Mux decod pld2_vs2Mux decod pld2_vs2
Mux decod pld2_vs2WanNurdiana
 
PROGRAMMABLE LOGIC DEVICES PATR 2 OF 2
PROGRAMMABLE LOGIC DEVICES PATR 2 OF 2PROGRAMMABLE LOGIC DEVICES PATR 2 OF 2
PROGRAMMABLE LOGIC DEVICES PATR 2 OF 2Kundan Gupta
 
programmable logic array
programmable logic arrayprogrammable logic array
programmable logic arrayShiraz Azeem
 
Programmable array logic
Programmable array logicProgrammable array logic
Programmable array logicGaditek
 
Introduction to FPGA, VHDL
Introduction to FPGA, VHDL  Introduction to FPGA, VHDL
Introduction to FPGA, VHDL Amr Rashed
 
Programmable Logic Array ( PLA )
Programmable Logic Array ( PLA )Programmable Logic Array ( PLA )
Programmable Logic Array ( PLA )Soudip Sinha Roy
 
Programmable lrray Logic
Programmable lrray LogicProgrammable lrray Logic
Programmable lrray Logicrohitladdu
 

Destaque (7)

Mux decod pld2_vs2
Mux decod pld2_vs2Mux decod pld2_vs2
Mux decod pld2_vs2
 
PROGRAMMABLE LOGIC DEVICES PATR 2 OF 2
PROGRAMMABLE LOGIC DEVICES PATR 2 OF 2PROGRAMMABLE LOGIC DEVICES PATR 2 OF 2
PROGRAMMABLE LOGIC DEVICES PATR 2 OF 2
 
programmable logic array
programmable logic arrayprogrammable logic array
programmable logic array
 
Programmable array logic
Programmable array logicProgrammable array logic
Programmable array logic
 
Introduction to FPGA, VHDL
Introduction to FPGA, VHDL  Introduction to FPGA, VHDL
Introduction to FPGA, VHDL
 
Programmable Logic Array ( PLA )
Programmable Logic Array ( PLA )Programmable Logic Array ( PLA )
Programmable Logic Array ( PLA )
 
Programmable lrray Logic
Programmable lrray LogicProgrammable lrray Logic
Programmable lrray Logic
 

Semelhante a A Quick Introduction to Programmable Logic

Unit 5_Realizing Applications in FPGA.pdf
Unit 5_Realizing Applications in FPGA.pdfUnit 5_Realizing Applications in FPGA.pdf
Unit 5_Realizing Applications in FPGA.pdfkanyaakiran
 
Parallella: Embedded HPC For Everybody
Parallella: Embedded HPC For EverybodyParallella: Embedded HPC For Everybody
Parallella: Embedded HPC For Everybodyjerlbeck
 
Fletcher Framework for Programming FPGA
Fletcher Framework for Programming FPGAFletcher Framework for Programming FPGA
Fletcher Framework for Programming FPGAGanesan Narayanasamy
 
Introduction to FPGA acceleration
Introduction to FPGA accelerationIntroduction to FPGA acceleration
Introduction to FPGA accelerationMarco77328
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...inside-BigData.com
 
Beyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisBeyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisC4Media
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 
VLSI Experiments I
VLSI Experiments IVLSI Experiments I
VLSI Experiments IGouthaman V
 
Digital VLSI Design and FPGA Implementation
Digital VLSI Design and FPGA ImplementationDigital VLSI Design and FPGA Implementation
Digital VLSI Design and FPGA ImplementationAmber Bhaumik
 
You're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareYou're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareCylance
 

Semelhante a A Quick Introduction to Programmable Logic (20)

Unit 5_Realizing Applications in FPGA.pdf
Unit 5_Realizing Applications in FPGA.pdfUnit 5_Realizing Applications in FPGA.pdf
Unit 5_Realizing Applications in FPGA.pdf
 
Parallella: Embedded HPC For Everybody
Parallella: Embedded HPC For EverybodyParallella: Embedded HPC For Everybody
Parallella: Embedded HPC For Everybody
 
iSoligorsk #3 2013
iSoligorsk #3 2013iSoligorsk #3 2013
iSoligorsk #3 2013
 
VLSI
VLSIVLSI
VLSI
 
Fpga
FpgaFpga
Fpga
 
Fletcher Framework for Programming FPGA
Fletcher Framework for Programming FPGAFletcher Framework for Programming FPGA
Fletcher Framework for Programming FPGA
 
Introduction to FPGA acceleration
Introduction to FPGA accelerationIntroduction to FPGA acceleration
Introduction to FPGA acceleration
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
FPGA workshop
FPGA workshopFPGA workshop
FPGA workshop
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
 
VLSI
VLSIVLSI
VLSI
 
Beyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisBeyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic Analysis
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
FPGA Based VLSI Design
FPGA Based VLSI DesignFPGA Based VLSI Design
FPGA Based VLSI Design
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
VLSI Experiments I
VLSI Experiments IVLSI Experiments I
VLSI Experiments I
 
Digital VLSI Design and FPGA Implementation
Digital VLSI Design and FPGA ImplementationDigital VLSI Design and FPGA Implementation
Digital VLSI Design and FPGA Implementation
 
You're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareYou're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security Software
 
Shantanu's Resume
Shantanu's ResumeShantanu's Resume
Shantanu's Resume
 
OCP-SPIRIT-Final-v5
OCP-SPIRIT-Final-v5OCP-SPIRIT-Final-v5
OCP-SPIRIT-Final-v5
 

Mais de Omer Kilic

Bare Metal from a Hardware Perspective: Embedded Frameworks & Build Systems
Bare Metal from a Hardware Perspective: Embedded Frameworks & Build SystemsBare Metal from a Hardware Perspective: Embedded Frameworks & Build Systems
Bare Metal from a Hardware Perspective: Embedded Frameworks & Build SystemsOmer Kilic
 
Gearing up for Volume Manufacturing
Gearing up for Volume ManufacturingGearing up for Volume Manufacturing
Gearing up for Volume ManufacturingOmer Kilic
 
The Process of Shipping Hardware Products
The Process of Shipping Hardware ProductsThe Process of Shipping Hardware Products
The Process of Shipping Hardware ProductsOmer Kilic
 
Confusion of Things — The IoT Hardware Kerfuffle
Confusion of Things — The IoT Hardware KerfuffleConfusion of Things — The IoT Hardware Kerfuffle
Confusion of Things — The IoT Hardware KerfuffleOmer Kilic
 
Fast and Furious: Overclocking chips for fun and profit
Fast and Furious: Overclocking chips for fun and profitFast and Furious: Overclocking chips for fun and profit
Fast and Furious: Overclocking chips for fun and profitOmer Kilic
 
Erlang Embedded — Concurrent Blinkenlights and More!
Erlang Embedded — Concurrent Blinkenlights and More!Erlang Embedded — Concurrent Blinkenlights and More!
Erlang Embedded — Concurrent Blinkenlights and More!Omer Kilic
 
The Actor Model applied to the Raspberry Pi and the Embedded Domain
The Actor Model applied to the Raspberry Pi and the Embedded DomainThe Actor Model applied to the Raspberry Pi and the Embedded Domain
The Actor Model applied to the Raspberry Pi and the Embedded DomainOmer Kilic
 
From Breadboard to Finished Product
From Breadboard to Finished ProductFrom Breadboard to Finished Product
From Breadboard to Finished ProductOmer Kilic
 
concurrency.cc OSHUG #3
concurrency.cc OSHUG #3concurrency.cc OSHUG #3
concurrency.cc OSHUG #3Omer Kilic
 
BURO Arduino Workshop
BURO Arduino WorkshopBURO Arduino Workshop
BURO Arduino WorkshopOmer Kilic
 
TinkerSoc Electronics 101
TinkerSoc Electronics 101TinkerSoc Electronics 101
TinkerSoc Electronics 101Omer Kilic
 
Beer Bottle Night Lamp
Beer Bottle Night LampBeer Bottle Night Lamp
Beer Bottle Night LampOmer Kilic
 

Mais de Omer Kilic (12)

Bare Metal from a Hardware Perspective: Embedded Frameworks & Build Systems
Bare Metal from a Hardware Perspective: Embedded Frameworks & Build SystemsBare Metal from a Hardware Perspective: Embedded Frameworks & Build Systems
Bare Metal from a Hardware Perspective: Embedded Frameworks & Build Systems
 
Gearing up for Volume Manufacturing
Gearing up for Volume ManufacturingGearing up for Volume Manufacturing
Gearing up for Volume Manufacturing
 
The Process of Shipping Hardware Products
The Process of Shipping Hardware ProductsThe Process of Shipping Hardware Products
The Process of Shipping Hardware Products
 
Confusion of Things — The IoT Hardware Kerfuffle
Confusion of Things — The IoT Hardware KerfuffleConfusion of Things — The IoT Hardware Kerfuffle
Confusion of Things — The IoT Hardware Kerfuffle
 
Fast and Furious: Overclocking chips for fun and profit
Fast and Furious: Overclocking chips for fun and profitFast and Furious: Overclocking chips for fun and profit
Fast and Furious: Overclocking chips for fun and profit
 
Erlang Embedded — Concurrent Blinkenlights and More!
Erlang Embedded — Concurrent Blinkenlights and More!Erlang Embedded — Concurrent Blinkenlights and More!
Erlang Embedded — Concurrent Blinkenlights and More!
 
The Actor Model applied to the Raspberry Pi and the Embedded Domain
The Actor Model applied to the Raspberry Pi and the Embedded DomainThe Actor Model applied to the Raspberry Pi and the Embedded Domain
The Actor Model applied to the Raspberry Pi and the Embedded Domain
 
From Breadboard to Finished Product
From Breadboard to Finished ProductFrom Breadboard to Finished Product
From Breadboard to Finished Product
 
concurrency.cc OSHUG #3
concurrency.cc OSHUG #3concurrency.cc OSHUG #3
concurrency.cc OSHUG #3
 
BURO Arduino Workshop
BURO Arduino WorkshopBURO Arduino Workshop
BURO Arduino Workshop
 
TinkerSoc Electronics 101
TinkerSoc Electronics 101TinkerSoc Electronics 101
TinkerSoc Electronics 101
 
Beer Bottle Night Lamp
Beer Bottle Night LampBeer Bottle Night Lamp
Beer Bottle Night Lamp
 

Último

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

A Quick Introduction to Programmable Logic

  • 1. AQuick Introduction toProgrammable Logic.Omer Kilic – OSHUG #9, April 2011
  • 3. Agenda History of Digital Electronics Programmable Logic Devices Design ‘flow’ for FPGAs State of the Art / Challenges Q & A
  • 4. 1854 AND NOT OR George Boole Inventor of Boolean Logic An Investigation of the Laws of Thought http://www.gutenberg.org/ebooks/15114
  • 6. 1937 Claude Shannon Designs first electrical application utilising Boolean Theory A Symbolic Analysis of Relay and Switching Circuits http://dspace.mit.edu/handle/1721.1/11173
  • 7. 1947: Point-contact transistor invented at Bell Labs 1954: Texas Instruments introduces first commercial silicon transistor
  • 11.
  • 13.
  • 17. Complex Programmable Logic Device ‘Macrocells’ EEPROM/Flash Non-volatile configuration Instant-on Not-OTP! Coarse Grain
  • 18. Field Programmable Gate Array ‘Field Programmable’ Based on blocks of logic and a flexible interconnect matrix Fine Grain Used in: digital signal processing, software-defined radio, aerospace and defense systems, ASIC prototyping, medical imaging, computer vision, speech recognition, cryptography, bioinformatics, computer hardware emulation, radio astronomy, metal detection,…
  • 20.
  • 21.
  • 22.
  • 23.
  • 25. Configurable Logic Block Slice Slice Slice Slice
  • 26. Configurable Logic Block Slice Slice Logic Cell Logic Cell Logic Cell Logic Cell Slice Slice Logic Cell Logic Cell Logic Cell Logic Cell
  • 27.
  • 28.
  • 29. Aside: Software Compilation main.s .file "main.c" .section .rodata .LC0: .string "hello, world" .text .globl main .type main, @function main: leal 4(%esp), %ecx andl $-16, %esp pushl -4(%ecx) pushl %ebp movl %esp, %ebp pushl %ecx subl $4, %esp movl $.LC0, (%esp) call puts movl $0, %eax addl $4, %esp popl %ecx popl %ebp leal -4(%ecx), %esp ret .size main, .-main .section .note.GNU-stack,"",@progbits main.c #include <stdio.h> int main(void) { printf("hello, world"); return 0; } gcc -S main.c http://en.wikipedia.org/wiki/X86_instruction_listings
  • 30. FPGA Design Flow Behavioural Simulation Post-Synthesis Simulation Post-PAR Simulation
  • 31. Design Entry Schematic Based Hardware Description Languages VHDL Verilog Constraints definition ‘Floorplan’ Timing Power “Which HDL do you prefer?” “The one I'm not using this week” Janick Bergeron
  • 32. VHDL vs Verilog Example: 8-bit shift-left register with a positive-edge clock, serial in, and serial out VHDL library ieee;use ieee.std_logic_1164.all;entity shift is port(C, SI : in std_logic; SO : out std_logic);end shift; architecture Behav of shift is signal tmp: std_logic_vector(7 downto 0);beginprocess (C)begin if (C'event and C='1') then for i in 0 to 6 looptmp(i+1) = tmp(i); end loop; tmp(0) = SI; end if;end process; SO = tmp(7);end Behav; Verilog module shift (C, SI, SO); input C,SI;output SO;reg [7:0] tmp; always @(posedge C) begintmp= tmp<< 1;tmp[0] = SI; end assign SO = tmp[7];endmodule From: http://www.xilinx.com/itp/3_1i/data/fise/xst/chap02/xst02007.htm
  • 33. VHDL vs Verilog “Verilog was written by a bunch of hardware guys who knew nothing about software.  We beat on it 'till you could do software with it.” “VHDL was written by a bunch of software guys who knew nothing about hardware.  We beat on it 'till you could do hardware with it.” http://groups.google.com/group/comp.lang.vhdl/msg/c9edc45f3a7c86d4
  • 34. Synthesis Check Syntax Analyse/Optimise hierarchy of design Translate Schematic/HDL code into a ‘netlist’
  • 35. Implementation Translate Merges netlists/constraints (Functional Simulation) Map Maps design onto physical FPGA blocks (CLB, IOB, etc.) (Static Timing Analysis) Place & Route (PAR) Places ‘mapped’ blocks onto FPGA fabric and arranges connections between them (Static Timing Analysis) Produces ‘bitstream’
  • 36. Programming Most FPGAs are SRAM based Volatile configuration External configuration memory JTAG
  • 38. FPGA Design Flow Behavioural Simulation Post-Synthesis Simulation Post-PAR Simulation
  • 42. Avnet Spartan-6 LX9 MicroBoard http://bit.ly/avnet-s6-microboard Digilent Basys2 http://bit.ly/digilent-basys2
  • 43. Enterpoint Merrick1 100+1 FPGAs 10 x 10 array of Spartan™-3A DSP XC3SD3400A and a Virtex™-5 XC5VLX30T “A standard Merrick1 can be rented at GBP £2000, USD $3000, per month subject to minimum rental period and deposit. Additional costs for shipping, insurance and taxes may also apply.” http://bit.ly/enterpoint-merrick1
  • 47. Challenges Toolchains are complicated, costly and (mostly) closed source Lack of standardised frameworks or workflows Advances in device capabilities not fully utilised by applications

Notas do Editor

  1. Logic theory – From Philosophy to MathsAn Investigation of the Laws of Thought by George Boole
  2. But he is also credited with founding both digital computer and digital circuit design theory in 1937, when, as a 21-year-old master&apos;s student at MIT, he wrote a thesis demonstrating that electrical application of Boolean algebra could construct and resolve any logical, numerical relationship. It has been claimed that this was the most important master&apos;s thesis of all time.[2]
  3. …is an integrated circuit (IC) customized for a particular use, rather than intended for general-purpose use. For example, a chip designed solely to run a cell phone is an ASIC. Application-specific standard products (ASSPs) are intermediate between ASICs and industry standard integrated circuits like the 7400 or the 4000 series.As feature sizes have shrunk and design tools improved over the years, the maximum complexity (and hence functionality) possible in an ASIC has grown from 5,000 gates to over 100 million. Modern ASICs often include entire 32-bit processors, memory blocks including ROM, RAM, EEPROM, Flash and other large building blocks. Such an ASIC is often termed a SoC (system-on-a-chip). Designers of digital ASICs use ahardware description language (HDL), such as Verilog or VHDL, to describe the functionality of ASICs.Field-programmable gate arrays (FPGA) are the modern-day technology for building a breadboard or prototype from standard parts; programmable logic blocks and programmable interconnects allow the same FPGA to be used in many different applications. For smaller designs and/or lower production volumes, FPGAs may be more cost effective than an ASIC design even in production. The non-recurring engineering cost of an ASIC can run into the millions of dollars.
  4. Note that the use of the word &quot;programmable&quot; does not indicate that all PLAs are field-programmable; in fact many are mask-programmed during manufacture in the same manner as a mask ROM. 
  5. A macrocell array is an approach to the design and manufacture of ASICs. Essentially, it is a small step up from the otherwise similar gate array, but rather than being a prefabricated array of simple logic gates, the macrocell array is a prefabricated array of higher-level logic functions such as flip-flops, ALU functions,registers, and the like.
  6. A Field-programmable Gate Array (FPGA) is an integrated circuit designed to be configured by the customer or designer after manufacturing—hence &quot;field-programmable&quot;. Xilinx Co-Founders, Ross Freeman and Bernard Vonderschmitt, invented the first commercially viable field programmable gate array in 1985 – the XC2064.[9] The XC2064 had programmable gates and programmable interconnects between gates, the beginnings of a new technology and market.[10] The XC2064 boasted a mere 64 configurable logic blocks (CLBs), with two 3-input lookup tables (LUTs).[11]
  7. The Configurable Logic Blocks (CLBs) are the main logic resources for implementingsequential as well as combinatorial circuits. Each CLB element is connected to a switchmatrix for access to the general routing matrixA CLB element contains a pair of slices.
  8. The Configurable Logic Blocks (CLBs) are the main logic resources for implementingsequential as well as combinatorial circuits. Each CLB element is connected to a switchmatrix for access to the general routing matrixA CLB element contains a pair of slices.
  9. The Configurable Logic Blocks (CLBs) are the main logic resources for implementingsequential as well as combinatorial circuits. Each CLB element is connected to a switchmatrix for access to the general routing matrixIn general, a logic block (CLB or LAB) consists of a few logical cells (called ALM, LE, Slice etc). A typical cell consists of a 4-input Lookup table (LUT), a Full adder (FA) and a D-type flip-flop, as shown below. The LUTs are in this figure split into two 3-input LUTs.
  10. HDLs represent a level of abstraction that can isolate the designers from the details of the hardware implementation.  Schematic based entry gives designers much more visibility into the hardware. It is the better choice for those who are hardware oriented. Another method but rarely used is state-machines. It is the better choice for the designers who think the design as a series of states.
  11. Synthesis. This stage involves conversion of an HDL description to a so-called netlist which is basically a formally written digital circuit schematic. Synthesis is performed by a special software called synthesizer. For an HDL code that is correctly written and simulated, synthesis shouldn&apos;t be any problem. However, synthesis can reveal some problems and potential errors that can&apos;t be found using behavioral simulation, so, an FPGA engineer should pay attention to warnings produced by the synthesizer.
  12. mplementation. A synthesizer-generated netlist is mapped onto particular device&apos;s internal structure. The main phase of the implementation stage is place and route or layout, which allocates FPGA resources (such as logic cells and connection wires). Then these configuration data are written to a special file by a program called bitstream generator.