You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.7 KiB
Coq

7 months ago
module ges_ws2812(
input wire sys_clk ,
input wire sys_rst_n ,
output wire scl ,
inout wire sda ,
output wire [3: 0] led ,
output wire dout
);
wire [2: 0] step ;
wire [5: 0] cfg_num ;
wire [15: 0] cfg_data ;
wire cfg_start ;
wire i2c_clk ;
wire i2c_start ;
wire [7: 0] po_data ;
wire [3: 0] ges_data ;
wire bit ;
wire [4: 0] cnt_bit ;
wire [6: 0] cnt_pixel ;
assign ges_data = po_data[3: 0];
paj7620_cfg paj7620_cfg_inst(
.i2c_clk (i2c_clk ),
.sys_rst_n (sys_rst_n ),
.cfg_start (cfg_start ),
.step (step ),
.cfg_num (cfg_num ),
.cfg_data (cfg_data ),
.i2c_start (i2c_start )
);
i2c_ctrl i2c_ctrl_inst(
.sys_clk (sys_clk ),
.sys_rst_n (sys_rst_n ),
.i2c_start (i2c_start ),
.cfg_num (cfg_num ),
.cfg_data (cfg_data ),
.cfg_start (cfg_start ),
.step (step ),
.i2c_clk (i2c_clk ),
.scl (scl ),
.sda (sda ),
.po_data (po_data )
);
led_ctrl led_ctrl_inst(
.sys_clk (sys_clk ),
.sys_rst_n (sys_rst_n ),
.ges_data (ges_data ),
.led (led )
);
ws2812_ctrl ws2812_ctrl_inst(
.sys_clk (sys_clk ),
.sys_rst_n (sys_rst_n ),
.bit (bit ),//01
.cnt_bit (cnt_bit ),
.cnt_pixel (cnt_pixel ),
.dout (dout )
);
data_cfg data_cfg_inst(
.cnt_bit (cnt_bit ),
.cnt_pixel (cnt_pixel ),
.ges_data (ges_data ),
.bit (bit )
);
endmodule