Projekt 7: Simulera tekniskt fel och dröjsmål i minnen kretsar (1 / 3 steg)
Steg 1: Genomföra kretsen i Verilog
I detta projekt kommer vi att genomföra en krets i Verilog och simulera den, med beaktande av dröjsmål. Kretsen Schematisk visas i figur 1 ovan och fördröjningen av varje gate markeras i rött.
Krets tar tre ingångar (A, B, C) och en utgång (X), så förklaringen av modulen går enligt följande:
1 modul () CombCirc
2 ingång A,
3 input B,
4 ingång C,
5 utgång X
6).
7
8 / / cirkelträning Beskrivning
9
10 endmodule
Som vi behöver berätta verktyg om förseningen av utfärda utegångsförbud för, kommer vi att definiera namnet på varje inre tråd.
1 tråd N1, N2, N3;
Nu beskriver vi varje gate i kretsen en efter en.
1 / / och-grind med 1ns fördröjning
2 tilldela #1 N1 = A & B;
3 / / inte utfärda utegångsförbud för med 1ns fördröjning
4 tilldela #1 N2 = ~ B;
5 / / och Gate med 1ns fördröjning
6 tilldela #1 N3 = N2 & C;
7 / / eller grind med 1ns fördröjning
8 tilldela #1 X = N1 | N3;
Så Verilog filen som beskriver krets, med dröjsmål information och tidsskala för varje försening av varje gate, ser ut som följer:
1 ' tidsskalan 1ns / 1ps
() 2 modul CombCirc
3 ingång A,
4 ingång B,
5 ingång C,
6 utgång X
7).
8
9 tråd N1, N2, N3;
10
11 / / och-grind med 1ns fördröjning
12 tilldela #1 N1 = A & B;
13 / / inte utfärda utegångsförbud för med 1ns fördröjning
14 tilldela #1 N2 = ~ B;
15 / / och Gate med 1ns fördröjning
16 tilldela #1 N3 = N2 & C;
17 / / eller grind med 1ns fördröjning
18 tilldela #1 X = N1 | N3;
19
20 endmodule