Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
aegis — Silicio FPGA de código abierto | Kitploit
Herramientas/GitHubGitHub/midstall/aegis
Seguridad de Sistemas EmbebidosHacking de HardwareSeguridad de HardwareSeguridad de Hardware e IoTPapers e InvestigaciónAprendizaje y EducaciónRecursos CuradosAnálisis de Firmware
GitHubmidstall/aegis

aegis

Silicio FPGA de código abierto

Ver Repositorio
34517hace 2 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

Aegis

Aegis es una FPGA completamente de código abierto, desde el silicio.

Los esfuerzos de FPGA de código abierto han logrado enormes avances: proyectos como Project IceStorm y Apicula realizan ingeniería inversa de formatos de bitstream propietarios, OpenFPGA y FABulous generan tejido FPGA abierto a partir de descripciones de arquitectura, y GateMate de Cologne Chip comercializa una FPGA con una cadena de herramientas completamente de código abierto. Mientras que estos proyectos abordan cada uno una pieza del rompecabezas, Aegis es una FPGA de código abierto integral, de extremo a extremo: generación de tejido, síntesis, ubicación y enrutamiento, empaquetado de bitstream, simulación y tapeout, todo reside en un solo proyecto, diseñado desde cero para código abierto. Desde HDL hasta GDS, nada está detrás de un muro propietario.

El proyecto genera dispositivos FPGA parametrizados con bloques LUT4, BRAM, DSP, SerDes y gestión de reloj, junto con todo lo necesario para sintetizar diseños de usuario en ellos y tapear el tejido mismo a una fundición a través de PDK abiertos y servicios de lanzadera como wafer.space.

Dispositivos

Aegis Luna 1

Un dispositivo Aegis compacto orientado a GF180MCU a través de wafer.space

RecursoCantidad
Tejido23 x 23 bloques (529 total)
LUT4 (CLB)437
BRAM (128x8)46 bloques
DSP18 (18x18 MAC)46 bloques
Bloques de E/S92 (25 bidir conectados)
SerDes0
Bloques de reloj1 (4 salidas)
Pistas de enrutamiento1 por borde
root@kitploit:~
nix build .#luna-1          # Generar IP (SV, JSON, chipdb, techmap)
nix build .#luna-1-tapeout  # RTL completo a GDS para envío a fábrica

Aegis Terra 1

Un dispositivo Aegis más grande orientado a Sky130.

root@kitploit:~
nix build .#terra-1          # Generar IP (SV, JSON, chipdb, techmap)
nix build .#terra-1-tapeout  # RTL completo a GDS para envío a fábrica

Cadena de herramientas

Cada dispositivo obtiene una cadena de herramientas FPGA completa a través de la salida tools:

root@kitploit:~
# Sintetizar un diseño Verilog a celdas Aegis
yosys -c synth.tcl  # usando $tools/share/yosys/aegis/*_cells.v + *_techmap.v

# Ubicar y enrutar en el tejido
nextpnr-aegis-terra_1 --json design_mapped.json --write design_pnr.json

# Empaquetar en un bitstream
terra_1-pack --pnr design_pnr.json --output design.bin

# Simular con el bitstream cargado
terra_1-sim --bitstream design.bin --cycles 1000 --vcd waves.vcd

Tapeout ASIC

La tubería de tapeout sintetiza el tejido FPGA en celdas estándar del PDK:

root@kitploit:~
nix build .#terra-1-tapeout
ls result/
# terra_1_synth.v      - netlist a nivel de compuerta (Yosys)
# terra_1_final.def    - diseño ubicado y enrutado (OpenROAD)
# terra_1.gds          - GDS2 para envío a fábrica
# terra_1_layout.png   - render del diseño
# timing.rpt           - análisis de tiempos
# power.rpt            - informe de potencia

Soporta PDKs GF180MCU (wafer.space) y Sky130.

Instalación

Nix (recomendado)

