Para qué quieres multiplicar números tan grandes? pon en la calculadora 2 elevado a 512 para que tengas una idea del tamaño de la multiplicación que quieres hacer.
No será que quieres multiplicar números de rango de 0 a 511? que son 9 bits.
En VHDL para las operaciones matemáticas lo primero que tienes que saber es si las quieres para simulación o para síntesis (por ejemplo para implementarla en una FPGA).
En segundo lugar tienes que definir es el rango de los números y con ello el número de bits de los operandos y del resultado.
Si lo quieres para simulación, es muy fácil, el simulador acepta el operador multiplicación (*).
Si lo quieres para síntesis, tendrás que ver las características del sintetizador y de la FPGA que vayas a usar. Algunos sintetizadores aceptan operaciones de multiplicación para ciertos casos, si no, tendrás que implementar la multiplicación con un algoritmo.
Pero probablemente ningún sintetizador te implementará una multiplicación de números de 512 bits.
Quizá, el capítulo 8.8 del libro Diseño de sistemas digitales con vhdl (
http://eciencia.urjc.es/handle/10115/5700)te puede ayudar en algo.