Mejores prácticas para usar subcircuitos y bloques jerárquicos en LTspice

4

Estoy diseñando una serie de circuitos en LTspice y quería obtener información sobre la forma aceptada de usar subcircuitos y bloques jerárquicos. El manual de LTspice es algo vago en estos temas. En la captura de pantalla a continuación, copié una sección de mi circuito para ayudar a ilustrar el punto.

Elcircuitodenivelmásaltocontieneunbloque"Convertidor V / F" que hace referencia a un esquema con un chip LM331. El bloque "LM331" a su vez hace referencia al circuito funcional para este IC. (LTspice no incluye este componente, por lo que lo encontré en otro lugar en línea). También estoy usando parámetros que pasan del bloque de nivel superior al circuito LM331 de nivel inferior que establece los niveles de voltaje de fuente y lógica (nota los parámetros "Vcc = 12" y "Vlogic = 5" en el bloque "V / F Converter"). Todo el circuito funciona bien y simula lo que espero.

Desde un punto de vista de organización / organización, ¿son los bloques jerárquicos la forma correcta de configurar esto en LTspice? Dado que el LM331 es un componente real, creo que sería mejor convertirlo en un subcircuito utilizando un archivo de lista de red en lugar de un esquema. Como subcircuito, tendría acceso al Editor de atributos de componentes y algunos campos más para configurar parámetros en lugar de la línea de PARAMS única que utiliza el bloque jerárquico. Sin embargo, con el componente como subcircuito, creo que el esquema subyacente desaparecería ya que sería manejado por una lista de conexiones. Esto haría que el componente sea un poco más difícil de depurar ya que ya no se presentaría visualmente.

Al final del día, supongo que la funcionalidad es la misma independientemente de si uso bloques o subcircuitos jerárquicos (al menos en este ejemplo), pero tengo curiosidad por saber cuáles son las mejores prácticas. ¿Hay ventajas de un modo u otro?

Aquí hay algunas capturas de pantalla de los dos enfoques. Observe la diferencia en los cuadros de diálogo del editor y los botones Abrir símbolo / Esquema.

    
pregunta higrafey

1 respuesta

1

Jerárquico o subcircuitos son los mismos, después de que LTspice aplana la lista de conexiones. Puedes ver esto marcando Generate Expanded Listing en el panel de control, la pestaña Operation .

La ventaja que tienen los esquemas jerárquicos es el acceso gráfico directo a través de la edición de símbolos, donde puede abrir su contenido como si fuera un esquema, y sondear fácilmente voltajes, corrientes y potencias (necesita las dos opciones Save subcircuit ... marcadas en% código%). También puede sondear dentro de subcircuitos simples, pero debe verificar la lista expandida en el registro de errores; Es más engorroso, pero no imposible.

En general, los diseños jerárquicos son más fáciles de usar, pero la desventaja es la falta de cifrado. Los subcircuitos se pueden cifrar para proteger los contenidos, los diseños jerárquicos no se pueden cifrar. La lista expandida no funciona con las bibliotecas cifradas, como es de esperar, por lo tanto, no puede guardar y trazar cantidades internas. Además, un subcircuito es más compacto, normalmente un archivo, los esquemas jerárquicos pueden ser más de uno. Ah, y no verás bonitos símbolos amarillos ...

En ambos sentidos, los subcircuitos jerárquicos y lisos, permiten la transmisión de parámetros externos, como el ejemplo Control Panel > Save Defaults .

Ninguna es más rápida o más lenta que la otra en términos de cálculos para los mismos diseños, ya que, como mencioné anteriormente, LTspice aplana todo el esquema en una lista de redes, que no es más que un lenguaje de programación para SPICE.

¿Cuál usar? Elige tu opción. En general, si está trabajando en el diseño, elija jerárquico para un acceso gráfico fácil, de modo que el resultado final se pueda transformar en un subcircuito que esté listo para ser cifrado, si así lo desea.

  

Como subcircuito, tendría acceso al Editor de atributos de componentes y algunos campos más para configurar parámetros en lugar de la línea PARAMS única que utiliza el bloque jerárquico

Esos campos no significan nada en términos de netlist, y los nombres que se muestran en el editor de atributos del componente también se aplanan: si verifica la netlist, todas las líneas se recortan en una sola línea que pertenece al subcircuito.

Sólo tienen significado como algunas combinaciones, en términos del orden en el que aparecen en esa línea y que tienen diferentes efectos junto con el símbolo: en algunos casos, es posible evitar que se edite el símbolo. Vea, por ejemplo, un opamp de la biblioteca existente y pruebe Vs={Vcc} , con o sin R-Click - no le dejará. Esto va de la mano con el cifrado de subcircuitos, pero no de diseños jerárquicos.

    
respondido por el a concerned citizen

Lea otras preguntas en las etiquetas