Sistemas Digitales

Páginas: 6 (1278 palabras) Publicado: 27 de enero de 2013
3.12 Subprogramas |
Los subprogramas son secuencias independientes de instrucciones y declaraciones que pueden ser llamadas en repetidas ocasiones dentro de una arquitectura, proceso, o cuerpo de un paquete en VHDL. Existen dos tipos de subprogramas: procedimientos y funciones. |
Desde el punto de vista del hardware, un llamado a un subprograma es similar a la instanciación de un componente,con la diferencia que el subprograma forma parte del circuito en el cual esta siendo utilizado. La instanciación de un componente o módulo, implica la síntesis de dos o más niveles de jerarquía en el diseño. Un subprograma sintetizado generalmente es un único circuito combinacional (utilícese un proceso si se desea crear un circuito secuencial). |
Los subprogramas se declaran habitualmente enpaquetes y los cuerpos de dichos subprogramas son implementados en el cuerpo del paquete en el que fueron declarados. Aunque es posible definir los subprogramas dentro de otras estructuras (arquitecturas y procesos), no es común que se haga, además, que algunos sintetizadores restringen la utilización de ellos sólo dentro de paquetes. Acerca de dichas restricciones en el uso de subprogramas,consúltese los manuales de referencia de VHDL o manuales de usuario del sintetizador que se este utilizando. |

3.12.1 Procedimientos y Funciones |
Procedimientos |
Un procedimiento es un algoritmo que puede regresar uno o varios valores y que, además, puede o no tener parámetros. Estos se utilizan generalmente para descomponer grandes descripciones comportamentales en pequeñas secciones, lascuales a su vez pueden ser utilizadas por distintos procesos dentro de la descripción. |
Los parámetros que se utilizan en el llamado de un procedimiento deben ser constantes, variables, o señales. Además, también debe especificarse el modo ya sea IN, OUT, o INOUT. A menos que se especifique, un parámetro se considera como una constante si se utiliza en el modo IN, y por omisión una variable sise utiliza el modo INOUT o OUT. |
Los procedimientos pueden ser utilizados de manera concurrente o secuencial, es decir, ya sea fuera o dentro de un proceso. Si alguno de los parámetros es un variable, entonces el procedimiento puede ser utilizado sólo secuencialmente. Recordemos que las variables solamente pueden ser declaradas dentro procesos, procedimientos y funciones y por esto unprocedimiento que utilice una variable como parámetro puede ser invocado únicamente dentro del proceso en el que se encuentra declarada dicha variable. |
Una variable declarada dentro de un procedimiento existe solamente en el momento de ejecución del mismo, similar a la declaración de variables dentro de procesos. |

DECLARACIÓN DE PROCEDIMIENTOS |

PROCEDURE procedimiento ( lista de parámetros) ; |

CUERPO DEL PROCEDIMIENTO |

PROCEDURE procedimiento ( lista de parámetros ) IS-- declaracionesBEGIN-- instrucciones secuencialesEND procedimiento ; |

EJEMPLO |

PACKAGE ejemplo IS-- declaración de procedimientoPROCEDURE procedimiento ( a: IN bit ; b: INOUT bit ) ;END ejemplo ; |

PACKAGE BODY ejemplo IS-- cuerpo del procedimientoPROCEDURE procedimiento ( a: IN bit ;b: INOUT bit ) ISBEGINb := a AND b ;END ;END ejemplo ; |

Funciones |
Una función es un algoritmo que retorna un único valor y puede o no tener parámetros de entrada. Las funciones se utilizan generalmente para: (1) Convertir objetos de datos de un tipo a otro; (2) Como simples funciones que realizan operaciones para las más frecuentes situaciones de diseño. Los parámetros de una función siempre sondel modo IN y deben ser señales o constantes. Además, cualquier variable declarada dentro de la función existe solamente dentro de la función. |

DECLARACIÓN DE FUNCIONES |

FUNCTION identificador ( lista de parámetros ) RETURN tipo_de_datos ; |

CUERPO DE LA FUNCIÓN |

FUNCTION identificador ( lista de parámetros ) RETURN tipo_de_datos IS-- declaracionesBEGIN-- instrucciones...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sistemas digitales
  • Sistemas Digitales
  • SISTEMAS DIGITALES
  • Sistemas Digitales
  • SISTEMAS DIGITALES
  • Sistemas Digitales
  • Sistemas Digitales
  • sistemas digitales

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS