Τεχνολογίες ολοκληρωμένων κυκλωμάτων

Σχετικά έγγραφα
Συστήματα VLSI. Εισαγωγή. Γιώργος Δημητρακόπουλος. Δημοκρίτειο Πανεπιστήμιο Θράκης. Άνοιξη 2014

Ψηφιακά ολοκληρωμένα κυκλώματα

ΤΕΧΝΟΛΟΓΙΕΣ ΥΛΟΠΟΙΗΣΗΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

Κυκλωμάτων» Χειμερινό εξάμηνο

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Οργάνωση της φυσικής δομής του ολοκληρωμένου κυκλώματος

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Instruction Execution Times

Εργαστήριο Ψηφιακών Κυκλωμάτων

Μικροηλεκτρονική - VLSI

Αρχιτεκτονική Σχεδίαση Ασαφούς Ελεγκτή σε VHDL και Υλοποίηση σε FPGA ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

[1] P Q. Fig. 3.1

EE512: Error Control Coding

2 Composition. Invertible Mappings

Reminders: linear functions

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 17: Αναδιατασσόµενη Λογική Προγραµµατιζόµενο Υλικό

Ψηφιακή Σχεδίαση Ενότητα 11:

Πανεπιστήµιο Θεσσαλίας

UNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications:

EE434 ASIC & Digital Systems Arithmetic Circuits

Ψηφιακή Λογική και Σχεδίαση

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.

The Simply Typed Lambda Calculus

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΑΝΤΩΝΗΣ ΠΑΣΧΑΛΗΣ

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

the total number of electrons passing through the lamp.

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές...

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

Homework 3 Solutions

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική και Εφαρμογές»

Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές πλακέτες LP-2900 και DE2.

Matrices and Determinants

4/10/2008. Εισαγωγή στη σχεδίαση συστημάτων VLSI. Περιεχόμενα μαθήματος. Γιώργος Δημητρακόπουλος. Βιβλιογραφία. Ψηφιακά συστήματα.

Finite Field Problems: Solutions

Σύστημα ψηφιακής επεξεργασίας ακουστικών σημάτων με χρήση προγραμματιζόμενων διατάξεων πυλών. Πτυχιακή Εργασία. Φοιτητής: ΤΣΟΥΛΑΣ ΧΡΗΣΤΟΣ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3

derivation of the Laplacian from rectangular to spherical coordinates

, PAL PA, ΜΝΗΜΕΣ ROM)

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων

Μικροηλεκτρονική - VLSI

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET)

Τεχνικές βελτιστοποίησης µε σκοπό την επίτευξη χαµηλής κατανάλωσης ισχύος

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι

The challenges of non-stable predicates

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Προγραμματιζόμενη Λογική Γιατί;

Υλοποίηση μικροεπεξεργαστή σε περιβάλλον FPGA

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Modbus basic setup notes for IO-Link AL1xxx Master Block

