Σχεδίαση hardware και προγραμματισμός βασικές (αλλά σύγχρονες) μεθοδολογίες Βασίλης Παλιουράς.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Επαγγέλματα Πληροφορικής Λύκειο Αρχαγγέλου «Απ. Μάρκος» Επιμέλεια παρουσίασης: Κ. Γεωργιάδης Π. Πελοπίδας Χ. Παπαχριστοδούλου Ε. Μιχαήλ.
Advertisements

Τι είναι ο προγραμματισμός
Επιμέλεια: Τίκβα Χριστίνα
Συνδυαστικά Κυκλώματα
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
15 Απριλίου 2005 Life Cycle Assessment (LCA) as a Decision Support Tool for the ecoproduction of olive oil ECOIL LIFE 04/ENV/GR/ Πολυτεχνείο Κρήτης.
H ΕΤΑΙΡΙΑ & Η ΑΠΟΣΤΟΛΗ ΤΗΣ
7.5.2 Αντικειμενοστραφής προγραμματισμός
ΚΕΦΑΛΑΙΟ 4. Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού και αξιοποιούν τις δυνατότητές του.
ΨΗΦΙΟΠΟΙΗΣΗ ΚΑΙ ΠΟΛΙΤΙΣΤΙΚΑ ΜΕΣΑ
ΤΕΧΝΙΚΟ ΣΧΕΔΙΟ.
Κεφάλαιο 1ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
Χαρακτηριστικά συνθετικής κίνησης 1 Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
31/1/2000epl-0321 Προγραμματισμός •Γιατι γραφουμε προγραμματα (προηγ. διαλεξη) •Πως γραφουμε προγραμματα –τι ειναι προγραμματισμος –μεθοδολογια –αφαιρετικοτητα.
H διαδικασία ανάπτυξης λογισμικού. Tι θα γνωρίσουμε •Τις φάσεις ανάπτυξης του λογισμικού. •Γιατί χρειάζεται να γίνει ανάλυση του προβλήματος. •Τι θα πρέπει.
Μεθοδολογίες Προγραμματισμού ΙΙ Μ Ε Τ Ρ Ι Κ Ε Σ ΑΝΤΚΕΙΜΕΝΟΣΤΡΕΦΟΥΣ ΣΧΕΔΙΑΣΗΣ Ποιότητα Λογισμικού Παναγιώτης Σφέτσος, PhD
Μηχανική Μάθηση και Εξόρυξη Γνώσης
Σύμφωνα με τον ΣΕΒ, αναμένεται να παρουσιάσουν ζήτηση μέχρι το 2020 Πηγή:
ΠΡΟΗΓΜΕΝΑ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB-SIMULINK
Γλώσσες Περιγραφής Υλικού. Οι γλώσσες περιγραφής υλικού είναι προσανατολισμένες στην περιγραφή της δομής του hardware και/ή της συμπεριφοράς του Χρησιμοποιούνται.
Συνδυαστικά Κυκλώματα
1. Τα απολύτως απαραίτητα
ΕΝΟΤΗΤΑ 01 ΣΚΟΠΟΣ ΤΟΥ ΤΕΧΝΙΚΟΥ ΣΧΕΔΙΟΥ – ΟΡΓΑΝΑ ΣΧΕΔΙΑΣΗΣ
Ανάπτυξη Πρωτοτύπου Λογισμικού
Κεφάλαιο 6 -Περιβάλλοντα Ανάπτυξης Εφαρμογών
ΗΥ-220 Γιάννης Παπαευσταθίου Σύνθεση Κυκλωμάτων με εργαλεία CAD Γιάννης Παπαευσταθίου Ευχαριστίες στον Διονύση Πνευματικάτο για την ύλη της διάλεξης Φθινόπωρο.
Παναγόπουλος Ασημάκης Βασιλειάδης Βασίλης Β’ τάξη 6ου ΕΠΑΛ Πάτρας
V ERILOG 2. Μια πιο κοντινή ματιά. ΗΥ-220 – Μαυροειδής Ιάκωβος2 Δομή της γλώσσας Μοιάζει πολύ με τη C –Preprocessor –Keywords –Τελεστές Γλώσσα «event.
V ERILOG 1. Τα απολύτως απαραίτητα. Verilog - Λυμπέρης Σπύρος2 Verilog - Γιατί; Σχεδίαση επικεντρωμένη στην αρχιτεκτονική Διαδικασία σύνθεσης Εύκολη συντήρηση.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
Ανάπτυξη μεθοδολογίας για το συστηματικό θεμελιώδη μηχανοτρονικό σχεδιασμό. Εφαρμογή στην ανάπτυξη ευφυούς συστήματος για το σχεδιασμό ρομποτικών αρπαγών.
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ. ΥΠΟΛΟΓΙΣΤΗΣ Μηχανή που μπορεί να φέρει σε πέρας πνευματικές εργασίες ρουτίνας με μεγάλη ταχύτητα.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
Προγραμματισμός Γιατι γραφουμε προγραμματα (προηγ. διαλεξη)
1 Συνθετικές εικόνες Τεχνικές και πρότυπα 3D γραφικών και κίνησης.
ΗΥ-220 Verilog HDL. Τα βασικά.... ΗΥ-220 – Ιάκωβος Μαυροειδής2 Βασική Ροή Σχεδίασης Requirements SimulateRTL Model Gate-level Model Synthesize SimulateTest.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Η δημοφιλέστερη γλώσσα Hardware
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
ΗΥ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 Τα στυλ του κώδικα Και εμάς τι μας νοιάζει; –Διαφορετικός κώδικας για διαφορετικούς σκοπούς.
6/23/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Registers.
6/25/2015HY220: Ιάκωβος Μαυροειδής1 Computer Aided Design CAD tools Functional DesignSpecificationsLogic DesignCircuit DesignPhysical DesignFabrication.
Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Εικονικά Μουσεία Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Εικονικά Μουσεία.
7/15/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Basic Modules Buffer FIFO Decoder, Encoder, Priority Encoder CAM.
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο 1: Εισαγωγή.
ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ 1 Διάλεξη 12: Διάλεξη 12: Καταχωρητές - Μετρητές Δρ Κώστας Χαϊκάλης.
Πληροφορική Μάθημα Κατεύθυνσης. Σκοπός Μαθήματος Οι μαθητές που θα ακολουθήσουν το μάθημα αυτό θα είναι ικανοί να λύνουν προβλήματα με αλγοριθμικό τρόπο,
ΚΑΤΑΝΟΩ ΤΙΣ ΜΕΤΑΒΛΗΤΕΣ ΜΕ ΤΗ ΒΟΗΘΕΙΑ ΤΟΥ SCRATCH Χρήστος Μανώλης, Πληροφορικός ΠΕ 19 ΘΕΣΣΑΛΟΝΙΚΗ / ΑΥΓΟΥΣΤΟΣ 2015 Ομάδα ανάπτυξης 6 ο εσπερινό ΕΠΑΛ Θεσσαλονίκης.
Τεχνολογία Λογισμικού
Επιχειρηματικός Σχεδιασμός
Βάσεις Δεδομένων Ι Εισαγωγή
Κατηγορίες και Προδιαγραφές Λογισμικού Η/Υ (Software)
Πρόγραμμα Προπτυχιακών Σπουδών Ροή Λ: Λογισμικό