Requiere Nix con flakes habilitados.

root@kitploit:~
# Construir el paquete predeterminado (aegis-ip-tools)
nix build

# Construir IP de Terra 1
nix build .#terra-1

# Ejecutar el ejemplo de blinky como verificación
nix build .#checks.$(nix eval --raw nixpkgs#system).terra-1-blinky

# Entrar al shell de desarrollo
nix develop

Docker

Imágenes multi-arquitectura preconstruidas están disponibles desde GitHub Container Registry:

root@kitploit:~
docker pull ghcr.io/midstall/aegis-terra_1:latest

# Ejecutar con el directorio de diseño montado
docker run -v $(pwd):/workspace -it ghcr.io/midstall/aegis-terra_1:latest

Las imágenes están etiquetadas por SHA de git y versión de lanzamiento (por ejemplo, :v1.0.0).

Para construir localmente con Nix:

root@kitploit:~
nix build .#terra-1-docker
docker load < result

Debian/Ubuntu

Descargar paquetes .deb desde GitHub Releases (amd64 y arm64):

root@kitploit:~
sudo dpkg -i aegis-terra-1_*.deb

Esto instala aegis-pack, aegis-sim, nextpnr-generic, envoltorios específicos del dispositivo (terra_1-sim, terra_1-pack, nextpnr-aegis-terra_1), y archivos de soporte en /usr/share/aegis/.

Para construir localmente con Nix:

root@kitploit:~
nix build .#terra-1-deb

Arquitectura

El tejido FPGA se genera con ROHD (un framework HDL en Dart) y produce SystemVerilog sintetizable. La arquitectura sigue convenciones al estilo Xilinx:

  • CLB: LUT4 + flip-flop D + cadena de acarreo MUXCY (configuración de 18 bits)
  • Módulo: CLB + multiplexores de enrutamiento de 4 direcciones (configuración de 46 bits)
  • BRAM: RAM de bloques dual-port 128x8 (configuración de 8 bits)
  • DSP: Multiplicador-acumulador 18x18 con pipeline opcional (configuración de 16 bits)
  • IO: Pad bidireccional con registros de entrada/salida (configuración de 8 bits)
  • SerDes: Serializador/deserializador agnóstico al protocolo (configuración de 32 bits)
  • Reloj: Divisor de reloj de 4 salidas con control de fase (configuración de 49 bits)

La configuración se carga a través de una cadena de registros de desplazamiento serie: bloques de reloj -> bloques de E/S -> bloques SerDes -> bloques de tejido (orden fila-principal).

Comunidad

  • Discord: Únete al servidor
  • Contacto: [email protected]

Proyectos Relacionados

  • OpenFPGA - Un generador de IP FPGA de código abierto de la Universidad de Utah. Dada una descripción de arquitectura XML, genera Verilog sintetizable para un tejido FPGA completo junto con herramientas de bitstream e infraestructura de autoprueba. Probado en silicio a través del programa POSH de DARPA.

  • FABulous - Un framework FPGA embebido (eFPGA) de código abierto de la Universidad de Manchester. Genera tejido FPGA personalizado a partir de configuración basada en CSV e integra Yosys y nextpnr. Probado en silicio con más de 12 tapeouts en nodos desde TSMC 180nm hasta CMOS 28nm.

  • Cologne Chip GateMate

    • Una FPGA comercial en GlobalFoundries 28nm con una cadena de herramientas completamente de código abierto y sin licencia, construida sobre Yosys, nextpnr y openFPGALoader. El silicio en sí es propietario, pero es notable como una de las pocas FPGAS comerciales que adoptan herramientas EDA de código abierto de extremo a extremo.
Descargar herramienta
RecursoCantidad
LUT4~2880
BRAM (128x8)128 bloques
DSP18 (18x18 MAC)64 bloques
Pads de E/S224
SerDes4
Bloques de reloj2 (8 salidas)
Pistas de enrutamiento4 por borde