Τμήμα Μησανικών Πληποφοπικήρ, Τ.Ε.Ι. Ηπείπος Ακαδημαϊκό Έτορ 2016-2017, 6 ο Εξάμηνο Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 3 Διδάςκων Τςιακμάκθσ Κυριάκοσ, Phd MSc in Electronic Physics (Radioelectrology) Computer and Electronic Circuits Technology MSc in Science - Agricultural Engineering
Προςομοίωςθ -Simulation (1) Η ζλλειψθ ςυντακτικϊν ςφαλμάτων δε ςυνεπάγεται ότι το κφκλωμα εκτελεί τισ λειτουργίεσ για τισ οποίεσ ζχει ςχεδιαςτεί. Για παράδειγμα αν κζλετε να υλοποιιςετε μία πφλθ XOR και ζχετε γράψει τθν εντολι X <= A OR B ο μεταφραςτισ δεν παρουςιάςει λάκθ το κφκλωμα αντιςτοιχεί ςε μία πφλθ OR και αυτό είναι ζνα είδοσ λογικοφ λάκουσ. Επομζνωσ, το επόμενο βιμα μετά τθν αποςφαλμάτωςθ του κϊδικα VHDL είναι θ προςομοίωςθ του κυκλϊματοσ για να επιβεβαιωκεί θ ορκι-λογικι λειτουργία του.
Προςομοίωςθ -Simulation (2) Στθ διαδικαςία αυτι δίνονται ςυγκεκριμζνεσ τιμζσ ςτα ςιματα ειςόδου - nodes του κυκλϊματοσ και ελζγχονται τα ςιματα εξόδου. Ελζγχουμε να αυτό που προκφπτει είναι ςφμφωνα με τον πίνακα αλθκείασ ι γενικά με αυτό που περιμζναμε κεωρθτικά.
Προςομοίωςθ -Simulation (3) Υπάρχουν δφο τφποι εξομοίωςθσ 1) λειτουργικι (functional) και 2) χρονιςμϊν (timing). Στθν περίπτωςθ τθσ λειτουργικισ εξομοίωςθσ δε λαμβάνονται υπόψθ οι κακυςτεριςεισ των ςτοιχείων (πυλϊν και διαςυνδζςεων) του κυκλϊματοσ αλλά γίνεται μια απλι επαλικευςθ. Στθν εξομοίωςθ χρονιςμϊν επαλθκεφουμε τθν ορκότθτα του κυκλϊματοσ και με βάςθ τουσ χρονικοφσ περιοριςμοφσ.
Προςομοίωςθ -Simulation (4) Ζςτω ότι υλοποιιςαμε ζναν απαρικμθτι (counter) και ότι θ κακυςτζρθςθ ενόσ flip-flop είναι 20 ns. Στθ λειτουργική εξομοίωση μποροφμε να χρθςιμοποιιςουμε ζνα ςιμα ρολογιοφ με περίοδο 10 ns και το κφκλωμα κα κάνει ςωςτι καταμζτρθςθ. Στθν εξομοίωση χρονισμοφ για το ίδιο ςιμα ρολογιοφ το κφκλωμα δεν κα ζχει τθ ςωςτι απόκριςθ γιατί μζςα ςτα 10 ns τα flip-flops δεν προλαβαίνουν να αλλάξουν κατάςταςθ.
Προςομοίωςθ με δφο διαφορετικά Εργαλεία Quartus II Waveform Editor ModelSim-Altera Software Υπάρχει ενςωματωμζνο ςτο Quartus II Λείπει από το Quartus Prime Δεν υπάρχει ςτο Quartus II Λείπει από το Quartus Prime Αλλά το Quartus Prime το χρειάηεται Το κατεβάηουμε ξεχωριςτά
Κϊδικασ για τθν υλοποίθςθ μιασ library ieee; use ieee.std_logic_1164.all; -------------------------------------- entity PeiramaPyles is port( απλισ προςομοίωςθσ x: in std_logic; y: in std_logic; F: out std_logic ); end PeiramaPyles; --------------------------------------- architecture OR_arch of PeiramaPyles is begin process(x, y) begin -- compare to truth table if ((x='0') and (y='0')) then F <= '0'; else F <= '1'; end if; end process; Υλοποίθςθ μιασ πφλθσ OR end OR_arch; architecture OR_beh of PeiramaPyles is begin F <= x or y; end OR_beh;
Quartus II Waveform Editor(1) Το λογιςμικό Quartus II περιλαμβάνει ζνα εργαλείο προςομοίωςθσ που μπορεί να χρθςιμοποιθκεί για τθν προςομοίωςθ τθσ ςυμπεριφοράσ ενόσ κυκλϊματοσ. Πριν το κφκλωμα προςομοιωκεί, είναι απαραίτθτο να δθμιουργθκοφν οι επικυμθτζσ κυματομορφζσ, που ονομάηονται test vectors, και αντιπροςωπεφουν τα ςιματα ειςόδου. Είναι επίςθσ απαραίτθτο να κακορίςετε τισ εξόδουσ, κακϊσ και τισ πικανζσ εςωτερικζσ μονάδεσ ςτο κφκλωμα, όπου ο ςχεδιαςτισ επικυμεί να παρατθριςει-παρακολουκιςει. Ο προςομοιωτισ εφαρμόηει τα test vectors με το μοντζλο υλοποιθμζνου κυκλϊματοσ και προβάλλει τθν αναμενόμενθ ανταπόκριςθ. Θα χρθςιμοποιιςουμε τον Quartus II Waveform Editor για να ςχεδιάςουμε τα test vectors, ωσ εξισ:
Quartus II Waveform Editor(2) Ανοίξτε το Waveform Editor window επιλζγοντασ File > New, το οποίο εμφανίηει το διπλανό παράκυρο Διαλζξτε το Vector Waveform File και πατιςτε OK
Quartus II Waveform Editor(3) Το Waveform Editor παράκυρο φαίνεται ςτο ςχιμα. Αποκθκεφςτε το αρχείο. Πατιςτε το Edit > End Time. Αλλάξτε τισ τιμζσ που κζλετε. Κάντε View > Fit για προςαρμογι παρακφρου.
Quartus II Waveform Editor(4) Επόμενο βιμα -> να ςυμπεριλάβουμε όλα τα nodes που κζλουμε για τθν προςομοίωςθ. Πατιςτε Edit > Insert >
Quartus II Waveform Editor(5) Πατιςτε το Pins: All Και μετά το List Αφοφ είναι επιλεγμζνο όνομα του Project που ζχετε ενεργό
Quartus II Waveform Editor(6) Στθν παρακάτω εικόνα παρατθροφμε τα ςιματα που εχουμε τοποκετιςει για προςομοίωςθ
Quartus II Waveform Editor(7) Μπορείτε να επιλζξετε το Clock ςιμα και να ορίςετε τθν περίοδο του ρολογιοφ Όταν λείπει υπάρχει από προεπιλογι Όταν υπάρχει μπορείτε να το κάνετε παραμετροποίθςθ και υπζρβαςθ.
Modelsim (1) Επιλζγοντασ να εργαςτοφμε με το ModelSim-Altera Softwareκαι το Quartus II Software Θα ακολουκιςουμε τισ οδθγίεσ όπωσ παρουςιάηονται επίςθμα ςτθ ςελίδα τθσ εταιρείασ ςτο παρακάτω link: https://www.altera.com/content/dam/altera-www/global/en_us/pdfs/literature/ug/ug_gs_msa_qii.pdf To set up the EDA tool options for ModelSim- Altera, follow these steps: 1. On the Tools menu of the Quartus II GUI, click Options. The Options dialog box appears. In the Category list, under General, click EDA Tool Options.
Modelsim (2)
Modelsim (3) Click the Browse button to the right of ModelSim-Altera in the EDA Tool list to specify the location of the ModelSim-Altera executable. The path is <ModelSimAltera installation path>\bin. Πρζπει να είναι εγκατεςτθμζνο For Example C:\intelFPGA\16.1\modelsim_ase\win32aloem Setting Up the Simulation To set up the simulation environment, follow these steps: 1. On the Assignments menu, click Settings. 2. In the Settings dialog box, under EDA Tool Settings, select Simulation. The Simulation page appears.
Modelsim (4)
Modelsim (5) In the Tool name list, select ModelSim-Altera. Ensure that Run gate-level simulation automatically after compilation box is turned off. 3. Under EDA Netlist Writer settings, in the Format for output netlist list, select Verilog HDL or VHDL. Ensure that the Map illegal HDL characters, Enable glitch filtering, and Generate Value Change Dump (VCD) file script boxes are turned off. 4. Under NativeLink settings, select None.
Modelsim (6) Running ModelSim-Altera from the Quartus II Software Follow these steps: 1. On the Processing menu, point to Start, and then click Start Analysis & Elaboration. 2. On the Tools menu, point to Run EDA Simulation Tool and then click EDA RTL Simulation. The Quartus II software starts the ModelSim-Altera simulator.
Modelsim (7) Creating Stimulus Waveforms Adding Signals to the Wave Window To add signals to the Wave window, follow these steps: 1. In the ModelSim-Altera GUI, expand Work in the Library window, and then right-click in your project name. 2. Click Create Wave Three signals from the design example are added in the Wave window, where you can create stimulus waveforms for each signal to simulate the design. In this example, you will create stimulus waveforms for the x,y and F signals.
Modelsim (8)
Modelsim (9)