Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
Multiplexers are usually described as something like "8-to-1". What are you trying to describe with 8x8 multiplexer? Are you trying to make a cross-bar switch? Are you trying to make an 8-bit 8-to-1 multiplexer?
I can't give any meaningful answer unless I can tell what you are trying to accomplish.
The simple answer with any look-up table (a.ka. ROM) implementation is: Take all your "inputs" concatenate them together and stick them in as the address to a ROM with 2^address_width entries that has a data width of whatever your functions output width would be.
The request was for a "multiplier", not "multiplexer". An unsigned multiplier normally has the same number of output bits as the total number of input bits.
In this case it will have 16 input bits and 16 output bits. A 64K x 16 bits ROM is needed.