Buenas prácticas para sistemas de control de versiones de Hardware

Zachariah Peterson
|  Creado: November 1, 2021
Mejores prácticas en sistemas de control de versiones de Hardware
Siempre que colabores con un equipo remoto, necesitarás hacer un seguimiento a las revisiones a lo largo del ciclo de vida del proyecto con un sistema de control de versiones de hardware.

Algunas PCB son lo suficientemente sencillas como para no requerir de la colaboración de varios diseñadores trabajando en equipos grandes. Los archivos de diseño vienen, básicamente, en dos formas: como archivos iniciales del proyecto y como archivos finales del proyecto, una vez terminado el diseño. Por ejemplo, en el esquema de trabajo que emplea mi equipo, solemos recibir algunos archivos de diseño de un cliente para ayudarnos a comenzar, y después lo gestionamos todo nosotros mismos. Cualquier proyecto tiene la potencialidad de complicarse, y el equipo de diseño de PCB necesita hacer seguimiento a las diversas revisiones del proyecto.

¿Por qué preocuparse por hacer seguimiento a las revisiones? Si se da el caso en que se reciben cambios para requisitos funcionales del producto, se implementan cambios grandes en la arquitectura de tu producto o si ya estás listo para finalizar el diseño y prepararlo para su fabricación, lo mejor es clonar el proyecto en su estado actual y comenzar a trabajar en una nueva versión de este. Hacer seguimiento a todos estos cambios en un proyecto de diseño de PCB precisa del tipo de herramientas de control de versiones de hardware que encontrarás en Altium 365™.

¿Qué comprende el control de versiones de hardware?

¿Qué abarca el control de versiones de hardware y cuándo se debe utilizar? Y además, ¿qué hace falta para ello? El mundo del software lleva usando el control de versiones desde que Linus Torvalds creó Git en 2005, y los sistemas de control de versiones de hardware han tenido problemas para mantenerse al día hasta épocas muy recientes. El control de versiones de hardware ofrece una manera sencilla de hacer seguimiento a versiones anteriores de un proyecto de diseño de PCB, abarcando desde los diagramas esquemáticos hasta los documentos de fabricación y los planos mecánicos.

El sistema de control de versiones es el responsable del seguimiento y la gestión de sucesivos cambios a cualquier colección de información, incluyendo datos de diseño de PCB. En mi opinión, el control de versiones es una función necesaria que vale la pena aprovechar siempre que sea posible, especialmente si su equipo trabaja en proyectos complejos de diseño de PCB con múltiples colaboradores. Los mejores sistemas de control de versiones para desarrollo de hardware ofrecen algunas funciones y datos importantes:

  • Lista cronológica de revisiones de un proyecto. Cualquier documento de diseño agregado o eliminado, cambios en los datos de diseño de PCB, fechas prometidas o cualquier comentario o revisión de diseños puede verse en orden cronológico.
  • Quién ha hecho los cambios. El usuario responsable de hacer y enviar los cambios listados en el historial de revisiones debe listarse junto con cada revisión. 
  • Versiones de proyectos de PCB creados. En cualquier momento en que se crea una versión sin archivos de salida, esta versión debe poder verse y estar accesible en el historial de revisiones. 
  • Capacidad de descargar o clonar cada revisión. La capacidad de clonar una revisión previa de un proyecto como una versión nueva es clave para el control de versiones. 
Control de versión del hardware para diseño de PCBs.
Siempre que colabores con un equipo remoto, necesitarás hacer seguimiento a las revisiones mediante el ciclo de vida del proyecto con un sistema de control de versiones de hardware.

Los sistemas de control de versiones pueden hacer seguimiento a todos estos datos y revisiones en un servidor local, o en la nube con un servidor gestionado. Esto le brinda acceso a versiones anteriores de un proyecto, ya sea para clonar o regresar a un proyecto en un estado previo, o simplemente para descargar los datos de un proyecto anterior para otros propósitos.

Cuando clonar proyectos con control de versiones de hardware

Tanto si estás haciendo un seguimiento a las revisiones de proyectos de software o a los datos de diseño de PCB, es posible que debas revertir los cambios a una versión anterior del proyecto por una multitud de razones. Si planeas clonar un proyecto dentro de tu sistema de control de versiones, aquí te indicamos algunas ocasiones en las que deberías considerar la opción de clonar un proyecto.

Cambios en los requisitos funcionales

Los clientes o el equipo de ingeniería pueden cambiar los requisitos funcionales del producto por una serie de motivos. Cuando ocurre un cambio, es buena idea clonar el proyecto en su estado actual y aplicar las revisiones al proyecto clonado. Al bifurcar el proyecto hacia una nueva versión, siempre podrás regresar al proyecto anterior si los nuevos requisitos funcionales se abandonan.

Cambios en los componentes

