This master thesis is primarily focused on providing a possible framework to integrate commercially available integrated circuit simulation tools with generic numerical computing environments, that is constructing the basis to underpin and interface numerical computing environments(i.e Matlab), with other commercial circuit simulation instruments. The entire framework is based on the concept of Process Design Kits, which are information packages distributed by foundries producing integrated circuit which contain sufficient information for a circuit designer to design and test a chip in a circuit design tool. Once the chip has been appropriately designed and test it fulfills the aimed performance, it could be further fabricated after its optical parameters have been consistently consolidated. Conceptually, PDKs serve as an interface between circuit designers and foundries producing integrated circuits. So, foundries supply a software library composed of finite number of elementary building blocks, which fundamentally are an abstraction of the circuit components they can produce. Inside each of the building blocks it is included relevant information describing it, such as a precise description of the optical characteristics of the component, design layout data, etc. Obviously foundries are obliged to comply the specifications they have included. Once developed, foundries can distribute these libraries of generic elements to any entity interested in the product, thereby enabling them that by means of design tools to design integrated circuits that accomplishes a given optical functionality. Inasmuch as is principal there is no limit in accessing these instruments cost-wise, we say this paradigm establishes the core of the generic foundries production, as setting up generic technological processes and not application-driven processes, which intrinsically requires a considerable amount of initial investments, enables the access of many users to a limited set of processes, thus facilitating the share and reduction of the costs of chip manufacturing. The incentives to work on this topic comes from the trend of having electronic and optical integrated components in the same chip to best exploit all the properties each of these two domains have. Clearly, as in the classical scenario of mono-process technology, we need to design the multi-process circuit to check whether its behaviour is the one expected or not. For instance, in an electronic integrated circuit, we might have electronic logical blocks performing certain logical operations and the optical components which interconnect these logical blocks and transport optically the information around the chip. With this preamble, we might state that in order to appropriately design a circuit, it is required to be able to have a simulation ecosystem which permits to the designer to access the building blocks of each of these two technologies and change their parameters as instructed in the PDK released by the foundry. Hence the definition of a Process Design Kit is crucial for a foundry, instruct the designer the necessary details needed to complete the task of setting up circuit layout for a certain circuit functionality. The strategy we have introduced in this thesis is the one to construct a framework of interfacing available integrated circuit simulation tools to generic purpose numerical computing environment. Through this strategy, the task of building a complex system, such as photonic and electronic components integrated into a single structure gets simplified, as a designer is focused on the system design, taking advantage of commercial circuit simulators, making the most of the features each of these simulators have. Nevertheless, in order to integrate these environments one another, the data passing and retrieval structure must be defined and standardized into a protocol of communication, facilitating the designer task and making compatible different simulation tools with different systems. In this logic, we initially give an idea on how this integration might be performed, by instructing the commercial photonic circuit simulator by means of client-server paradigm to take commands from an outside source, which could by itself be a system managing tool, like Matlab, execute a simulation after having been passed the optical parameters through a predefined data structure. Obviously the photonic circuit simulator is capable of parsing the data passed, make the necessary changes in its local dataset, execute a simulation of the present photonic circuit and finally return back the data in a structured way. After we have shown the general integration scheme, we introduce the data structure upon which the data are exchanged between two endpoints. The last part of the work is concentrated on demonstrating the potentialities of this model, where we give a use-case, interfacing a commercial photonic circuit simulator(Aspic) with Matlab. We fragment the two functionalities, on the one hand we let Matlab to be the master of the system and alter circuit parameters and run statistical analysis upon data coming back from the photonic circuit simulator once the simulation has been executed. The communication model is based upon a Client-Server paradigm, with Matlab acting as a client and the photonic circuit simulator acting as a Server. Of course, in our particular case we use Matlab as a client, but the solution itself does not pose any constraint on the tool to be used and other generic computational environment or programming languages can be used equivalently to Matlab. Accordingly, as long as the communication protocol is used rigorously and data passing and retrieval structure is respected as in the communication protocol, other alternative can perform the master, for instance Python, C++, etc. It is clear that this enables the designers to exceed the circuit simulation limits and to develop functionalities that involve different technologies, the most straightforward scenario could be integrating photonic devices with electronic into a single chip. By bearing the concept of modules, one could use different circuit simulation tools, to exploit the behavior of a subcircuit in the entire structure, by providing the right input data and passing them in an acceptable structure.

