binary_to_bcd.v

来自「一个电子中的verilog实验源代码。适合verilog初学者学习参考」· Verilog 代码 · 共 39 行

V
39
字号
// **********************************************************************************
// FileName		: bianry_to_BCD.v
//
// Discription	:调用add3模块,实现两位二进制转换为bcd码,每次转换需要5个周期
//
// Date			:
//
// Author		: dandan
// **********************************************************************************
module binary_to_BCD(clk_i, rst_i, A,ONES,TENS);
	input clk_i, rst_i;
	input [7:0] A;
	output [3:0] ONES, TENS;

	wire [1:0] HUNDREDS;
	wire [3:0] c1,c2,c3,c4,c5,c6,c7;
	wire [3:0] d1,d2,d3,d4,d5,d6,d7;
	
	assign d1 = {1'b0,A[7:5]};
	assign d2 = {c1[2:0],A[4]};
	assign d3 = {c2[2:0],A[3]};
	assign d4 = {c3[2:0],A[2]};
	assign d5 = {c4[2:0],A[1]};
	assign d6 = {1'b0,c1[3],c2[3],c3[3]};
	assign d7 = {c6[2:0],c4[3]};
	add3 m1(clk_i, rst_i, d1,c1);
	add3 m2(clk_i, rst_i, d2,c2);
	add3 m3(clk_i, rst_i, d3,c3);
	add3 m4(clk_i, rst_i, d4,c4);
	add3 m5(clk_i, rst_i, d5,c5);
	add3 m6(clk_i, rst_i, d6,c6);
	add3 m7(clk_i, rst_i, d7,c7);
	assign ONES = {c5[2:0],A[0]};
	assign TENS = {c7[2:0],c5[3]};
	assign HUNDREDS = {c6[3],c7[3]};

endmodule

⌨️ 快捷键说明

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