请看看这段程序
时间:10-02
整理:3721RD
点击:
这是我以前做的一个8位串转并的程序,现在回过头看看,觉得有点问题temp<={temp.a},位数不对,但似乎仿真结果也是正确的,我忘了当初怎么考虑的了.
-module bingcuanfan(clk,rst,a,b);
input clk;
input rst;
input a;
output [7:0]b;
reg [7:0]b;
reg[7:0]temp;
integer i;
always @(posedge clk)
begin
if(rst)
begin
temp<=8'b0;
b<=8'b0;
i<=0;
end
else
begin
if(i==7)
b<=temp;
else
begin
temp<={temp,a};
i<=i+1;
end
end
end
endmodule
-module bingcuanfan(clk,rst,a,b);
input clk;
input rst;
input a;
output [7:0]b;
reg [7:0]b;
reg[7:0]temp;
integer i;
always @(posedge clk)
begin
if(rst)
begin
temp<=8'b0;
b<=8'b0;
i<=0;
end
else
begin
if(i==7)
b<=temp;
else
begin
temp<={temp,a};
i<=i+1;
end
end
end
endmodule
请看看这段程序
应该是这样的
你的temp<={temp,a};可以分解为:
temp[0] <= a ;
temp[7:1] <= temp[6:0] ;
你用连接符连接到一起是9位,付给8位的temp
只是高位不要而已
请看看这段程序
谢谢,我只是奇怪为什么它不报错,{}假如出现益出的话是不是自动去掉高位
请看看这段程序
shi de
请看看这段程序
thx