FPGA第一次练手
仅有基本的计时功能,其他的功能正在赶来
程序如下:
module column_scan_module
(
CLK, RSTn, Column_Scan_Sig,Row_Scan_Sig
);
input CLK;
input RSTn;
output [5:0]Column_Scan_Sig;
output [7:0]Row_Scan_Sig;
/*****************************/
parameter T4MS = 18'd19_9999;
/*****************************/
reg [18:0]Count1;
always @ ( posedge CLK or negedge RSTn )
if( !RSTn )
Count1 <= 18'd0;
else if( Count1 == T4MS )
Count1 <= 18'd0;
else
Count1 <= Count1 + 1'b1;
/******************************/
reg [2:0]t;
always @ ( posedge CLK or negedge RSTn )
if( !RSTn )
t <= 3'd0;
else if( t == 3'd6 )
t <= 3'd0;
else if( Count1 == T4MS )
t <= t + 1'b1;
/*********************************/
reg [5:0]rColumn_Scan;
always @ ( posedge CLK or negedge RSTn )
if( !RSTn )
rColumn_Scan <= 6'b111111;
else if( Count1 == T4MS )
case( t )
3'd0 : rColumn_Scan <= 6'b111110;
3'd1 : rColumn_Scan <= 6'b111101;
3'd2 : rColumn_Scan <= 6'b111011;
3'd3 : rColumn_Scan <= 6'b110111;
3'd4 : rColumn_Scan <= 6'b101111;
3'd5 : rColumn_Scan <= 6'b011111;
endcase