Cómo construir mis propios chips de computadora

Depende de qué tan bajo nivel quieras ir. ¿Estás hablando de ensamblar circuitos integrados en una placa para hacer una CPU? ¿Fabricar las compuertas individuales a partir de componentes básicos como transistores y diodos? ¿Obtener un cubo de arena y usarlo para hacer silicio dopado para construir sus propias puertas lógicas?

De cualquier manera, hay algunas cosas que tendrá que entender.

1) Dispositivos electrónicos caseros lentos
Los chips de computadora modernos son tan complejos y miniaturizados que los humanos ni siquiera podían ver los componentes individuales, y mucho menos fabricarlos sin procedimientos industriales extremadamente automatizados y extremadamente complejos, la mayoría de los cuales son secretos industriales celosamente guardados. Entonces, lo primero que debes entender es que si haces algo, será mucho, MUCHO menos poderoso que cualquier cosa que puedas comprar, probablemente menos poderoso que las fichas de los juguetes para niños que cuestan menos de un centavo.

2) Los dispositivos electrónicos hechos en casa son enormes
Incluso si solo habla de, digamos, usar chips de contador y puertas lógicas y chips de RAM para ensamblarlos en una placa, cualquier tipo de CPU que funcione será enorme. Si desea fabricarlo en el nivel de la puerta, tendrá suerte de que encaje en una habitación.

3) Los dispositivos electrónicos hechos en casa son caros
Los componentes individuales pueden ser baratos, pero necesitará un * lote * de ellos. Y tendrá que juntarlos, lo que puede implicar cometer errores y desperdiciar partes, sin mencionar el uso de toneladas de soldadura. Sin mencionar que cualquier computadora que hagas será menos poderosa que algo producido en masa por una fracción de un centavo.

4) Los dispositivos electrónicos hechos en casa no son confiables y difíciles de reparar
Dado que están hechos a mano, probablemente con componentes baratos, y sin la amplia consulta y control de calidad que tienen las unidades de la industria, una computadora que usted mismo haga fallará con frecuencia, y será extremadamente difícil de solucionar, ya que nadie estará familiarizado con él, y es probable que no tenga muchas herramientas de diagnóstico integradas.

5) Los dispositivos electrónicos caseros son difíciles de usar
No tendrán lenguajes de programación de alto nivel, no tendrán archivos léame, no tendrán muchas de las prácticas funciones que hacen que los procedimientos más complejos sean mucho más fáciles. Es probable que al dispositivo que hagas le falten muchas de las comodidades que las personas que usan una computadora esperan. Honestamente, incluso una interfaz de texto será un gran desafío para crear: es más probable que codifique su programa usando otra computadora, lo presente y lea los resultados desde el otro extremo.

Entonces, si bien puede intentar hacer una computadora real y que funcione, no esperaría que funcione de ninguna manera al estándar que esperaría de un dispositivo moderno.

Dicho esto, si quieres hacer esto, es algo que recomiendo. En el primer año de mi licenciatura en Física en IC, hicimos una introducción al módulo de electrónica que nos llevó a través de los pasos para hacerlo.

Primero, aprendimos a construir un contador usando puertas lógicas básicas.

Luego, aprendimos a sacar números de la memoria y volver a ponerlos.

Luego aprendimos cómo realizar operaciones aritméticas básicas: sumar y restar.

Luego aprendimos cómo enviar eso a un par de pantallas de siete segmentos para mostrar la respuesta.

En cada paso, reemplazamos la colección de bits que habíamos usado para ensamblar el paso anterior con un solo dispositivo, y de esa manera podríamos trabajar en dispositivos más complejos sin quedar abrumados.

Un par de pasos más, y tendrías una Unidad de lógica aritmética básica. Después de eso, también podría comenzar a construir los mecanismos de control y E / S desde cero. Si mantiene un registro de esto, tome fotos, etc., al final podría decir que ha construido una computadora básica desde cero, y que no tendría que llenar toda su casa de pedazos.

