Académique Documents
Professionnel Documents
Culture Documents
NUMERICE
CURS
Structura cursului
Scurt istoric privind dezvoltarea echipamentelor de prelucrare a
datelor;
Verilog HDL (hardware description language) - limbaj utilizat
pentru descrierea sistemelor numerice (calculatoare, componente
ale acestora, alte structuri care manipuleaza informatia numeric);
Notiuni de teoria informatiei;
Elemente introductive privind operarea si organizarea unui sistem
numeric; conventii de proiectare;
Intarzierea in circuite combinationale, sincronizarea elementelor de
memorare a informatiei, calculul perioadei ceasului;
Arii / Retele / Tablouri de porti programabile (Field Programmable
Gate Arrays - FPGAs)
Structura cursului
Modalitati de reprezentare a calculatoarelor : reprezentarea
functional/comportamentala; arhitectura calculatorului numeric;
reprezentarea structurala a unui calculator;
Bazele aritmetice ale calculatoarelor numerice: reprezentarea
informatiei numerice in calculatoare; erorile de calcul;
Operatii aritmetice : implementare, algoritmul lui Booth
Unitati de executie si comanda integrata (AMD 2901, AMD 2909)
Limbajul VHDL (Very High Speed Integrated Circuit (VHSIC)
Hardware Description Language)
Masini Virtuale si GPU
Scurt istoric
Verilog HDL
Verilog HDL reprezint un limbaj utilizat pentru descrierea
sistemelor numerice. Sistemele numerice pot fi calculatoare,
componenete ale acestora sau alte structuri care manipuleaza
informaie numeric.
Verilog HDL
Verilog HDL
In cadrul procesului de edificare a domeniului teoriei informatiei sau dat si precizat o serie de definitii formale privind continutul
informational al unui mesaj (Hartley - 1928, Kolmogorov - 1942,
Wiener - 1948, Shannon - 1949 ). Sub forma cea mai generala,
informatia este considerata ca o inlaturare/eliminare a incertitudinii.
Conventii de proiectare
Transferurile ntre registre
Componente combinaionale
Componente secveniale
FPGA definire
Interconectarea blocurilor
Reprezentarea funcional/comportamental
Instruciunile calculatorului
Sisteme de numeraie
Coduri alfanumerice
Operatii aritmetice
Procesorul aritmetic
Operaii aritmetice n virgul fix:
- Sumatoare performante
- Implementarea nmulirii
- Algoritmul lui Booth
Operatii aritmetice
Microprogramare
Limbajul VHDL
Metodologii de proiectare
Masini Virtuale
Graphics Processing Units GPU
Scurt istoric
Un calculator modern reprezint un sistem complex, care
nglobeaz n construcia sa tehnologii diverse: electronice,
magnetice, electromecanice, electrono-optice etc.
Generatii de calculatoare
Generatii de calculatoare
Generatii de calculatoare
Generatii de calculatoare
Generatii de calculatoare
Niveluri de abstractizare
Niveluri de abstractizare
Niveluri de abstractizare
Verilog HDL
- curs 2, 3 -
Verilog HDL
- Istoric;
- Structura unui program;
- Conventii lexicale, tipuri de date;
- Constructii de control (for, while) si procedurale (initial,
always);
- Task-uri si functii;
- Controlul intarzierii;
- Exemple;
Verilog HDL
Verilog HDL reprezint un limbaj utilizat pentru descrierea
sistemelor numerice. Sistemele numerice pot fi calculatoare,
componenete ale acestora sau alte structuri care manipuleaza
informaie numeric.
Validarepostfabricare:
O dat ce circuitul este gata de fabricaie, este necesar
ca el s fie pus n condiii de mediu real de func ionare i
testat nainte de a fi lansat pe pia. Aceasta deoarece
viteza de simulare a RTL este sczut i exist posibilitatea gsi
rii unor buguri la testarea waferelor de Siliciu.
Verilog HDL
Verilog HDL
Verilog HDL
Verilog HDL
Verilog HDL
Verilog HDL
Verilog HDL
Verilog HDL
www.iverilog.com
// Circuit1
module Circuit1(X, Y, Z, Fout);
input X, Y, Z;
output Fout;
reg Fout;
wire w1, w2;
AND2 AND2_1(X, Y, w1);
NOT NOT_1(Z, w2);
OR2 OR2_1(w1, w2, Fout);
endmodule
module Testbench;
endmodule
module Testbench;
reg X_t, Y_t, Z_t;
wire Fout_t;
endmodule
module Testbench;
reg X_t, Y_t, Z_t;
wire Fout_t;
Circuit1 Circuit1_1(X_t, Y_t,
Z_t, Fout_t);
endmodule
module Testbench;
reg X_t, Y_t, Z_t;
wire Fout_t;
Circuit1 Circuit1_1(X_t, Y_t,
Z_t, Fout_t);
initial
begin
//case 0
X_t <= 0; Y_t <= 0; Z_t <= 0;
end
endmodule
module Testbench;
reg X_t, Y_t, Z_t;
wire Fout_t;
Circuit1 Circuit1_1(X_t, Y_t,
Z_t, Fout_t);
initial
begin
//case 0
X_t <= 0; Y_t <= 0; Z_t <= 0;
#1 $display("Fout_t = %b",
Fout_t);
end
endmodule
// Circuit1_BHV
module Circuit1_BHV(X, Y, Z, Fout);
input X, Y, Z;
output Fout;
reg Fout;
endmodule
// Circuit1_BHV
module Circuit1_BHV(X, Y, Z, Fout);
input X, Y, Z;
output Fout;
reg Fout;
always @ (X or Y or Z)
begin
F = (X & Y) | ~Z;
end
endmodule
Teoria informatiei
- curs 4 -
In cadrul procesului de edificare a domeniului teoriei informatiei sau dat si precizat o serie de definitii formale privind continutul
informational al unui mesaj (Hartley - 1928, Kolmogorov - 1942,
Wiener - 1948, Shannon - 1949 ). Sub forma cea mai generala,
informatia este considerata ca o inlaturare/eliminare a incertitudinii.
Codificarea informatiei
Eficienta codificarii
Algoritmul MAX
Algoritmul MAX
Algoritmul MAX
Algoritmul MAX
Conventii de proiectare
Stare initiala: R = S = 0 ; Q = 1; !Q = 0
- reset R = 1 Q = 0; !Q = 1
- R = 0 neschimbat, Q = 0 ; !Q = 1
- set S = 1 Q = 1; !Q = 0
- S = 0 neschimbat, Q = 1; !Q = 0
JK latch:
- este un latch SR, in care
se inverseaza valoarea Q
pentru input 11
Gated SR Latch
D latch
- D-latch = data, delay latch
Output-ul depinde de ceas:
- clock high : inputul trece in output
- clock low : se mentine output
- Level sensitive and transparent
D latch
- D-latch = data, delay latch
Output-ul depinde de ceas:
- clock high : inputul trece in output
- clock low : se mentine output
- Level sensitive and transparent
D flip-flop
- Inputul depinde de schimbarea frontului de ceas
- front crescator : input output
- altfel : isi pastreaza outputul
- Elementele de tip flip-flop functioneaza pe front
crescator, descrescator sau in scheme de tip masterslave
D latches / flip-flops
Latches
Flip-flops
T flip-flop
- T = high flip-flop isi modifica starea (toggle)
JK flip-flop
- Este un flip-flop de tip SR (J=Set, K=Reset), la care se
adauga conditia S=R=1, interpretata ca o comanda de
tip toggle;
- J = 1, K = 0 set flip-flop;
- J = 0, K = 1 reset flip-flop;
- J = K = 1 toggle flip-flop;
- J = K = 0 mentine starea;
- K este complementul lui J D flip-flop
- K = J T flip-flop
JK flip-flop este universal (poate fi configurat in SR, D,
T flip-flop)
JK flip-flop
Positive front!
Negative front!
Verilog descriptions
Verilog descriptions
Verilog descriptions
Subiecte abordate
Clock skew
Reprezentarea calculatoarelor
CURS 8
Operatii aritmetice
CURS 10