⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alphablending.v

📁 FPGA 学习 .再学习 .谢谢!啥得啊,还不够呢!
💻 V
字号:
`timescale 1ns / 1ps
////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer:
//
// Create Date:    13:44:22 09/15/06
// Design Name:    
// Module Name:    AlphaBlending
// Project Name:   
// Target Device:  
// Tool versions:  
// Description:
//
// Dependencies:
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
////////////////////////////////////////////////////////////////////////////////
//ALPHA BLENDING
//INPUT A and B , OUTPUT C
//C = (1-a)A + aB

module AlphaBlending(CLK,Reset,IN_R1,IN_G1,IN_B1,IN_R2,IN_G2,IN_B2,OUT_R,OUT_G,OUT_B);
//module AlphaBlending(CLK,Counter,H_L);

	input CLK, Reset ;	

	input [7:0]		IN_R1,IN_G1,IN_B1,IN_R2,IN_G2,IN_B2 ;
	output [7:0]	OUT_R,OUT_G,OUT_B ;
	


	reg CLK2 =0 ;//, CLK3 =0 ;//, CLK4 =0 ;								 	
	reg [4:0]	AlphaValue = 0;
	wire [4:0]	AlphaValue2 ;
	wire [7:0]	OUT_R,OUT_G,OUT_B ;
	wire [12:0] BlendingR , BlendingG , BlendingB ;

	assign AlphaValue2 =  ~AlphaValue ;

	assign BlendingR = (IN_R2 * AlphaValue2 ) + (IN_R1 * AlphaValue ) ;
	assign BlendingG = (IN_G2 * AlphaValue2 ) + (IN_G1 * AlphaValue ) ;
	assign BlendingB = (IN_B2 * AlphaValue2 ) + (IN_B1 * AlphaValue ) ;

//	assign BlendingR = (IN_R1 *(~AlphaValue) )  ;
//	assign BlendingG = (IN_G1 *(~AlphaValue) )  ;
//	assign BlendingB = (IN_B1 * AlphaValue2)  ;

//	assign BlendingR = IN_R1 * AlphaValue  ;
//	assign BlendingG = IN_G1 * AlphaValue  ;
//	assign BlendingB = IN_B1 * AlphaValue  ;

	assign OUT_R = BlendingR [12:5];//>> 5 ;
	assign OUT_G =	BlendingG [12:5];//>> 5 ;
	assign OUT_B = BlendingB [12:5];//>> 5 ;

	always @ (posedge CLK )
	begin
		CLK2 = ~CLK2 ;
	end

	//always @ (posedge CLK2 )
	//begin
	//	CLK3 = ~CLK3 ;
	//end

	//always @ (posedge CLK3 )
	//begin
	//	CLK4 = ~CLK4 ;
	//end

	always @ (posedge Reset or posedge CLK2 )
	begin
		
		if (Reset)
//			AlphaValue = 31 ;		
			AlphaValue = 0 ;		
		else
			begin
				if (AlphaValue < 31 )					
					AlphaValue = AlphaValue + 1 ;
//				if (AlphaValue )					
//					AlphaValue = AlphaValue - 1 ;
			end
	end




endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -