Skip to content
Juan Gonzalez-Gomez edited this page Aug 13, 2026 · 172 revisions

Introducción

Notas y pruebas en sucio sobre las herramientas para diseño de chips (asic)

Lunes, 13 Agosto de 2026

Quiero aprender a utilizar la herramienta magic, para el diseño de ASICs. Este es el repositorio de magic: https://github.com/RTimothyEdwards/magic

Se instala fácilmente utilizando la appimage de la última release. La que descargo es esta: Magic-8.3.681.20260807.4432d7ec-x86_64-EL10.AppImage

La copio al directorio Bin y la ejecuto

Aparece esto:

Son dos ventanas independientes, que las he puesto una encima de otra en el pantallazo

Escribo estos comandos:

box 0 0 20 10
paint ndiff

El primer comando se lo traga, pero con el segundo optengo este mensaje de error: Unrecognized layer: ndiff ... Parece que el problema está que hay que arrancar magico de esta forma, indicando que se quiere usar la tecnología sky130A:

./Magic-8.3.681.20260807.4432d7ec-x86_64-EL10.AppImage -T sky130A test.mag

El mensaje de error que se obtiene ahora es:

Could not find file 'sky130A.tech' in any of these directories: [...]

OK.. tengo que instalar algo más... Parece que hay que instalar el open-pdk: https://github.com/fossi-foundation/open-pdks

Para instalarlo hay que compilar cosas... Estoy leyendo la información de su web: https://opencircuitdesign.com/open_pdks/ Mencionan que hay un gestor de paquetes, ciel para hacer más fácil su instalación. Este es su repositorio: https://github.com/fossi-foundation/ciel

Para instalar las herramientas necesarias voy a crear el entorno virtual de python asic:

obijuan@JANEL:~$ python -m venv $HOME/venv/asic

Entramos en el entorno virtual:

obijuan@JANEL:~$ . $HOME/venv/asic/bin/activate
(asic) obijuan@JANEL:~$

Instalamos ciel siguiendo las instrucciones:

(asic) obijuan@JANEL:~$ python3 -m pip install ciel

Se instala correctamente. Lo comprobamos:

(asic) obijuan@JANEL:~$ ciel --version
Ciel v2.6.1 ©2022-2025 Efabless Corporation and Contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this program except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
(asic) obijuan@JANEL:~$

Vamos a comprobar todos los pdks precompilados listos para instalar:

(asic) obijuan@JANEL:~$ ciel ls-remote --pdk-family sky130
Pre-built sky130 PDK versions
├── 026824c7969ce6f4fc9678e6ca04b0a06a596c4b (2026.08.04)
├── f6eeac7dad085ffcc829ccfd721f7b4ce39edcf7 (2026.07.14)
├── d658698bd8bcf4e05fc7b5991a701247ba0d744c (2026.07.04)
[...]

Comprobamos los que están instalados:

(asic) obijuan@JANEL:~$ ciel ls --pdk-family sky130
No PDKs installed.
(asic) obijuan@JANEL:~$

Ninguno. Vamos a instalar el último (2026.08.04). Hay que utilizar su hash:

(asic) obijuan@JANEL:~$ ciel enable --pdk-family sky130 026824c7969ce6f4fc9678e6ca04b0a06a596c4b
Version 026824c7969ce6f4fc9678e6ca04b0a06a596c4b not found locally, attempting 
to download…
Downloading common.tar.zst… ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Downloading sky130_fd_io.tar.zst… ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Downloading sky130_fd_pr.tar.zst… ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Downloading sky130_fd_sc_hd.tar.zst… ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Downloading sky130_fd_sc_hvl.tar.zst… ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Downloading sky130_ml_xx_hd.tar.zst… ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Downloading sky130_sram_macros.tar.zst… ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Version 026824c7969ce6f4fc9678e6ca04b0a06a596c4b enabled for the sky130 PDK.
(asic) obijuan@JANEL:~$

Clone this wiki locally