Restructuring a Design through Refactoring
Il refactoring, nel senso tradizionale del termine, è l’atto di ristrutturare un progetto esistente (o un insieme di codice, nel mondo della programmazione) senza modificarne la funzionalità. In termini di progettazione PCB, esistono varie situazioni in cui una qualche forma di refactoring può offrire una soluzione vantaggiosa e tempestiva:
-
Un componente è diventato obsoleto e deve essere sostituito con un sottocircuito funzionalmente equivalente. (Show Me)
-
Un progetto schematico deve diventare un sottocircuito da utilizzare all’interno di un progetto più grande. (Show Me)
-
Un sottofoglio schematico esistente deve essere trasformato in un device sheet per il riutilizzo nei progetti futuri. (Show Me)
-
Un device sheet esistente deve essere localizzato e personalizzato per il progetto corrente. (Show Me)
-
Alcuni sottocircuiti esistenti devono essere spostati in un altro foglio. (Show Me)
Altium Designer offre diverse funzionalità che, nel loro insieme, costituiscono le sue capacità di Design Refactoring, fornendoti la massima flessibilità per ristrutturare i tuoi progetti in base ai requisiti.
Conversione di un componente in un Sheet Symbol
Questa funzione converte un componente nel documento corrente in un sheet symbol. È ideale quando un componente esistente è diventato obsoleto e deve essere sostituito da un sottocircuito funzionalmente equivalente definito su un foglio separato.
Facendo clic con il pulsante destro su un componente e scegliendo quindi il comando Part Actions » Convert Part To Sheet Symbol dal menu contestuale, il simbolo del componente viene convertito in un sheet symbol. La connettività viene mantenuta, con le sheet entry denominate secondo il nome originale dei pin e il I/O Type impostato in modo da riflettere il tipo elettrico originale dei pin.
La proprietà Designator del sheet symbol viene inizialmente impostata sul designatore del componente originale, e la sua proprietà File Name is viene inizialmente impostata sul testo di commento del componente.
Converti un componente esistente in un sheet symbol.
Se il child sheet richiesto esiste, modifica il File Name del sheet symbol in modo che punti a quel foglio. In caso contrario, è possibile creare rapidamente un sottofoglio facendo clic con il pulsante destro sullo sheet symbol e scegliendo il comando Sheet Symbol Actions » Create Sheet From Sheet Symbol. In quest’ultimo caso, sul nuovo sottofoglio verranno posizionate porte corrispondenti alle sheet entry del simbolo, pronte per definire e collegare il sottocircuito sostitutivo.
Inserimento di un componente in un nuovo sottofoglio
Un metodo alternativo, e forse più rapido, per ottenere un risultato finale simile consiste nel fare clic con il pulsante destro sul componente richiesto e quindi scegliere il comando Part Actions » Push Part To Sheet . Questo comando viene utilizzato per inserire un componente del documento corrente in un nuovo sottofoglio, sostituendo il componente originale con uno sheet symbol che fa riferimento a quel foglio. Viene essenzialmente eseguita la seguente sequenza di passaggi:
-
Il componente viene copiato.
-
Il componente originale viene convertito in uno sheet symbol con il Designator impostato sul designatore del componente originale e il File Name impostato su <OriginalPartComment>.SchDoc. Anche in questo caso, la connettività viene mantenuta, con le sheet entry denominate secondo il nome originale dei pin e il I/O Type impostato in modo da riflettere il tipo elettrico originale dei pin.
-
Viene creato un nuovo foglio schematico a partire dallo sheet symbol e denominato utilizzando il valore File Name del simbolo.
-
La copia del componente originale viene incollata al centro del foglio, con porte corrispondenti alle sheet entry dello sheet symbol posizionate e cablate ai pin del componente.
È quindi possibile eliminare il componente e sostituirlo con una circuiteria funzionalmente equivalente, secondo necessità.
Utilizzando il comando Push Part To Sheet, il componente iniziale viene rapidamente convertito in uno sheet symbol e quindi ne viene incollata una copia su un foglio appena creato,
a cui fa riferimento quel simbolo.
Conversione di un componente in porte
Questa funzione viene utilizzata per convertire un componente nel documento corrente in un insieme di porte. È ideale per un sottoprogetto standalone esistente, come un alimentatore o una scheda satellite, che deve essere trasformato in un sottocircuito da utilizzare all’interno di un progetto più grande su singola scheda, magari per ridurre i costi di produzione. Si tratta dell’operazione inversa rispetto alla sezione precedente, in cui un componente veniva sostituito con un sottocircuito di livello inferiore. In questo caso, invece, si tratta del processo di inserimento di un sottocircuito nel progetto di livello superiore, rendendolo disponibile per il collegamento a un punto superiore nella gerarchia.
Facendo clic con il pulsante destro su un componente e scegliendo quindi il comando Part Actions » Convert Part To Ports dal menu contestuale, il simbolo del componente viene convertito in un insieme di porte. La connettività viene mantenuta, con le porte denominate secondo il nome originale dei pin e il I/O Type impostato in modo da riflettere il tipo elettrico originale dei pin.
Usa il comando Convert Part To Ports per sostituire rapidamente un componente con porte che collegano un sottocircuito a un progetto di livello superiore.
L’inserimento del sottocircuito nella gerarchia viene quindi completato aggiungendo uno sheet symbol nel foglio padre di livello superiore pertinente. Per farlo:
-
Rendi attivo il foglio padre richiesto.
-
Usa il comando Design » Create Sheet Symbol From Sheet.
-
Scegli il documento (contenente le porte create dal componente) nella finestra di dialogo Choose Document to Place.
-
Uno sheet symbol apparirà sul cursore; posizionalo nel foglio come richiesto, quindi fai clic per completare il posizionamento.
Lo sheet symbol fa riferimento al sottofoglio sottostante (tramite la sua proprietà File Name ) e dispone di sheet entry corrispondenti alle porte presenti nel child sheet.

