八进制到二进制的verilog代码 模块hgf(oct,bin); 输入[1:0]十月; 输出[7:0]箱; reg[1:0]n; reg[7:0]k; 整数i,d; 始终@(*) 开始 n=oct; 而(n

八进制到二进制的verilog代码 模块hgf(oct,bin); 输入[1:0]十月; 输出[7:0]箱; reg[1:0]n; reg[7:0]k; 整数i,d; 始终@(*) 开始 n=oct; 而(n,verilog,Verilog,这里没有八进制数。它们是以三位为单位的。你有一个叫做八进制的东西,但它只有两位 这是一个旧PDP11的图像,它有一个由六个八进制数组成的18位输入面板。我展示这个图像是为了给你一个提示,告诉你如何获取多个八进制数并将它们转换成一个更大的二进制数。在Verilog中,你不会为此使用模块,因为它只需要一条语句即可完成 您的代码无论如何都不会工作,因为默认情况下Verilog中的所有数字都是无符号的(nIt不正确。即使在“c”中,上面的代码也不正确。即使在“c”中,建议缩进代码并使其可读。此外,错误

这里没有八进制数。它们是以三位为单位的。你有一个叫做八进制的东西,但它只有两位

这是一个旧PDP11的图像,它有一个由六个八进制数组成的18位输入面板。我展示这个图像是为了给你一个提示,告诉你如何获取多个八进制数并将它们转换成一个更大的二进制数。在Verilog中,你不会为此使用模块,因为它只需要一条语句即可完成


您的代码无论如何都不会工作,因为默认情况下Verilog中的所有数字都是无符号的(nIt不正确。即使在“c”中,上面的代码也不正确。即使在“c”中,建议缩进代码并使其可读。此外,错误是什么以及错误的目的是什么?在“c”和“verilog”中,%o”提供八进制格式的格式化输出。
module hgf(oct,bin);
input [1:0]oct;
output [7:0]bin;
reg[1:0]n;
reg [7:0]k;
integer i,d;
always@(*)
begin
n = oct;
while(n<0)
begin
d=(d+(n%10))* (8^i);
n=n/10;
end
i=1;
while(d!=0)
begin
k = k+(d%2)*i;
d=d/2;
i=i*10;
end

end
assign bin=k;
endmodule