1. Τα απολύτως απαραίτητα

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
Advertisements

Γλώσσα Προγραμματισμού
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Δομές Διακλάδωσης.
Μονάδα Διασφάλισης Ποιότητας του ΤΕΙ Σερρών
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος ε
Καριοφύλλη Ράνια - Σαρρής Γιάννης
Νευρωνικά Δίκτυα Εργαστήριο Εικόνας, Βίντεο και Πολυμέσων
Εισαγωγή στον Robot Simulator HY-475/575. Περιεχόμενα Εισαγωγικά Αρχιτεκτονική Εγκατάσταση Περιήγηση.
Αποστολος Π. Τραγανιτης
Γλώσσες Περιγραφής Υλικού. Οι γλώσσες περιγραφής υλικού είναι προσανατολισμένες στην περιγραφή της δομής του hardware και/ή της συμπεριφοράς του Χρησιμοποιούνται.
Διαφάνειες παρουσίασης #3
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
Συνδυαστικά Κυκλώματα
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Εισαγωγή.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ-220 Γιάννης Παπαευσταθίου Σύνθεση Κυκλωμάτων με εργαλεία CAD Γιάννης Παπαευσταθίου Ευχαριστίες στον Διονύση Πνευματικάτο για την ύλη της διάλεξης Φθινόπωρο.
V ERILOG 2. Μια πιο κοντινή ματιά. ΗΥ-220 – Μαυροειδής Ιάκωβος2 Δομή της γλώσσας Μοιάζει πολύ με τη C –Preprocessor –Keywords –Τελεστές Γλώσσα «event.
1 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Δημήτρης Πλεξουσάκης 10/2/2015ΗΥ180 – Μάθημα 1ο Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής
V ERILOG 1. Τα απολύτως απαραίτητα. Verilog - Λυμπέρης Σπύρος2 Verilog - Γιατί; Σχεδίαση επικεντρωμένη στην αρχιτεκτονική Διαδικασία σύνθεσης Εύκολη συντήρηση.
Σχεδίαση hardware και προγραμματισμός βασικές (αλλά σύγχρονες) μεθοδολογίες Βασίλης Παλιουράς.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ-220 Εισαγωγή. ΗΥ-220 – Ιάκωβος Μαυροειδής2 Contacts Mailing List –mail majordomo “subscribe hy220-list” Βοηθοί –Βλάχος Βαγγέλης –Μιχελογιαννάκης.
ΗΥ-220 Verilog HDL. Τα βασικά.... ΗΥ-220 – Ιάκωβος Μαυροειδής2 Βασική Ροή Σχεδίασης Requirements SimulateRTL Model Gate-level Model Synthesize SimulateTest.
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Verilog: Μια πιο κοντινή ματιά.
Η δημοφιλέστερη γλώσσα Hardware
Διαφάνειες παρουσίασης #2
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ Καλοκαιρινός Γιώργος1 Seven Segment Display.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Verilog: Τα βασικά.
V ERILOG 2. Μια πιο κοντινή ματιά. ΗΥ Παπαευσταθίου Γιάννης2 Δομή της γλώσσας Μοιάζει πολύ με τη C –Preprocessor –Keywords –Τελεστές Γλώσσα «event.
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD.
ΗΥ Καλοκαιρινός Γιώργος1 Register module Reg(Q, D, Clk); // parameter N = 16; input Clk; input [N-1:0] D; output [N-1:0] Q; reg [N-1:0] Q; // always.
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Εργαστήρια.
V ERILOG 3. Coding styles. HY Παπαευσταθίου Γιάννης2 Τα στυλ του κώδικα Και εμάς τι μας νοιάζει; –Διαφορετικός κώδικας για διαφορετικούς σκοπούς.
6/23/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Registers.
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Εισαγωγή.
V ERILOG Laboratories. ΗΥ-220 – Μαυροειδής Ιάκωβος2 Verilog Simulator > rlogin [garbis, kirkios, levantes, apraktias, pounentes, apiliotis] > source ~hy220/verilog/scripts/cds_ldv.sh.
7/15/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Basic Modules Buffer FIFO Decoder, Encoder, Priority Encoder CAM.
Πρωί ανοιξιάτικης μέρας σε μια συνοικία της Αθήνας …
{ Ψηφιακή Σχεδίαση εργαστήριο Γιάννης Νικολουδάκης.
1-1 Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Λογική Σχεδίαση Ψηφιακών Συστημάτων Διδάσκων: Γιώργος Σταμούλης.
Η καθημερινή ζωή στο Βυζάντιο Εργασία της μαθήτριας: Τζένη Αλουσάι στο μάθημα της Ιστορίας ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΗΤΡΙΑ:κα.Τσαούση.
11/14/2016Structural VHDL148 Structural VHDL Παράδειγμα Multiplexer Component Component specification Port map command Unconnected outputs Unconnected.
Test.
Test.
Η Γλώσσα Pascal Εντολή If
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
αναγκαίο κακό ή δώρο εξ’ ουρανού;
Ποιοί είναι οι δικαστικοί σχηματισμοί του Δικαστηρίου;
Εισαγωγή στη VHDL 5/8/2018 Εισαγωγή στη VHDL.
“Ψηφιακός έλεγχος και μέτρηση της στάθμης υγρού σε δεξαμενή"
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΤΟ ΚΥΚΛΟΦΟΡΙΚΟ ΣΥΣΤΗΜΑ ΤΟΥ ΑΝΘΡΩΠΟΥ
ΑΛΚΟΟΛ ΚΑΠΝΙΣΜΑ ΝΑΡΚΩΤΙΚΑ ΤΥΧΕΡΑ ΠΑΙΧΝΙΔΙΑ ΗΛΕΚΤΡΟΝΙΚΑ ΜΕΣΑ
Πίνακες διέγερσης Q(t) Q(t+1) S R X X 0
ΑΝΑΝΕΩΣΙΜΕΣ ΠΗΓΕΣ ΕΝΕΡΓΕΙΑΣ
Η στήριξη και η κίνηση στους ζωικούς οργανισμούς
‘’ΚΟΛΛΗΤΟΥΜΠΙΝΑΚΙΑ’’
Η Κωνσταντινα και οι αραχνεσ τησ
Λογική Σχεδίαση Ψηφιακών Συστημάτων
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
מכטרוניקה אלקטרוניקה ספרתית סתיו תשס"ה 2004/2005
ΤΟ ΚΥΚΛΟΦΟΡΙΚΟ ΣΥΣΤΗΜΑ ΤΟΥ ΑΝΘΡΩΠΟΥ
Εισαγωγή στον αλγεβρικό λογισμό
Σύνθεση Κυκλωμάτων με εργαλεία CAD
Μεταγράφημα παρουσίασης:

1. Τα απολύτως απαραίτητα ΗΥ-220 1. Τα απολύτως απαραίτητα

ΗΥ-220 - Παπαευσταθίου Γιάννης Τα πολύ Βασικά Προαπαιτούμενο : ΗΥ-120 (Ψηφιακή Σχεδίαση) Διδάσκοντες : Παπαευσταθίου Γιάννης (ygp@csd.uch.gr) Καλοκαιρινός Γιώργος (george@ics.forth.gr) Βοηθοί : Δημήτρης Μεϊντάνης (meidanis@csd.uch.gr) Νίκος Χρυσός (nchrysos@ics.forth.gr) Βαθμολογία : 40% Βαθμοί εργασιών 15% Βαθμος προόδου (υποχρεωτική, δεν προσμετράται στη Β’ Εξεταστική) 45% Βαθμός τελικής εξέτασης (60% στη Β’ Εξεταστική) http://www.csd.uch.gr/~hy220 ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Verilog- Γιατί; Σχεδίαση επικεντρωμένη στην αρχιτεκτονική Διαδικασία σύνθεσης Εύκολη συντήρηση κώδικα Είναι καθιερωμένο if (sel == 0) c = ~(a or b); else c = ~d; always @(posedge clk) begin R[1] <= #`dh 1; R[2] <= #`dh 2’b0; end ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Βασική δομή Modules… … τουλάχιστον 2 Top level Test bench Είσοδος και αποτελέσματα ΗΥ-220 - Παπαευσταθίου Γιάννης

Σύρματα και συνδυαστική λογική module … endmodule Δήλωση εισόδων - εξόδων Concurrent statements module adder(a, b, sum, cout); input a, b; output sum, cout; wire sum = a ^ b; wire cout = a & b; endmodule ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Ένα απλό «test bench» module adder(a, b, sum, cout); input a, b; output sum, cout; wire sum = a ^ b; wire cout = a & b; endmodule module test; reg a, b; wire s, c; adder add0(a, b, s, c); initial begin a = 0; b = 0; #5 $display("a: %x, b: %x, s: %x, c: %x", a, b, s, c); a = 1; b = 1; a = 0; end endmodule ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Wires Συνδυαστική λογική (δεν έχει μνήμη) Γράφος εξαρτήσεων Μπορεί να περιγράψει και ιδιαίτερα πολύπλοκη λογική… wire sum = a ^ b; wire c = sum | b; wire a = ~d; wire sum; ... assign sum = a ^ b; wire muxout = (sel == 1) ? a : b; wire op = ~(a & ((b) ? ~c : d) ^ (~e)); ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Regs reg a; initial begin a = 0; #5; a = 1; end Στοιχεία μνήμης … κάτι ανάλογο με μεταβλητές στη C Synthesizable code: Αναθέσεις «κοντά» Εξαίρεση: test bench Hold time reg q; always @(posedge clk) begin if (load) q = #2 d; end ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Buses Καμία διαφορά στη συμπεριφορά Συμβάσεις: [high : low] [msb : lsb] Προσοχή στις συνδέσεις εκτός του module… module adder(a, b, sum, cout); input [7:0] a, b; output [7:0] sum; output cout; wire [8:0] tmp = a + b; wire [7:0] sum = tmp[7:0]; wire cout = tmp[8]; endmodule ΗΥ-220 - Παπαευσταθίου Γιάννης

Ανακεφαλαίωση: Μετρητής 8 bits module counter(clk, reset, out); input clk, reset; output [7:0] out; wire [7:0] next_value = out + 1; reg [7:0] out; always @(posedge clk) begin if (reset) out = #2 8’b0; else out = #2 next_value; end endmodule module clk(out); output out; reg out; initial out = 1’b0; always out = #25 ~out; endmodule ! ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Μετρητής 8 bits (2) initial begin begin_graphics; reset = 1; @(posedge clk); reset = #2 0; #300; end_graphics; $stop; end endmodule module test; wire clk; reg reset; wire [7:0] count; clock clk0(clk); counter cnt0(clk, reset, count); `include "cwaves.h” ! ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Μετρητής 8 bits (3) 00 01 06 04 02 03 05 clk reset count counter.v clock.v test.v cwaves.h > rlogin zefyros > set path = ($path /vlsi/tools/bin) > setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH\:/vlsi/tools/lib > verilog -f files.cv +define+GR_CWAVES > cwaves & ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Τέλος! Συνδυαστική λογική: wire Ακολουθιακή λογική: reg Buses: [high:low] Καθυστερήσεις: #t @(posedge …) Δύο τύποι statements: initial always Είσοδος - έξοδος: input, output Αποτελέσματα: $display Cadence waves ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Full Custom VLSI Design ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Verilog Code // // Single Seven Segment Display Driver module DisplayS(SevenSegment, DisplaySelect, SW); input [7:0] SW; output [3:0] DisplaySelect; output [7:0] SevenSegment; assign DisplaySelect = ~SW[3:0]; wire [3:0] SSSel = SW[7:4]; reg [7:0] SevenSegment; always @(SSSel) begin case (SSSel) 4'b0000 : SevenSegment = 8'h3f; 4'b0001 : SevenSegment = 8'h06; 4'b0010 : SevenSegment = 8'h5b; ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Verilog Code (cont) 4'b0011 : SevenSegment = 8'h4f; 4'b0100 : SevenSegment = 8'h66; 4'b0101 : SevenSegment = 8'h6d; 4'b0110 : SevenSegment = 8'h7d; 4'b0111 : SevenSegment = 8'h27; 4'b1000 : SevenSegment = 8'h7f; 4'b1001 : SevenSegment = 8'h6f; 4'b1010 : SevenSegment = 8'h77; 4'b1011 : SevenSegment = 8'h7C; 4'b1100 : SevenSegment = 8'h39; 4'b1101 : SevenSegment = 8'h5E; 4'b1110 : SevenSegment = 8'h79; 4'b1111 : SevenSegment = 8'h71; endcase end // endmodule ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Verilog Code (Test bench) module test; // reg [7:0] SW; wire [7:0] SevenSegment; wire [3:0] DisplaySelect; DisplayS mDisplayS(SevenSegment, DisplaySelect, SW); initial begin #10 $stop; #10 SW = 8'h01; #10 SW = 8'h11; #10 SW = 8'h21; #10 SW = 8'h31; #10 SW = 8'h41; #10 SW = 8'h51; #10 SW = 8'h61; #10 SW = 8'h71; #10 SW = 8'h81; #10 SW = 8'h91; #10 SW = 8'ha1; #10 SW = 8'hb1; #10 SW = 8'hc1; #10 SW = 8'hd1; #10 SW = 8'he1; #10 SW = 8'hf1; #100 $stop; end endmodule ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης 7 Segment Display ΗΥ-220 - Παπαευσταθίου Γιάννης

ΗΥ-220 - Παπαευσταθίου Γιάννης Display Driver ΗΥ-220 - Παπαευσταθίου Γιάννης