/* fopen2 - test $fopen and $fclose system tasks */ module fopen2; integer fp1, fp2, fp3, fp4; integer dfp; reg error; reg [31:0] foo; initial begin error = 0; fp1 = $fopen("work/fopen2.out1"); checkfp(fp1); dfp = fp1|1; $fdisplay(dfp, "fp1=%d", fp1); fp2 = $fopen("work/fopen2.out2"); checkfp(fp2); dfp = fp2|1; $fdisplay(dfp, "fp2=%d", fp2); fp3 = $fopen("work/fopen2.out3"); checkfp(fp3); dfp = fp3|1; $fdisplay(dfp, "fp3=%d", fp3); $fclose(fp2); fp4 = $fopen("work/fopen2.out4"); checkfp(fp4); dfp = fp4|1; $fdisplay(dfp, "fp4=%d", fp4); $fclose(fp1); $fclose(fp2); $fclose(fp3); $fclose(fp4); if(error == 0) $display("PASSED"); end // initial begin task checkfp; input [31:0] fp; begin if(fp != 2 && fp != 4 && fp != 8 && fp != 16 && fp != 32 && fp != 64) begin $display("FAILED fopen fp=%d", fp); error = 1; end end endtask // checkfp endmodule