Page 340 - Hardware Implementation of Finite-Field Arithmetic
P. 340

320     App endix  B


               using a block RAM component available within the unisim library of
               Xilinx. For another semiconductor or programmable device vendor,
               the table model should be modified. The package storing the
               parameter values includes the Frobenius coefficients:

               constant f1: polynomial :=
                  (
                  x”43”, x”bb”, x”65”, x”4b”, x”06”, x”a3”, x”a6”, x”80”,
                  x”d3”,x”24”, x”16”, x”28”, x”33”, x”47”, x”d8”, x”84”,
                  x”01”
                  );
               constant f2: polynomial :=
                  (
                  x”bb”, x”4b”, x”a3”, x”80”, x”24”, x”28”, x”47”, x”84”,
                  x”43”,x”65”, x”06”, x”a6”, x”d3”, x”16”, x”33”, x”d8”,
                  x”01”
                  );
               constant f4: polynomial :=
                  (
                  x”4b”, x”80”, x”28”, x”84”, x”65”, x”a6”, x”16”, x”d8”,
                  x”bb”,x”a3”, x”24”, x”47”, x”43”, x”06”, x”d3”, x”33”,
                  x”01”
                  );
               constant f8: polynomial :=
                  (
                  x”80”, x”84”, x”a6”, x”d8”, x”a3”, x”47”, x”06”, x”33”,
                  x”4b”,x”28”, x”65”, x”16”, x”bb”, x”24”, x”43”, x”d3”,
                  x”01”
                  );



               B.1.2 FPGA Implementations
               Combinational circuits have been used for implementing the 16-bit to
               8-bit mod 239 reducer, the mod 239 adder-subtractor, and the mod
               239 multiplier (Table B.1):



                         Operation       LUTs   Slices  Total time
                         Reducer         63     37     17.1
                         Adder-subtractor  25   13     9
                         Multiplier      31     18     15
                       TABLE B.1  Cost and Delay of mod 239 Operators




                  As quoted above the mod 239 inverter is a table storing the
               238 inverses.
   335   336   337   338   339   340   341   342   343   344   345