|
- module main(
- input clk, //时钟输入
- output reg led //低电平(计算正确)点亮
- );
- function [23:0] rgb; //取颜色值 返回24位宽颜色值
- input [7:0] red; //8位宽红色值:0~255
- input [7:0] green; //8位宽绿色值:0~255
- input [7:0] blue; //8位宽蓝色值:0~255
- begin
- rgb = {blue,green,red};
- end
- endfunction
- function [7:0] red; //取红色值 返回8位宽
- input [23:0] rgb; //24位宽颜色值
- begin
- red = rgb[7:0];
- end
- endfunction
- function [7:0] green; //取绿色值 返回8位宽
- input [23:0] rgb; //24位宽颜色值
- begin
- green = rgb[15:8];
- end
- endfunction
- function [7:0] blue; //取蓝色值 返回8位宽
- input [23:0] rgb; //24位宽颜色值
- begin
- blue = rgb[23:16];
- end
- endfunction
- wire [23:0] color = 24'd12345678;
- always @(posedge clk) begin
- if(rgb(8'd123,8'd234,8'd101) == 24'd6679163 && red(color) == 8'd78 && green(color) == 8'd97 && blue(color) == 8'd188) begin
- led <= 1'd0;
- end else begin
- led <= 1'd1;
- end
- end
- endmodule
复制代码
|
|