<> <> <> Imports Dragon; Open Dragon; CELLTYPE "PPads" PORTS[ <<>> <> Vdd, Gnd> <> PData=INT[32], PParityB=BOOL, PCmdABOOL, <<>> <> PDataI=INT[32], PParityI=BOOL, DrivePDataB, DrivePDataIEnumType["Dragon.PBusCommands"], PRejectDriveHigh, PRejectDriveLow> ] EvalSimple Assert[NOT MoreThanOneOf[DrivePDataB, DrivePDataI]]; PCmdI _ PCmdA; IF PRejectDriveHigh THEN PRejectB _ TRUE; IF PRejectDriveLow THEN PRejectB _ FALSE; IF PFaultDrive THEN PFaultB _ PFaultI; IF PNPErrorDriveLow THEN PNPError _ FALSE; IF DrivePDataB THEN { PData _ PDataI; PParityB _ PParityI; }; IF DrivePDataI THEN { PDataI _ PData; PParityI _ PParityB; }; ENDCELLTYPE