Reinventar VHDL Bad

Hace unos años, Philip Peter inició un pequeño proyecto de mascotas. Quería construir su propio procesador. Esto realmente no es extraordinario: cada pocos meses encontrará a alguien con un nuevo proyecto para construir una CPU con relés, chips lógicos o transistores simples. Philip, sin embargo, es programador y, aunque las técnicas y la teoría de la construcción de hardware no han cambiado mucho durante décadas, el desarrollo de software ha aumentado solo en los últimos años. Está buscando construir una CPU a partir de componentes discretos.

Busque en Internet algunos consejos y trucos para programas de captura de esquemas como KiCad y Eagle, y encontrará excelentes opciones de proyectos. Si desea más de una copia de un circuito muy específico en su placa, debe copiar y pegar. La simulación de circuitos está completamente separada de la captura esquemática y el diseño de PCB, y la prueba única (asegurarse de que el circuito diseñado haga lo que debe hacer) es un concepto completamente extraño. Las capturas esquemáticas y los programas EDA están décadas por detrás de la curva en comparación incluso con el IDE de software más mínimo. Aquí viene Philip. Como él mismo admite, reinventó mal VHDL, pero tiene algunas ideas que vale la pena escuchar.

Diseño de circuito dividido en módulos (arriba), que se convierte en PCB en su mayoría completo después de lanzar un script (abajo)

Philip usa Eagle para construir su pequeño procesador, no es que algo esté mal, pero con la elección de una serie EDA viene una historia de 30 años de actualizaciones a lo que es esencialmente un programa escrito para DOS. Dicho esto, Eagle tiene muchas opciones para crear secuencias de comandos de tareas comunes, y combinado con algunas secuencias de comandos Python personalizadas para escribir esas secuencias de comandos de Eagle, Phillip ha logrado hacer mucho con un poco.

Al crear un solo módulo para su procesador, Philip dividió este circuito en módulos aún más pequeños. Al definir las unidades básicas del circuito, estos módulos podrían conectarse entre sí y colocarse automáticamente en una placa. Un águila, por supuesto, siempre agrega elementos no ubicados en una línea a lo largo del costado. Para una placa con cientos de componentes, simplemente organice todo para que el diseño sea posible puede ocupar la mayor parte del tiempo del proyecto. Philip le escribió a Eagle para que hiciera esto automáticamente, algo digno de aplaudir.

Sin embargo, llevar un historial de desarrollo de software a un proyecto de placa y captura de esquemas puede ir mucho más allá que agregar módulos y objetos a Eagle. El desarrollo impulsado por pruebas está ahí, y Philip proyecta su procesador con la creencia de que eventualmente estropeará algo. Los desarrolladores de software son muy humildes.

La implementación del desarrollo de pruebas de manejo es interesante y algo que no habíamos visto antes en el contexto de un dispositivo. Define los módulos, por ejemplo XOR, como una serie de pruebas. Si la entrada A es falsa y la entrada B es verdadera, la salida será verdadera. Philip confía en SPICE, un simulador de hardware analógico, para ver si los circuitos pasarán las primeras pruebas.

La captura esquemática y el diseño de la placa es un problema muy difícil de resolver. Un águila se ha estado desarrollando durante casi 30 años y todavía no es ideal. Altium existe incluso más tiempo, y todavía hay problemas y formas poco intuitivas de hacer las cosas. KiCad todavía es un bebé con 25 años, y la suposición general es que KiCad está llegando allí, pero todavía no es la primera hora.

