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

📄 data_output_mux.v

📁 Xilinx高级试验的代码.zip 非常不错
💻 V
字号:

module data_output_mux(clk, reset, data_valid, data_cha, data_chb, data_chc, data_chd, final_data, valid_ch, dv_enable);
    input clk, reset, dv_enable;
    input [3:0] data_valid;
    input [7:0] data_cha, data_chb, data_chc, data_chd;
    output [7:0] final_data;
    reg [7:0] 	 final_data;
    output [3:0] valid_ch;
    
    reg [3:0] 	 v_ch [3:0];
    integer 	 i;

    assign 	 valid_ch = v_ch[3] | v_ch[2] | v_ch[1] | v_ch[0];
    
    always @ (posedge clk or posedge reset)
    begin
	if (reset)
	begin
	    for (i = 0; i <= 3; i = i + 1)
	      v_ch[i] <= 0;
	    final_data <= 0;
	end
	else
	begin
	    v_ch[3] <= 4'h0;
	    v_ch[2] <= v_ch[3];
	    v_ch[1] <= v_ch[2];
	    v_ch[0] <= v_ch[1];
	    
	    if (dv_enable)
	    begin
		v_ch[3] <= data_valid;
		case (data_valid)
		    4'b0001:
		      final_data <= data_cha;
		    4'b0010:	
		      final_data <= data_chb;
		    4'b0100:	
		      final_data <= data_chc;
		    4'b1000:	
		      final_data <= data_chd;
		    default:	
		      final_data <= 0;
		endcase // case(data_valid)
	    end // if (dv_enable)
	end // else: !if(reset)
    end // always @ (posedge clk or posedge reset)
endmodule    
    
    
   

⌨️ 快捷键说明

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