module double_pri_encode(
input [11:0] req,
output reg [3:0] first,
output [3:0] second
);
reg[11:0] reg_req;
wire[11:0] wire_req;
assign wire_req = reg_req;
wire wire_en;
reg reg_en;
assign wire_en = reg_en;
always@(*)
begin
reg_en=0;
first=4'bzzzz;
reg_req=req;
if( req[11] )
begin
reg_req[11]=0;
first=4'b1011;
reg_en=1;
end
else if( req[10] )
begin
reg_req[10]=0;
first=4'b1010;
reg_en=1;
end
else if( req[9] )
begin
reg_req[9]=0;
first=4'b1001;
reg_en=1;
end
else if( req[8] )
begin
reg_req[8]=0;
first=4'b1000;
reg_en=1;
end
else if( req[7] )
begin
reg_req[7]=0;
first=4'b0111;
reg_en=1;
end
else if( req[6] )
begin
reg_req[6]=0;
first=4'b0110;
reg_en=1;
end
else if( req[5] )
begin
reg_req[5]=0;
first=4'b0101;
reg_en=1;
end
else if( req[4] )
begin
reg_req[4]=0;
first=4'b0100;
reg_en=1;
end
else if( req[3] )
begin
reg_req[3]=0;
first=4'b0011;
reg_en=1;
end
else if( req[2] )
begin
reg_req[2]=0;
first=4'b0010;
reg_en=1;
end
else if( req[1] )
begin
reg_req[1]=0;
first=4'b0001;
reg_en=1;
end
else
begin
reg_req[0]=0;
first=4'b0001;
reg_en=0;
end
end
en_code en_code1(
. a(reg_req),
. ena(wire_en),
. code(second)
);
endmodule
怎么金燕华过了四年还出同一个题目!现在又来了
哎,我也想知道答案啊,金燕华大才啊!
楼上的答案太经典了~~
大哥,你老师是金燕华吧?自己做吧...