alle

D

DoraSzasz

Guest
Voglio fare una serie di paralleli convertitore a 11 bit con registri 7495.Ho fatto il codice per la registrazione e per contrastare, e questo è il programma che causa i problemi di me .... ho alcuni errori a parametri di dichiarazione e forse, quando ho messo lo stimolo, al programma di testing .... vi ho trasmesso il programma principale, il contatore e il passaggio registro ... (il contatore e il passaggio registro sono corrette-I check it)

La ringrazio molto per avermi aiutato!Ecco il programma principale:modulo principale (
ingresso CLK,
input [10:0] PIN,
Uscita OUT

);

Q filo, Qb, Qc, Qd, Q1, Q2, Q3, Q4, W1, W2, W3, W4;
filo M, L;
reg uno;
/ / primo grado
counter inst1 (. CLRM (1'b1),. LOADM (L),. ORL (1'b1),. PEV (1'b1),. CLK (clk),. A (1'b0),. B ( 1'b0),. C (1'b0),. D (1'b0),. Q (Q1),. Qb (Q2),. Qc (Q3). Qd (Q4),. RCO (a) );
sempre @ (Q1, Q2, Q3, Q4)
iniziare
if (Q == 1 & Qb == 1 & & 1 == Qc Qd == 1) assegnare un 1'b1 =;
assegnare un altro = 1'b0;

fine
/ / secondo grado per la frequenza divisore
counter inst2 (. CLRM (1'b1),. A (1'b0),. B (1'b0),. C (1'b0),. D (1'b0),. ORL (uno),. PEV (a),. LOADM (L),. CLK (clk),
. Q (w1),. Qb (w2),. Qc (w3),. Qd (W4),. RCO (1'b0));
assegnare M =! (Q1 | Q2 | Q3 | Q4);
assegnare L =! (w3 & q4 & w2);

reg [10:0] BOUT;

/ / reg modalità;
/ /
/ /
/ / sempre @ (Q1, Q2)
/ / inizio
/ /
if (Q1
e Q2 == 4'b0 == 4'b0) assegnare mode = 1'b1;
/ / fine

shiftregister inst3 (. mode (M). clk1 (clk),. clk2 (clk),. servizi (1'b0),. bis (PIN [10]),. b PIN ([9]),. c ( PIN [8]). d PIN ([7]),. QA (BOUT [0]),. qb (BOUT [1]),. QC (BOUT [2]),. QD (BOUT [3]) );
shiftregister inst4 (. mode (M). clk1 (clk),. clk2 (clk),. servizi (BOUT [3]),. uno PIN ([6]),. b PIN ([5]). c PIN ([4]). d (PIN [3]),. QA (BOUT [4]),. qb (BOUT [5]),. QC (BOUT [6]),. QD (BOUT [7] ));
shiftregister inst5 (. mode (M). clk1 (clk),. clk2 (clk),. servizi (BOUT [7]),. uno PIN ([2]),. b PIN ([1]),. c PIN ([0]). d (1'b0). QA (BOUT [8]),. qb (BOUT [9]),. QC (BOUT [10]),. qd (OUT));
endmoduleEcco il contrasto:Modulo contatore (
ingresso CLRM,
ingresso LOADM,
ingresso ORL,
ingresso PEV,
ingresso CLK,
Un ingresso,
ingresso B,
ingresso C,
ingresso S,
uscita Q,
Qb uscita,
uscita Qc,
uscita Qd,
uscita RCO
);

reg [3:0] contare;
sempre @ (posedge CLK)
if (! CLRM) count <= 4'b0;
else if (! LOADM) count <= (A, B, C, D);
else count <= count (ENP
e ENT);
assegnare Q = count [3];
assegnare Qb = count [2];
assegnare Qc = count [1];
assegnare Qd = count [0];
assegnare RCO = (ORL)? (count == 4'd15): 0;

endmoduleEcco il passaggio registro:modulo shiftregister (
modalità di ingresso,
ingresso clk1,
ingresso clk2,
servizi di ingresso,
uno di ingresso,
b ingresso,
c ingresso,
d ingresso,
uscita reg QA,
uscita reg qb,
reg output QC,
uscita reg QD
);
filo internalclk = (modalità)?clk2: clk1;
sempre @ (negedge internalclk)
iniziare
QA <= (modalità)?a: servizi;
qb <= (modalità)?b: QA;
QC <= (modalità)?c: qb;
QD <= (modalità)?d: QC;
fine
endmodule

 

Welcome to EDABoard.com

Sponsor

Back
Top