module fpenc title 'Fixed-point to Floating-point Encoder J. Wakerly, Xanthrax Systems' " FPENC device 'P20L8'; " Input and output pins B10..B0 pin 1..11; E2..E0, M3..M0 pin 21..15 istype 'com'; " Constant expressions B = [B10..B0]; E = [E2..E0]; M = [M3..M0]; equations WHEN B < 16 THEN E = 0; ELSE WHEN B < 32 THEN E = 1; ELSE WHEN B < 64 THEN E = 2; ELSE WHEN B < 128 THEN E = 3; ELSE WHEN B < 256 THEN E = 4; ELSE WHEN B < 512 THEN E = 5; ELSE WHEN B < 1024 THEN E = 6; ELSE E = 7; M = (E==0) & [B3..B0] # (E==1) & [B4..B1] # (E==2) & [B5..B2] # (E==3) & [B6..B3] # (E==4) & [B7..B4] # (E==5) & [B8..B5] # (E==6) & [B9..B6] # (E==7) & [B10..B7]; end fpenc