V ERILOG 1. Τα απολύτως απαραίτητα. Verilog - Λυμπέρης Σπύρος2 Verilog - Γιατί; Σχεδίαση επικεντρωμένη στην αρχιτεκτονική Διαδικασία σύνθεσης Εύκολη συντήρηση.

Slides:



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

Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
Γλώσσα Προγραμματισμού
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
ΕΝΟΤΗΤΑ 5Η ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΤΗΣ ΤΥΠΙΚΗΣ ΛΟΓΙΚΗΣ Α΄
ΠΡΟΗΓΜΕΝΑ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΝΟΤΗΤΑ 7Η ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΤΗΣ ΤΥΠΙΚΗΣ ΛΟΓΙΚΗΣ
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ & ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΩΝ
Γλώσσες Περιγραφής Υλικού. Οι γλώσσες περιγραφής υλικού είναι προσανατολισμένες στην περιγραφή της δομής του hardware και/ή της συμπεριφοράς του Χρησιμοποιούνται.
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
Διαφάνειες παρουσίασης #3
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
Συνδυαστικά Κυκλώματα
1. Τα απολύτως απαραίτητα
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Χρονισμός Σύγχρονων Κυκλώματων, Καταχωρητές και Μανταλωτές.
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο1 Ωμή Βία Είναι μία άμεση προσέγγιση που βασίζεται στην εκφώνηση του προβλήματος και τους ορισμούς.
ΗΥ-220 Γιάννης Παπαευσταθίου Σύνθεση Κυκλωμάτων με εργαλεία CAD Γιάννης Παπαευσταθίου Ευχαριστίες στον Διονύση Πνευματικάτο για την ύλη της διάλεξης Φθινόπωρο.
V ERILOG 2. Μια πιο κοντινή ματιά. ΗΥ-220 – Μαυροειδής Ιάκωβος2 Δομή της γλώσσας Μοιάζει πολύ με τη C –Preprocessor –Keywords –Τελεστές Γλώσσα «event.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
Σχεδίαση hardware και προγραμματισμός βασικές (αλλά σύγχρονες) μεθοδολογίες Βασίλης Παλιουράς.
Οι λογικές πράξεις και οι λογικές πύλες
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ-220 Verilog HDL. Τα βασικά.... ΗΥ-220 – Ιάκωβος Μαυροειδής2 Βασική Ροή Σχεδίασης Requirements SimulateRTL Model Gate-level Model Synthesize SimulateTest.
Η δημοφιλέστερη γλώσσα Hardware
Διαφάνειες παρουσίασης #2
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
2/28/00epl-1311 Παραδειγματα Aλγοριθμων Αριθμος λεξεων που διαβαστηκαν απο εισοδο Εκτυπωση περιφερειας τετραγωνων με * Υπολογισμος exp(x,n) = 1 + x/1!
ΗΥ Καλοκαιρινός Γιώργος1 Seven Segment Display.
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Verilog: Τα βασικά.
V ERILOG 2. Μια πιο κοντινή ματιά. ΗΥ Παπαευσταθίου Γιάννης2 Δομή της γλώσσας Μοιάζει πολύ με τη C –Preprocessor –Keywords –Τελεστές Γλώσσα «event.
ΗΥ Καλοκαιρινός Γιώργος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.
V ERILOG 3. Coding styles. HY Παπαευσταθίου Γιάννης2 Τα στυλ του κώδικα Και εμάς τι μας νοιάζει; –Διαφορετικός κώδικας για διαφορετικούς σκοπούς.
ΗΥ150 – ΠρογραμματισμόςΞενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
6/23/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Registers.
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.
Τσιρογιάννης Νίκος-Μαργαρίτης Βασίλης
Πολυπαραμετρικό σύστημα υποστήριξης του Μηχανικού Αερισμού ασθενούς βασισμένο σε αλγορίθμους Ασαφούς Λογικής A.Τζαβάρας B. Σπυρόπουλος M. Μποτσιβάλη K.
6-1 Ορισμοί Στατικά – δυναμικά στοιχεία: – Δυναμικά – με ρολόι – Στατικά – χωρίς ρολόι Αλλά: στατική αποθήκευση -- δυναμική αποθήκευση: –Στατική αποθήκευση.
ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ 1 Διάλεξη 12: Διάλεξη 12: Καταχωρητές - Μετρητές Δρ Κώστας Χαϊκάλης.
{ Ψηφιακή Σχεδίαση εργαστήριο Γιάννης Νικολουδάκης.
11/14/2016Structural VHDL148 Structural VHDL Παράδειγμα Multiplexer Component Component specification Port map command Unconnected outputs Unconnected.
ΚΕΠΛΗΝΕΤ Ν. Λέσβου Θέματα: NFC στο σχολείο
Η Γλώσσα Pascal Εντολή If
Σχεδίαση συνδυαστικών κυκλωµάτων
αναγκαίο κακό ή δώρο εξ’ ουρανού;
Ποιοί είναι οι δικαστικοί σχηματισμοί του Δικαστηρίου;
Διάλεξη 9: Συνδυαστική λογική - Ασκήσεις Δρ Κώστας Χαϊκάλης

Εισαγωγή στη VHDL 5/8/2018 Εισαγωγή στη VHDL.
ΜΑΘΗΜΑ ΘΡΗΣΚΕΥΤΙΚΩΝ Ομάδα: High-five
“Ψηφιακός έλεγχος και μέτρηση της στάθμης υγρού σε δεξαμενή"
«Από τη MicroWorlds Pro στην Python»
Στοιχεία Δομημένου Προγραμματισμού
SR latch R Q S R Q Q’ Q’ S.
Πίνακες διέγερσης Q(t) Q(t+1) S R X X 0
Το Πρόβλημα Φωτεινοί σηματοδότες.
Οι γεωμετρικές πρόοδοι στην οργάνωση αθλητικών αγώνων:Ανάπτυξη εφαρμογής στη γλώσσα προγραμματισμού C. Σχολείο:Π.Σ.Π.Θ. Μαθητές: Τσαπκίνης Χρήστος Ευάγγελος.
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
Εργασίες 9ου – 10ου Εργαστηρίου
...things we need to know Σύναψη είναι η λειτουργική σύνδεση μεταξύ των νευρώνων -συναπτικό κενό (synaptic cleft), Οι νευρώνες μεταδίδουν σήματα, λαμβάνουν.
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
מכטרוניקה אלקטרוניקה ספרתית סתיו תשס"ה 2004/2005
Ιεραρχική σχεδίαση Καθορίζονται οι βασικές λειτουργίες σε ανώτερο επίπεδο και στη συνέχεια γίνεται διάσπαση σε όλο και μικρότερες λειτουργίες μέχρι το.
Σύνθεση Κυκλωμάτων με εργαλεία CAD
Ενότητα Γ7.4.11(Προβλήματα Δομής Διακλάδωσης )
Μεταγράφημα παρουσίασης:

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

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

Verilog - Λυμπέρης Σπύρος3 Βασική δομή Modules… … τουλάχιστον 2 –Top level –Test bench Είσοδος και αποτελέσματα

Verilog - Λυμπέρης Σπύρος4 Σύρματα και συνδυαστική λογική module adder(a, b, sum, cout); input a, b; output sum, cout; wire sum = a ^ b; wire cout = a & b; endmodule module adder(a, b, sum, cout); input a, b; output sum, cout; wire sum = a ^ b; wire cout = a & b; endmodule module … endmodule Δήλωση εισόδων - εξόδων Concurrent statements

Verilog - Λυμπέρης Σπύρος5 Ένα απλό «test bench» 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; #5 $display("a: %x, b: %x, s: %x, c: %x", a, b, s, c); b = 1; #5 $display("a: %x, b: %x, s: %x, c: %x", a, b, s, c); a = 0; #5 $display("a: %x, b: %x, s: %x, c: %x", a, b, s, c); end 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; #5 $display("a: %x, b: %x, s: %x, c: %x", a, b, s, c); b = 1; #5 $display("a: %x, b: %x, s: %x, c: %x", a, b, s, c); a = 0; #5 $display("a: %x, b: %x, s: %x, c: %x", a, b, s, c); end endmodule module adder(a, b, sum, cout); input a, b; output sum, cout; wire sum = a ^ b; wire cout = a & b; endmodule module adder(a, b, sum, cout); input a, b; output sum, cout; wire sum = a ^ b; wire cout = a & b; endmodule

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

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

Verilog - Λυμπέρης Σπύρος8 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 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

Verilog - Λυμπέρης Σπύρος9 module counter(clk, reset, out); input clk, reset; output [7:0] out; wire [7:0] next_value = out + 1; reg [7:0] out; clk) begin if (reset) out = #2 8’b0; else out = #2 next_value; end endmodule module counter(clk, reset, out); input clk, reset; output [7:0] out; wire [7:0] next_value = out + 1; reg [7:0] out; clk) begin if (reset) out = #2 8’b0; else out = #2 next_value; end endmodule Ανακεφαλαίωση: Μετρητής 8 bits module clk(out); output out; reg out; initial out = 1’b0; always out = #25 ~out; endmodule module clk(out); output out; reg out; initial out = 1’b0; always out = #25 ~out; endmodule !

Verilog - Λυμπέρης Σπύρος10 Μετρητής 8 bits (2) module test; wire clk; reg reset; wire [7:0] count; clock clk0(clk); counter cnt0(clk, reset, count); `include "cwaves.h” module test; wire clk; reg reset; wire [7:0] count; clock clk0(clk); counter cnt0(clk, reset, count); `include "cwaves.h” initial begin begin_graphics; reset = clk); reset = #2 clk); #300; end_graphics; $stop; end endmodule initial begin begin_graphics; reset = clk); reset = #2 clk); #300; end_graphics; $stop; end endmodule !

Verilog - Λυμπέρης Σπύρος11 Μετρητής 8 bits (3) clk reset count counter.v clock.v test.v cwaves.h > set path = ($path \ /vlsi/usr/unicad2.3.3b/UNIOPUS/tools/bin) > shmd > verilog -f files.cv +define+GR_CWAVES > cwaves &

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