Nella progettazione del circuito stampato, a differenza del metodo tradizionale di dividere il progetto in più parti e completare ogni parte in modo indipendente, questa nuova tecnologia può creare processi paralleli su un database comune e può sincronizzare automaticamente i cambiamenti di processo e risolvere eventuali problemi reciproci. conflitto. Questa è la prima nel settore EDA.
Dalla diffusa adozione del CAD nella progettazione di circuiti stampati negli anni '90, il settore manifatturiero ha costantemente migliorato la produttività di progettazione attraverso l'automazione e i metodi di ottimizzazione dei processi. Purtroppo, con la continua innovazione della tecnologia software di progettazione di circuiti, la domanda di supporto di nuovi segnali, componenti o tecnologie di produzione a livello di scheda è anche in aumento, quindi l'intero tempo di progettazione è stato difficilmente abbreviato (o anche più a lungo).
Se non ci sono cambiamenti fondamentali nella metodologia di progettazione, il software giocherà sempre il ruolo di un seguace della tecnologia hardware, piuttosto che diventare leader nella curva di sviluppo. La tecnologia ingegneristica contemporanea di più ingegneri che lavorano sullo stesso progetto è sempre stata un'arma magica efficace per le innovazioni in termini di produttività. Il metodo tradizionale divide-and-cucer divide il progetto in più parti e li assegna alle mani di ogni ingegnere, e infine collega le varie parti, e utilizza misure coercitive (prendere automaticamente decisioni secondo regole predefinite) o mezzi intelligenti (consentire agli ingegneri di risolvere i conflitti uno per uno) ) Risolvere tutti i conflitti.
Questo metodo è abbastanza efficace per la progettazione schematica del circuito, perché può dividere direttamente il design in più moduli e pagine in base alle funzioni. Anche così, questo metodo richiede ancora un sacco di operazioni manuali per risolvere i problemi di interconnessione tra i moduli, come conflitti di nome del segnale, componenti mancanti e così via. Finché i progettisti non riescono a vedere cosa stanno facendo, questi errori sono molto probabile che accada.
Se un metodo di progettazione parallela consente a più progettisti di fare lo stesso disegno allo stesso tempo, può vedere il contenuto di modifica fatto da altri progettisti e può gestire automaticamente vari potenziali conflitti in tempo reale, allora questo metodo di progettazione parallela può essere raggiunto. Flessibilità e produttività ottimali.
1. Architettura di progettazione parallela
La nuova tecnologia di progettazione simultanea richiede un gestore di processo di progettazione (server) e più client di progettazione in esecuzione in un ambiente di rete. Il compito principale del software server è quello di ricevere richieste di aggiornamento da ogni client, controllare le richieste per assicurarsi che non vengano violate regole di progettazione e quindi sincronizzare ogni client in base al contenuto dell'aggiornamento.
Ogni client deve avere il proprio processore e memoria dedicati. La nuova architettura di progettazione parallela presuppone inoltre che il sistema di comunicazione possa supportare la larghezza di banda minima e il massimo ritardo necessari per uno scambio di informazioni in tempo reale ed efficiente tra client e server. Ogni client può vedere l'intero design e osservare le altre modifiche client mentre il server le elabora. Il database di progettazione può essere memorizzato ovunque sulla rete.
Questa architettura di progettazione parallela consente a più progettisti di eseguire lo stesso progetto contemporaneamente senza dover dividere il progetto logicamente o in qualsiasi altro modo. Si tratta di un ambiente di progettazione collaborativo realmente in tempo reale, in cui non si presenteranno tutte le questioni relative ai confini della segmentazione e alla gestione dell'integrità dei dati durante le operazioni di segmentazione-join.
Poiché più progettisti possono fare lo stesso progetto in parallelo senza restrizioni, l'intero ciclo di progettazione può essere significativamente abbreviato.
Ogni progetto ha un team di progettazione correlato e solo i membri del team possono accedere ai dati di progettazione. Qualsiasi membro del team può avviare una riunione di progettazione sul server e su un singolo client. Altri clienti possono partecipare alla conferenza in qualsiasi momento.
Il design viene inizialmente caricato sul server. Quando il client si unisce alla riunione e scarica automaticamente lo stato corrente della progettazione del server nella memoria del client, il client viene inizializzato e sincronizzato. Una volta che il client si unisce alla riunione di progettazione, può modificare il progetto utilizzando gli strumenti di modifica standard disponibili nell'applicazione.
L'evento di modifica è un'attività indipendente avviata dal client e viene inviato al server come richiesta di aggiornamento. Ad esempio, spostare un dispositivo dal punto A al punto B costituisce un evento di modifica. L'inizio dell'evento è quello di selezionare il dispositivo, e la fine dell'evento è quello di indicare la nuova posizione con un clic del mouse (o input equivalente). L'evento di modifica viene inviato al server come transazione, che descrive cosa eliminare e cosa aggiungere.
Ogni evento di modifica generato dal client deve eseguire un controllo locale delle regole di progettazione (DRC) prima di essere inviato al server, quindi impostare la priorità della richiesta di modifica e immettere la coda dei messaggi di input secondo il principio di first-in first-out. Dopo che il server riceve la richiesta di modifica, la integra nel database di progettazione e quindi esegue DRC. Se non si riscontrano problemi, la richiesta di modifica viene approvata e inviata a tutti i client attraverso la coda dei messaggi di output per la sincronizzazione del database core interno del client.
La maggior parte del tempo di calcolo viene speso sul client locale. Gli oggetti di destinazione vengono aggiunti, modificati ed eliminati dal lato client e tutte le operazioni automatiche relative a tali modifiche (come push, squeezing e smoothing) vengono eseguite contemporaneamente. Rispetto al client, il carico del server è relativamente più leggero, quindi le prestazioni del sistema non saranno influenzate. Test di questo ambiente mostra che la velocità di risposta del server è molto veloce e non rallenterà la velocità del client.
2. Cablaggio automatico dei circuiti stampati
La seconda applicazione della tecnologia di progettazione concorrente è il cablaggio automatico dei circuiti stampati. Il cablaggio automatico distribuito è stato una "potente arma" del software di cablaggio del circuito stampato per molti anni. In precedenza, i router IC sono stati convertiti per funzionare in un ambiente distribuito. Tuttavia, il problema del cablaggio del circuito stampato è molto diverso. Fino ad ora, la gente pensa ancora che il router automatico debba essere adattato per sfruttare appieno i vantaggi di più computer per completare lo stesso design. Anche i fornitori di software e gli ingegneri di terze parti hanno fatto molti tentativi per ottenere miglioramenti accettabili delle prestazioni, ma tutti sono finiti in fallimento.
L'architettura adottata dalla nuova tecnologia di progettazione parallela può risolvere la maggior parte dei problemi chiave nell'ambiente di cablaggio distribuito e sa come prevenire o risolvere i conflitti. Allo stesso modo, il server svolge il ruolo di gestione del processo di progettazione e le richieste di ciascun client di auto-router vengono integrate, controllate e trasmesse ad altri client nel server. Tutti i client auto-router sono mantenuti sincronizzati, quindi quando viene aggiunto un nuovo percorso di cablaggio localmente, la probabilità di conflitti di percorso di cablaggio è piccola.
3. Integrare strumenti efficienti
Poiché la progettazione del circuito è un processo che prevede molti passaggi e regole, al fine di ottenere un'eccellente produttività, gli utensili punta più efficienti devono essere strettamente integrati. I dati e le regole devono fluire senza intoppi durante tutto il processo di progettazione.
Negli ultimi 20 anni, il settore EDA ha subito fusioni e acquisizioni senza precedenti. Di conseguenza, il processo di progettazione dei fornitori di software si basa sull'integrazione di molti strumenti. Inoltre, le grandi aziende richiedono che gli strumenti di molti fornitori di software siano integrati nel loro processo di progettazione unico.
La misura stopgap è quella di scrivere un'interfaccia attraverso la quale l'output ASCII di uno strumento viene convertito nel formato di input ASCII di altri strumenti. In questo modo, verranno generate centinaia di interfacce ASCII e ogni interfaccia viene utilizzata per superare i problemi comuni di incompatibilità con i modelli di dati e regole.
Il requisito di base di questo metodo di integrazione è che tutte le applicazioni devono avere modelli di dati completamente compatibili. Ogni applicazione può utilizzare diversi strumenti e diversi livelli di automazione durante l'elaborazione dei dati, ma ogni applicazione deve essere in grado di ricevere modifiche e riconoscerle in modo da sapere cosa fare dopo.
È inoltre possibile utilizzare tecniche di progettazione parallela per integrare un'applicazione per eseguire una serie specifica di attività, come la creazione, il posizionamento, l'instradamento e la modifica di dispositivi embedded. In tal caso, tale applicazione può essere automaticamente limitata per consentire solo l'uso di tali funzioni specifiche.
4. Progettazione del circuito e del bordo
Combinare il layout parallelo e le tecnologie necessarie per l'integrazione parallela può formare un ambiente in cui più applicazioni diverse nel processo di progettazione possono essere integrate e utilizzate da più progettisti allo stesso tempo.
Ad esempio, il metodo di progettazione parallela di progettazione di circuiti stampati, progettazione schematica, gestione dei vincoli, progettazione layout, simulazione di progettazione meccanica tridimensionale e applicazioni di produzione possono essere integrati in qualche modo, consentendo a tutte queste applicazioni di essere messe in uso contemporaneamente e allo stesso tempo Aggiornare e sincronizzare tutti gli eventi di modifica durante il processo di progettazione. Anche in un ambiente misto, possono apparire più applicazioni simili, ad esempio più strumenti di layout.
Poiché più applicazioni sono in esecuzione contemporaneamente, gli ingegneri possono comprendere rapidamente gli effetti di integrità del segnale del percorso aggiunto. Ad esempio, in un sistema meccanico tridimensionale progettato per un telefono cellulare, il movimento del dispositivo nel layout può essere aggiornato e controllato immediatamente.