2進数→10進数
Verilogで2進数から10進数に変換するモジュールを作成してみます。
b2d.v
module b2d(input clock, input reset_n, input [31:0]bindata, output reg [3:0] dig_4, output reg [3:0] dig_3, output reg [3:0] dig_2, output reg [3:0] dig_1);
always@(negedge reset_n or negedge clock)
begin
if (reset_n == 0)
begin
dig_4 = 0;
dig_3 = 0;
dig_2 = 0;
dig_1 = 0;
end
else
begin
dig_1 = ( bindata / 10 ) % 10;
dig_2 = ( bindata / 100 ) % 10;
dig_4 = ( bindata / 1000 ) % 10;
dig_4 = ( bindata / 10000 ) % 10;
end
end
endmodule