Sentencias secuenciales
Castillo Castillo Zulema A., Vázquez Gutiérrez Sergio A., Díaz Jiménez Miguel A., Castillo Hernández Eber.
Facultad de Ciencias de la Computación, Benemérita Universidad Autónoma de Puebla.
Puebla, México
Abstrac.- In most software description languages, all assignment statements are sequential in nature. This means that the execution of the program will takeplace from top to bottom, in the order in which these statements have been prepared in the program, so it is vital to the provision of the same in the source code.
VHDL performs assignments to signals within the body of a process (process) sequentially, so the order in which they appear different assignments will be taken into account when compiling. This means that when we use sequential VHDLmodels, these behave like any other programming language like Pascal, C, etc.
Resumen.- En la mayoría de los lenguajes de descripción de software, todas las sentencias de asignación son de naturaleza secuencial. Esto significa que la ejecución del programa se llevara a cabo de arriba a abajo, es decir siguiendo el orden en el que se hayan dispuesto dichas sentencias en el programa, por ello esde vital importancia la disposición de las mismas dentro del código fuente.
VHDL lleva a cabo las asignaciones a señales dentro del cuerpo de un proceso (process) de forma secuencial, con lo que el orden en el que aparezcan las distintas asignaciones será el tenido en cuenta a la hora de la compilación. Esto hace que cuando utilicemos modelos secuenciales en VHDL, estos se comporten de formaparecida a cualquier otro lenguaje de programación como Pascal, C, etc.
I. INTRODUCCION
Las sentencias secuenciales son Sentencias secuenciales son aquellas que sólo pueden aparecer dentro de procesos
y subprogramas.
• Wait
• If-then-else
• Case
• Lazos:
• Infinite Loop
• While Loop
• For Loop
II. CONTENIDO DE LA INVESTIGACION
A. Características
Sentencias que sólo puedenaparecer dentro de procesos y subprogramas.
Similares a las de otros lenguajes de programación
Siempre están encapsuladas en PROCESS y PROCEDIMIENTOS
Especifican los algoritmos paso a paso.
El orden de escritura determina el momento de la ejecución.
Se ejecutan ordenadamente, una después de otra.
El orden de las sentencias es relevante.
Se ejecutan secuencialmente:
Wait
If-then-elseCase
Lazos:
•Infinite Loop
•While Loop
•For Loop
B. Asignación a una señal
Podremos asignar un cierto valor a una señal siempre que ésta haya sido declarada en la entidad en el apartado de declaración de puertos, o bien porque la hayamos creado específicamente dentro de un process.
La asignación a una señal dentro de un proceso es siempre secuencial, esdecir, la señal no cambia su valor hasta que se ha evaluado el proceso en el cual se incluye. Si no está dentro de un proceso, como por ejemplo, usando el estilo dataflow, el cambio es concurrente, es decir, la asignación está siempre activa, y se actualiza instantáneamente. Para hacer una asignación a una señal deberemos usar el operador [sentencias1]
WHEN => [sentencias2]
WHEN =>[sentenciasN]
WHEN OTHERS => [sentenciasM]
END CASE;
Esta sentencia es muy típica de los lenguajes de programación y cuenta además con una variante, muy importante en VHDL, como es dar un valor
La sentencia case también nos permite especificar un rango de valores posibles de la señal de selección, para los cuales hacer una asignación, mediante la palabra reservada to.
3. SentenciaLOOP
Se utiliza para repetir la ejecución una o más sentencias secuenciales.
La condición ha de ser booleana
La sentencia loop se usa para ejecutar un grupo de sentencias un número determinado de veces, y consiste tanto en un ciclo for como en un ciclo while. La sentencia for se ejecuta un número específico de iteraciones basado en el valor de una variable. La sentencia while continuará...
Regístrate para leer el documento completo.