9o εξάμηνο Ηλεκτρονικός Κύκλος Εργαστήριο στα FPGA

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Συνδυαστικά Κυκλώματα
Advertisements

VLSI Design & Testing Center - Democritus University of Thrace 1 9 o εξάμηνο Ηλεκτρονικός Κύκλος Εργαστήριο στα FPGA.
ΕΝΟΤΗΤΑ 10Η Η ΓΛΩΣΣΑ VHDL: ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ
Εφαρμογές Ψηφιακών Ηλεκτρονικων
ΕΝΟΤΗΤΑ 5Η ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΤΗΣ ΤΥΠΙΚΗΣ ΛΟΓΙΚΗΣ Α΄
ΠΡΟΗΓΜΕΝΑ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
Τεχνολογία TTL, Τεχνολογία CMOS Κυκλώματα της τυπικής λογικής Μνήμες
Γλώσσες Περιγραφής Υλικού. Οι γλώσσες περιγραφής υλικού είναι προσανατολισμένες στην περιγραφή της δομής του hardware και/ή της συμπεριφοράς του Χρησιμοποιούνται.
Γλώσσα περιγραφής υλικού VHDL. Βασική δομή VHDL κώδικα Entity Entity (Δήλωση εισόδων – εξόδων του συστήματος) Architecture Architecture structural (περιγραφή.
Συνδυαστικά Κυκλώματα
Εφαρμογή του πακέτου Xilinx ISE και Πρωτοτυποποιητικής Διάταξης Digilent D A στην κυκλωματική προσομοίωση αριθμητικού διαιρέτη αποκατάστασης υπολοίπου,
HY 120 "ΨΗΦΙΑΚΗ ΣΧΕΔΙΑΣΗ" Programming Logic Devices (PLDs) (Συσκευες Προγραμματιζομενης Λογικης)
ΕΝΟΤΗΤΑ 12Η ΔΙΑΤΑΞΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗΣ ΛΟΓΙΚΗΣ: CPLDs ΚΑΙ FPGAs
Ενσωματωμένα Συστήματα
V ERILOG 1. Τα απολύτως απαραίτητα. Verilog - Λυμπέρης Σπύρος2 Verilog - Γιατί; Σχεδίαση επικεντρωμένη στην αρχιτεκτονική Διαδικασία σύνθεσης Εύκολη συντήρηση.
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο SoC: System on Chip.
ΗΥ-220 Verilog HDL. Τα βασικά.... ΗΥ-220 – Ιάκωβος Μαυροειδής2 Βασική Ροή Σχεδίασης Requirements SimulateRTL Model Gate-level Model Synthesize SimulateTest.
Χ. Καραγιαννίδης, ΠΘ-ΠΤΕΑΑνάπτυξη Εφαρμογών για την ΕΕΑ Διάλεξη 5: Ανάπτυξη Περιεχομένου 1/9 19/3/2015 Διάλεξη 5 Εργαλεία Συγγραφής Περιεχομένου Ανάπτυξη.
Η δημοφιλέστερη γλώσσα Hardware
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΣΧΕΔΙΑΣΗ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Verilog: Τα βασικά.
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD.
6/15/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Static Random Access Memory.
V ERILOG 3. Coding styles. HY Παπαευσταθίου Γιάννης2 Τα στυλ του κώδικα Και εμάς τι μας νοιάζει; –Διαφορετικός κώδικας για διαφορετικούς σκοπούς.
6/23/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Registers.
6/25/2015HY220: Ιάκωβος Μαυροειδής1 Computer Aided Design CAD tools Functional DesignSpecificationsLogic DesignCircuit DesignPhysical DesignFabrication.
6/26/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Asynchronous Circuits.
HY220: Ιάκωβος Μαυροειδής
ΕΙΣΑΓΩΓΗ ΣΤΗ VHDL ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΕΡΓΑΣΤΗΡΙΑΚΩΝ ΑΣΚΗΣΕΩΝ
ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΕΛΕΓΚΤΩΝ
Τελική εργασία του μαθήματος “Σχεδιασμός Δημιουργικού & Διαφημιστικών Μηνυμάτων” Ιανουάριος 2054 Ομάδα Χ Ονοματεπώνυμο 1 Ονοματεπώνυμο 2 Ονοματεπώνυμο.
Προσομοίωση Δικτύων 4η Άσκηση Σύνθετες τοπολογίες, διακοπή συνδέσεων, δυναμική δρομολόγηση.
Σχεδίαση ψηφιακών συστημάτων Ενότητα 4: Finite State Machines Algorithmic State Machine (ASM) Charts, and VHDL code Ιωάννης Βογιατζής Τμήμα Μηχανικών Πληροφορικής.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Εκπαιδευτικά Προγράμματα με Χρήση Η/Υ Ι ΘΕΩΡΙΕΣ ΜΑΘΗΣΗΣ ΚΑΙ ΝΕΕΣ ΤΕΧΝΟΛΟΓΙΕΣ (Learning Theories and.
Προσομοίωση Δικτύων 3η Άσκηση Δημιουργία, διαμόρφωση μελέτη σύνθετων τοπολογιών.
Πανεπιστήμιο Θεσσαλίας Εργαστήριο Ηλεκτρονικής. Σύντομο ιστορικό  Ιδρύθηκε το 2001  5 μέλη ΔΕΠ  6 συνεργαζόμενοι ερευνητές  Περίπου 30 υποψήφιοι διδάκτορες.
Σχεδίαση ψηφιακών συστημάτων Ενότητα 1: Εισαγωγή Ιωάννης Βογιατζής Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας Το περιεχόμενο.
Κωδικός Θ: ΤΠ4003, Κωδικός Ε: ΤΠ4103 (ΜΕΥ/Υ) Ώρες (Θ - ΑΠ - Ε): Προαπαιτούμενα: ΤΠ2003,2103.
Διαχείριση Διαδικτυακής Φήμης! Do the Online Reputation Check! «Ημέρα Ασφαλούς Διαδικτύου 2015» Ε. Κοντοπίδη, ΠΕ19.
OFDM system characteristics. Effect of wireless channel Intersymbol interference in single carrier systems due to multipath propagation with channel delay.
11/14/2016Structural VHDL148 Structural VHDL Παράδειγμα Multiplexer Component Component specification Port map command Unconnected outputs Unconnected.
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΤΕΧΝΟΛΟΓΙΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
ΕΙΔΙΚΑ ΘΕΜΑΤΑ ΧΡΟΝΙΚΟυ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟυ ΕΡΓΩΝ
© Texas Instruments Inc.
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών

Σχεδίαση Μεικτών VLSI Κυκλωμάτων
αναγκαίο κακό ή δώρο εξ’ ουρανού;
Keystroke-Level Model
ΡΟΗ Υ: ΥΠΟΛΟΓΙΣΤΙΚΑ ΣΥΣΤΗΜΑΤΑ
Διάλεξη 2 Open eClass Εφαρμογές ΤΠΕ στην Εκπαίδευση & την Ειδική Αγωγή

Programmable Logic Technologies
Σχεδίαση CMOS Ψηφιακών Ολοκληρωμένων Κυκλωμάτων
Εισαγωγή στη VHDL 5/8/2018 Εισαγωγή στη VHDL.
Πανεπιστήμιο Θεσσαλίας
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 2008
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
CPSC-608 Database Systems
Μεταγράφημα παρουσίασης:

9o εξάμηνο Ηλεκτρονικός Κύκλος Εργαστήριο στα FPGA VLSI II 9o εξάμηνο Ηλεκτρονικός Κύκλος Εργαστήριο στα FPGA

FPGA Πίνακας από επανα-προγραμματιζόμενα Block (CLBs) τα οποία μπορούν να υλοποιήσουν συνδυαστική ή ακολουθιακή λογική Προγραμματισμός των CLBs και των διασυνδέσεων

Πλεονεκτήματα FPGA Επανα-προγραμματισμός της ίδιας συσκευής Προσομοίωση του κυκλώματος Παραγωγή σε σύντομο χρονικό διάστημα Σχεδιασμός του κυκλώματος σε σχηματικό διάγραμμα και HDL Χαμηλό κόστος παραγωγής

Design Flow Detailed Design Ideas Device Programming Timing Simulation Synthesis & Implementation Functional tpd=22.1ns fmax=47.1MHz FPGA CPLD

Design Ideas What are the main design considerations? Design feasibility? Design spec? Cost? FPGA/CPLD or ASIC? Which FPGA/CPLD vendor? Which device family? Development time?

Detailed Design Choose the design entry method Schematic Gate level design Intuitive & easy to debug HDL (Hardware Description Language), e.g. Verilog & VHDL Descriptive & portable Easy to modify Mixed HDL & schematic Manage the design hierarchy Design partitioning Chip partitioning Logic partitioning Use vendor-supplied libraries or parameterized libraries to reduce design time Create & manage user-created libraries (circuits)

Functional Simulation Preparation for simulation Generate simulation patterns Waveform entry HDL testbench Generate simulation netlist Functional simulation To verify the functionality of your design only Simulation results Waveform display Text output Challenge Sufficient & efficient test patterns

HDL Synthesis Synthesis = Translation + Optimization Main challenges assign z=a&b a b z Synthesis = Translation + Optimization Translate HDL design files into gate-level netlist Optimize according to your design constraints Area constraints Timing constraints Power constraints ... Main challenges Learn synthesizable coding style Write correct & synthesizable HDL design files Specify reasonable design constraints Use HDL synthesis tool efficiently

Design Implementation FPGA CPLD a b z 01011... Implementation flow Netlist merging, flattening, data base building Design rule checking Logic optimization Block mapping & placement Net routing Configuration bitstream generation Implementation results Design error or warnings Device utilization Timing reports Challenge How to reach high performance & high utilization implementation?

Device Programming Choose the appropriate configuration scheme FPGA CPLD Choose the appropriate configuration scheme SRAM-based FPGA/CPLD devices Downloading the bitstream via a download cable Programming onto a non-volatile memory device & attaching it on the circuit board OTP, EPROM, EEPROM or Flash-based FPGA/CPLD devices Using hardware programmer ISP Finish the board design Program the device Challenge Board design System considerations

HDL Design Flow Why HDL? Typical HDL design flow Can express digital systems in behavior or structure domain, shortening the design time Can support all level of abstraction, including algorithm, RTL, gate and switch level Both VHDL & Verilog are formal hardware description languages, thus portable Typical HDL design flow Use VHDL or Verilog to express digital systems VHDL or Verilog simulation tool is required to simulate your project Use high-level synthesis tool to obtain structural level design Then use FPGA placement & routing tools to obtain physical FPGA netlist

Τι θα κάνουμε Περιγραφή κυκλώματος σε VHDL VHDL functional simulation Έλεγχος των σημάτων εξόδου Σύνθεση του κυκλώματος σε FPGA αρχιτεκτονική της Xilinx με το πακέτο Leonardo Spectrum (Exemplar)

Περιγραφή σε VHDL library IEEE; use IEEE.STD_LOGIC_1164.all; entity converter is port ( i3, i2, i1, i0: in STD_LOGIC; a, b, c, d, e, f, g: out STD_LOGIC); end converter; architecture case_description of converter is begin P1: process(i3, i2, i1, i0) variable tmp_in: STD_LOGIC_VECTOR(3 downto 0); tmp_in := i3 & i2 & i1 & i0; case tmp_in is when "0000" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("1111110"); when "0001" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("1100000"); when "0010" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("1011011"); when "0011" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("1110011"); when "0100" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("1100101"); when "0101" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("0110111"); when "0110" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("0111111"); when "0111" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("1100010"); when "1000" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("1111111"); when "1001" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("1110111"); when "1010" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("1101111"); when "1011" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("0111101"); when "1100" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("0011110"); when "1101" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("1111001"); when "1110" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("0011111"); when "1111" => (a,b,c,d,e,f,g) <= STD_LOGIC_VECTOR'("0001111"); when others => (a,b,c,d,e,f,g) <= STD_LOGIC_vector'("0000000"); end case; end process P1; end case_description;

Ακολουθίες Ελέγχου VHDL Ανάθεση διαφόρων τιμών στις εισόδους σε διάφορες χρονικές περιόδους Έλεγχος αν τα αποτελέσματα είναι σωστά

Έλεγχος Κυματομορφών

Προγραμματισμός του FPGA module count8(clock, clear, enable, cout); input clock, clear, enable; output [7:0] cout; reg [7:0] cout; always @(posedge clear or posedge clock) begin if (clear == 1) cout = 0; else if (enable == 1) cout = cout + 1; end endmodule...

Προγραμματισμός download cable CPLDs FPGA Programmer