Es obligatorio hacerlo todo por Hw, podrías hacer un codiseño HW, SW y utilizar un procesador embebido para que te haga el trabajo de calcular y ordenar.
De todos modos si utilizas técnicas de desarrollo Hw, no creo que te haga falta utilizar más memoria que aquella donde almacenas los 15 datos a los que debes aplicarle los cálculos, más un grupo de registros donde guardes algunos resultados.
Por ejemplo la media y la mediana se calculan mediante fórmulas recursivas, así que no necesitas nada más que recorrer la memoria a modo de lista enlazada y hacer los cálculos, en resumen necesitas además de acceso a la memoria:
Un registro para almacenar el resultado del cáluclo que al final reflejará el valor de la media o mediana, según sea el caso
Dos registros uno que será el puntero al dato q procesar y otro que será el del final de la lista o algo por el estilo, depende de tu implementación
Un algoritmo recursivo (un process) para hacer el cálculo.
El mayor y menor también requieren recorrer la lista y comparar dos valores, te quedas siempre con el mayor o el menor, segín sea el caso.
Y el ordenamiento, lo puedes hacer mediante el método de la burbuja, con lo que no te hace falta ninguna memoria adicional.
El problema mayor lo tienes con la moda, que requiere contar aquel valor que más veces se repite, pero para ello una lista ordenada será muy útil, y dos registros donde guardas el conteo mayor obtenido y el del número que estés procesando, al final una comparación y metes en el registro de la moda aquel que sea mayor.
A lo mejor con cosas así resuleves, ahora te falta ordenar todo eso de manera que pudas hacer tus propias entidades y componentes, etc, por supuesto que hacer un módulo de división o cosas así puede ayudar, pero recuerda que muchas cosas ya veien implementadas en el propio VHDL, como la suma, resta, multiplicación y comparación. Con la multiplicación suma y resta podrías dividir, pero estoy seguro que encontrarás cosas para dividir sin mucho problema, y sin tener que hacerlas tú mismo.
Saludos
Reinier