Todos los shuttles de Tiny Tapeout son ejecutados sobre el PDK Sky130A. Asegúrate de simular con Sky130A.
Los pines análogos están nombrados de ua[0]
a ua[7]
(“ua” significa user analog). El número de pines que realmente se conectarán a los pads depende del número de pines análogos que definas en la sección pinout
del archivo info.yaml (y que hayas pagado).
Por ejemplo, si compraste dos pines análogos, solo ua[0]
y ua[1]
serán conectados a los pads. Los pines restantes no serán conectados.
La ruta entre los pads análogos y tu proyecto (los pines ua
) se espera que tenga las siguientes propiedades:
Los pines análogos están limitados a 1.8V. Si requieres 3.3V para tu diseño, por favor contáctanos para discutir alternativas.
No se permite usar la capa metal 5 en tu diseño, ya que Tiny Tapeout la utiliza para alimentación.
La ubicación de los pines debe coincidir con una de las plantillas de Tiny Tapeout. Las plantillas están disponibles en formato DEF, el cual es compatible con la herramienta de diseño Magic VLSI.
Hay varias plantillas disponibles, cada una para un número distinto de cuadros. Las plantillas incluyen los ocho pines análogos, pero solo los pines por los que hayas pagado serán conectados a los pads. Además, las plantillas también incluyen todos los pines digitales.
La mayoría de los diseños digitales deberían poder entrar dentro de la plantilla más pequeña, llamada tt_block_1x2_pg_ana.def
, el cual tiene un tamaño de 160x225 um.
Importante: No dejes pins de salida digital flotando en tu diseño. Conecta los pins uo_out
, uio_out
y uio_oe
sin usar a tierra (GND).
Los puertos de alimentación deben ser llamados VPWR
y VGND
y deben ser colocados en la capa metal 4
. Ambos requieren tener el mismo ancho, entre 1.2 y 2.0 um. Su altura debe ser de al menos el 95% de la altura total del diseño.
El área metálica real puede ser más grande, pero el área del puerto debe ajustarse a estas dimensiones.
Los proyectos con pines análogos deben tener una altura de dos cuadros. Esto significa que el precio mínimo por el área del proyecto es de $100 (cada cuadro es de $50).
Por otra parte, existe un costo asociado a cada pin. El precio de los pines análogos es de $40 por pin para los primeros cuatro pines (en un mismo proyecto), y $100 por pin para pines adicionales.
Por ejemplo: un diseño de tamaño de 1x2 cuadros y que utiliza 4 pines análogos costaría $260 ($100 por ambos cuadros, y $160 por los pines análogos). Este precio es solo por incluir el diseño en el shuttle, y no incluye el costo del ASIC, PCB, ni costos de envío.
Los diseños análogos actualmente están en estado beta. Existe una pequeña posibilidad de que los cambios se efectúen antes de la fecha límite de Tiny Tapeout 6, o que sea necesario posponer el soporte de diseños análogos para un shuttle futuro. Si tienes más preguntas, por favor únete al Discord de Tiny Tapeout y realiza tu consulta en el canal #analog.
Estas instrucciones asumen que estás usando la herramienta Magic VLSI, pero puedes hacer lo mismo con Klayout u otras herramientas propietarias.
Asegúrate de que la version de Magic coincida con el PDK.
Comienza tu diseño desde el repositorio tt06-analog-template. Haz click en el botón verde “Use this template” en la parte superior de la página, y selecciona “Create a new repository”.
Tiny Tapeout provee plantillas para diseños GDS personalizados. Estas plantillas incluyen todos los pines necesarios en la capa metal 4
. No modifiques el tamaño ni la posición de los pines.
Descarga una de las plantillas análogas y utilízala como punto de partida para tu diseño.
Los pines análogos están nombrados de ua[0]
a ua[7]
(“ua” significa user analog). El número de pines que realmente se conectarán a los pads depende del número de pines análogos que definas en la sección pinout
del archivo info.yaml y que hayas pagado.
Por ejemplo, si compraste dos pines análogos, solo ua[0]
y ua[1]
serán conectados a los pads. Los pines restantes no serán conectados.
Es importante que seas consistente con tu nomenclatura. El nombre de tu proyecto debe coincidir con los archivos GDS y LED finales.
Decide un nombre para tu módulo (top cell). El módulo superior (top module) debe comenzar con ’tt_um_’, y debe ser único en el shuttle, así que sugerimos que incluyas tu nombre de usuario de GitHub en él (por ejemplo, tt_um_nombredeusuario_adc_increible).
top_module
correctamente.tiles
en info.yaml para que coincida con tu tamaño de plantilla seleccionada.Este archivo se usa para “transformar en caja negra” tu diseño una vez que sea integrado en el shuttle de Tiny Tapeout.
Modifica src/project.v y reemplaza tt_um_example
con el nombre real de tu top module.
Modifica el archivo docs/info.md y agrega una descripción de tu proyecto.
Utiliza tu flujo análogo preferido para diseñar, simular, disponer, extraer, LVS y simular post-diseño.
Una forma rápida de comenzar es utilizando este script tcl para dibujar y etiquetar los puertos de alimentación.
source tt-analog-draw.tcl
Guarda el archivo GDS resultante en la carpeta gds
, y el archivo LEF en la carpeta lef
. El nombre de los archivos debe coincidir con tu propiedad top_module
del info.yaml (ej: gds/tt_um_ejemplo.gds
).
Si utilizas Magic para crear tu diseño, asegúrate de exportar el archivo LEF con la opción -pinonly
. Por ejemplo:
lef write ../lef/tt_um_nombre_proyecto.lef -pinonly
Exporta el GDS ejecutando:
gds write ../gds/tt_um_nombre_proyecto.gds
Si estás usando Magic - no aplanes el archivo .mag, déjalo de forma jerárquica para evitar problemas raros de DRC.
Ve al sitio app.tinytapeout.com para enviar tu diseño.