Metodología Design Reuse

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 15

3.2.

2 Metodología Design & Reuse

Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 56


Antecedentes
• Los diseños de SoC son posibles gracias a la tecnología
submicrón profunda.
• Esta tecnología presenta todo un conjunto de desafíos de
diseño que incluyen retardos de interconexión, distribución
de las señales de reloj, distribución de energía y la ubicación
y enrutamiento de millones de compuertas.
• Estos problemas de diseño físico pueden tener un impacto
significativo en el diseño funcional de los SoC y en el propio
proceso de diseño.
• Los problemas de interconexión, la planificación de la
ubicación y el diseño de tiempos deben considerarse desde
el inicio del proceso de diseño, al mismo tiempo que el
desarrollo de los requisitos funcionales.
Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 57
Diseño Para Reuso: Generalidades
• El desafío de utilizar una metodología de diseño eficaz
basada en bloques requiere una amplia biblioteca de bloques
reutilizables o macros.
• Los desarrolladores de estas macros deben, a su vez, emplear
una metodología de diseño que produzca de forma
coherente macros reutilizables.
• Esta metodología de reutilización de diseño se basa en los
siguientes principios:
• La macro debe ser extremadamente fácil de integrar en el
diseño general del chip.
• La macro debe ser tan robusta que el integrador no tenga
que realizar ninguna verificación funcional de los
aspectos internos de la macro.
Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 58
Diseño para el Uso
• El diseño para la reutilización presenta desafíos específicos
para el equipo de diseño.
• Para ser reutilizable, un diseño primero debe ser utilizable:
un diseño robusto y correcto.
• Muchas de las técnicas para la reutilización del diseño son
sólo buenas técnicas de diseño:
• Buena documentación.
• Buen código con comentarios exhaustivos.
• Entornos de verificación bien diseñados.
• Scripts robustos.

Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 59


Diseño para el Uso
• Los ingenieros aprenden estas técnicas en su formación
profesional pero en las presiones de un proyecto de diseño
real, a menudo toman atajos.
• Un atajo puede parecer que acorta el ciclo de diseño, pero en
realidad solo cambia el esfuerzo de la fase de diseño a la fase
de integración del proyecto.
• Inicialmente, cumplir con las buenas prácticas de diseño
puede parecer una carga innecesaria.
• Pero estas técnicas aceleran los procesos de diseño,
verificación y depuración de cualquier proyecto al reducir las
iteraciones a través del bucle de codificación y verificación.

Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 60


Diseño para la Reutilización
• Además de los requisitos anteriores para un diseño sólido,
hay algunos requisitos adicionales para que una macro de
hardware sea totalmente reutilizable.
• La macro debe ser:
• Diseñada para resolver un problema general:
esto a menudo significa que la macro debe ser
fácilmente configurable para adaptarse a diferentes
aplicaciones.

Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 61


Diseño para la Reutilización
• La macro también debe ser:
• Diseñada para su uso en múltiples tecnologías:
• Ser macros suaves, esto significa que los scripts de
síntesis deben producir una calidad satisfactoria de
los resultados con una variedad de bibliotecas.
• Ser macros duras, esto significa tener una estrategia
de migración eficaz para asignar la macro a nuevas
tecnologías.

Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 62


Diseño para la Reutilización
• La macro también debe ser:
• Diseñado para la simulación con una variedad de
simuladores
• Una macro o un banco de pruebas de verificación
que funciona con un solo simulador no es portátil.
• Algunos simuladores nuevos admiten Verilog y VHDL.
• Sin embargo, las buenas prácticas de reutilización de
diseño requieren que una versión de Verilog y VHDL
de cada modelo y banco de pruebas de verificación
deben estar disponibles, y deben funcionar con todos
los simuladores comerciales principales.

Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 63


Diseño para la Reutilización
• La macro también debe ser:
• Diseñada con interfaces basadas en estándares
• Las interfaces únicas o personalizadas deben
utilizarse sólo si no existe ninguna interfaz basada en
estándares.

Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 64


Diseño para la Reutilización
• La macro también debe ser:
• Verificada independientemente del chip en el que se
utilizará.
• A menudo, las macros se diseñan y solo se prueban
parcialmente antes de integrarse en un chip para su
verificación, ahorrando así el esfuerzo de desarrollar
un banco de pruebas completo para el diseño.
• Los diseños reutilizables deben tener bancos de
pruebas completos e independientes y conjuntos de
verificación que ofrecen niveles muy altos de
cobertura de prueba.

Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 65


Diseño para la Reutilización
• La macro también debe ser:
• Verificada a un alto nivel de seguridad
• Esto significa una verificación muy rigurosa, así como
la construcción de un prototipo físico que se prueba
en un sistema real que se ejecuta con software real.

Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 66


Diseño para la Reutilización
• La macro también debe ser:
• Completamente documentada en términos de
aplicaciones y restricciones apropiadas
• En particular, se deben documentar las
configuraciones válidas y los valores de parámetros.
• Cualquier restricción en las configuraciones o valores
de parámetro debe indicarse claramente.
• Se deben documentar los requisitos de interfaz y las
restricciones sobre cómo se puede usar la macro.
• Estos requisitos aumentan el tiempo y el esfuerzo
para el desarrollo de una macro, pero proporcionan
la ventaja de que la macro sea reutilizable.
Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 67
Conclusiones del Diseño para la
Reutilización
• La primera conclusión es que la reutilización proporciona
alrededor de un beneficio de 2-3x.
• Es decir, reutilizar algún código de un diseño anterior, o usar
un bloque que no ha sido diseñado explícitamente para su
reutilización, requiere entre la mitad y un tercio del esfuerzo
de diseñarlo desde cero.
• Este beneficio puede no ser lo suficientemente grande como
para satisfacer las necesidades de la mayoría de los diseños
de SoC.
• La mayoría de los bloques de la mayoría de los diseños de
SoC deben diseñarse explícitamente para su reutilización.
Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 68
Conclusiones del Diseño para la
Reutilización
• Los buenos diseñadores pueden diseñar a un ritmo de
aproximadamente 100 puertas por día, o aproximadamente
30 líneas de código RTL al día, si no se emplea ninguna
reutilización.
• Este valor ha sido la constante durante los últimos cinco años
y no hay indicios de que cambie mucho en el futuro.
• Para una puerta de 100K ASIC (un diseño típico de la década
de 1990), esto significa 1000 días de diseño, o un equipo de 5
personas durante aproximadamente un año.

Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 69


Conclusiones del Diseño para la
Reutilización

• Para un diseño de puerta de 10M, esto significaría 100,000


días de diseño, o un equipo de 500 personas durante un año.
• Incluso con una mejora de 2-3x debido a la reutilización
casual, este es un costo prohibitivo para la mayoría de los
chips.

Eddie Galarza Zambrano – ESPE Latacunga Sistemas Embebidos - 70

También podría gustarte