马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
以下程序编译能通过,但是仿真的时候有问题!
initial 里面的附值语句好像不起作用。仿真出现的x。任意改成一个数就可以。怎么回事啊?
//冒泡排列
module mopo(data_1,data_2,data_3,clk,result_1,result_2,result_3);
input[7:0] data_1,data_2,data_3;
input clk;
output[7:0] result_1,result_2,result_3;
reg[7:0] result_1,result_2,result_3;
reg[1:0] cal;
initial
begin
{result_1,result_2,result_3}={data_1,data_2,data_3};
cal<=0;
end
always @(posedge clk)
begin
if(cal==2)
begin
exch(result_1,result_2);
cal=0;
end
else
begin
case(cal)
0:exch(result_1,result_2);
1:exch(result_2,result_3);
endcase
cal<=cal+1;
end
end
task exch;
inout[7:0] x,y;
reg[7:0] tmp;
if(x>y)
begin
tmp=x;
x=y;
y=tmp;
end
endtask
endmodule |