Sequential Statements. – Il VHDL simula lo svolgersi in parallelo di varie operazioni – Loggetto fondamentale e il PROCESS – Un PROCESS contiene una serie.

Slides:



Advertisements
Presentazioni simili
Cache Memory Prof. G. Nicosia University of Catania
Advertisements

S/N SCORM 2004 sequencing and navigation Sequencing definition model
Teoria e Tecniche del Riconoscimento
1 Progettazione gerarchica delle s- espressioni, utilizzando lereditarietà
Interfacce Java.
PROGRAMMARE IN PASCAL (le basi)
Le funzioni UD. 8 – Lorganizzazione dei programmi p. 309 LS Tron 4TC 06/07.
Laboratorio Matematica e Informatica
Each student will be able to ask an adult or stranger: What do you like to do? and What dont you like to …?
Programmazione Concorrente
Sincronizzazione di processi
Un DataBase Management System (DBMS) relazionale client/server.
Risore sul web (JavaScript) tm
Esempio: Tombola! Parte seconda.
Unified Modeling Language class C {…} class B extends C {…} Esiste una notazione grafica per mostrare le relazioni di ereditarietà. Object StringC B Tutte.
Sezione: Costruttori Costruttori. Definizione dei costruttori Se per una classe A non scrivo nessun costruttore, il sistema automaticamente crea il costruttore.
prompt> java SumAverage
TIPOLOGIA DELLE VARIABILI SPERIMENTALI: Variabili nominali Variabili quantali Variabili semi-quantitative Variabili quantitative.
// PROTOTIPI void costruisciLista(Pnodo &, string &); void stampaLista(Pnodo ); void creaNodo (int, Pnodo&); Pnodo inserisciNodoTesta (int,Pnodo &); Pnodo.
Sviluppo di Software Sicuro - S 3 Condizioni di verifica in pratica Corso di Laurea Magistrale in Sicurezza Informatica: Infrastrutture e Applicazioni.
Sviluppo di Software Sicuro - S 3 SPARK – Moduli Corso di Laurea Magistrale in Sicurezza Informatica: Infrastrutture e Applicazioni Università di Pisa.
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
1 Esercitazione sui segnali Problema: creare un programma analizzatore di file testuali che prenda come argomenti il nome di un file e una sequenza di.
Modello dati LISTA LISTA: LISTA: sequenza finita di 0 o più elementi LISTA di tipo T: lista in cui tutti gli elementi sono dello stesso tipo T. es. lista.
1 Implementazione di Linguaggi 2 PARTE 6 Implementazione di Linguaggi 2 PARTE 6 Massimo Ancona DISI Università di Genova Testo: A.V. Aho, R. Sethi, J.D.Ullman.
© CEFRIEL Cenni su XML in Java Docente: Gabriele Lombardi
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
Introduzione Grid1 Introduzione ai Sistemi Grid. Introduzione Grid2 Generalità Un sistema Grid permette allutente di richiedere lesecuzione di un servizio.
Sottoprogrammi e Unità di Compilazione Nicola Fanizzi Laboratorio - Corso di Programmazione (B) C.d.L. in Informatica DIB - Università degli Studi di Bari.
Array Ricerca Ordinamento Fusione Nicola Fanizzi Laboratorio - Corso di Programmazione (B) C.d.L. in Informatica DIB - Università degli Studi di Bari.
OPERAZIONI CON STRINGHE Le operazioni più interessanti da fare, per ora, con le stringhe sono: determinare la lunghezza della stringa, cioè quanti caratteri.
CAPITOLO 7.
Players: 3 to 10, or teams. Aim of the game: find a name, starting with a specific letter, for each category. You need: internet connection laptop.
FUNZIONI DI GRUPPO Le funzioni di gruppo operano su un set di record restituendo un risultato per il gruppo. AVG ([DISTINCT|ALL] n) media, ignora i valori.
Una macchina sequenziale asincrona ha due ingressi x1, x2 e un'uscita z. Gli ingressi non cambiano mai di valore contemporaneamente. L'uscita assume il.
Una rete sequenziale asincrona e' caratterizzata da due segnali di ingresso X1, X2 (i quali non cambiano mai contemporaneamente) e da un segnale di uscita.
MACCHINE A STATI FINITI
SOURCE TERM ON NPP SAFETY ANALYSES Marino Mazzini Professore Ordinario nel s.s.d. Impianti Nucleari Università di Pisa Facoltà di Ingegneria Dipartimento.
Ricerca di una chiave: Search(x, k) if x == nil or k == x.key return x
realizzazione app per Google Android OS
Roma, 13 maggio 2005 slide 1 ActionScript 3.0 e Flex Introduzione ai Flex Forms.
Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria di Modena Corso di Laurea Specialistica in Ingegneria Informatica Analisi e valutazione.
Un esempio: Registrazione e lettura di dati in un file
Microsoft Access Maschere.
Realizzazione Grammatica non contestuale –no ricorsioni sinistre –LL(1) produzione individuata dal primo token Ogni non-terminale -> funzione –rappresenta.
(1) Sistemi Operativi Prof. P. Cattaneo ufficio: L Ricevimento: Martedì14.00 –
Calibrating (Partial Equilibrium) Mathematical Programming Spatial Models Open questions … (filippo arfini) III Workshop PUE&PIEC - Treia (Mc), 3-4 febbraio.
Progetto di una memoria cache per il processore DLX Andrea Grandi Filippo Malaguti Massimiliano Mattetti Gabriele Morlini Thomas Ricci Progetto di Calcolatori.
Introduzione al linguaggio C. Cos’e’ il C? Il C e’ un linguaggio ad alto livello Un compilatore C prende in input un file contenente codice sorgente C.
Scrivere un algoritmo non deterministico di complessita` polinomiale che risolva il problema del commesso viaggiatore. Vengono proposte due soluzioni,
Collection & Generics in Java
Dynamic SQL.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
JavaScript Generalità Cos'è JavaScript?
FUNZIONI Dichiarazione: Definizione:
PLSQL 1.1 LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture.
Programmazione Concorrente e Distribuita
PROVA INTERCORSO MOD.B a.a RICORSIONE ESERCIZI A1.1-A1.6.
Lez 4 (13/14)Elementi di Programmazione1 Strutture di controllo 2.
arduino: dalla teoria alla pratica
PLSQL 1.1 LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture.
R-AR-B R-CR-D R-E R-F H-A H-B H-CH-D H-E H-FH-G Rete di Riferimento Grafo Equivalente OSPF - RIP BGP.
Programmazione: Iterazione Esistono tre tipi di iterazione fondamentali e vedremo la corrispondenza dei relativi diagrammi a blocchi e la loro traduzione.
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Somme prefisse Lezione n°2.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Lezione Terza Primi passi di programmazione
Transcript della presentazione:

Sequential Statements

– Il VHDL simula lo svolgersi in parallelo di varie operazioni – Loggetto fondamentale e il PROCESS – Un PROCESS contiene una serie di operazioni sequenziali – Al suo interno la metodologia di programmazione e di tipo sequenziale e pertanto familiare ai programmatori – Tutte le operazioni racchiuse in un PROCESS avvengono in un tempo (tempo di simulazione) NULLO – I PROCESS sono tra loro concorrenti (operano in parallelo) – Un PROCESS e un loop infinito e non esce mai – Un PROCESS deve contenere unistruzione WAIT o una SENSITIVITY LIST (per la sincronizzazione)

Sequential Statements(es.) Entity LOW_HIGH is port (a,b,c in integer); end; architecture BEHAV of LOW_HIGH is begin L: Process variable low: integer :=0; begin wait on a,b,c; if a < b then low:=a; else low:=b; end if; if c < low then low :=c; end if; end process; H: Process variable high integer :=0; begin wait on a,b,c; if a > b then high:=a; else high:=b; end if; if c > high then high :=c; end if; end process; end BEHAV;

Sequential Statements Le espressioni tipiche di operazioni sequenziali sono: – PROCESS Statement – Variable Assignement – IF Statement – CASE Statement – LOOP Statement – WAIT Statement – NEXT Statement – EXIT Statement – Subprograms – ASSERT

PROCESS Statements Sintassi [label:] process [(sensitivity list)] [subprograms] [type] [constant] [variable] [other declaration] begin sequential statements end process [label];

Sintassi La variabile deve essere dichiarata a priori Deve essere dello stesso tipo dellassegnamento Le variabili sono LOCALI allinterno del PROCESS VARIABLE Assignment target := expression; a := a; b := 123.0; c := ; z := x + y ;

SIGNAL Assignment Sintassi Lassegnazione di un segnale deve essere sincronizzata o tramite un WAIT o con la sensitivity list target <= expression [after delay]; c <= 1 after 1ns; b <= a ; z <= x + y ;

IF Assignment Sintassi Esempio: if condition then seq_statement1; {elsif condition then seq_statement2;} [else seq_statement3;] end if; if (Z) then T:=D; elsif (Y) then T:=C; elsif (X) then T:=B; else T:=A; end if;

CASE Assignment Sintassi Esempio: case expression is when choise_1 => seq_of_assign_1;... when choise_n => seq_of_assign_n; end case; case BCD is when 0000 => LED := ; when 0001 => LED := ;... when others => LED := ; end case;

CASE Assignment Casi particolari Certi sistemi richiedono esplicito il when others! Anche se fisicamente la condizione non sara mai raggiunta. case expression is when c1 => assign_1; when c2 | c3 => assign_2; when c4 to c9 => assign_3; when others => assign_4; end case;

LOOP Statement E il modo classico per descrivere cicli Si possono usare sia FOR, WHILE o cicli infiniti I LOOPs possono essere nidificati uno nellaltro Label1: FOR i in 1 to 10 LOOP s1; s2;... sn; END LOOP; i:=1; Label2: WHILE (i < 11) LOOP s1; s2;... sn; i:= i+1; END LOOP

LOOP Statement Sebbene il PROCESS sia un LOOP infinito si puo evidenziare il loop (per motivi di stile) process begin initial_statements loop sequential_statement end loop; end process;

NEXT Statement Serve per bypassare una parte di un LOOP Le LABEL servono per identificare univocamente il loop in caso di loop annidati L2: WHILE j < 20 LOOP L1: FOR i in 1 to 10 LOOP IF (a(i) = 0) THEN NEXT L1; END IF; q(i) := a(i); END LOOP L1; END LOOP L2;

EXIT Statement Serve per uscire da un LOOP prima che questo abbia raggiunto la sua logica fine L1: FOR i in 1 to 10 LOOP IF (a(i) = 0) THEN EXIT; END IF; q(i) := a(i); END LOOP L1;

WAIT Statement Serve per sincronizzare un processo su opportuni eventi Ve ne sono 4 tipi: – WAIT FOR, WAIT UNTIL, WAIT ON e WAIT Sintassi: Esempi: wait [on signal] [until condition] [for time] wait on a,b; wait until x > 10; wait for 10 ns; wait;

ASSERT/REPORT Statement Da usarsi SOLO IN SIMULAZIONE Serve al debugging di un sistema 4 gradi di severity: FAILURE, ERROR, WARNING, NOTE Sintassi: Esempio: assert condition [report string] [severity expression]; assert (x > 3) report troppo basso severity WARNING assert (false) report starting sim.

PROCEDURE e FUNCTIONS Vengono impiegate per documentare operazioni usate frequentemente Si rimanda il lettore a testi specifici