lunes, 21 de febrero de 2011

Creando un Diseño Multi-página en Multisim

A medida que la complejidad y tamaño de un diseño electrónico crece se hace más necesario tener una mejor organización del mismo. Debemos siempre tener en cuenta que nuestro esquemático debe ser claro, fácil de modificar, y fácil de leer por otras personas. Para ayudarnos con este reto Multisim ofrece Bloques de Diseño, éstos, siguen la filosofía de “divide y vencerás.” La idea principal es dividir un esquemático grande en diagramas pequeños fáciles de manejar y actualizar. Existe tres opciones de bloques de diseño en Multisim: subcircuitos, bloques jerárquicos, y diseño mult-ipágina. De este último hablaremos el día de hoy.

Como mencioné anteriormente, la idea del diseño multi-página es dividir un diseño grande y confuso, en páginas individuales interconectadas entre sí. Como se ilustra en las figuras siguientes, en lugar de tener una sola hoja de gran tamaño, podemos tener nuestro diseño en hojas individuales:

multisim


multisim


Para conectar nuestro circuito de una página a otra utilizamos los Conectores Fuera de Página, que en Multisim se encuentran en el menú Colocar>>Conectores:

multisim
Veamos cómo realizar un diseño multi-página con un diseño sencillo. Tomaremos como referencia el siguiente circuito:

multisim
Vamos a dividir el circuito anterior en dos secciones, A y B. La división se hará en los nodos 3 y 0:

multisim
Ahora vamos a agregar una página más a nuestro diseño, y en dicha página colocaremos la sección B. Para esto seleccionamos Colocar>>Multi-página. Multisim nos preguntará el nombre de esta página, este caso la nombraremos 2. Multisim creará una nueva página con la misma jerarquía que la primera. Esto lo podemos corroborar en la ventana Herramientas de Diseño:

multisim

Podemos cambiar de hoja con tan solo dar clic sobre ellas.

Como paso siguiente vamos a la página 1, seleccionamos y cortamos la sección B del circuito y la pegamos en la página 2; de tal forma que ahora tenemos la Sección A del circuito en la página Filtro#1 y la Sección B en Filtro#2. Para conectar ambas páginas (y por supuesto ambos nodos) vamos a utilizar los conectores fuera de página. Seleccionamos Colocar>>Conectores>>Conector Fuera de Página. Colocamos dos de estos conectores en el área de trabajo:

multisim

Abrimos las propiedades del primer conector (FueraPágina 1) y lo renombramos a 3 (el nodo de interés). Hacemos lo mismo con el conector FueraPágina 2, solo que en este caso lo renombramos a 0. Después conectamos los conectores a los repectivos nodos:

multisim
Ahora vamos a la hoja Filtro#2 y repetimos la misma operación. Multisim nos alertará de que conectores con los mismos nodos (0 y 3) ya existen, vamos a aceptar este cambio para realizar la conexión ‘virtual’ entre las dos páginas del circuito:

multisim
¡Listo! Tenemos ahora un diseño multi-página. Los conectores fuera de página realizar conexiones virtuales (o inalámbricas) entre las distintas hojas. Podemos simular el circuito y transferirlo a Ultiboard sin ningún problema pues Multisim ve nuestro diseño como uno solo.

Algunas notas antes de finalizar:

  1. El diseño multi-página es recomendado cuando tenemos circuitos que tienden a ser planos/horizontales.
  2. Todas las hojas del circuito en un diseño multi-página se guardan en un solo archivo.
  3. El tamaño del archivo guardado tiende a ser grande dado que contiene varias páginas.
  4. No es posible reutilizar páginas de un diseño multi-página en otros circuitos.

Como siempre preguntas y comentarios son bienvenidos.

Hasta pronto,

Fernando

miércoles, 2 de febrero de 2011

Creando Código VHDL desde Multisim – Parte 2

Creando Código VHDL desde Multisim – Parte 1

Continuando con el tutorial de la creación de código VHDL desde un esquemático de Multisim en la primera parte creamos un nuevo diseño PLD en Multisim donde definimos las entradas y la salida del circuito lógico. Ahora vamos a capturar el esquemático, recordemos que nuestro objetivo es la función X=AB+CD, donde A, B, C y D serán entradas de switches (SW0, SW1, SW2, SW3) y X será un LED (LED0).

Seleccionamos el menú Colocar>>Componente… para abrir el buscador de componentes. Cabe mencionar que dado que estamos en modo PLD, la base de datos maestra está limitada y solo encontraremos componentes relacionados con lógica digital. Date un momente para explorar los distintos grupos y familias disponibles en la base de datos de Multisim.

Ahora vamos al Grupo PLD Logic, Familia LOGIC_GATES y seleccionemos el componente AND2 (vamos a necesitar dos compuertas AND), también requerimos una OR. Conectamos el circuito tal como se muestra en la figura siguiente:

multisim fpga

A manera de resumen recordemos q las entradas SW0 hasta SW3 correspondería a switches reales, y la salida LED0 a un indicador, la función lógica estaría embebida en el chip FPGA. Aquí hay una parte de la tabla de verdad para este circuito:

X=AB+CD

A

B

C

D

AB

CD

X

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

1

0

0

0

0

0

0

1

1

0

1

1

Para probar nuestro circuito podemos simplemente conectar señales de entrada y un indicador a la salida, o incluso podemos crear otro circuito que sea de prueba (eso lo dejaremos para otro artículo), por el momento vamos a enfocarnos en la generación del código VHDL. Para esto en Multisim vamos al menú Transferir>>Exportar a PLD…

multisim fpga

En la ventana anterior vemos que hay varias opciones, suponiendo que no tenemos conectada ninguna tarjeta con chip FPGA vamos únicamente a generar los archivos VHDL. Damos clic en Siguiente, seleccionamos una ruta para guardar el archivo, clic en Finalizar y listo. Multisim crea dos archivos con extensión vhd. Estos archivos se pueden abrir con un editor de texto. Aquí está una parte:

multisim fpga

A manera de resumen concluimos que con el nuevo esquemático PLD de Multisim podemos crear un circuito lógico y generar el código VHDL (necesario para programar un FPGA) de manera automática. Por otro lado, este módulo de PLD trabaja muy bien con la tarjeta NI Digital Electronics FPGA Board de National Instruments, la cual es ideal para prácticas de laboratorio. A esta tarjeta se le puede descargar directamente el código VHDL desde Multisim.

Espero les haya gustado este introducción al esquemático PLD, no olviden mandar sus preguntas y comentarios.

Hasta pronto,

Fernando