14 puntos por GN⁺ 25 일 전 | 1 comentarios | Compartir por WhatsApp
  • Juego de simulación para aprender construyendo paso a paso toda la pila de cómputo, desde transistores hasta una GPU
  • Cada etapa está organizada en ACTs, y progresa en el orden de transistor, compuertas lógicas, ALU, procesador, GPU y shaders
  • En el ACT 1 se crean compuertas lógicas básicas con NMOS y PMOS, y en el ACT 2 eso se amplía para completar la ALU y el núcleo del procesador
  • Las siguientes etapas, software, GPU y shaders, están actualmente en estado COMING SOON y siguen en desarrollo
  • Es un proyecto educativo interactivo que permite experimentar de forma integral con diseño de hardware y programación

Resumen del juego Mvidia

  • Mvidia es un juego interactivo de aprendizaje en el que el usuario vive paso a paso el proceso de diseñar y construir una GPU directamente
  • El juego comienza con transistores y avanza hacia compuertas lógicas, ALU, procesador y GPU
  • Cada etapa se divide en un “ACT”, y cada ACT está compuesto por varias tareas de aprendizaje e implementación
  • El progreso se muestra con una tasa de finalización (por ejemplo, 0/10 COMPLETED), lo que permite ver visualmente el avance del aprendizaje

ACT 1: Primer día (YOUR FIRST DAY)

  • El tema es Transistors → Logic Gates, una etapa en la que se construyen compuertas lógicas básicas usando transistores
  • Principales tareas
    • 1.1 The Switch: usar NMOS como interruptor
    • 1.2 The Other Switch: usar PMOS como interruptor
    • 1.3 Two Halves: combinar NMOS y PMOS
    • 1.4 NAND It: construir una compuerta NAND
    • 1.5 The Dual: construir un par de compuertas lógicas
    • 1.6 Truth Tables: crear tablas de verdad
    • 1.7 AND Gate, 1.8 OR Gate, 1.9 XOR Gate: implementar compuertas básicas
    • 1.10 Choose Wisely: completar una estructura de selección combinando tres compuertas
  • Al completar el ACT 1, se desbloquea ACT 2: THE CORE

ACT 2: El núcleo (THE CORE)

  • El tema es Gates → ALU → Processor, una etapa en la que se construyen la unidad aritmético-lógica (ALU) y el procesador a partir de compuertas lógicas
  • Está compuesto por un total de 34 tareas detalladas, y cada una avanza sobre la base de los resultados de la etapa anterior
  • Etapas principales
    • 2.1 Half Adder, 2.5 Full Adder: construir circuitos de suma
    • 2.3 The Decoder, 2.25 Register File: diseñar estructuras de selección y almacenamiento de datos
    • 2.4 The Capacitor, 2.7 1T1C, 2.12 The Sense Amp, 2.17 The Array: construir celdas de memoria y amplificadores de detección
    • 2.10 Adding Bytes, 2.13 Hex Racer, 2.15 Bit Twiddling: ampliar operaciones a nivel de bytes
    • 2.20 Edge Trigger, 2.21 Refresh, 2.31 Refresh Controller: control de reloj y actualización de memoria
    • 2.27 The ALU, 2.30 Fetch, Decode, Execute, 2.32 The Mvidia Core: completar la estructura central del procesador
    • 2.33 DRAM Memory, 2.34 Mvidia Core v2: expansión basada en DRAM y actualización del núcleo
  • Al completar el ACT 2, se desbloquea ACT 3: THE SOFTWARE

ACT 3: Software (THE SOFTWARE)

  • El tema es Programming the Processor, una etapa para programar el procesador ya completado
  • Actualmente está en estado COMING SOON, y todavía no se han publicado detalles concretos de las tareas

ACT 4: GPU (THE GPU)

  • El tema es Building a Graphics Processor, una etapa para construir un procesador gráfico
  • Actualmente está en estado COMING SOON, y más adelante se añadirán tareas relacionadas con el diseño de la arquitectura de la GPU

ACT 5: Shader (THE SHADER)

  • El tema es Programming the GPU, una etapa de programación de shaders usando la GPU
  • Actualmente está en COMING SOON, con planes de ampliarse después como contenido de aprendizaje sobre programación de GPU

