bisogno di aiuto

K

kaiser

Guest
Modulo di controllo (ld, clk_c, rst_c);
output [3:0] LD;
Ingresso clk_c;
Ingresso rst_c;
reg [3:0] LD;

reg [2:0] count;

sempre @ (posedge clk_c o posedge rst_c)
iniziare
if (rst_c)
iniziare
count <= 3'd0;
LD <= 4'b0;
fine
altro

iniziare
count <= count 1;
caso (count)
3'd1: LD [0] <= 1;
3'd2: LD [1] <= 1;
3'd3: LD [2] <= 1;
3'd4: LD [3] <= 1;
default: begin
LD <= 4'b0;
count <= 3'b0;
fine
endcase
fine
fine
endmodule

nel codice di cui sopra ..... come posso saltare 3'd5, 3'd6, 3'd7 valori del contatore ....?
Questo codice di 4 LED .... e quando i valori del contatore> 4 i LED sono tutti chiusi
3 periodi ..... come si può fare led rimanere chiusi 1 periodo?

 
È necessario reimpostare il contatore quando il suo valore è di 4 a saltare i valori che sono superiori a 4.
Quindi:
......
iniziare

if (count == 3'd4)
count <= 3'd0;
altro
count <= count 1;

caso (count)
..............

 
Credo che questo sia quello che vuoi fare!
Hope this helps!

Codice:

Modulo di controllo (ld, clk_c, rst_c);

output [3:0] LD;

Ingresso clk_c;

Ingresso rst_c;

reg [3:0] LD;

reg [3:0] ld_nx;sempre @ (posedge clk_c o posedge rst_c) begin

if (rst_c) begin

LD <= 4'b0;

end else begin

LD <= ld_nx;

fine

end / / sempre @ (posedge clk_c o posedge rst_c)sempre @ (LD) begin

ld_nx = 0;

caso (ld)

0: ld_nx [0] = 1'b1;

1: ld_nx [1] = 1'b1;

2: ld_nx [2] = 1'b1;

4: ld_nx [3] = 1'b1;

8: ld_nx [0] = 1'b1;

/ endcase / Case (ld)

fine

endmodule
 

Welcome to EDABoard.com

Sponsor

Back
Top