CU APLICAȚII
CUPRINS
1.1. PREZENTAREA GENERALĂ A CALCULATORULUI DIDACTIC
1.2. INSTRUCȚIUNILE CALCULATORULUI DIDACTIC
1.2.1. Limbajul de descriere utilizat
1.2.2. Structura cuvântului
1.2.3. Setul de instrucțiuni
1.2.4. Exemple de programe
1.3. STRUCTURA CALCULATORULUI DIDACTIC
1.3.1. Structura generală
1.3.2. Semnalele de comandă
1.3.3. Structura detaliată
1.4. EXECUȚIA INSTRUCȚIUNILOR
1.5. APLICAȚII
2.1. ÎNMULȚIREA BINARĂ
2.1.1. Metode de înmulțire binară
2.1.2. Înmulțirea prin metoda directă
2.1.3. Înmulțirea prin metoda Booth
2.1.4. Înmulțirea pe grupe de cifre
2.2. ÎMPĂRȚIREA BINARĂ
2.2.1. Principiul împărțirii binare
2.2.2. Metode de împărțire binară
2.2.3. Metoda refacerii restului parțial
2.2.4. Metoda fără refacerea restului parțial
2.3. APLICAȚII
3.1. ÎNMULȚIREA ZECIMALĂ
3.1.1. Metoda adunării repetate
3.1.2. Metoda celor nouă multipli ai deînmulțitului
3.1.3. Metoda componenților din dreapta și din stânga
3.2. ÎMPĂRȚIREA ZECIMALĂ
3.2.1. Metoda refacerii restului parțial
3.2.2. Metoda fără refacerea restului parțial
3.2.3. Metoda celor nouă multipli ai împărțitorului
3.3. APLICAȚII
4.1. PRINCIPIUL CALCULATOARELOR MICROPROGRAMATE
4.1.1. Introducere
4.1.2. Microprogramarea pe orizontală și pe verticală
4.1.3. Structura unei unități de comandă microprogramate
4.2. EXEMPLU DE CALCULATOR MICROPROGRAMAT PE ORIZONTALĂ
4.2.1. Structura căii de date
4.2.2. Formatul microinstrucțiunilor
4.2.3. Secvențierea microinstrucțiunilor
4.2.4. Limbajul de microasamblare
4.3. EXEMPLU DE CALCULATOR MICROPROGRAMAT PE VERTICALĂ
4.3.1. Microinstrucțiunile verticale
4.3.2. Structura secțiunii de control
4.4. APLICAȚII
5.1. PREZENTARE GENERALĂ A SISTEMULUI ACTIVE-HDL
5.2. COMPONENTELE SISTEMULUI ACTIVE-HDL
5.2.1. Editorul pentru codul sursă
5.2.2. Editorul pentru scheme bloc
5.2.3. Editorul pentru diagrame de stare
5.2.4. Compilatorul
5.2.5. Simulatorul: Etapele simulării; Definirea stimulilor; Execuția simulării
5.2.6. Editorul pentru forme de undă
5.2.7. Componenta Design Explorer
5.2.8. Componenta Design Browser
5.2.9. Componenta Library Manager: Structura bibliotecilor; Fereastra Library Manager; Operații cu biblioteci
5.2.10. Fereastra Console
5.2.11. Fereastra Processes
5.2.12. Fereastra Watch
5.2.13. Fereastra Call Stack
5.2.14. Fereastra Dataflow
5.2.15. Fereastra List
5.3. EXEMPLU DE PROIECTARE
5.3.1. Descrierea proiectului
5.3.2. Crearea unui nou proiect: Introducerea numelui proiectului; Crearea unui fișier sursă; Adăugarea porturilor
5.3.3. Editarea și compilarea codului sursă: Descrierea arhitecturii numărătorului; Specificarea bibliotecii pentru compilare; Compilarea
5.3.4. Vizualizarea structurii proiectului
5.3.5. Simularea: Inițializarea simulării; Asignarea stimulatorilor; Execuția simulării; Editarea formelor de undă; Trasarea codului sursă; Setarea punctelor de întrerupere; Validarea punctelor de întrerupere; Vizualizarea rezultatelor simulării sub formă textuală
5.3.6. Adăugarea unui nou fișier la proiect
5.3.7. Utilizarea editorului pentru automate de stare: Editarea porturilor automatului de stare; Plasarea simbolurilor stărilor; Editarea simbolului unei stări; Adăugarea tranzițiilor; Editarea tranzițiilor; Adăugarea condițiilor pentru tranziții; Adăugarea acțiunilor pentru generarea ieșirilor; Specificarea proprietăților automatului; Generarea codului sursă
5.3.8. Crearea unui fișier de nivel ierarhic superior
5.3.9. Compilarea întregului proiect
5.3.10. Simularea proiectului
5.4. APLICAȚII
6.1. UNITĂȚI DE PROIECTARE
6.2. ENTITĂȚI
6.2.1. Nume de entități: identificatori
6.2.2. Declararea entităților
6.2.3. Semnale și porturi: Conceptul de semnal; Declararea porturilor; Modul porturilor; Tipul porturilor
6.2.4. Generice
6.3. ARHITECTURI
6.3.1. Definirea arhitecturilor
6.3.2. Declararea semnalelor
6.3.3. Asignarea valorilor la semnale
6.3.4. Stiluri de descrieri arhitecturale: Descrieri funcționale; Descrieri de tipul fluxului de date; Descrieri structurale; Compararea descrierilor arhitecturale
6.4. MODELAREA PENTRU SIMULARE
6.4.1. Simularea bazată pe evenimente
6.4.2. Drivere de semnal
6.4.3. Ciclul de simulare
6.4.4. Drivere multiple și funcții de rezoluție
6.5. MODELAREA PENTRU SINTEZĂ
6.6. APLICAȚII
7.1. OBIECTE DE DATE
7.1.1. Constante
7.1.2. Variabile
7.1.3. Fișiere
7.2. TIPURI DE DATE
7.2.1. Prezentare generală a tipurilor de date: Clasificarea tipurilor de date; Tipuri care se pot utiliza pentru sinteza logică; Tipuri standard; Operatori standard
7.2.2. Tipuri scalare: Tipuri enumerate; Tipuri întregi; Tipuri flotante; Tipuri fizice
7.2.3. Tipuri compuse: Tablouri; Înregistrări
7.3. ATRIBUTE
7.3.1. Atribute pentru tipuri
7.3.2. Atribute pentru tablouri
7.3.3. Atribute pentru semnale
7.4. OPERATORI
7.4.1. Setul de operatori standard și precedența acestora
7.4.2. Operatori logici
7.4.3. Operatori relaționali
7.4.4. Operatori de deplasare
7.4.5. Operatori aritmetici
7.4.6. Operatorul de concatenare
7.5. APLICAȚII
8.1. INSTRUCȚIUNI SECVENȚIALE
8.1.1. Procese: Structura și execuția unui proces; Procese cu liste de sensibilitate incomplete; Instrucțiunea wait; Procese combinaționale și procese secvențiale
8.1.2. Instrucțiunea secvențială de asignare a semnalelor: Execuția instrucțiunii secvențiale de asignare; Reacții inverse; Întârzierea inerțială; Întârzierea de transport
8.1.3. Variabile: Declararea și inițializarea variabilelor; Instrucțiunea de asignare a variabilelor
8.1.4. Instrucțiunea if: Sintaxa și execuția instrucțiunii if; Interpretarea sintezei instrucțiunii if; Instrucțiuni if incomplete; Instrucțiuni if în care apar variabile
8.1.5. Instrucțiunea case
8.1.6. Instrucțiuni de buclare: Instrucțiunea loop; Instrucțiunea while loop; Instrucțiunea for loop; Instrucțiunea next; Instrucțiunea exit
8.1.7. Instrucțiunea secvențială assert
8.2. INSTRUCȚIUNI CONCURENTE
8.2.1. Structura și execuția unei arhitecturi
8.2.2. Procese
8.2.3. Instrucțiuni concurente de asignare a semnalelor: Instrucțiunea de asignare simplă; Instrucțiunea de asignare conditională; Instrucțiunea de asignare selectivă; Instrucțiunea block; Instrucțiunea concurentă assert
8.3. DESCRIEREA UNOR CIRCUITE COMBINAȚIONALE
8.3.1. Multiplexoare
8.3.2. Codificatoare prioritare
8.4. DESCRIEREA UNOR CIRCUITE SECVENȚIALE
8.4.1. Circuite secvențiale sincrone și asincrone
8.4.2. Bistabile
8.4.3. Registre
8.4.4. Numărătoare
8.4.5. Resetarea componentelor sincrone
8.4.6. Buffere cu trei stări și semnale bidirecționale
8.5. APLICAȚII
9.1. EXEMPLU DE PROIECTARE
9.1.1. Proiectarea tradițională
9.1.2. Proiectarea utilizând limbajul VHDL
9.2. PROIECTAREA UNUI CONTROLER DE MEMORIE
9.3. TEHNICI PENTRU GENERAREA SEMNALELOR DE IEȘIRE
9.3.1. Ieșiri decodificate din biții de stare
9.3.2. Ieșiri decodificate în registre paralele de ieșire
9.3.3. Ieșiri codificate în cadrul biților de stare
9.3.4. Codificarea cu un bistabil pe stare
9.4. AUTOMATE DE STARE DE TIP MEALY
9.5. ALTE CONSIDERAȚII DE PROIECTARE
9.5.1. Codificarea stărilor utilizând tipuri enumerate
9.5.2. Codificarea explicită a stărilor
9.5.3. Toleranța la defecte a automatelor codificate cu un bistabil pe stare
9.6. APLICAȚII
10.1. AVANTAJELE PROIECTĂRII STRUCTURALE
10.2. ELEMENTELE UNEI DESCRIERI STRUCTURALE
10.2.1. Exemplu de descriere structurală
10.2.2. Declarația componentelor
10.2.3. Instanțierea componentelor
10.2.4. Instanțierea directă a entităților
10.2.5. Specificarea configurației
10.3. BIBLIOTECI
10.4. PACHETE
10.4.1. Declarația pachetelor
10.4.2. Corpul pachetelor
10.4.3. Pachete cu declarații de componente
10.5. GENERICE ȘI COMPONENTE PARAMETRIZATE
10.5.1. Principiul genericelor
10.5.2. Definirea entităților generice
10.5.3. Utilizarea componentelor generice
10.5.4. Tipul parametrilor generici
10.5.5. Construirea unei biblioteci de componente
10.6. INSTRUCȚIUNEA GENERATE
10.6.1. Instrucțiunea for generate
10.6.2. Instrucțiunea if generate
10.6.3. Instanțierea componentelor în instrucțiunile generate
10.7. APLICAȚII
11.1. ROLUL SUBPROGRAMELOR
11.2. FUNCȚII
11.2.1. Definirea funcțiilor
11.2.2. Utilizarea funcțiilor
11.2.3. Valori inițiale
11.2.4. Parametri cu domeniul nelimitat
11.2.5. Valori returnate cu domeniul nelimitat
11.2.6. Instrucțiuni return multiple
11.2.7. Redefinirea funcțiilor
11.2.8. Funcții pentru conversii de tip: Conversii de tip predefinite; Conversii de tip definite de utilizator
11.2.9. Funcții ca alternativă la instanțierea componentelor
11.2.10. Funcții problematice pentru sinteză
11.2.11. Definirea operatorilor ca și funcții: Operatori predefiniți; Redefinirea operatorilor
11.2.12. Funcții standard
11.2.13. Plasarea definiției funcțiilor
11.3. PROCEDURI
11.3.1. Definirea procedurilor
11.3.2. Apelul procedurilor
11.3.3. Parametri cu domeniul nelimitat
11.3.4. Parametri cu modul inout
11.3.5. Semnale utilizate ca parametri
11.3.6. Redefinirea procedurilor
11.4. APLICAȚII
12.1. ARHITECTURA CALCULATORULUI DLX
12.1.1. Setul de registre
12.1.2. Structura căii de date pipeline și execuția instrucțiunilor
12.1.3. Hazarduri
12.2. LIMBAJUL DE ASAMBLARE DLX
12.2.1. Expresii
12.2.2. Directive
12.2.3. Setul de instrucțiuni: Instrucțiuni pentru transferul datelor; Instrucțiuni aritmetice și logice; Instrucțiuni de control; Instrucțiuni pentru operații în virgulă mobilă
12.3. SIMULATORUL WinDLX
12.3.1. Prezentare generală
12.3.2. Apelul funcțiilor de sistem: Deschiderea unui fișier; Închiderea unui fișier; Citirea unui bloc dintr-un fișier; Scrierea unui bloc într-un fișier; Scrierea la dispozitivul standard de ieșire
12.4. UTILIZAREA SIMULATORULUI WinDLX
12.4.1. Lansarea și configurarea simulatorului
12.4.2. Încărcarea programelor de test
12.4.3. Simularea: Fereastra căii de date pipeline; Fereastra de cod; Fereastra diagramei ciclurilor de ceas; Fereastra punctelor de întrerupere; Fereastra registrelor; Fereastra de statistici
12.5. APLICAȚII
BIBLIOGRAFIE