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 + -
显示快捷键?