1 comentarios

 
GN⁺ 25 일 전
Opiniones en Hacker News
  • Es un proyecto realmente genial
    Pero en la etapa de truth tables había muchos problemas repetidos y el primer problema tenía un límite de tiempo de solo 1 segundo
    La parte de los capacitores también fue confusa. Los capacitores no tienen una compuerta de “enable”, pero en 2.7 (1T1C) hay que construirla directamente con transistores
    Pero ahora el primitive ya tiene una compuerta de enable, así que la compuerta NMOS deja de ser necesaria
    Me pregunto si lo hicieron con ayuda de LLM. Sobre todo me impresionó el flujo de trabajo para hacer una UI tan buena

    • No vi el bug del capacitor, pero añadí una compuerta de enable en la etapa 2.4. Era necesaria por la estructura del sistema de simulación
      La implementación del capacitor me dio muchas vueltas desde el principio. Fue difícil hacer un modelo de capacitor completo que encajara con el sistema de simulación
      El bug de truth tables se va a corregir. Las estrellas se consiguen jugando en endless mode
      Durante el desarrollo usé mucho Claude. La parte del cableado y la simulación fue difícil, pero los gráficos los terminé dando instrucciones detalladas
    • El orden de truth tables está al revés. Primero deberías aprender el concepto y después hacer el quiz, pero ahora es al contrario
      Las definiciones de NAND, NOR e Inverter se aprenden después del quiz. Estaría bien cambiar el orden
      Además, el temporizador es demasiado corto. Incluso yo, que ya conozco todos los problemas, tuve dificultades para ingresar la respuesta a tiempo. Hasta valdría la pena considerar quitar el temporizador por completo
  • Si te gusta este juego, también recomiendo Turing Complete
    Al final puedes crear tu propia CPU y lenguaje ensamblador. Eso sí, sigue en Early Access y lleva mucho tiempo detenido

    • A mí también me encanta este juego. ¿Alguien sabe si los desarrolladores siguen activos?
  • Diseñé mixed-signal IC durante más de 10 años y ni siquiera pude pasar el primer nivel
    Era un problema donde había que hacer que un NMOS diera una salida de 0 cuando la entrada fuera 1, y un estado Z cuando fuera 0
    Había que conectar el drain a la salida, el source a GND y el gate a la entrada
    Pero falló la mitad de las pruebas. Después vi que me confundí porque la línea gruesa gris del fondo parecía un cable. Había que añadir la conexión manualmente

    • Yo tampoco tengo nada de experiencia relacionada y fallé exactamente igual
    • Creo que fue porque el color de fondo parecía un cable. Lo voy a corregir cambiando el tema de colores
    • Me da curiosidad si ahora te pasaste al lado del software
  • Tengo algunos comentarios
    La idea es buena, pero como alguien que ya jugó Turing Complete, quería saltarme las primeras etapas e ir a la parte especializada en GPU
    Me costó entender intuitivamente un NAND con transistores, así que sentí un muro de dificultad
    La variación de dificultad es grande, pero el modo easy estuvo bien
    La etapa de refresh del capacitor va demasiado rápido y no pude seguirle el ritmo con el teclado
    Cuando el cableado se complica, la legibilidad cae de golpe, y fue incómodo no poder diferenciar colores ni fijar rutas manualmente
    En Firefox era difícil seleccionar puntos de conexión, y estaría bien poder hacer pan arrastrando en los bordes de la pantalla
    “show solution” se siente más como una pista que como una solución real. Estaría bueno tener una opción para ver más casos de prueba

  • Es una idea realmente genial
    Pero como me faltan conocimientos básicos, no entendí los mensajes del tutorial y me atoré desde el primer nivel

    • Gracias por el comentario. Originalmente en Act 0 explicaba la física y los principios básicos de PMOS/NMOS, pero lo eliminé porque no me gustaba la UI. Voy a volver a añadirlo
    • A mí me pasó lo mismo. Me gustan Turing Complete y los juegos de Zachtronics, pero era la primera vez que veía lógica triestado
      Todavía no termino de captar la compuerta NOT del nivel 3. Aun así, estos puzzles de circuitos triestado se sienten frescos porque son nuevos para mí. Si le agregaran una historia linda, hasta podría funcionar en Steam
  • Como es una buena idea, la añadí a HN Arcade

    • ¡Gracias!
  • Hace falta un botón de “si lo intentaste 10 veces y no sale, muéstrame la respuesta”
    Así se puede distinguir si el problema está roto o si el error fue mío

    • Buena sugerencia. La voy a añadir en la próxima actualización. Mientras tanto, también puedes copiar el circuito con el botón copy circuit y pedirme a GPT que lo verifique. ¿Me podrías decir en qué nivel fue?
  • Estaría bien tener nodos temporales para probar salidas
    Y mejor aún, ayudaría al aprendizaje que la truth table se actualizara en tiempo real sin necesidad de ejecutar la prueba

  • Para aprendizaje, estaría bueno que las siglas (nmos, pmos, gnd, vdd) se explicaran al menos una vez completas
    La interfaz es limpia y cubre muy bien este nicho educativo

    • Parece que se podría añadir a una caja de información para que se vea al hacer clic en cualquier momento
      Aunque, incluso desarrollando las siglas, puede que no ayude mucho porque no son tan intuitivas
    • Originalmente en Arc 0 trataba estos conceptos básicos en detalle, pero lo borré por problemas de UI
      Ya hice un arreglo temporal, pero pienso volver a añadir una versión polished. Haré que se pueda ver de forma opcional
  • Es un juego excelente. Para aprendizaje, estaría bueno poder ver una solución modelo o explicación después de completar cada nivel

    • Planeo añadir esa función. Gemini analizará la construcción del circuito para dar comentarios, y también ofrecerá pistas dinámicas junto con eso