.. OpenLane documentation master file, created by
sphinx-quickstart on Tue Sep 5 21:39:46 2023.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Manual de uso de la herramienta OpenLane
========================================
.. warning::
Este proyecto se encuentra bajo desarrollo...
La siguiente documentación busca complementar el uso de la herramienta OpenLane para estudiantes de la `Escuela de Ingeniería Eléctrica de la UCR `_.
Esta misma fue creada a partir de la documentación ya existente de `OpenLane documentación oficial `_.
Se documentarán las siguientes varaibles de configuración:
.. toctree::
:maxdepth: 1
:caption: Contenido:
:glob:
general
macros
synthesis
ta
design
Además se ilustrará el funcionamiento, por medio de ejemplos, los siguientes principales pasos del flujo de diseño:
.. toctree::
:maxdepth: 1
:caption: Contenido:
:glob:
synthesis
design
Ejemplos que se compararan con un modelo de referencia para entender su funcionamiento en el diseño.
Modelo de referencia
---------------------
Para esto se utilizo el diseño **picrov32a**; el cual viene por defecto en la herramienta y es utilizado
para realizar la evaluación del impacto de cada parámetro. Este diseño es un pequeño procesador RISC-V (RV32I) y ejecuta funcionalidades cruciales de la
herramienta.
El modelo de referencia van a ser los resultados de pasos para el diseño con la configuración por defecto que
genera la herramienta. Esta configuración se ve de la siguiente manera en su archivo *.json*:
.. figure:: ../img/def/config.png
:name: config_def
:scale: 80 %
:align: center
Configuración por defecto
Tras ejecutar el flujo de la herramienta se tienen los siguientes resultados para cada paso. Primeramente el
registro de advertencias (*warnings.log*) muestra los siguientes mensajes:
.. figure:: ../img/def/warnings.png
:name: warnings_def
:scale: 50 %
:align: center
Mensajes del registro de adverencias para la configuración por defecto.
#. En la etapa de síntesis lógica se tiene como resultados principales los siguientes reportes:
.. figure:: ../img/def/area0-report.png
:name: area0-report
:scale: 60 %
:align: center
Reporte area.
.. figure:: ../img/def/power-report.png
:name: power-report.
:scale: 60 %
:align: center
Reporte potencia.
.. figure:: ../img/def/sta-report.png
:name: sta-report
:scale: 60 %
:align: center
Reporte sumatoria sta.
#. En la etapa de floorplan se tiene como resultado principal el layout del circuito, el cual es el siguiente:
.. figure:: ../img/def/FP_DEFAULT.png
:name: layout_fp
:align: center
Layout etapa de floorplan.
#. En la etapa de placement se tiene como resultados el layout del circuito, el cual es el siguiente:
.. figure:: ../img/def/PL_DEFAULT.png
:name: layout_pl
:align: center
Layout etapa de placement.
Además, de sus dos subetapas se tiene los siguientes valores de los parámetros de interés, tomados de los reportes respectivos:
.. list-table:: Parámetros de interés para etapa placement
:header-rows: 1
:align: center
* - Parametros
- Placement Global
- Placement Detallado
* - Chip Area (:math:`μm^{2}`)
- 100274.922
- 100274.922
* - Potencia (`W`)
- 2.33e-2
- 2.25e-2
* - Peor Setup (`ns`)
- 2.83
- 3.21
* - Peor Hold (`ns`)
- 0.17
- 0.18
* - Violaciones Slew
- 22
- 0
* - Violaciones Fanout
- 4
- 0
* - Violaciones Cap
- 2
- 0
#. En la etapa de routing se tiene como resultados el siguiente layout:
.. figure:: ../img/def/RT_DEFAULT.png
:name: layout_rt
:align: center
Layout etapa de routing.
También los siguientes registros de sus subetapas con información importante de cada una de ellas:
.. figure:: ../img/def/rt-global-log_default.png
:name: global-log_default
:align: center
Registro subetapa routing global
.. figure:: ../img/def/rt-detailed-log_default.png
:name: detailed-log_default
:align: center
Registro subetapa routing detallado
Y además los siguientes valores de los parámetros de interés, tomados de los reportes respectivos:
.. list-table:: Parámetros de interés para etapa routing
:header-rows: 1
:align: center
* - Parametros
- Valores
* - Chip Area (:math:`μm^{2}`)
- 118971.603
* - Potencia (`W`)
- 2.43e-2
* - Peor Setup (`ns`)
- 4.09
* - Peor Hold (`ns`)
- 0.19
* - Violaciones Slew
- 0
* - Violaciones Fanout
- 102
* - Violaciones Cap
- 0
#. En la etapa de síntesis de árbol de reloj (CTS) se tiene como resultados el siguiente layout:
.. figure:: ../img/def/CTS_DEFAULT.png
:name: layout_cts
:align: center
Layout etapa de cts.
También el registro con información importante de esta etapa:
.. figure:: ../img/def/cts-log_default.png
:name: cts-log
:align: center
Registro de la etapa de cts.
Y además los siguientes valores de los parámetros de interés, tomados de los reportes respectivos:
.. list-table:: Parámetros de interés para etapa cts
:header-rows: 1
:align: center
* - Parametros
- Valores
* - Chip Area (:math:`μm^{2}`)
- 104699.165
* - Potencia (`W`)
- 2.75e-2
* - Peor Setup (`ns`)
- 3.21
* - Peor Hold (`ns`)
- 0.17
* - Skew (`ns`)
- 0.24
* - Violaciones Slew
- 0
* - Violaciones Fanout
- 68
* - Violaciones Cap
- 0