Ποιοί είναι οι δικαστικοί σχηματισμοί του Δικαστηρίου;
ΣΥΣΤΗΜΑ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ (QUALITY SYSTEM)
FIELD MAP ΧΑΡΤΟΓΡΑΦΙΚΟΣ ΟΔΗΓΟΣ ΧΩΡΑΦΙΟΥ ANDROID
Εισαγωγή στη VHDL 5/8/2018 Εισαγωγή στη VHDL.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Ανάπτυξη Εφαρμογών για Φορητές Συσκευές
Πληροφορική Μάθημα Κατεύθυνσης.
Το Υλικό του Υπολογιστή
Τεχνολογία Β’ Γυμνασίου
Συγγραφέας: Ζαγκότας Στεφανος Επιβλέπων Καθηγητής: Ούτσιος Ευάγγελος
Πληροφορική Μάθημα Κατεύθυνσης. Σκοπός Μαθήματος Οι μαθητές που θα ακολουθήσουν το μάθημα αυτό θα είναι ικανοί να λύνουν προβλήματα με αλγοριθμικό τρόπο,
Μεταγράφημα παρουσίασης:

Σχεδίαση hardware και προγραμματισμός βασικές (αλλά σύγχρονες) μεθοδολογίες Βασίλης Παλιουράς