Usa il comando Create Sheet Symbol From Sheet per aggiungere rapidamente uno sheet symbol, inserendo così il sottocircuito nella gerarchia del progetto.
Conversione di un foglio schematico in un Device Sheet
A un certo punto, il concetto di progettazione orientata al riutilizzo deve aumentare il proprio livello di astrazione. Se ci fermassimo al livello del componente, ogni progetto che includesse una funzionalità simile, come un’interfaccia USB o un regolatore di tensione, finirebbe per “reinventare la ruota”. È qui che entrano in gioco i device sheets, cioè fogli schematici progettati per offrire specifiche funzionalità circuitali. Il loro utilizzo elimina i rischi associati al tradizionale approccio copia-e-incolla. Eliminano la ripetizione dello sforzo progettuale, aumentando al contempo il livello di contenuto progettuale riutilizzabile nei progetti futuri.
Come parte della sua suite di strumenti di refactoring, l’editor Schematic consente di convertire rapidamente un foglio schematico standard esistente in un device sheet da riutilizzare in altri progetti.
Per convertire un foglio schematico esistente in un device sheet:
-
Individua lo sheet symbol che fa riferimento al foglio richiesto nella pagina padre pertinente della gerarchia del progetto.
-
Seleziona lo sheet symbol e scegli il comando Edit » Refactor » Convert Selected Schematic Sheet To Device Sheet dai menu principali. Verrà visualizzata la finestra di dialogo Convert Schematic Sheet to Device Sheet. Scegli la posizione di destinazione in cui memorizzare il device sheet appena creato e anche l’ambito della conversione, ovvero se aggiornare lo sheet symbol corrente oppure tutti gli sheet symbol pertinenti nello spazio di progettazione o nel progetto attivo. Quest’ultima opzione è particolarmente utile per un progetto multicanale, in cui il sottocircuito esiste in più istanze.
Specifica i dettagli della conversione nella finestra di dialogo Convert Schematic Sheet to Device Sheet.
-
Fai clic su OK. Lo sheet symbol verrà convertito in un simbolo di device sheet e lo schema verrà spostato nella posizione del device sheet specificata.
Le proprietà dello sheet symbol originale verranno ereditate dal simbolo di device sheet.
Conversione di un Device Sheet in un foglio schematico
I device sheet consentono di acquisire sottocircuiti funzionali e riutilizzarli tra progetti diversi. Tuttavia, può esserci la necessità di modificare un sottocircuito esistente per un progetto specifico. Anziché modificare il device sheet stesso, l’editor Schematic consente di creare una copia del device sheet, rendendo la sua circuiteria disponibile in un foglio schematico standard. Questo ti permette di modificare la copia locale in base ai requisiti del progetto corrente, con la certezza che il device sheet originale rimanga invariato.
Per “convertire” un device sheet esistente in un foglio schematico:
-
Individua il simbolo di device sheet che fa riferimento al device sheet richiesto.
-
Seleziona il simbolo di device sheet e scegli il comando Edit » Refactor » Convert Device Sheet To Schematic Sheet dai menu principali. Verrà visualizzata la finestra di dialogo Convert Device Sheet to Schematic Sheet . Scegli la posizione di destinazione in cui memorizzare il foglio schematico appena creato e anche l’ambito della conversione, ovvero se aggiornare il simbolo di device sheet corrente oppure tutti i simboli di device sheet pertinenti nel progetto attivo.
Specifica i dettagli della conversione nella finestra di dialogo Convert Device Sheet to Schematic Sheet.
-
Fare clic su OK. Il simbolo di foglio del dispositivo verrà convertito in un simbolo di foglio e una copia del foglio del dispositivo verrà memorizzata localmente come foglio standard (non protetto) nella posizione specificata. Il simbolo di foglio farà riferimento a questo foglio locale.
Dopo la conversione, il foglio di schema locale sostituirà il precedente foglio del dispositivo nel pannello Projects .
Le proprietà del simbolo di foglio del dispositivo originale verranno ereditate dal simbolo di foglio.
Spostamento della sottocircuiteria selezionata in un foglio diverso
Con l'evolversi di un progetto, il contenuto dei fogli di schema sorgente che lo compongono potrebbe dover essere riorganizzato: una parte specifica della circuiteria potrebbe risultare più chiara su un foglio dedicato, oppure un foglio potrebbe diventare troppo carico (e illeggibile!) e trarre vantaggio dallo spostamento di parte della circuiteria su un foglio aggiuntivo/diverso.
Un'altra funzione di refactoring è la possibilità di selezionare uno o più oggetti su un foglio e spostare tale selezione in un foglio diverso. Per farlo:
-
Per prima cosa, selezionare la circuiteria che si desidera spostare.
-
Fare clic con il pulsante destro del mouse e scegliere il comando Edit » Refactor » Move Selected Subcircuit to Different Sheet dal menu contestuale. Si aprirà la finestra di dialogo Choose Destination Document, nella quale è possibile specificare il foglio di schema di destinazione.
Riposizionare parte di un progetto in un foglio di schema diverso.
-
Fare clic su OK. Il foglio scelto diventerà attivo e il sottocircuito selezionato apparirà agganciato al cursore.
-
Posizionare la circuiteria sul foglio come richiesto e fare clic per confermare il posizionamento. Una volta posizionata, tale circuiteria verrà rimossa dal foglio originale.
-
Se la circuiteria spostata include uno o più simboli di foglio esistenti, i fogli di schema figli a cui fanno riferimento tali simboli verranno spostati sotto il foglio su cui quei simboli di foglio vengono trasferiti, nella gerarchia del progetto riflessa nel pannello Projects. Se si esegue lo spostamento verso un nuovo foglio, aggiungere un simbolo di foglio alla pagina padre pertinente per inserire correttamente quel foglio nella gerarchia del progetto.