第1个回答 2018-06-22
module BCD(clk,data,Ten,One);
input clk;
input[7:0] data;
output[3:0] Ten,One;
reg[3:0] Ten,One;
integer i;
always@ (posedge clk)
begin
Ten = 4'd0;
One = 4'd0;
for (i=6;i>=0;i=i-1)
begin
if (Ten >= 5) Ten = Ten + 3;
if (One >= 5) One = One + 3;
Ten = Ten << 1;
Ten[0] = One[3];
One = One << 1;
One[0] = data[i];
end
end
endmodule本回答被网友采纳