¿Cómo gestiona su empresa la reutilización de hardware?

12

En mi empresa, realizamos muchos diseños de hardware originales, cada uno de los cuales está diseñado por una pequeña subsección de nuestros ingenieros. Estamos buscando formas de documentar y distribuir mejor lo que se ha hecho en cada proyecto para que la información pueda ser distribuida y potencialmente reutilizada. ¿Cómo maneja su empresa esto?

Funkyeah
fuente
1
No estoy seguro de si se aplica directamente a la electrónica, pero la reutilización de código es una gran cosa en el mundo del software. Wikipedia tiene un artículo sobre la reutilización de código: en.wikipedia.org/wiki/Code_reuse
Thomas O
2
Creo que el concepto de reutilización se aplica, pero si bien es difícil de administrar en el software, es una bestia completamente diferente en el hardware. El software está tratando de resolver el problema de la reutilización global, donde el código se comparte entre compañías y, de alguna manera, entre idiomas. La ingeniería de hardware ni siquiera ha resuelto la reutilización local de una manera fluida que yo sepa. Dados todos los diferentes formatos de esquemas y CAD patentados en la mezcla, creo que sería mejor resolver primero la reutilización local y luego pasar a la reutilización de hardware global.
Funkyeah
2
@Funkyeah, es posible que muchas empresas no hayan resuelto la reutilización de códigos locales. Es una bestia diferente con hardware, muy diferente.
Kortuk
1
Me encantaría saber si hay un método para el hardware.
Kortuk
1
Creo que la capacidad de los desarrolladores de software para refactorizar su código ayuda en gran medida a la viabilidad de la reutilización. Pueden usar un módulo o biblioteca desarrollados externamente como prueba de concepto y funcionalidad rápida y luego refactorizar para obtener el rendimiento donde sea necesario. El hardware no tiene este beneficio porque la refactorización del hardware (lo que básicamente llamaría volver a formar una placa) es financieramente inviable si se realiza caso por caso. El otro hecho que quisiera señalar es que los módulos de hardware están intrínsecamente unidos debido al costo real del diseño excesivo de componentes.
Funkyeah

Respuestas:

8

Algunas herramientas EDA como la que uso, Altium Designer, proporcionan métodos para guardar porciones variables de circuitos para que sean algo portátiles. Para circuitos pequeños, puede usar " Fragmentos ", o para una reutilización más grande de varias hojas, " Hojas de dispositivo "

No conozco ningún estándar para los esquemas de hardware (SPICE es demasiado abstracto; que yo sepa, no puede vincularlo con huellas, sus números de parte, proveedores, sus números de parte ...) por lo que cualquier tipo de reutilización sería altamente dependiente del paquete EDA que utiliza su empresa y las características que proporciona, o los métodos organizativos que implementa a su alrededor.

Nick T
fuente
He visto esas características antes, ¿qué tan bien funcionan realmente?
Kortuk
1
@Kor: Personalmente, acabo de reutilizar las hojas 'normales' de otras personas y mis propias, debido a una mezcla de desconocimiento con el proceso para crearlas (aunque parece bastante fácil), tener que hacer modificaciones menores debido a diferentes requisitos, o no se piensa en la hoja más allá del proyecto único.
Nick T
También utilizamos Altium Designer y me encanta la herramienta para la captura esquemática y el diseño. No he usado la herramienta de fragmentos para nuestra propia IP y me interesaría aquí si otras personas la usan / les gusta.
Funkyeah
También utilicé Altium e hice un proyecto más grande con él. Es muy fácil administrar proyectos más grandes, y si piensa de antemano en los componentes reutilizables, apuesto a que puede configurar su hardware de manera muy flexible. Al menos, para el esquema, la PCB es algo que probablemente tenga que volver a dibujar cada vez. Me gusta mucho el sistema Device Sheet de Altium.
Hans
@hans, no he podido usar el diseño altium, pero mostraron una forma de pegar un sistema de hardware y hacer coincidir su PCB. Se veía bien.
Kortuk
8