Ciertamente es posible construir su propia computadora, y también es posible construir sus propios módulos de procesador, memoria, etc. En efecto, la mayoría de ellos son, en un nivel básico, muchos transistores y otros componentes electrónicos básicos, significativamente miniaturizados. En un momento, era bastante común en los programas de Ingeniería Eléctrica e Ingeniería de Computadores construir sus propias computadoras básicas, al menos algunas puertas que procesaran algún tipo de entrada. En estos días, esto puede simularse con mayor frecuencia que soldarse juntos. También es bastante común escribir su propio sistema operativo en algún momento.

Debería poder construir algo en el nivel de una computadora Apple I con componentes discretos, o algo en el vecindario de Motorola 6800 o Intel 8088 (piense en computadoras personales ~ 30-35 años atrás), con varios años de tiempo de espera.

Una vez que desee construir circuitos integrados (circuitos integrados, también conocidos como chips: varios a muchos transistores en un solo paquete), estos son construidos generalmente por máquinas (y fábricas muy grandes) en estos días. Teóricamente es posible construir uno propio hasta una cierta escala con cristales de silicio, enmascaramiento fotográfico y baños químicos, de la forma en que se construyeron hace varias décadas, pero sería bastante costoso, y aún estaría construyendo 30 años. tecnología antigua Incluso el estado de la técnica a fines de los años 70 hasta principios de los 80 estaba utilizando principalmente circuitos integrados “listos para usar” que fueron producidos por la carga del vagón de caja, y luego “integrados” en sistemas o subsistemas completos.

Si tiene varios años, este podría ser un pasatiempo interesante, pero probablemente no le enseñará habilidades actuales o relevantes (a menos que quiera trabajar en ciencia de materiales o diseño de procesos). Lo que puede hacer es elegir un par de cursos de electrónica, aprender a usar algo como los microcontroladores ATmel o PIC. Un comienzo fácil sería obtener un kit de inicio Arduino, que le dará una pequeña CPU y muchas entradas / salidas. Puede diseñar fácilmente algo inteligente usando esto, tal vez aplicándolo para controlar el nivel del agua en su cuerpo de agua local, el clima en su vecindario o alguna función en su hogar o escuela.

Una aplicación buena e ingeniosa de las tecnologías adecuadas sería atractiva para una escuela de reclutamiento y demostraría que te estás enseñando ingeniería básica.

Sí, esto es posible en gran medida. De hecho, la mayor parte es factible sin mucho dinero. De hecho, voy a presentarle un camino que puede formar la base de una verdadera empresa comercial.

Hay dos aspectos para esto. Primero, necesitas la formación teórica en ingeniería informática. Este es el año 2.5 hasta el año 4 de un currículo típico de pregrado de 4 años en CS / EE. Realmente equivale a 4 o 6 clases principales. Vaya en línea y obtenga esta educación gratis.

En segundo lugar, en algún momento después de la segunda clase, lo que les digo a continuación comenzará a tener sentido. Necesita un entorno y un flujo de trabajo para experimentar. Comience con Verilator. Este será su simulador Verilog, su patio de recreo para probar ideas.

En algún momento, busque OpenCores para IP de hardware real. Tráigalos a su flujo de trabajo de simulación, únalos y pruebe sus ideas. ¿Quiere ver lo que realmente implica, por ejemplo, un núcleo de procesador? Echa un vistazo a los proyectos como 6809 core. Por cierto, 6809 fue una de las mejores arquitecturas de la era de los microprocesadores de los años ochenta.

En algún momento posterior, se traducirá en hardware real, cosas que puede tocar y sentir, y que necesita enchufar a la pared. Transición a FPGA. Mire placas de evaluación de bajo costo como el Zynq-7000 SoC ZC702 Evaluation Kit.

Esto es lo real ahora. Vendrá con herramientas que le permiten compilar y sintetizar hasta la matriz configurable. Pasará por gran parte del mismo flujo de trabajo (y experimentará el mismo tipo de problemas) que un diseñador ASIC.

En algún momento posterior aún, tienes una arquitectura de minería BitCoin que expulsa al resto del agua. De hecho, lo tienes implementado (¡y funcionando!) En FPGA. Por supuesto, la realidad es que estas cosas son lentas y calientes. Lo mejor que puede hacer es cerrar el tiempo a 30MHz. Asi que, …