CHAPTER 48 APPLICATIONS OF MATRICES AND DETERMINANTS

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Assalamu `alaikum wr. wb.

Παράδειγμα αντιστοίχισης κυκλώματος σε FPGA

Τεχνικές σχεδιασμού μονοπατιών ολίσθησης

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο ΔΙΑΛΕΞΗ 3: Αλγοριθµική Ελαχιστοποίηση (Quine-McCluskey, tabular method)

Κεφάλαιο 14 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Σχεδιαστικές Μεθοδολογίες 2

Ψηφιακά Συστήματα. 8. Καταχωρητές

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

Αποκωδικοποιητές Μνημών

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστηµάτων

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συντρέχων Κώδικας

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

ΟΙΚΟΝΟΜΟΤΕΧΝΙΚΗ ΑΝΑΛΥΣΗ ΕΝΟΣ ΕΝΕΡΓΕΙΑΚΑ ΑΥΤΟΝΟΜΟΥ ΝΗΣΙΟΥ ΜΕ Α.Π.Ε

Strain gauge and rosettes

ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL

Partial Differential Equations in Biology The boundary element method. March 26, 2013

PARTIAL NOTES for 6.1 Trigonometric Identities

Ψηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Block Ciphers Modes. Ramki Thurimella

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Capacitors - Capacitance, Charge and Potential Difference

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: OSPF Cost

ΑΣΚΗΣΗ 7. ΘΕΜΑ 1ο MINORITY A B C. C out

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Σχεδίαση Ψηφιακών Συστημάτων. Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ

TMA4115 Matematikk 3

ΚΕΦΑΛΑΙΟ Συνδυαστικά Κυκλώµατα. 3.2 Σχεδιασµός Συνδυαστικής Λογικής 3.3 ιαδικασία Ανάλυσης 3.4 ιαδικασία Σχεδιασµού.

Μικροηλεκτρονική - VLSI

Μικροηλεκτρονική - VLSI

Chapter 6: Systems of Linear Differential. be continuous functions on the interval

SCHOOL OF MATHEMATICAL SCIENCES G11LMA Linear Mathematics Examination Solutions

HY330 Ψηφιακά Κυκλώματα - Εισαγωγή στα Συστήματα VLSI. 1 ΗΥ330 - Διάλεξη 7η - Ακολουθιακά Κυκλώματα

ΑΝΙΧΝΕΥΣΗ ΓΕΓΟΝΟΤΩΝ ΒΗΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΕΠΙΤΑΧΥΝΣΙΟΜΕΤΡΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥΣ ΜΕ FLIP-FLOP ΚΑΙ ΠΥΛΕΣ

ΑρχιτεκτονικήΥπολογιστών. Ι (ένα) Δημήτρης Γκιζόπουλος. Καθηγητής

ς Ποιότητα ξιολόγηση Α

Transcript:

Τεχνολογίες ολοκληρωμένων κυκλωμάτων ASICs-FPGAs Γιώργος Δημητρακόπουλος Δημοκρίτειο Πανεπιστήμιο Θράκης Άνοιξη 2013 Συστήματα VLSI 1

Ολοκληρωμένα κυκλωμάτα και συστήματα Ψηφιακά ολοκληρωμένα κυκλώματα 2

Τα ολοκληρωμένα κυκλώματα από «μέσα» Ψηφιακά ολοκληρωμένα κυκλώματα 3

Τα επίπεδα αφαίρεσης κάθε συστήματος Algorithms-Applications Operating System Συστήματα VLSI 8o εξάμηνο Instruction Set Architecture Microarchitecture Register-transfer-level Logic design Circuits Devices-Technology Αρχιτεκτονική ΗΥ Ολοκληρωμένα κυκλώματα 7o εξάμηνο Οι μηχανικοί ΗΥ προσπαθούν να συγκεράσουν τις απαιτήσεις των εφαρμογών και τους περιορισμούς που εισάγει η τεχνολογία Οι εφαρμογές ορίζουν τις αρχιτεκτονικές Η τεχνολογία μας λέει ποια αρχιτεκτονική υλοποιείται αποδοτικότερα Η σχεδίαση αντιμετωπίζεται σε επίπεδα (συνήθως από πάνω προς τα κάτω) ώστε να γνωρίζουμε κάθε στιγμή τη σίγουρα δουλεύει και τι οχι Οταν το ολοκληρωμένο κύκλωμα κατασκευαστεί δεν πρέπει να έχει λάθη Ψηφιακά ολοκληρωμένα κυκλώματα 4

Τα εργαλεία της σχεδίασης Algorithms-Applications Operating System Instruction Set Architecture Microarchitecture Register-transfer-level Logic design Circuits Devices-Technology Κάθε ψηφιακό κύκλωμα σχεδιάζεται με 4 βασικά δομικά στοιχεία Λογικές πύλες για τους υπολογισμούς (λογικές πράξεις) Flip-flops για την αποθήκευση της κατάστασης των υπολογισμών Μνήμες για την αποθήκευση μεγάλου όγκου δεδομένων με δομημένο τρόπο Καλώδια για να συνδέσουμε τα παραπάνω στοιχεία Ολα αυτά υλοποιούνται εντός του ολοκληρωμένου κυκλωμάτος χρησιμποιώντας τρανζίστορ και καλώδια Ψηφιακά ολοκληρωμένα κυκλώματα 5

Μικροφωτογραφίες από τρανζίστορ και καλώδια Καλώδια σε επίπεδα Τρανζίστορ Τα τρανζίστορ βρίσκονται στον «πάτο» του ολοκληρωμένου Πολλά επίπεδα καλωδίωσης (μέταλλα) συνδέουν τα τρανζίστορ μεταξύ τους Οι επαφές (contact/via) συνδέουν τρανζίστορ και καλώδια που ανήκουν σε διαφορετικά επίπεδα Ψηφιακά ολοκληρωμένα κυκλώματα 6

Βασικά βήματα κατασκευής ενός ολοκληρωμένου κυκλώματος Ψηφιακά ολοκληρωμένα κυκλώματα 7

Ψηφιακά συστήματα Γκάμα συστημάτων με υψηλές απαιτήσεις σε ολοκληρωμένα κυκλώματα υψηλών επιδόσεων και χαμηλής κατανάλωσης ισχύος Ψηφιακά ολοκληρωμένα κυκλώματα 8

Πως υλοποιούνται τελικά οι σχεδιασμοί μας; Κάθε ολοκληρωμένο κύκλωμα προσπαθεί να υλοποίησει έναν αλγόριθμο Μπορεί να πρόκειται και για ένα σύνθετο σύστημα Ποια είναι τα βήματα που ακολουθούμε στην πράξη και πως βοηθά το μάθημα; Η ροή σχεδίασης συνήθως τηρείται ευλαβεικά αλλιώς η πολυπλοκότητα θα καταστρέψει το τελικό αποτέλεσμα Ψηφιακά ολοκληρωμένα κυκλώματα 9

Μικρο-αρχιτεκτονική Σχεδίαση μικρο-αρχιτεκτονικής Επιλογή των βασικών μπλοκ του συστήματος Ιεραρχία και επικοινωνία μεταξύ των μονάδων Χοντρική εκτίμηση εμβαδού, επιδόσεων Περιγραφή μοντέλου λειτουργίας Γλώσσες περιγραφής υλικού Προσωμοίωση (simulation) του σχεδιασμού Ψηφιακά ολοκληρωμένα κυκλώματα 10

Περιγραφή μικρο-αρχιτεκτονικής με γλώσσες περιγραφής υλικού Ψηφιακά ολοκληρωμένα κυκλώματα 11

Μικροαρχιτεκτονική μέσω σύνθεσης υψηλού επιπέδου H μικροαρχιτεκτονική είτε επιλέγεται από το σχεδιαστή είτε προκύπτει μέσω σύνθεσης υψηλού επιπέδου (high-level synthesis) από αλγοριθμικές περιγραφές σε C++ (C to RTL flows) Ψηφιακά ολοκληρωμένα κυκλώματα 12

Προσωμοίωση Ψηφιακά ολοκληρωμένα κυκλώματα 13

Λογική σύνθεση Μετατροπή του μοντέλου σε γλώσσα περιγραφής υλικού σε κύκλωμα λογικών πυλών και flip-flops Βελτιστοποίηση των επιδόσεων Ψηφιακά ολοκληρωμένα κυκλώματα 14

Φυσική δομή ολοκληρωμένου κυκλώματος Ψηφιακά ολοκληρωμένα κυκλώματα 15

Χωροθέτηση και διασύνδεση του κυκλώματος Τα κυκλώματα λογικής (πύλες και flip-flops) μετασχηματίζονται σε φυσικό σχέδιο (layout) Φυσικό σχέδιο: Η γεωμετρία κάθε μάσκας κατασκευής του ολοκληρωμένου κυκλώματος Αυτοματοποιημένη τοποθέτηση στο χώρο και διασύνδεση με τα καλώδια Η ανθρώπινη παρέμβαση βοηθά στον κατάλληλο περιορισμό των αυτόματων εργαλείων Πλήρως ελεύθερη σχεδίαση από τον άνθρωπο (τρανζίστορ προς τρανζίστορ) γίνεται μόνο για εξαιρετικές επιδόσεις, στις μνήμες και στα αναλογικά κυκλώματα Ψηφιακά ολοκληρωμένα κυκλώματα 16

Η ροή σχεδίασης Σε αυτό το μάθημα Ψηφιακά ολοκληρωμένα κυκλώματα 17

Σχηματικό κυκλώματος Τα κυκλώματα σχεδιάζονται σε επίπεδα Τρανζίστορ, πύλες, μπλοκ Χρησιμοποιείται ιεραρχία Μπλοκς μέσα σε μπλοκς Επαναχρησιμοποίηση κοινών υπο-κυκλωμάτων Ψηφιακά ολοκληρωμένα κυκλώματα 18

Φυσικό σχέδιο Δισδιάστατη αναπαράσταση ενός 3D κόσμου Τοποθέτηση των τρανζίστορ του σχηματικού Σύνδεση όλων των υπο-κυκλωμάτων Ιεραρχία στο φυσικού σχεδίου που ακολουθεί την ιεραρχία του σχηματικού Ψηφιακά ολοκληρωμένα κυκλώματα 19

Field Programmable Gate Arrays (FPGAs) Συστήματα VLSI 20

Using ROM as Combinational Logic B A B C F 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 C A C A B C 8 x 1 ROM (LUT) F F Page 21

Mapping Larger Functions To ROMs A B C D F 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 B C D B C D LUT (CD) LUT (B+C) LUT A f1 + Af2 Very similar to how we decomposed functions to implement with MUX blocks f1 f2 A F Page 22

ROM vs. LUT A ROM can be used as a lookup table (LUT) An FPGA contains many, many such LUTs Possibly hundreds of thousands A 3LUT has 3 inputs and 1 output A 4LUT has 4 inputs and 1 output 4LUTs are the most common Page 23

Mapping a Gate Network to LUTs Page 24

Mapping a Gate Network to 3LUTs 3LUT #2 3LUT #1 3LUT #3 Page 25

Mapping Same Network to 4LUTs 4LUT #2 4LUT #1 Page 26

Mapping Equations to LUTs How many 4LUTs do the following functions require? F = a F = abcd F = a b c d + a bcd + a b c d + a b cd F = a + b + c + d F = (a +b + c + d)(a + b + c + d ) Each equation requires a single 4LUT! Number of LUTs isn t a function of equation complexity, but a function of number of unique inputs Page 27

I/O Buffers I/O Buffers FPGAs What Are They? Programmable Logic Elements (LEs) I/O Buffers Programmable wiring areas I/O Buffers communicate between FPGA and the outside world I/O Buffers An FPGA is a Programmable Logic Device (PLD) It can be programmed to perform any function desired. Page 28

Programmable Logic Elements (LEs) Typically contain a LUT, wires, and storage ina inb inc 4LUT D Q 0 1 out ind 16 clk Page 29

Programmable Logic Elements (LEs) Typically contain a LUT, wires, and storage ina inb inc 4LUT D Q 0 1 out ind 16 clk This mux provides a registered or unregistered function of the 4 input variables Page 30

Programmable Logic Elements (LEs) Typically contain a LUT, wires, and storage ina inb inc 4LUT D Q 0 1 out ind 16 clk Black dots indicate programming bits (configuration bits) Page 31

Programmable Logic Elements (LEs) Typically contain a LUT, wires, and storage ina inb inc 4LUT D Q 0 1 out ind 16 clk On power up, configuration bits are loaded into FPGA This customizes its operation (LUT function, MUX selection) Page 32

Programmable Logic Elements (LEs) Typically contain a LUT, wires, and storage ina inb inc 4LUT D Q 0 1 out ind 16 clk Typically, configuration bits are not changed during circuit operation (but, some FPGA s are dynamically reconfigurable) Page 33

Another LE Structure Provides two outputs One combinational, one registered ina inb inc ind 4LUT 0 1 D Q outreg ine 16 clk 0 outcomb 1 Page 34

One Configuration ina inb inc ind 4LUT 0 1 D Q outr = reg(inb(inc+ind)) ine 16 =1 clk fn=inb(inc+ind) 0 1 Page 35

Another Configuration ina inb inc ind 4LUT 0 1 D Q outr = reg(ina) ine 16 =0 clk fn=inc 0 outc = inc 1 =1 Page 36

Yet Another Configuration ina inb inc ind 4LUT 0 1 D Q outr = reg(inc ) ine 16 =1 clk fn=inc 0 outc = inc 1 =1 Page 37

An LE With Carry/Cascade Logic Cout ina inb inc 4LUT Carry/ Cascade D Q 0 1 out ind 16 clk Cin Can do two functions at once (Sum and Cout) Carry/cascade logic optimized for add/subtract and wide AND,OR, Cin and Cout have dedicated connections to neighboring LEs fast carry chains fast arithmetic Page 38

Row wires An FPGA Architecture (Island Style) Logic Elements Column Wires Each LE is configured to do a function Wire intersections are programmed to either connect or not Page 39

Programmable Interconnect Junction Column wire =1 ON Connected Row wire =0 OFF Unconnected Page 40

Example Problem Generate the N, Z, P status flags for a 6-bit microprocessor D0-D5 Z D5 N Z N P Page 41

Example Problem Generate the N, Z, P status flags for a 6-bit microprocessor D0-D5 Z D5 N Z N P Will require 2 4LUTs Can be done with wiring only or with 1 4LUT Will require 1 4LUT Page 42

N 1 2 3 4 5 D0 D1 6 7 8 9 10 D2 P 11 12 13 14 15 D3 D4 D5 Z LUT #1: F1 = D0 D1 D2 D3 LUT #7: F2 = F1 D4 D5 Z output LUT #8: F3 = D5 N output LUT #9: F4 = Z N P output Page 43

N 1 2 3 4 5 D0 D1 6 7 8 9 10 D2 P 11 12 13 14 15 D3 D4 D5 Z LUT #1: F1 = D0 D1 D2 D3 LUT #7: F2 = F1 D4 D5 Z output LUT #8: F3 = D5 N output LUT #9: F4 = Z N P output Page 44

N 1 2 3 4 5 D0 D1 6 7 8 9 10 D2 P 11 12 13 14 15 D3 D4 D5 Z LUT #1: F1 = D0 D1 D2 D3 LUT #7: F2 = F1 D4 D5 Z output LUT #8: F3 = D5 N output LUT #9: F4 = Z N P output Page 45

N 1 2 3 4 5 D0 D1 6 7 8 9 10 D2 P 11 12 13 14 15 D3 D4 D5 Z LUT #1: F1 = D0 D1 D2 D3 LUT #7: F2 = F1 D4 D5 Z output LUT #8: F3 = D5 N output LUT #9: F4 = Z N P output Page 46

N 1 2 3 4 5 D0 D1 6 7 8 9 10 D2 P 11 12 13 14 15 D3 D4 D5 Z LUT #1: F1 = D0 D1 D2 D3 LUT #7: F2 = F1 D4 D5 Z output LUT #8: F3 = D5 N output LUT #9: F4 = Z N P output Page 47

Configuring an FPGA Most FPGAs have a configuration input pin Configuration bits are shifted into FPGA using this pin, one bit per cycle Configuration bits in FPGA linked into a long shift register (SIPO) Examples on following slides are conceptual Commercial devices slightly different Page 48

Structure of a 3LUT b0 Configuration Storage Bits (Flip Flops) b1 b2 b3 b4 b5 b6 b7 3 LUT Inputs LUT Output It s just an 8:1 MUX LUT inputs select which config bit is sent to LUT output Programming LUT function setting configuration bits Page 49

How are the Configuration Bit Flip Flops Loaded? A serial-in/parallel-out (SIPO) shift register 0 1 D Q B6 These are the configuration bits which the LUT selects from CONFIG CCLK 0 D Q B7 1 CONFIG CCLK Page 50

Configuring the Programmable Interconnect Column wire Also arranged in a SIPO shift register Configuration bit Row wire b Page 51

Συστήματα VLSI 52