Cuando dice diseños de "hardware", sé que probablemente esté hablando de soluciones de PCB y componentes discretos, pero tengo algo de experiencia en el diseño de ASIC que pueden ser útiles a nivel conceptual.

Cuando diseñamos un ASIC que es bastante complicado, usamos la jerarquía desde el principio. Una razón importante para eso es que a medida que los diseños se hacen más grandes, su capacidad para evaluarlos y simularlos a fondo disminuye. Además, los diseños ASIC pueden ser bastante grandes, y sin una jerarquía bien organizada puede ser difícil administrar todo el diseño.

Tenemos una fuerte cultura de reutilización de nuestros bloques de construcción. Por ejemplo, si tenemos un diseño de amplificador operacional que alguien pasó mucho tiempo diseñando y validando, ese diseño se empaquetaría para que otro diseñador pueda importar fácilmente ese diseño en su propio espacio de trabajo. Tenemos un servidor centralizado para almacenar estos paquetes, por lo que todas las piezas que necesita son fáciles de encontrar.

Si bien un bloque individual puede haber sido diseñado para un circuito específico (por ejemplo, una referencia de voltaje para un amplificador operacional), generalmente puede reutilizarse sin modificar el diseño original. El ciclo de diseño dura un mes o más e incluye la validación de un diseño. Diseñar uno de estos bloques lleva tiempo para familiarizarse con el conjunto de problemas, por lo que incluso si el bloque no es ideal, probablemente intente usarlo de todos modos.

W5VO
fuente
Suena genial, hacemos algo similar en los laboratorios de diseño de nuestra universidad. El problema es cuando se agrega algo que no funciona. Lo odio, pero hace el trabajo.
Kortuk
2
Una estrategia de reutilización necesita mucha disciplina, como un sistema de control de versiones. No funciona tan bien si todos no entienden cómo y cuándo usarlo.
W5VO
2
He tomado algunas clases de ASIC y conozco bastante bien el diseño de FPGA, así que definitivamente diría que el diseño y la reutilización de componentes ASIC analógicos son una alegoría directa a las soluciones de componentes discretos a nivel esquemático. Mis preguntas para usted serían cómo disemina el diseñador de cualquier bloque de construcción la utilidad y flexibilidad de dicho bloque de construcción. Usando su ejemplo de referencia de voltaje, ¿saben otros en su equipo acerca de la IP de referencia de voltaje porque es un equipo pequeño o porque se puede buscar? Si la referencia de voltaje es flexible, ¿cómo se transmite esa información?
Funkyeah
En los grupos más grandes en los que he trabajado, tenemos un repositorio de hojas de datos para las partes relevantes. Cada hoja de datos tendría suficiente información para que alguien use el diseño sin pasar una semana leyendo literatura relevante. Para mi trabajo, los diferentes procesos de CI que utilizamos limitan el intercambio que puede hacer todo nuestro equipo, por lo que no fue necesaria una mejor organización de los bloques. Por lo general, no hacemos diseños duplicados, a menos que los requisitos de diseño sean significativamente diferentes; por ejemplo, solo teníamos una referencia de voltaje de banda prohibida.
W5VO
4

Sé que TinyCAD permite que un esquema se guarde en un símbolo jerárquico: puede dibujar cómo desea que se represente el circuito en un circuito más grande y especificar qué entradas y salidas hay. Su circuito se muestra más o menos como una caja con pines en el esquema más grande y un simple doble clic le permite ver lo que hay debajo y editarlo. Todas las partes en el subcircuito aparecen en la lista de partes, la lista de red tiene todas las conexiones del subcircuito, etc. Ha pasado un tiempo, pero ¿otras herramientas EDA no permiten este comportamiento u otro similar?

AngryEE
fuente
Sí, lo hacen, pero creo que Altium lo hace de una manera más avanzada, pero h blocks es como lo he visto hacer.
Kortuk