¡Oye! Genial verte lanzar en Kickstarter. Espero ver su alcance de esa meta de financiación de $ 6M para el innovador ASIC de minería BitCoin. Inscríbeme; Creo en ti. Conozco algunos tipos que conocen a otros tipos en TSMC. Avísame si necesitas una introducción.

Primero, es necesario estudiar la compatibilidad entre el hardware y la arquitectura para que nuestro hardware vaya de la mano con los ya existentes. Luego, se debe construir un prototipo con componentes físicos de hardware para verificar sus operaciones. Luego, se puede hacer un diseño de nivel de silicio utilizando herramientas cad y siguiendo la fabricación efectiva del componente. La tarea final sería hacer que el hardware se adhiera a los estándares de la industria y al rendimiento total.

Esto generalmente no es algo que un individuo hace solo. Nadie te creería, si dijeras que lo hiciste solo, debido al tiempo, la amplitud de habilidades y la profundidad de los gastos de capital necesarios para algo así como este solo.

Sin embargo, aquí hay algunos temas para estudiar:

  • Ingenieria Eléctrica
  • Física de semiconductores
  • Ciencia de los Materiales
  • Diseño de lógica digital
  • Diseño VLSI
  • Arquitectura de Computadores
  • Herramientas CAD
  • Validación de diseño
  • Microlitografía y Nanolitografía
  • Fabricación de obleas
  • Pruebas automatizadas
  • Unión de cables
  • Embalaje electrónico

Y aquí hay una presentación de un curso EE de la Universidad de Wisconsin, sobre el flujo general del diseño de un microprocesador:
Página en wisc.edu

Puedes hacerlo, sin sudar. El diseño de x86, SPARC, ARM, AVR, MIPS, Java y algunos otros chips está escrito en un lenguaje de diseño lógico y es de dominio público. Ver página en opencores.org. Puede llevar estos archivos de diseño a una fundición de chips y pedirles que hagan chips.

Bueno, es un poco más difícil que eso. Los diseños de los chips deben traducirse a un proceso y diseño de chips y luego a pasos y máscaras. Hay fundiciones y consultores que harán esto por usted.

Entonces puedes hacer un chip. Luego puedes probar el chip y descubrir por qué no funciona. Solucione los problemas y repita.

Será mejor que tengas muchos cientos de miles de dólares para financiar esto. O estar registrado en una clase de diseño de CPU o chip de nivel de posgrado en una escuela con su propia fundición. (La fundición de la escuela será una que esté una década o más detrás del estado del arte, ya que generalmente toman equipo desechado de los fabricantes de chips reales).

Probablemente no quieras hacer chips de RAM, son bastante aburridos. Solo una matriz cuadrada de flip-flops o celdas de condensador rodeadas de decodificadores de direcciones. No pasa mucho allí.

A menos que realmente quieras hacer algo extraño, no lo harías; sería un poco como construir un puente a través del Amazonas usando fósforos, una gran cantidad de trabajo para muy poco resultado. Una CPU moderna como la serie AMD Ryzen contiene casi 5 mil millones de transistores. Si lo cableó a mano utilizando transistores individuales, le tomaría una cantidad de tiempo inmensa (¿toda una vida?) Solo para conectarlos, y probablemente necesitaría un edificio grande para proporcionar suficiente espacio para los circuitos. Y cuando hiciste todo eso, probablemente todavía no funcionaría a la misma velocidad: las señales pasarían demasiado tiempo a través de esta construcción masiva. Las CPU pueden ser rápidas precisamente porque son pequeñas y las señales no tienen que viajar muy lejos.

Es posible que desee consultar INTERNEPCON Tokio 2015.

La conferencia MEGA fue sobre IC Packaging. Vi grandes máquinas de fabricación en exhibición, que pensé que podían imprimir placas de circuito.

http://www.nepcon.jp/en/

No estoy seguro de cómo hacerlo yo mismo, pero creo que, dado el tamaño increíblemente pequeño, la complejidad y los materiales especializados necesarios para producir un chip, sería casi imposible para un individuo construir sus propios chips. Investigue un poco sobre lo que se necesita para producirlos.