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

📄 bcdconv.v

📁 BCD编码的Verilog HDL程序
💻 V
字号:
//
// 
//-----------------------------------------------------------------------------------
//十进制数值的BCD编码转换
//输入:data_in,输入数值,以二进制形式表示,输入位宽为4比特
//	   EN,变换输出使能信号,高电平有效
//输出:data_out,BCD编码输出,采用非压缩编码,数据位宽为8比特
//-----------------------------------------------------------------------------------

module BCDconv (data_in ,EN ,data_out );

input [3:0] data_in ;
input EN ;
output [7:0] data_out ;
reg [7:0] data_out ;



	always @(data_in or EN )
	begin
		data_out = {8{1'b0}};
		if (EN == 1)
		begin
			case (data_in [3:1]) 
				3'b000 : data_out [7:1] = 7'b0000000;
				3'b001 : data_out [7:1] = 7'b0000001;
				3'b010 : data_out [7:1] = 7'b0000010;
				3'b011 : data_out [7:1] = 7'b0000011;
				3'b100 : data_out [7:1] = 7'b0000100;
				3'b101 : data_out [7:1] = 7'b0001000;
				3'b110 : data_out [7:1] = 7'b0001001;
				3'b111 : data_out [7:1] = 7'b0001010;
				default : data_out [7:1] = {7{1'b0}};
			endcase
			data_out [0] = data_in [0];
		end
		else
		begin
			//data_out [3:0] = data_in[3:0];
			data_out [4] = 1'b1;
		end
	end

endmodule

⌨️ 快捷键说明

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