Mihai Sprinceana
Un forum de programare cu de toate. Va astept sa va inscrieti si sa deveniti moderatori. Oricine este binevenit aici sa se inscrie si sa aiba acces la informatie free! Fiecare este liber sa adauge proiecte programe free etc. Ajutati acest forum sa devina o comunitate puternica unde fiecare invata de la fiecare! Tot ce trebuie sa faceti este sa va inregistrati si fiecare contributie se poate dovedi utila in timp! Forumul este free informatia free dk aveti timp liber ajutati si pe ceilalti si invatati si voi in acelasi timp! Haideti sa facem ceva pt.a ne ajuta intre noi! Cititi regulament postare forum inainte de a posta!
Lista Forumurilor Pe Tematici
Mihai Sprinceana | Inregistrare | Login

POZE MIHAI SPRINCEANA

Nu sunteti logat.
Nou pe simpatie:
theo23 la Simpatie.ro
Femeie
24 ani
Arges
cauta Barbat
26 - 45 ani
Mihai Sprinceana / Verilog / Bistabil D cu Reset Moderat de Catalin, buivietkhoa1919upg, fireratbat, profu.info, sade5000
Autor
Mesaj Pagini: 1
Catalin
Moderator

Inregistrat: acum 18 ani
Postari: 19
//Problema cu bistabilD numai ca mai apare si reset

module bistabild(d,clk,rst,q,nq); //declar iesiri finale apoi intrari
input d,rst,clk; //declaratia intrarilor
output q,nq; //declaratia iesirilor
wire w1,w2,q,nq; //w1,w2 fire de legatura, nq-variabila asociata lui q negat
assign nq=~q; //asignam variabilei nq simbolul ~q-adica q negat la nivel de bit pt a sti ca variabila nq reprezinta
q negat
always @(posedge clk or posedge rst)
if(rst) q<=0;   
else q<=d;
endmodule

module numarsincron(q0,q1,q2,q3,carry,enable,clk);
input enable,clk;
output q0,q1,q2,q3;
wire w1,w2,w3,w4,w5,w6,w7;
and(w1,enable,q0);//se trece intai iesirea din poarta logica si apoi intrarile
and(w2,w1,q1);
and(w3,w2,q2);
and(carry,w3,q3);
xor(w4,q0,enable);
xor(w5,q1,w1);
xor(w6,q2,w2);
xor(w7,q3,w3);
bistabild a1(w4,clk,q0,nq0); //apelez de 4 ori modulul bistabild deoarece avem un numarator sincron pe 4biti
bistabild a2(w5,clk,q1,nq1);
bistabild a3(w6,clk,q2,nq2);
bistabild a4(w7,clk,q3,nq3);
endmodule

module simulous;
reg enable,clk; //declar registrii adica intrarile
wire w1,w2,w3,w4,w5,w6,w7; //de tip wire sunt iesirile
initial
begin
d=0;clk=0;
end
always
#5 clk=~clk; //directiva neaga semnalul de ceas
#45 $finish; //9semiperioade, $finish-directiva de terminare, initial-initializare valori
begin
#3 d=1'b1;#11 d=1'b0;#21 d=1'b1;
#27 d=1'b0;#32 d=1'b1;#34 d=~d;#37
d=~d;
end
initial
$monitor($time," input clk=%b  data=%b -->>  output Q=%b",clk,d,q); //afisare cu directiva $monitor
endmodule


pus acum 18 ani
   
Pagini: 1  

Mergi la