Brug CE af SRL

T

teja321

Guest
Input til bestyrelsen er 16 Mhz.Derfor bruger SRL Jeg har opdelt det ur til en frekvens på 1 Hz og jeg bruger dette ur til at køre bil LED's i en sekvens.

Code:modul led_counter (CLK, led_out, RST);input CLK, RST;

output reg [3:0] led_out;wire clk_buf;tildele en = 1'b1;

tildele nul = 1'b0;wire [6:0] clk_en;//////////// BUFG INSTANTIATION /////////////////////BUFG BUFG_1 (

. O (clk_buf), / / Clock buffer output

. I (CLK) / / Clock buffer input

);

//////////////////////////////////////////////////
/ / Input ur på 16 Mhz

/ / Divider med 16SRLC16E # (. INIT (16'h0001)) / / Initial Værdi af Shift Register

SRLC16E_1 (

. Q (), / / SRL dataudlaesning

. K15 (clk_en [0]) / / Carry output (forbindelse til næste SRL)

. A0 (en), / / Vælg [0] input

. A1 (en), / / Vælg [1] input

. A2 (en), / / Vælg [2] input

. A3 (en), / / Vælg [3] input

. CE (en) / / Ur give input

. CLK (clk_buf), / / Clock input

. D (clk_en [0]) / / SRL databidrag

);genvar i;generere

for (i = 0; i <6; I = I 1)

begynder: gen_10_srl

/ / Divide by 16 x 10 ^ 6 = 16 Mhz/16_000_000 = 1 Hz

SRLC16E # (. INIT (16'h0001)) / / Initial Værdi af Shift Register

SRLC16E_2 (

. Q (clk_en [i 1]) / / SRL dataudlaesning

. K15 (), / / Carry output (forbindelse til næste SRL)

. A0 (en), / / Vælg [0] input

. A1 (nul), / / Vælg [1] input

. A2 (nul), / / Vælg [2] input

. A3 (en), / / Vælg [3] input

. CE (en) / / Ur give input

. CLK (clk_en ) / / Clock input

. D (clk_en [i 1]) / / SRL databidrag

);

ende

endgeneratereg clk_1s_d;altid @ (posedge clk_buf)

clk_1s_d <= clk_en [6];tildele clk_1s = clk_en [6] & (~ clk_1s_d);altid @ (posedge clk_buf eller posedge RST) begynder

if (RST == 1'b1)

led_out <= 4'b1110;

ellers hvis (clk_1s == 1'b1) begynder

sagen (led_out)

4'b0111: led_out <= 4'b1110;

4'b1110: led_out <= 4'b1101;

4'b1101: led_out <= 4'b1011;

4'b1011: led_out <= 4'b0111;

endcase

ende

endeendmodule

 

Welcome to EDABoard.com

Sponsor

Back
Top