¿Sería posible construir una Raspberry Pi desde cero?

Otras respuestas ya señalaron que construir cualquier computadora moderna a partir de puertas lógicas, incluso las de “bajo consumo de energía” como RPi, serían “posibles pero poco prácticas” debido a la gran cantidad de trabajo necesario para replicar los chips en el tablero solo. Caso en cuestión: a continuación se muestra una imagen de alguien tratando de hacer una computadora de 8 bits con compuertas lógicas (en comparación, la mayoría de los RPis en el mercado en estos días son de 32 o 64 bits):

(Imagen cortesía de spel3o en Instructables – vea Cómo construir una computadora de 8 bits para más detalles).

Hermosa, ¿eh?

De nuevo, todavía es “posible” si realmente lo desea, como lo que se menciona en la discusión aquí.

¿Cómo puedo hacer mi propia computadora con puertas lógicas y otros componentes en casa?

Si atenuamos el requisito de “usar solo puertas lógicas”, entonces sí, es un poco más factible: después de todo, hay imitaciones de RPi que hacen dinero.

Incluso Raspberry Pis tiene imitaciones de bajo costo; Conoce a los $ 15 Orange Pi

El problema es, bueno, RPi no es “estrictamente” un hardware de código abierto por alguna razón (impactante, ¿verdad? También me sorprendió la primera vez que escuché eso). Por ejemplo, se ha dicho que los chips Qualcomm utilizados en el tablero son bastante difíciles de conseguir, entre otras cosas.

Donde comprar BCM2837 SoC

¿Cómo es Raspberry Pi “código abierto” si usa ARM?

El primer paso de Raspberry Pi hacia el hardware de código abierto

¿Cómo puedo construir mi propio microordenador como Raspberry Pi?

No de ninguna manera práctica. El Pi, como cualquier computadora moderna, utiliza LSI (circuitos integrados a gran escala). Tienen millones de puertas en un solo chip. Incluso si pudieras conectar todo eso sin cometer errores, tendrías algo que físicamente era mucho más grande que un Pi, lo que significa que las señales tardarían más en cruzarse de un lado a otro (porque viajan a la velocidad de la luz , esencialmente). No funcionaría sin un rediseño. Alguien ha hecho eso: hay fotos en línea. Llena la mayor parte de una habitación, y no es tan complejo como Pi.

Puede hacer circuitos complejos en un CI usted mismo, utilizando un kit de desarrollo FPGA, e incluso incluir una CPU como parte de la biblioteca, pero eso no es lo mismo que soldar puertas juntas.

También puede construir un Pi usando el mismo chip ARM en su propia placa de circuito impreso, pero generalmente no puede hacerlo en casa con un soldador. Utiliza componentes de montaje en superficie y necesita equipo especial y ensamblaje robótico (o un microscopio y una mano muy estable).

¿Sería posible construir una Raspberry Pi desde cero?

Depende de cómo se defina “desde cero”.

Simplemente construir el PCB y soldar en los chips y conectores es factible. Es posible que tenga un problema con el suministro del SoC principal si no desea comprar muchos de ellos, pero los otros componentes son accesibles. Los esquemas también están disponibles, pero no pude encontrar el diseño de la PCB, por lo que tendrías que hacerlo tú mismo. Probablemente terminará siendo un tablero de 4 capas al menos (¿tal vez 6?), Por lo que hacer eso en la cocina es un poco problemático. El SoC sería difícil de soldar en la PCB porque todos los pines están en la parte inferior … aún así, es factible con una pistola de aire caliente.

Ahora en el ámbito de lo no tan fácil. Digamos que no podemos obtener el SoC, o simplemente queremos hacer el nuestro. La salida “fácil” es comprar un FPGA lo suficientemente grande y diseñar el SoC al nivel RTL. Aquí comenzamos a entrar en problemas de legalidad: ARM es bastante protector con su arquitectura de conjunto de instrucciones y quiere que todos paguen regalías por núcleo ARM fabricado … que también incluiría cualquier implementación suave. Eso es si se enteran 😀 Pero digamos que no te importa, ya que es algo único para tu propia satisfacción y nunca se lo mostrarás a nadie. El SoC en Pi es bastante complejo. Para diseñar y verificar, tomaría unos años si una persona hace todo el trabajo, especialmente si no desea pagar unos $ 100k por herramientas de diseño.

Hacer el chip usted mismo, no un FPGA sino un ASIC directamente en silicio, toma todo el trabajo descrito anteriormente y agrega otro nivel de complejidad. Eso puede reducirse un poco utilizando otros $ 100k de software. Si ahora le das el diseño de tu chip a un fabuloso, tendrán que hacer un conjunto de máscara y fabricar tu chip. Un conjunto de máscaras es costoso, por lo que hacer un solo chip no valdrá la pena … y ahora alguien sabe que quieres hacer un núcleo ARM, por lo que terminarás pagando regalías. Probablemente pueda optar por un proceso de 130 nm o incluso 180 nm, que es más fácil de diseñar y mucho más barato para hacer conjuntos de máscaras (adivinando unos $ 10k … en lugar de unos pocos millones para 28 nm o menos).

Lo que sugieres en los detalles de la pregunta, hacer todo el Pi a partir de puertas lógicas, también es posible … Tendrías que diseñar el SoC nuevamente, esta vez como un gabinete lleno de tableros y mucho cableado. Probablemente podrías registrar la cosa a unos 100 kHz como máximo. Lo bueno es que ahora está bien dejar de lado la parte de gráficos, y probablemente también USB y Ethernet, porque nunca podrá manejar nada de eso a la velocidad suficiente para cumplir con los estándares o ser de alguna manera útil. Entonces, sí … puede hacerlo, pero tomaría más tiempo que yo, y probablemente más que tú.

Ahora digamos que no nos importa hacer una Raspberry Pi, pero cualquier computadora lo hará. Por lo tanto, diseñamos un pequeño conjunto de instrucciones RISC de algunas instrucciones (alrededor de 30 más o menos). Tampoco nos importa demasiado la velocidad, por lo que utilizamos la tubería MIPS en orden de 5 etapas estándar, porque está bien documentada y se enseña en muchos cursos universitarios como ejemplo. Eso se puede implementar en puertas lógicas de menos de 10k: el gabinete de cableado de salida seguramente puede manejar eso. El diseño será mucho más rápido y todavía obtendremos un procesador decente, que se puede construir con puertas lógicas. Como diseñamos todo desde cero, también tenemos que hacer todo el software … esperemos que no nos olvidemos de tener todo lo que necesitamos para ejecutar la biblioteca C estándar como mínimo, para que podamos hacer un compilador y esperar que algún software existente funcionará.

puede programar el código de frambuesa desde cero usando Bloques de frambuesa