Mejorando el diseño de un procesador en VHDL

1

Para un proyecto en mi universidad tenemos que mejorar el diseño de un procesador (más específicamente, el CPU de plasma . el diseño se genera basándose en una descripción escrita en VHDL.

Tenemos que identificar los puntos débiles en el diseño y mejorarlos. Los puntos más obvios que pueden mejorarse son el multiplicador (el multiplicador predeterminado toma 32 ciclos) y la velocidad del reloj (que requiere reducir el retardo encontrado en la ruta de retraso crítica).

Actualmente, estoy tratando de mejorar el caché, pero encontré que esto es muy complicado (pero podría ser mi falta de experiencia con proyectos de hardware). Intenté mejorar el caché usando palabras de 4 palabras en lugar de 1, pero no tengo éxito al hacerlo: no puedo entender el protocolo (no documentado) que sigue el controlador DDR y cada intento de cambio hace que el controlador DDR se niegue a leído o en datos corruptos.

¿Existe un plan de ataque para comprender y / o mejorar el diseño de hardware en VHDL? Creo que uno de mis problemas es que la mejora que quiero implementar requiere cambios en muchos módulos (controlador DDR, controlador de memoria, caché, CPU y cambios en las señales en algunos módulos de nivel superior) y no puedo comprender todo. ellos al mismo tiempo Además, esperaba que pudiera haber objetivos de mejora más fáciles (además del multiplicador y la ruta de retardo crítica).

Si alguien quiere más información, solo pregunte.

    
pregunta Ruben

1 respuesta

1

Es realmente difícil responder tu pregunta.

Está buscando una metodología que podría ayudarlo a resolver los problemas de su sistema, pero este punto no está claro debido a la flexibilidad de HDL. Puede planificar un sistema altamente optimizado pero con muchas interacciones entre partes o puede optimizar cada parte aislándolas del resto del sistema y definiendo bien sus interacciones con el resto del sistema.

He visto cómo se han cambiado las arquitecturas del sistema HDL en los últimos años. La tendencia es crear módulos aislados y conectarlos con interfaces mapeadas en memoria como Wishbone o AXI. En su caso, creo que no puede usar este tipo de autobuses, pero puede aplicar la estrategia de aislar partes y limitar y definir bien sus interacciones . De esta forma, podrá simular partes independientemente del resto del sistema y encontrar errores localizados y cuellos de botella para mejorarlos.

¡Me gustaría que esta respuesta pudiera ayudar!

Saludos cordiales

    
respondido por el David Quiñones

Lea otras preguntas en las etiquetas