Questa tesi di laurea si concentra principalmente sulla fornitura di una possibile infrastruttura per integrare strumenti commerciali disponibili di simulazione di circuiti integrati in con ambienti di calcolo numerici generici, cioè costruire la base per supportare e interfacciare ambienti di calcolo numerico (es. Matlab), con altri strumenti di simulazione di circuiti commerciali. L'intero framework si basa sul concetto di Process Design Kits, che sono pacchetti di informazioni distribuiti da fonderie che producono circuiti integrati che di per se contengono informazioni sufficienti per un progettista di circuiti per progettare e testare un chip in uno strumento di progettazione di circuiti. Una volta che il chip è stato opportunamente progettato e testato per soddisfare le prestazioni mirate, potrebbe essere ulteriormente fabbricato dopo che i suoi parametri ottici sono stati coerentemente consolidati. Concettualmente, i PDK fungono da interfaccia tra i progettisti di circuiti e le fonderie che producono circuiti integrati. Quindi, le fonderie forniscono una libreria software composta da un numero finito di elementi elementari, che fondamentalmente sono un'astrazione dei componenti del circuito che possono produrre. All'interno di ciascuno degli elementi costitutivi sono incluse informazioni pertinenti che lo descrivono, come una descrizione precisa delle caratteristiche ottiche del componente, i dati di layout del progetto, ecc. Ovviamente le fonderie sono obbligate a rispettare le specifiche che hanno incluso. Una volta sviluppate, le fonderie possono distribuire queste librerie di elementi generici a qualsiasi entità interessata al prodotto, consentendo in tal modo a loro che tramite strumenti di progettazione, progettare circuiti integrati che realizzano una determinata funzionalità ottica. Dal momento che in principio non ci sono limiti nell'accedere a questi strumenti dal punto di vista dei costi, diciamo che questo paradigma stabilisce il nucleo della produzione di fonderie generiche, come l'impostazione di processi tecnologici generici e non processi orientati all'applicazione, che richiede intrinsecamente una notevole quantità di investimenti, consente l'accesso di molti utenti a un numero limitato di processi, facilitando così la condivisione e la riduzione dei costi di produzione dei chip. Gli incentivi a lavorare su questo argomento provengono dalla tendenza di avere componenti integrati elettronici e ottici nello stesso chip per sfruttare al meglio tutte le proprietà di ciascuno di questi due domini. Chiaramente, come nel classico scenario della tecnologia mono-processo, abbiamo bisogno di progettare il circuito multi-processo per verificare se il suo comportamento è quello previsto o meno. Ad esempio, in un circuito elettronico integrato, potremmo avere blocchi logici elettronici che eseguono determinate operazioni logiche e componenti ottici che collegano questi blocchi logici e trasportano otticamente le informazioni attorno al chip. Con questo preambolo, potremmo affermare che per progettare un circuito in modo appropriato, è necessario essere in grado di avere un ecosistema di simulazione che permetta al progettista di accedere ai blocchi costitutivi di ciascuna di queste due tecnologie e modificare i loro parametri come indicato nel PDK rilasciato dalla fonderia. Quindi la definizione di un Process Design Kit è cruciale per una fonderia, istruisce il progettista sui dettagli necessari per completare il compito di impostare il layout del circuito per una determinata funzionalità del circuito. La strategia che abbiamo introdotto in questa tesi è quella di costruire una struttura di interfaccia tra gli strumenti di simulazione di circuiti integrati disponibili e l'ambiente di calcolo numerico per scopi generici. Attraverso questa strategia, il compito di costruire un sistema complesso, cioè componenti fotonici ed elettronici integrati in una singola struttura, viene semplificato, e un designer dei circuiti si concentra sulla progettazione del sistema, sfruttando i simulatori di circuiti commerciali, sfruttando al massimo le caratteristiche di questi simulatori. Tuttavia, per integrare questi ambienti tra di loro, la struttura di passaggio e recupero dei dati deve essere definita e standardizzata in un protocollo di comunicazione, facilitando il compito del progettista e rendendo compatibili diversi strumenti di simulazione con sistemi diversi. In questa logica, inizialmente diamo un'idea su come questa integrazione possa essere eseguita, istruendo il simulatore del circuito fotonico commerciale per mezzo del paradigma client-server che può prendere comandi da una fonte esterna, che di per sé potrebbe essere uno strumento di gestione del sistema, come Matlab, esegue una simulazione dopo aver passato i parametri ottici attraverso una struttura dati predefinita. Ovviamente il simulatore di circuito fotonico è in grado di analizzare i dati trasmessi, apportare le modifiche necessarie nel proprio set di dati locali, eseguire una simulazione del circuito fotonico presente e infine restituire i dati in modo strutturato. Dopo aver mostrato lo schema di integrazione generale, introduciamo la struttura dati su cui i dati vengono scambiati tra due endpoint. L'ultima parte del lavoro si concentra sulla dimostrazione delle potenzialità di questo modello, in cui forniamo un caso d'uso, che interfaccia un simulatore di circuito fotonico commerciale (Aspic) con Matlab. Frammentiamo le due funzionalità, da una parte lasciamo che Matlab sia il master del sistema e modifichi i parametri del circuito ed esegua analisi statistiche sui dati che tornano dal simulatore del circuito fotonico una volta che la simulazione è stata eseguita. Il modello di comunicazione si basa su un paradigma Client-Server, con Matlab che funge da client e il simulatore di circuito fotonico che funge da server. Naturalmente, nel nostro caso specifico usiamo Matlab come client, ma la soluzione in sé non pone alcun vincolo sullo strumento da utilizzare e altri ambienti di calcolo generici o linguaggi di programmazione possono essere usati in modo equivalente a Matlab. Di conseguenza, finché il protocollo di comunicazione viene usato rigorosamente e la struttura di passaggio e recupero dei dati è rispettata come nel protocollo di comunicazione, altre alternative possono eseguire il master, ad esempio Python, C ++, ecc. È chiaro che ciò consente ai progettisti di superare i limiti della simulazione del circuito e lo sviluppo di funzionalità che coinvolgono diverse tecnologie, lo scenario più semplice potrebbe essere l'integrazione di dispositivi fotonici con l'elettronica in un singolo chip. Portando il concetto di moduli, si potrebbero usare diversi strumenti di simulazione del circuito, per sfruttare il comportamento di un sottocircuito nell'intera struttura, fornendo i giusti dati di input e passandoli in una struttura accettabile.

