7 Series Devices - 1.0 English

DSP Macro LogiCORE IP Product Guide (PG323)

Document ID
PG323
Release Date
2021-01-25
Version
1.0 English
  • preadder = [ (A+D) , (D+A) , (D-A), D, -A , A, (ACIN+D) , (D+ACIN) , (D-ACIN), -ACIN , ACIN ]
  • mult_ip1 = [ ACIN , A , preadder ]
  • mult_ip2 = [ BCIN , B , 1 ]
  • mult = [ mult_ip1 * mult_ip2 , mult_ip2 * mult_ip1 ]

The 1 is not explicitly required when defining an instruction; the 1 and corresponding * operator are ignored.

  • xmux = [ CONCAT , P , 0 ]
  • ymux = [ C , 0 ]
  • zmux = [ C , PCIN , P , P>>17 , PCIN>>17, 0 ]
  • cinmux = [ CARRYIN , CARRYCASCIN , 0 ]

Similarly, 0 is not explicitly required when defining an instruction. The 0 and corresponding operator are ignored.

  • xycomb = [ xmux + ymux , ymux + xmux , mult ]

valid instructions = [

  • xycomb + zmux + cinmux ,
  • xycomb - zmux,
  • zmux + xycomb + cinmux ,
  • zmux - ( xycomb + cinmux ) ,
  • zmux - xmux - ymux - cinmux ,
  • zmux - ymux - xmux - cinmux ,
  • -zmux + xmux + ymux,
  • -zmux + ymux + xmux,
  • -zmux - xmux,
  • rndsimple( zmux + xmux + cinmux )
  • rndsimple( mult + cinmux )
  • rndsym( [ P , PCIN ] ) ]
  • rndsym( mult )
  • rndmacc( mult + P )

Note that for the rndsimple functions, operand C is not supported for zmux.