Serijos lygiagrečiai konverterio-problema Verilog!

D

DoraSzasz

Guest
Norėčiau užsisakyti serijos lygiagrečiai keitiklis 11 bitų ir 7495 registrai.Aš padariau kodas registre ir kovoti, ir tai yra pagrindinė programa, kuri man problemų .... aš kai kurių klaidų, parametrų deklaracija ir galbūt kai aš paskata, ne testavimo programa .... Aš atsiųsti jums Pagrindinės programos, kovos ir pereiti registre ... (skaitiklis ir pereiti registre yra teisinga I check it)

Ačiū labai už pagalbą mane!Čia yra pagrindinės programos:pagrindinis modulio (
įvesties CLK,
įvedimo [10:0] PIN
produkcijos OUT

);

viela Qa, Qb, Qc, QD, Q1, Q2, Q3, Q4, W1, W2, w3, W4;
viela, M, L;
reg a;
/ / pirmojoje instancijoje
counter inst1 (. CLRM (1'b1). LOADM (L). ENT (1'b1). EKP (1'b1). CLK (CLK). A (1'b0). B ( 1'b0). C (1'b0). D (1'b0). Qa (q1). Qb (Q2). Qc (Q3). QD (Q4). RCO (a) );
visada @ (Q1, Q2, Q3, Q4)
pradėti
jei (Qa == 1 & Qb == 1 & Qc == 1 & QD == 1) priskirti = 1'b1;
dar priskirti = 1'b0;

pabaiga
/ / antra instancija dažnio daliklis
counter inst2 (. CLRM (1'b1). A (1'b0). B (1'b0). C (1'b0). D (1'b0). ENT (a). EKP (a). LOADM (L). CLK (CLK),
. Qa (w1). Qb (W2). Qc (w3). QD (W4). RCO (1'b0));
priskirti M =! (K1 | K2 | K3 | K4);
priskirti L =! (w3 & W2 & Q4);

reg [10:0] Bout;

/ / reg būdas;
/ /
/ /
/ / visada @ (Q1, Q2)
/ / prasideda
/ / if (K1 == 4'b0 & K2 == 4'b0) priskirti mode = 1'b1;
/ / pabaiga

shiftregister inst3 (. režimą (M). clk1 (CLK),. clk2 (CLK). ser (1'b0). a (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 (. režimą (M). clk1 (CLK),. clk2 (CLK). ser (Bout [3]). a (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 (. režimą (M). clk1 (CLK),. clk2 (CLK). ser (Bout [7]). a (PIN) [2]. b (PIN) [1]. c (PIN [0]). d (1'b0). QA (Bout [8]). QB (Bout [9]). QC (Bout [10]). QD (OUT));
endmoduleČia yra counter:modulis skaitiklis (
įvesties CLRM,
įvesties LOADM,
įvesties ENT,
įvesties EKP,
įvesties CLK,
įvesties A
įvesties B
įvesties C
įvesties D
produkcijos Qa,
produkcijos Qb,
produkcijos, QC,
produkcijos QD,
produkcijos RCO
);

reg [3:0] skaičius;
visada @ (posedge CLK)
if (! CLRM) count <= 4'b0;
else if (! LOADM) count <= (A, B, C, D);
else count <= count (EKP & ENT);
priskirti Qa = count [3];
priskirti Qb = count [2];
priskirti Qc = count [1];
priskirti QD = count [0];
priskirti RCO = (ENT)? (count == 4'd15): 0;

endmoduleČia yra registre keičiamas:modulis shiftregister (
įvedimo būdą,
įvesties clk1,
įvesties clk2,
įvesties ser,
įvesti,
įvesties b
įvesties c
įvesties d,
produkcijos raj QA,
produkcijos raj QB,
produkcijos raj, QC,
produkcijos raj QD
);
viela internalclk = (būdas)?clk2: clk1;
visada @ (negedge internalclk)
pradėti
QA <= (būdas)?a: ser;
QB <= (būdas)?b: QA;
QC <= (būdas)?c: QB;
QD <= (būdas)?d: QC;
pabaiga
endmodule

 

Welcome to EDABoard.com

Sponsor

Back
Top