Siempre debes "limpiar" tu BOM antes de comenzar con un nuevo diseño, y muy especialmente antes de comenzar con una nueva disposición de PCB. Incluso si has hecho la procura de componentes de manera oportuna, la cadena de suministros puede cambiar rápidamente y es posible que haya componentes que ya no estén disponibles, ya sea por haber alcanzado el fin de su vida útil, no estar recomendados para nuevos diseños, estar obsoletos, o no haber existencias.

Si esto ocurre con una MCU, FPGA u otro CI especializado, el componente de repuesto podría tener una distribución de pines completamente diferente. Aquí, puedes clonar el proyecto actual y colocar el nuevo componente en el nuevo proyecto. En caso de que el antiguo componente vuelva a estar disponible, solo tienes que retornar a la versión antigua del proyecto. Esto me ha resultado muy útil cuando un cliente está empeñado en conseguir un componente que no pueden comprar, como una MCU, pero que aun así quiere una placa fabricable con componentes que sea posible conseguir. Y no hay mejor manera de ponerles una sonrisa en la cara que entregarles ambas versiones del proyecto.

Preparación para la fabricación

Una vez que hayas enviado tus datos de diseño al fabricante (y si has pagado las tarifas de NRE), es posible que estos hagan cambios en la disposición o los archivos de salida. Yo siempre hago una copia del proyecto finalizado antes de enviársela al fabricante, y le comunico a su equipo que pueden hacer las modificaciones que necesiten. Normalmente ellos nos envían de regreso un conjunto de archivos de diseño con las modificaciones requeridas aplicadas directamente.

En la imagen de abajo, Altium Designer me facilita el clonar un proyecto en el servidor de contenidos gestionados de Altium 365 sin tener que pasar por mi navegador web. Ya he ingresado el proyecto en el control de versiones y lo he sincronizado con los archivos en mi espacio de trabajo de Altium 365, pero puedo clonar fácilmente el proyecto y guardar mi nueva versión en mi espacio de trabajo; no hay necesidad de descargar y re-subir el proyecto clonado. También podría usar este proyecto clonado como una nueva variante, reusarlo en un nuevo diseño o usarlo como respaldo si así lo necesito.

Control de versión de hardware
Altium 365 facilita muchísimo el clonar un proyecto directamente desde su interior con Altium Designer. Solo tienes que seleccionar la opción desde el panel de proyectos.

Existen muchas otras formas y motivos para usar control de versiones de hardware para tus proyectos de diseño de PCB. Sin importar cuál sea la tarea a completar, lo recomendable es usar un sistema de gestión de datos de primera categoría, que se integre directamente con tu s software de diseño de PCB.

Altium 365 es el futuro del control de versiones de hardware y de PCB

El control de versiones es un concepto sencillo pero poderoso, que más diseñadores deberían estar implementando conscientemente. Cuando estaba comenzando a trabajar con un equipo remoto, cada diseñador hacía seguimiento a sus propias revisiones de proyectos en su ordenador local. En algunos casos, el cliente manejaba estas tareas mediante un sistema propio. Estas soluciones son ineficientes, y las soluciones externas no se integran con tu software de diseño de PCB.

Los mismos procesos de control de versiones usados para software se pueden usar para el control de versiones de hardware con Altium Designer® y la plataforma Altium 365®. Los equipos de diseño pueden crear un flujo de trabajo muy productivo y en colaboración para diseño de PCB si incluyen a los diseñadores, usuarios finales y fabricantes en el proceso de desarrollo. Todos los integrantes de tu equipo tendrán acceso a los datos de la cadena de suministros, funciones de comentarios y herramientas de intercambio de datos, para así ayudar a hacer más fluido el diseño de PCB en colaboración.

No hemos hecho más que tocar la superficie de lo que es posible hacer con Altium Designer en Altium 365. Puedes consultar la página de producto para una descripción en profundidad de las funcionalidades, o uno de los webinarios bajo demanda.

Sobre el autor / Sobre la autora

Sobre el autor / Sobre la autora

Zachariah Peterson tiene una amplia experiencia técnica en el mundo académico y la industria. Actualmente brinda servicios de investigación, diseño y marketing a empresas de la industria electrónica. Antes de trabajar en la industria de PCB, enseñó en la Universidad Estatal de Portland y realizó investigaciones sobre la teoría, los materiales y la estabilidad del láser aleatorio. Su experiencia en investigación científica abarca temas de láseres de nanopartículas, dispositivos semiconductores electrónicos y optoelectrónicos, sensores ambientales y estocástica. Su trabajo ha sido publicado en más de una docena de revistas revisadas por pares y actas de congresos, y ha escrito más de 1000 blogs técnicos sobre diseño de PCB para varias empresas. Es miembro de IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society y Printed Circuit Engineering Association (PCEA), y anteriormente se desempeñó en el Comité Asesor Técnico de Computación Cuántica de INCITS.

Articulos más recientes

Volver a la Pàgina de Inicio