Lo que hizo Philip fue sacar herramientas y técnicas del mundo de la programación, produciendo algo mucho, mucho mejor de lo que tenemos ahora. Es más abstracto, sí, pero eso nunca ha impedido que alguien incorpore Java empresarial en su currículum.

  • Jarek dice:

    Aquí hay una brecha que esperaba que lograran los programas de esquema "alternativos", como lo haría Fritzing: poder simular incluso un simple chip 74x ciertamente reduciría la cantidad de "oh, mierda, esa red que parecía completamente conectada en mi pantalla, pero en realidad no lo hace". no hay "errores

    • daid303 dice:

      http://www.labcenter.com/products/pcb/schematic_intro.cfm
      Puede hacer diseño esquemático, diseño por computadora, simular circuitos analógicos y digitales. Incluso el código de funcionamiento de los microcontroladores.

  • Clovis Fritzen dice:

    Buen esfuerzo, señor. Cuando dejamos de ver un proyecto de PCB como un arte (si es que alguna vez) las cosas mejorarán rápidamente.

    • Tai dice:

      No lo sé, porque no sé literalmente nada en este espacio, pero según el video, creo que estoy de acuerdo con Clovis aquí.

    • AlanH dice:

      Eagle tiene la capacidad de colocar otros archivos de esquema en un esquema principal y el diseño de la tabla también lo hará. Es su forma de organizar y reutilizar subsistemas. Puede mantener presionada una tecla de control y arrastrar un archivo de esquema desde el navegador del proyecto al esquema abierto actual y los diseños también se copiarán.

      • freaknik dice:

        Vine a decir lo mismo. El diseño modular es muy posible y fácil en Eagle

      • YGDES dice:

        Gracias, aprendí algo hoy 😀

  • Brian Walker dice:

    Altium (que yo uso) tiene una capacidad de escritura impresionante y hace algunos análisis básicos de circuitos. Yo mismo no he usado esa parte desde que hago RF y no digitalmente. También puede seleccionar grupos de componentes en un esquema y luego cambiar al diseño y tenerlos todos juntos. No más búsquedas en esa larga fila.

  • svofski dice:

    "KiCad es todavía un bebé con 25 años, y la suposición general es que KiCad está llegando allí, pero aún no es el momento pico".

    ¿Quizás “nos vemos obligados a publicar anuncios sobre Eagle ignorando años de progreso reciente en KiCAD” sería más honesto? Un águila ni siquiera está cerca. Durante años.

    • Max dice:

      Así es. Para algunas personas, KiCAD nunca "estará durante la primera hora"; el resto de nosotros proyectamos PCB ARM de 64 bits con él si nos apetece (https://olimex.wordpress.com/2016/02/17/a64- olinuxino -64- bit-arm-oshw-totalmente-proyectado-con-kicad-está-vivo /). Pero sí, claramente "no existe todavía", no señor, no cómo, de ninguna manera, es mejor que compremos ese Eagle o Altium, porque "no hay escocés real" y así sucesivamente. Yadda yadda ...

      • Icchan ^ dice:

        Olvidas el hecho de que la “hora punta” es para profesionales. Y no, todavía no está allí y lo usé como hace 5 meses la última vez.
        La interfaz de usuario es lenta e inacabada, dos lienzos diferentes no concuerdan entre sí y hay que estar en el modo correcto para hacer varias cosas, la gestión de la biblioteca es difícil, la creación de nuevos elementos no es intuitiva y errónea ... no hay altas Las habilidades de proyectos de velocidad y el enrutador de empujar y empujar tienen fallas. No hay una función rígida de flexión ...
        Así que sí, todavía no está ahí ... pero esperemos que lo esté. Es mucho mejor ahora con Wayne a la cabeza del proyecto, pero aún necesita un esfuerzo organizado y a gran escala para estar listo para uso profesional. 🙂

        Dicho esto ... Eagle es asombroso, pero es mucho más consistente en su interfaz de usuario y más fácil de aprender, la creación de componentes es simple y la administración de proyectos es fácil.

        Pero eso es todo lo bueno. Sin flexiones, sin habilidades de proyecto rápido, sin habilidades de proyecto jerárquicas adecuadas todavía (los esquemas funcionan bien, pero tienen algunas decisiones de proyecto estúpidas en la numeración de piezas, etc.), sin buenas habilidades de panel (donde el panel consta de casos de su tablero y es no es un arreglo particular en sí mismo) ... etc.

        Cualquier cosa pequeña y fácil, Eagle ... cualquier cosa profesional y a gran escala: Altium Designer, que cuesta un brazo y una pierna ... pero vale la pena ahorrar tiempo y lograr cosas.

        🙂

        • svofski dice:

          Proyectos interesantes como este podrían servir como argumento para los desarrolladores de KiCAD. Tengo razones para creer que [Philip] eligió CAD en absoluto por razones puramente cosméticas e impresiones tempranas. Y hay un buen argumento de que el error que tiene KiCAD en lugar de una interfaz de usuario no es solo un problema superficial. Aquí estamos, un usuario importante con un proyecto interesante que podría realizarse en KiCAD y resultar en quién sabe qué novedades interesantes en él, todo perdido ante un Eagle sin salida.

  • Dan # 9445376854 dice:

    Para el diseño automático y optimización de circuitos existe una interesante herramienta llamada ASCO (A SPICE Circuit Optimizer) http://asco.sourceforge.net/

    También hay varios disolventes para reducir la matriz verdadera y la expresión booleana, la mayoría están en java, pero algunos pueden ser de línea de comando y, por lo tanto, ser parte de una canalización que se alimenta a sí misma en ASCO.

    Para otras herramientas controladas por línea de comandos, consulte gEDA http://www.geda-project.org/

  • Luke Weston dice:

    De lo que realmente estás hablando es de un paquete de software que integra una captura esquemática / sin lista más SPICE más un diseño de PCB, y no hay demasiados.

    La serie Proteus VSM sería un ejemplo de ello.

  • enfocar dice:

    Sus críticas se aplican solo a la parte de PCB de EDA, que, sí, todavía permanece en la Edad Media.

    El mundo del proyecto VLSI (que utiliza esquemas y diseño geométrico, no HDL sintetizado) no ha tenido estos problemas durante años.

    Ninguna herramienta de página de herramientas seria menor de 30 tiene el problema de “programas como KiCad y Eagle ... si quieres más de una copia de un circuito muy específico en tu placa, tienes que copiar y pegar”. Los esquemas jerárquicos (elemento SPICE X) y el diseño jerárquico (subcélulas GDS) se integran en los formatos de datos más primitivos de la industria.

    El problema no es EDA o electrónica, pero la subcultura de PCB está tan rota.

    • Jan Ziobro dice:

      Sí, 100% esto. El procesamiento de VLSI es muy avanzado. Cada queja de correo original se resolvió hace mucho tiempo. Sin embargo, la filosofía es diferente: por lo general, no hay un solo programa monolítico, pero muchos de ellos se comunican entre sí en algún tipo de formato de intercambio de datos. También se usa mucho más la confirmación formal / estática en comparación con una palabra de programa (al menos eso es lo que siento). Sin embargo, todos estos beneficios cuestan:
      1) La licencia única de una herramienta de alrededor de $ 100k no es nada inaudito
      2) En una empresa mediana o grande hay ingenieros cuyo trabajo de tiempo completo es componer y mantener los flujos de proyectos (asegurándose de que todos estos programas se comuniquen correctamente)

  • keith williams dice:

    Vhdl se retrasa.

    • YGDES dice:

      Quizás esté fuera de tu alcance. O hay demasiados caprichos para ti (y realmente son muchos).
      Pero es tremendamente poderoso y ese poder ahora está siendo liberado por herramientas de código abierto como GHDL (escribí extensiones para esto que estarían fuera del ámbito de Verilog). Incluso la versión de VHDL de 23 años es más poderosa que la Verilog actual.
      Y sí, desaté a un troll. Soy tan generoso 🙂

      • svofski dice:

        Hola. No me molestaría en leer un artículo breve sobre el estilo la-tecnologia sobre las diferencias entre VHDL y Verilog. Solía ​​estar seguro de que al menos sus subconjuntos sintetizables eran equivalentes, más o menos. Usé ambos para FPGA y las diferencias que encontré fueron en su mayoría sintácticas. ¿Le importaría averiguar lo que quiere decir con "más poderoso"?

        • Dan # 9445376854 dice:

          Encontré esta información al respecto, http://www.ue.pwr.wroc.pl/pld/pld_12.pdf

          • svofski dice:

            ¡Gracias!

Pedro Molina
Pedro Molina

Deja una respuesta

Tu dirección de correo electrónico no será publicada.