stringtranslate.com

Lista de redes

En diseño electrónico , una netlist es una descripción de la conectividad de un circuito electrónico . [1] [2] En su forma más simple, una lista de red consiste en una lista de los componentes electrónicos de un circuito y una lista de los nodos a los que están conectados. [1] [3] Una red (net) es una colección de dos o más componentes interconectados.

La estructura, complejidad y representación de las netlists pueden variar considerablemente, pero el propósito fundamental de cada netlist es transmitir información de conectividad . Las netlists normalmente no proporcionan más que instancias, nodos y quizás algunos atributos de los componentes involucrados. [4] Si expresan mucho más que esto, generalmente se los considera un lenguaje de descripción de hardware como Verilog o VHDL , o uno de varios lenguajes diseñados específicamente para la entrada a simuladores o compiladores de hardware (como las listas de red de simulación analógica SPICE ).

Tipos de listas de red

Las netlists pueden ser:

Contenido y estructura de una netlist.

La mayoría de las netlists contienen o hacen referencia a descripciones de las piezas o dispositivos utilizados. Cada vez que se utiliza una parte en una lista de red, se denomina "instancia".

Estas descripciones generalmente enumerarán las conexiones que se realizan a ese tipo de dispositivo y algunas propiedades básicas de ese dispositivo. Estos puntos de conexión se denominan "terminales" o "pins", entre varios otros nombres.

Una "instancia" podría ser cualquier cosa, desde un transistor MOSFET o un transistor de unión bipolar hasta una resistencia , un condensador o un chip de circuito integrado .

Las instancias tienen "terminales". En el caso de una aspiradora, estos terminales serían las tres clavijas metálicas del enchufe. Cada terminal tiene un nombre y, siguiendo con el ejemplo de la aspiradora, podrían ser "Neutral", "Live" y "Ground". Por lo general, cada instancia tendrá un nombre único, de modo que si tiene dos instancias de aspiradoras, una podría ser "vac1" y la otra "vac2". Aparte de sus nombres, podrían ser idénticos.

Las redes (redes) son los "cables" que conectan las cosas en el circuito. Puede haber o no atributos especiales asociados con las redes en un diseño, dependiendo del idioma particular en el que esté escrita la lista de redes y de las características de ese idioma.

Las netlists basadas en instancias generalmente proporcionan una lista de las instancias utilizadas en un diseño. Junto con cada instancia, se proporciona una lista ordenada de nombres de red, o una lista de pares, de un nombre de puerto de instancia, junto con el nombre de red al que está conectado ese puerto. En este tipo de descripción, la lista de redes se puede obtener de las listas de conexiones y no hay lugar para asociar atributos particulares con las redes mismas. SPICE es un ejemplo de netlists basadas en instancias.

Las listas de redes basadas en redes generalmente describen todas las instancias y sus atributos, luego describen cada red y dicen a qué puerto están conectadas en cada instancia. Esto permite asociar atributos con redes. EDIF es probablemente la más famosa de las netlists basadas en la red.

Jerarquía

En diseños grandes, es una práctica común dividir el diseño en partes, convirtiéndose cada pieza en una "definición" que puede usarse como ejemplos en el diseño. En la analogía de la aspiradora, uno podría tener una definición de aspiradora con sus puertos, pero ahora esta definición también incluiría una descripción completa de los componentes internos de la máquina y cómo se conectan (motores, interruptores, etc.), como lo hace un diagrama de cableado. .

Una definición que no incluye instancias se llama "primitiva" (o "hoja", u otros nombres); mientras que una definición que incluye instancias es "jerárquica".

Una jerarquía "plegada" permite representar una única definición varias veces mediante instancias. Una jerarquía "desplegada" no permite que una definición se utilice más de una vez en la jerarquía.

Las jerarquías plegadas pueden ser extremadamente compactas. Una pequeña lista de redes de unas pocas instancias puede describir diseños con una gran cantidad de instancias. Por ejemplo, supongamos que la definición A es una primitiva simple, como una celda de memoria. Entonces supongamos que la definición B contiene 32 instancias de A; C contiene 32 instancias de B; D contiene 32 instancias de C; y E contiene 32 instancias de D. El diseño ahora contiene 5 definiciones (A a E) y 128 instancias. Sin embargo, E describe un circuito que contiene más de un millón de células de memoria.

Despliegue

En un diseño "plano", sólo se crean instancias de primitivas. Los diseños jerárquicos se pueden "explotar" ("aplanar") de forma recursiva creando una nueva copia (con un nuevo nombre) de cada definición cada vez que se utiliza. Si el diseño está muy plegado, expandirlo de esta manera dará como resultado una base de datos netlist mucho más grande, pero conserva las dependencias jerárquicas. Dada una lista de red jerárquica, la lista de nombres de instancias en una ruta desde la definición raíz a una instancia primitiva especifica la ruta única a esa primitiva. Las rutas a cada primitiva, en conjunto, forman una lista de redes grande pero plana que es exactamente equivalente a la versión jerárquica compacta.

anotación inversa

La anotación inversa son datos que podrían agregarse a una lista de red jerárquica. Por lo general, se mantienen separados de la lista de red, porque varios conjuntos de datos alternativos podrían aplicarse a una sola lista de red. Es posible que estos datos se hayan extraído de un diseño físico y podrían proporcionar información adicional para simulaciones más precisas. Por lo general, los datos se componen de una ruta jerárquica y un dato para esa primitiva o para encontrar los valores de retardo de RC debido a la interconexión.

Herencia

Otro concepto muy utilizado en las netlists es el de herencia. Supongamos que una definición de condensador tiene un atributo asociado llamado "Capacitancia", correspondiente a la propiedad física del mismo nombre , con un valor predeterminado de "100 pF" (100 picofaradios). Cada instancia de este capacitor también podría tener ese atributo, solo que con un valor diferente de capacitancia. Y en otros casos es posible que no se asocie ninguna capacitancia. En el caso de que no se especifique capacitancia para una instancia, la instancia "heredará" el valor de 100 pF de su definición. Un valor especificado "anulará" el valor de la definición. Si un gran número de atributos acaban siendo los mismos que en la definición, se puede "heredar" una gran cantidad de información y no tener que especificarse redundantemente en el netlist, ahorrando espacio y haciendo que el diseño sea más fácil de leer para ambos. máquinas y personas.

Referencias

  1. ^ ab Holt, Randy. "Esquema frente a Netlist: una guía para la integración del diseño de PCB". blog.optimumdesign.com . Consultado el 3 de abril de 2019 .
  2. ^ "netlist.html". www.vlsiip.com . Consultado el 3 de abril de 2019 .
  3. ^ "Formato de archivo Netlist" (PDF) . www.expresspcb.com . Consultado el 24 de agosto de 2021 . La lista de redes está escrita en un solo archivo, pero incluye cuatro secciones: 1) un encabezado de archivo, 2) una tabla que enumera cada uno de los componentes, 3) una tabla que enumera cada uno de los nombres de red, 4) una tabla que enumera cada uno de los nombres de red. conexiones. Cada entrada de la tabla se escribe utilizando una sola línea de texto que termina con CRLF . Los campos de la tabla están separados por caracteres de espacio (0x20). Los campos de cadena comienzan y terminan con comillas dobles. Cada una de las tres tablas termina con una línea en blanco (CRLF).
  4. ^ "Circuitos de ejemplo y listas de red | Uso del programa de simulación de circuitos Spice | Libro de texto de electrónica". www.allaboutcircuits.com . Consultado el 3 de abril de 2019 .

Otras lecturas