Free Trial

Scarica una prova gratuita per scoprire quale software Altium si adatta meglio alle tue esigenze

Come acquistare

Contatta l'ufficio vendite locale per iniziare a migliorare il tuo ambiente di progettazione

Download

Scarica le ultime novità in materia di progettazione PCB e software EDA

  • PCB DESIGN SOFTWARE
  • Altium Designer

    Ambiente di progettazione completo per Schematici e Layout

  • CircuitStudio

    Tool di progettazione PCB professionale – Entry Level

  • CircuitMaker

    Strumento di progettazione PCB basato sulla Community

  • NEXUS

    Strumento ideale per la progettazione PCB in Team

  • CLOUD PLATFORM
  • Altium 365

    Connecting PCB Design to the Manufacturing Floor

  • COMPONENT MANAGEMENT
  • Altium Concord Pro

    Soluzione completa per la gestione delle librerie (Library Management)

  • Octopart

    Vasto database di componenti, facile da usare.

  • PRODUCT EXTENSIONS
  • PDN Analyzer

    Natural and Effortless Power Distribution Network Analysis

  • Vedi tutte le estensioni
  • EMBEDDED
  • Tasking

    Tecnologia di fama mondiale per lo sviluppo di sistemi Embedded

  • TRAININGS
  • Live Courses

    Scopri le migliori tecniche grazie alla formazione didattica disponibile worldwide

  • Corsi On-Demand

    Ottieni una conoscenza completa comodamente da casa o dall’ufficio

  • ONLINE VIEWER
  • Altium 365 Viewer

    View & Share electronic designs in your browser

  • Altium Designer 20

    Lo strumento di progettazione, per uso progfessionale, pià potente, moderno e facile da utilizzare

    ALTIUMLIVE

    Annual PCB Design Summit

    • Forum

      Dove utenti Altium ed appassionati del settore possono interagire tra loro

    • Blog

      Il nostro blog sugli argomenti che riteniamo più interessanti e che speriamo interessino anche a voi

    • Idee

      Invia le tue idee e vota le nuove funzionalità che vorresti vedere introdotte in Altium

    • Bug Crunch

      Aiutaci a migliorare il software inviando bug e votanto i topic che ritieni più importanti

    • Wall

      Una serie di eventi Altium Live che puoi seguire partecipando o iscrivendoti.

    • Beta Programm

      Informati su come partecipare al nostro Beta Programm ed accedi per primo a tutti i nuovi strumenti Altium

    Tutte le risorse

    Esamina il contenuto più recente dai post di blog ai social media e white paper tecnici riuniti insieme per la tua comodità

    Download

    Dai un'occhiata a quali opzioni di download sono disponibili per soddisfare al meglio le tue esigenze

    Come acquistare

    Contatta l'ufficio vendite locale per iniziare a migliorare il tuo ambiente di progettazione

    • Formazione & Eventi

      Guarda il programma e registrati agli eventi di formazione a livello mondiale ed online

    • Contenuto della progettazione

      Sfoglia la nostra vasta libreria di contenuti di progetto gratuitamente, compresi i componenti, i modelli e i progetti di riferimento

    • Webinar

      Partecipa a un webinar dal vivo online o ottieni accesso immediato alla nostra serie dei webinar su richiesta

    • Supporto

      Ottieni le risposte alle tue domande con la nostra varietà di opzioni self-service e assistenza diretta

    • Documenti tecnici

      Rimani aggiornato sulle ultime tendenze della tecnologia e del settore, con la nostra collezione completa di white paper tecnici.

    Git Tagging e sviluppo hardware in Altium Designer

    Ari Mahpour
    |  July 23, 2020
    Git Tagging e sviluppo hardware in Altium Designer

    Il concetto di revisione nel campo della progettazione elettronica ha mantenuto una tendenza relativamente standard in tutto il settore. Una revisione consiste di solito in una lettera e talvolta contiene un numero. La gente ha provato diversi schemi di revisione ma, in base alla mia esperienza, la revisione standard basata sulla lettera è quella che sembra prevalere nel settore. Una domanda che mi sono sempre posto è questa: che fine hanno fatto le revisioni intermedie? Capisco che un cambiamento in una revisione comporta una release, ma che ne è stato di tutti i cambiamenti tra una release e l'altra? Come vengono tracciate? La risposta a questa domanda potrebbe essere giustamente: il git tagging!

    Nel corso del tempo, questo quesito è stato affrontato con sistemi di controllo versione come CVS, Subversion e Git. Gli sviluppatori di software hanno probabilmente familiarità con Git, ma utilizzarlo nella progettazione hardware è un ottimo modo per tracciare le revisioni, i progetti fork e i progetti di release. Questi sistemi di controllo del progetto offrono la possibilità di visualizzare ogni versione tra una release e l'altra. Nell’articolo Integrazione e Deployment continui in ECAD abbiamo discusso il concetto di rilasciare una nuova versione di un progetto ad ogni commit. In questo articolo, esamineremo un modo semplice ma efficace di rilascio con il server Git mantenendo, al contempo, il collegamento con la revisione basata su lettera del PCB.

    Tagging dei PCB con Git

    Git Tagging è una funzionalità di Git che permette agli utenti di designare un commit specifico per un determinato scopo. Gli utenti “taggheranno” un commit per indicare il suo rilascio. Ad esempio, si può etichettare il terzo commit nel repository come Revisione 1.0.0, mentre i dieci commit successivi possono essere etichettati come Revisione 1.1.0. Non esiste un modo giusto o sbagliato di usare i tag, ma l'utilizzo dei Git tagging per i punti di rilascio è di solito l’applicazione principale di questa caratteristica. 

    Indipendentemente se gestisci i progetti in Altium Concord Pro, GitHub, Bitbucket, Gitlab o qualsiasi altra forma di server Git, tutti hanno la funzione di taggare un commit. Alcuni server Git hanno un proprio sistema di tagging che può essere eseguito dalle loro interfacce web come GitHub e Bitbucket. Per altri server Git, puoi usare il comando git-tag o git tagging dalla riga di comando. Indipendentemente da come decidi di implementare il tagging in Git per lo sviluppo hardware, il team necessita di un sistema di denominazione delle revisioni in modo che tutti comprendano come le diverse versioni si relazionano tra loro.

    Collegamento tra una release e un Git commit

    Mentre la comunità ECAD migra verso un sistema di controllo versione come Git, è essenziale mantenere il collegamento tra il sistema Git e il processo di release noto a tutti. Molte persone hanno avuto difficoltà nel determinare il modo migliore per mantenere i commit in un sistema di controllo del progetto e della sua versione e, al contempo, assemblare un pacchetto ufficiale da inviare ai fornitori (o per la revisione in un secondo momento). Esistono sono vari modi per farlo. Il processo di release non è una soluzione unica per tutti, tuttavia consiglio di provarlo come base di partenza e di adattarlo alle esigenze del gruppo.

    La sfida principale è dare un senso a tutti i commit di Git e poi collegarli ad un pacchetto di rilascio. Ecco un esempio di una serie di Git commit visti in GitHub:

     

    Git commit

    Figura 1. Cronologia dei commit in un repository di GitHub, durante la fase di controllo di progetto.  

    Come puoi notare, ci sono molti commenti che descrivono le modifiche al progetto e altri che proclamano una “release ufficiale”. È una pratica comune tra molti utenti del sistema di controllo versione e solitamente funziona. Ho anche notato che gli utenti raggruppano i pacchetti di rilascio all'interno del repository. Sebbene non sia la soluzione più pulita (poiché contamina il repository con file non di progetto), sembra funzionare.

    Piuttosto che rendere nota la release ufficiale in un commento, possiamo sfruttare il concetto di git tagging (noto come “release” in GitHub). In questo esempio, abbiamo preso i commit di queste release ufficiali e le abbiamo trasformate in release GitHub (diventate anche tag):

    Release view

    Figura 2. Visualizzazione delle release per un repository di progetto in GitHub durante la fase di git tagging.

     

    Come puoi notare, abbiamo preso specifici commit e convertiti in release. In questo modo, GitHub etichetta i commit in questo modo:

    Tag view
    Figura 3. Visualizzazione dei tag per un repository di progetto in GitHub durante la fase di controllo di un progetto

     

    searching for tags
    Figura 4. Controllo di un progetto: ricerca dei tag in GitHub.

    Collegamento tra uno schematico e un Git commit

    Un altro modo per assicurare un collegamento tra il progetto PCB e il repository Git è quello di monitorare il Git hash nello schematico. È un trucchetto che John Watson mi ha mostrato quando usavamo Subversion. Utilizzando stringhe speciali puoi collegare uno schematico (e PCB) direttamente al Git commit utilizzato per caricare contenuti sul server Git. In questo esempio, abbiamo posizionato la stringa di controllo del progetto e della sua versione sullo schematico di primo livello accanto al blocco del titolo:

    Git hash

    Figura 5. Git hash utilizzato come stringa speciale durante il controllo di un progetto

     

    Come puoi notare, ci sono due versioni di Git hash  rappresentate nello schematico: la prima è la versione completa e la seconda è quella breve (come quella usata in GitHub). Per utilizzare quella completa ho digitato la seguente stringa speciale:

    =VersionControl_ProjFolderRevNumber

    Se vuoi concatenarla al titolo, devi aggiungere la seguente stringa:

    =’Git Hash:’ + VersionControl_ProjFolderRevNumber

    Tuttavia, al momento della stesura di questo articolo, abbiamo scoperto che questa stringa era troppo lunga per essere concatenata. Un’alternativa è impostare VersionControl_ProjFolderRevNumber come parametro breve. In questo caso, è stato creato un parametro e impostato come VersionControl_ProjFolderRevNumber nel pannello Proprietà per questo schematico.

    Redefining the Git

    Figura 1. Cronologia dei commit in un repository di GitHub, durante la fase di controllo di progetto.
     

    Una volta creato un parametro più breve, possiamo modificare la stringa. In questo caso, vogliamo solo i primi 7 caratteri del Git hash, così come viene visualizzato in GitHub. Inseriamo la seguente stringa speciale combinata e modificata:

    ='Git Hash: ' + Copy(GitHash,1,7)

    Ricordati che qualsiasi funzione di modifica delle stringhe utilizzata proviene dal linguaggio Delphi. La tecnica del sottostringa è una semplice funzione Copia incorporata nella stringa. Dopo aver aperto i documenti di progettazione della release Git in Altium Designer, vedrai un tag contenente un link specifico che si ricollega direttamente alla versione controllata.

    Implementazione Git per lo sviluppo hardware in Altium 365

    Mentre l'industria inizia a utilizzare le revisioni Git per lo sviluppo hardware, in particolare per la fase di controllo del progetto, sia in ambiente locale che cloud, è importante capire il legame tra il rilascio ufficiale di un progetto PCB e il Git commit (hash) nel sistema di controllo versione. Il concetto di Git hash e l'uso di questa caratteristica nella pubblicazione di un progetto PCB in un sistema di controllo versione ci consente di preservare questo collegamento e di mantenere i due processi (o sistemi) sincronizzati.

    Invece di utilizzare un sistema di controllo versione di terze parti, puoi implementare il Git tagging per lo sviluppo hardware con Altium Designer e la piattaforma Altium 365. Questo sistema sostituisce una soluzione Git basata su cloud per il controllo versioni e consente al team di importare istantaneamente i progetti in Altium Designer. In alternativa, puoi implementare Altium Concord Pro nell’ambiente locale, fornendo al team una serie completa di funzioni di controllo versione e di gestione dei dati che si integrano con Altium Designer.

    Altium Designer su  Altium 365 sta introducendo un livello di integrazione senza precedenti nel settore dell’elettronica che è stato relegato al mondo dello sviluppo software, consentendo ai designer di lavorare da casa e raggiungere livelli impareggiabili di efficienza.

    Abbiamo solo scalfito la superficie di ciò che è possibile fare con Altium Designer su Altium 365. Per una descrizione più approfondita della funzione puoi dare un’occhiata alla pagina del prodotto o partecipare a uno dei Webinar on-demand.

    About Author

    About Author

    Ari is an engineer with broad experience in designing, manufacturing, testing, and integrating electrical, mechanical, and software systems. He is passionate about bringing design, verification, and test engineers together to work as a cohesive unit.

    most recent articles

    Back to Home