2 Διαχείριση πολυπλοκότητας - Zητήματα και τεχνικές Αφαιρετικότητα (abstraction) Αυξητική ανάπτυξη incremental development, progressive refinement Έλεγχος ορθής λειτουργίας και διασφάλιση ποιότητας Πώς διασφαλίζουμε ότι το σχεδιάσαμε το σύστημα σωστά; υλικό ή λογισμικό ή οποιοσδήποτε συνδυασμός Τι θα πει «σωστή» λύση; Αξιοποίηση διαθέσιμων δομικών στοιχείων (reusability) Δυνατότητες επέκτασης – τροποποίησης Οι τεχνικές δεν αφορούν μόνο το λογισμικό! Εφαρμόζονται στο σύνολο των συστημάτων που σχεδιάζει ο μηχανικός.

3 Καθημερινότητα του μηχανικού Προδιαγραφές και εξομοιώσεις συστημάτων σε C/C++, matlab, SystemC,... Περιγραφή υλικού σε VHDL, verilog, SystemC,... γράφουμε απευθείας μοντέλα ή μέσω scripts (perl,...) αλλά και matlab ή C παράγουμε οδηγίες προς τον εξομοιωτή με script Eπεξεργασία μοντέλων HDL με εργαλεία αυτόματης σχεδίασης (EDA), περιγραφή ενεργειών βελτιστοποίησης σε γλώσσα χαρακτηριστική του εργαλείου κτλ.

4 // dff.v module dff(clock, reset, din, dout); input clock, reset, din; output dout; reg dout; clock or reset) begin if (reset) dout<= 1'b0; elsedout = din; end endmodule C, C++, matlab, SystemC... HDLs (verilog,VHDL, SystemC)... ? EDA

5 counter σε SystemC #include "systemc.h" class counter : public sc_module { int value; public: sc_in clk; sc_in count; sc_in reset; sc_out q; SC_HAS_PROCESS(counter); counter(sc_module_name nm): sc_module(nm),value(0) { SC_METHOD(do_count); sensitive << clk.pos() << reset; } protected: void do_count(){ if (reset){ value = 0;} else if (count) { value++; q.write(value); } };

6 process module

7 Verilog vs. SystemC // dff.v module dff(clock, reset, din, dout); input clock, reset, din; output dout; reg dout; clock or reset) begin if (reset) dout<= 1'b0; elsedout = din; end endmodule // dff.h #include "systemc.h“ SC_MODULE(dff) { sc_in clock; sc_in reset; sc_in din; sc_out dout; void do_dff( ) { if (reset) dout = false; else if (clock.event()) dout=din; } SC_CTOR(dff) { SC_METHOD(do_dff); sensitive(reset); sensitive_pos(clock); }

8 testbench.h #include "systemc.h" SC_MODULE(testbench) { sc_out add; sc_out en; sc_out rw; sc_out we; sc_inout_rv data; sc_in clock; void do_test(); SC_CTOR(testbench) { SC_CTHREAD(do_test,clock.pos()); } private: int read_cycle(int); void write_cycle(int, int); };

9 testbench.cpp #include "testbench.h" void testbench::do_test() { int i, j, flag, tmpA, tmpDW, tmpDR; for(j=0; 1; j++) { flag=0; wait(2); tmpA=1; tmpDW=123; for (i=0;i<3;i++) read_cycle(tmpA+i+j); for (i=0;i<3;i++) write_cycle(tmpA+i+j,tmpDW+i+j); for (i=0;i<3;i++) { tmpDR=read_cycle(tmpA+i+j); if (tmpDR!=(tmpDW+i+j)) { fprintf(stderr, "error: expected0x%x, but 0x%x", tmpDW+i+j, tmpDR); flag =1; } if (!flag) fprintf(stderr, "test passed...Wn"); }

10