A client-server model for generic software environment in photonics integration

GJEÇI, FRANCI
2017/2018

Abstract

This master thesis is primarily focused on providing a possible framework to integrate commercially available integrated circuit simulation tools with generic numerical computing environments, that is constructing the basis to underpin and interface numerical computing environments(i.e Matlab), with other commercial circuit simulation instruments. The entire framework is based on the concept of Process Design Kits, which are information packages distributed by foundries producing integrated circuit which contain sufficient information for a circuit designer to design and test a chip in a circuit design tool. Once the chip has been appropriately designed and test it fulfills the aimed performance, it could be further fabricated after its optical parameters have been consistently consolidated. Conceptually, PDKs serve as an interface between circuit designers and foundries producing integrated circuits. So, foundries supply a software library composed of finite number of elementary building blocks, which fundamentally are an abstraction of the circuit components they can produce. Inside each of the building blocks it is included relevant information describing it, such as a precise description of the optical characteristics of the component, design layout data, etc. Obviously foundries are obliged to comply the specifications they have included. Once developed, foundries can distribute these libraries of generic elements to any entity interested in the product, thereby enabling them that by means of design tools to design integrated circuits that accomplishes a given optical functionality. Inasmuch as is principal there is no limit in accessing these instruments cost-wise, we say this paradigm establishes the core of the generic foundries production, as setting up generic technological processes and not application-driven processes, which intrinsically requires a considerable amount of initial investments, enables the access of many users to a limited set of processes, thus facilitating the share and reduction of the costs of chip manufacturing. The incentives to work on this topic comes from the trend of having electronic and optical integrated components in the same chip to best exploit all the properties each of these two domains have. Clearly, as in the classical scenario of mono-process technology, we need to design the multi-process circuit to check whether its behaviour is the one expected or not. For instance, in an electronic integrated circuit, we might have electronic logical blocks performing certain logical operations and the optical components which interconnect these logical blocks and transport optically the information around the chip. With this preamble, we might state that in order to appropriately design a circuit, it is required to be able to have a simulation ecosystem which permits to the designer to access the building blocks of each of these two technologies and change their parameters as instructed in the PDK released by the foundry. Hence the definition of a Process Design Kit is crucial for a foundry, instruct the designer the necessary details needed to complete the task of setting up circuit layout for a certain circuit functionality. The strategy we have introduced in this thesis is the one to construct a framework of interfacing available integrated circuit simulation tools to generic purpose numerical computing environment. Through this strategy, the task of building a complex system, such as photonic and electronic components integrated into a single structure gets simplified, as a designer is focused on the system design, taking advantage of commercial circuit simulators, making the most of the features each of these simulators have. Nevertheless, in order to integrate these environments one another, the data passing and retrieval structure must be defined and standardized into a protocol of communication, facilitating the designer task and making compatible different simulation tools with different systems. In this logic, we initially give an idea on how this integration might be performed, by instructing the commercial photonic circuit simulator by means of client-server paradigm to take commands from an outside source, which could by itself be a system managing tool, like Matlab, execute a simulation after having been passed the optical parameters through a predefined data structure. Obviously the photonic circuit simulator is capable of parsing the data passed, make the necessary changes in its local dataset, execute a simulation of the present photonic circuit and finally return back the data in a structured way. After we have shown the general integration scheme, we introduce the data structure upon which the data are exchanged between two endpoints. The last part of the work is concentrated on demonstrating the potentialities of this model, where we give a use-case, interfacing a commercial photonic circuit simulator(Aspic) with Matlab. We fragment the two functionalities, on the one hand we let Matlab to be the master of the system and alter circuit parameters and run statistical analysis upon data coming back from the photonic circuit simulator once the simulation has been executed. The communication model is based upon a Client-Server paradigm, with Matlab acting as a client and the photonic circuit simulator acting as a Server. Of course, in our particular case we use Matlab as a client, but the solution itself does not pose any constraint on the tool to be used and other generic computational environment or programming languages can be used equivalently to Matlab. Accordingly, as long as the communication protocol is used rigorously and data passing and retrieval structure is respected as in the communication protocol, other alternative can perform the master, for instance Python, C++, etc. It is clear that this enables the designers to exceed the circuit simulation limits and to develop functionalities that involve different technologies, the most straightforward scenario could be integrating photonic devices with electronic into a single chip. By bearing the concept of modules, one could use different circuit simulation tools, to exploit the behavior of a subcircuit in the entire structure, by providing the right input data and passing them in an acceptable structure.
PARRINELLO, EMANUELE
ING - Scuola di Ingegneria Industriale e dell'Informazione
16-apr-2019
2017/2018
Questa tesi di laurea si concentra principalmente sulla fornitura di una possibile infrastruttura per integrare strumenti commerciali disponibili di simulazione di circuiti integrati in con ambienti di calcolo numerici generici, cioè costruire la base per supportare e interfacciare ambienti di calcolo numerico (es. Matlab), con altri strumenti di simulazione di circuiti commerciali. L'intero framework si basa sul concetto di Process Design Kits, che sono pacchetti di informazioni distribuiti da fonderie che producono circuiti integrati che di per se contengono informazioni sufficienti per un progettista di circuiti per progettare e testare un chip in uno strumento di progettazione di circuiti. Una volta che il chip è stato opportunamente progettato e testato per soddisfare le prestazioni mirate, potrebbe essere ulteriormente fabbricato dopo che i suoi parametri ottici sono stati coerentemente consolidati. Concettualmente, i PDK fungono da interfaccia tra i progettisti di circuiti e le fonderie che producono circuiti integrati. Quindi, le fonderie forniscono una libreria software composta da un numero finito di elementi elementari, che fondamentalmente sono un'astrazione dei componenti del circuito che possono produrre. All'interno di ciascuno degli elementi costitutivi sono incluse informazioni pertinenti che lo descrivono, come una descrizione precisa delle caratteristiche ottiche del componente, i dati di layout del progetto, ecc. Ovviamente le fonderie sono obbligate a rispettare le specifiche che hanno incluso. Una volta sviluppate, le fonderie possono distribuire queste librerie di elementi generici a qualsiasi entità interessata al prodotto, consentendo in tal modo a loro che tramite strumenti di progettazione, progettare circuiti integrati che realizzano una determinata funzionalità ottica. Dal momento che in principio non ci sono limiti nell'accedere a questi strumenti dal punto di vista dei costi, diciamo che questo paradigma stabilisce il nucleo della produzione di fonderie generiche, come l'impostazione di processi tecnologici generici e non processi orientati all'applicazione, che richiede intrinsecamente una notevole quantità di investimenti, consente l'accesso di molti utenti a un numero limitato di processi, facilitando così la condivisione e la riduzione dei costi di produzione dei chip. Gli incentivi a lavorare su questo argomento provengono dalla tendenza di avere componenti integrati elettronici e ottici nello stesso chip per sfruttare al meglio tutte le proprietà di ciascuno di questi due domini. Chiaramente, come nel classico scenario della tecnologia mono-processo, abbiamo bisogno di progettare il circuito multi-processo per verificare se il suo comportamento è quello previsto o meno. Ad esempio, in un circuito elettronico integrato, potremmo avere blocchi logici elettronici che eseguono determinate operazioni logiche e componenti ottici che collegano questi blocchi logici e trasportano otticamente le informazioni attorno al chip. Con questo preambolo, potremmo affermare che per progettare un circuito in modo appropriato, è necessario essere in grado di avere un ecosistema di simulazione che permetta al progettista di accedere ai blocchi costitutivi di ciascuna di queste due tecnologie e modificare i loro parametri come indicato nel PDK rilasciato dalla fonderia. Quindi la definizione di un Process Design Kit è cruciale per una fonderia, istruisce il progettista sui dettagli necessari per completare il compito di impostare il layout del circuito per una determinata funzionalità del circuito. La strategia che abbiamo introdotto in questa tesi è quella di costruire una struttura di interfaccia tra gli strumenti di simulazione di circuiti integrati disponibili e l'ambiente di calcolo numerico per scopi generici. Attraverso questa strategia, il compito di costruire un sistema complesso, cioè componenti fotonici ed elettronici integrati in una singola struttura, viene semplificato, e un designer dei circuiti si concentra sulla progettazione del sistema, sfruttando i simulatori di circuiti commerciali, sfruttando al massimo le caratteristiche di questi simulatori. Tuttavia, per integrare questi ambienti tra di loro, la struttura di passaggio e recupero dei dati deve essere definita e standardizzata in un protocollo di comunicazione, facilitando il compito del progettista e rendendo compatibili diversi strumenti di simulazione con sistemi diversi. In questa logica, inizialmente diamo un'idea su come questa integrazione possa essere eseguita, istruendo il simulatore del circuito fotonico commerciale per mezzo del paradigma client-server che può prendere comandi da una fonte esterna, che di per sé potrebbe essere uno strumento di gestione del sistema, come Matlab, esegue una simulazione dopo aver passato i parametri ottici attraverso una struttura dati predefinita. Ovviamente il simulatore di circuito fotonico è in grado di analizzare i dati trasmessi, apportare le modifiche necessarie nel proprio set di dati locali, eseguire una simulazione del circuito fotonico presente e infine restituire i dati in modo strutturato. Dopo aver mostrato lo schema di integrazione generale, introduciamo la struttura dati su cui i dati vengono scambiati tra due endpoint. L'ultima parte del lavoro si concentra sulla dimostrazione delle potenzialità di questo modello, in cui forniamo un caso d'uso, che interfaccia un simulatore di circuito fotonico commerciale (Aspic) con Matlab. Frammentiamo le due funzionalità, da una parte lasciamo che Matlab sia il master del sistema e modifichi i parametri del circuito ed esegua analisi statistiche sui dati che tornano dal simulatore del circuito fotonico una volta che la simulazione è stata eseguita. Il modello di comunicazione si basa su un paradigma Client-Server, con Matlab che funge da client e il simulatore di circuito fotonico che funge da server. Naturalmente, nel nostro caso specifico usiamo Matlab come client, ma la soluzione in sé non pone alcun vincolo sullo strumento da utilizzare e altri ambienti di calcolo generici o linguaggi di programmazione possono essere usati in modo equivalente a Matlab. Di conseguenza, finché il protocollo di comunicazione viene usato rigorosamente e la struttura di passaggio e recupero dei dati è rispettata come nel protocollo di comunicazione, altre alternative possono eseguire il master, ad esempio Python, C ++, ecc. È chiaro che ciò consente ai progettisti di superare i limiti della simulazione del circuito e lo sviluppo di funzionalità che coinvolgono diverse tecnologie, lo scenario più semplice potrebbe essere l'integrazione di dispositivi fotonici con l'elettronica in un singolo chip. Portando il concetto di moduli, si potrebbero usare diversi strumenti di simulazione del circuito, per sfruttare il comportamento di un sottocircuito nell'intera struttura, fornendo i giusti dati di input e passandoli in una struttura accettabile.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
main.pdf

solo utenti autorizzati dal 05/04/2020

Descrizione: Thesis Text
Dimensione 1.3 MB
Formato Adobe PDF
1.3 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/147345