Alejandro Celery
unread,May 21, 2015, 2:53:27 PM5/21/15Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Grupo Embebidos32
Hola, pregunta para los expertos en VHDL (lo bueno de que el grupo haya
crecido tanto es que mucha gente va a poder ayudar, lo malo es a la
cantidad de gente que uno jode por algo que seguro es una tontería...)
Pregunta 1: En una Spartan 3E entiendo que puedo sintetizar una
dual-port RAM. Quiero saber si puedo hacer esos dos ports de distinto
ancho y si los anchos tienen alguna restricción. Puntualmente, un port
de 8 bits y el otro de 6. Agradezco la respuesta y más aún un link a la
documentación de referencia.
Pregunta 2: Lo que tengo que sintetizar es esto:
- Tomar los datos del bus de 6 bits de la RAM.
- Aplicarles a todos una transformación que es buscar en una LUT.
- Volcar los resultados en otra RAM de iguales características, en el
bus de 6 bits.
No quiero abundar en detalles, pero básicamente en C sería:
for (i = 0; i < N; i++ )
{
out[i] = LUT [ in[i] ];
}
Pensaba sintetizar un bloque que haga la conversión y replicarlo con un
for N generate. La duda puntual es si tengo que sintetizar N luts para
que todo suceda en paralelo, o si puedo poner una sola y que sea una
suerte de global y si esto trae problemas cuando las N conversiones
ocurran en paralelo.
Entiendo que la gracia del for generate es que como de todos modos el
hardware se va a sintetizar en forma combinatoria, es más fácil de
controlar lo qeu se va a sintetizar si uso un for generate que si me
pongo a hacer un process, verdad?
Desde ya, acepto comentarios, tal vez hay maneras mucho más fáciles de
hacer esto pero fue lo más intuitivo que se me ocurrió. Seguramente me
falten conceptos claves en el tema, también acepto "andá a tal link".
Saludos y muchas gracias por su(s) tiempo(s).
Alejandro