DOWNTO 0); Los lenguajes de programacin de hardware como VHDL son lenguajes estandarizados ALIAS parte: BIT_VECTOR(7 DOWNTO para el diseo de circuitos electrnicos, sin 0) IS ins (31 DOWNTO 24); embargo bajo el VHDL existe diferentes SEALES entorno que nos permiten programan tanto de una manera concurrente como de una Este tipo de elementos se declaran de una manera lgica. manera similar a las contantes y variables, con la diferencia de que su tipo puede ser 3 A continuacin se aclara algunos conceptos maneras distintas; normal,bus y bsicos sobre el entorno algortmico de los register. Si en la seal no se especifica el VHDL, sus estructuras y algunos ejemplos tipo de seal se entender como normal. de diseos de circuitos tanto en RTL como algortmico. Su funcin principal es guardar valores y hacerlos visibles ms adelante, adems MARCO TEORICO estas seales cuenta con una parte donde LAS CONSTANTE se escribe y se almacena y otra donde se lee, que no necesariamente tiene que coincidir Su significado es similar al que se tiene de con lo que se escribi. Pero para poder leer cualquier otro lenguaje, bsicamente es un una parte diferente a la que se escribe se elemento que se inicializa en un valor que requiere desconectar esa parte de la seal no puede ser cambiado uno vez inicializado, asignndole el valor NULL. y su estructura es la siguiente: La diferencia entre sus diferentes tipos CONSTANTE x: = 2,7; radica en que la seal tipo normal no se CONSTANTE max = natural; pueden desconectar, mientras que las tipo registre y bus s. Cabe resaltar que el register conserva el ltimo valor que se Siempre y cuando el valor sea declarado en escribi. otro sitio un elemento puede ser declarado con otro elemento. SIGNAL data: BIT_VECTOR (7 DOWNTO 0) BUS: B00000000; VARIABLES SIGNAL data: BIT:= 0; Al igual que las constantes su concepto es similar al que se tiene en otros leguajes de EN QUE SE DIFERENCIAN ESTOS programacin, se diferencia en que su valor ELEMENTOS? puede ser alterado en cualquier momento La diferencia ms grande entre las seales y aun si se le asigna un valor inicial. las variables radica en que las variables VARIABLE contador: natural: = 0; toman el valor inmediatamente que se les asigna y adems solo pueden ser definidas Cabe resaltar que en este tipo de elemento dentro de PROCCES o su-bloques; mientras es posible cambiarle el nombre a la variable que las seales no reciben el valor que se les o dado el caso colocarle un nombre a una asigna en el mismo momento de la parte de su variable mediante una asignacin hasta el siguiente paso de la instruccin llamada ALIAS. simulacin o despus de un tiempo de ser especificado. Por ejemplo dentro de un PROCCES las tener la funcionalidad de la lista sensible seales conservan su valor y no cambia siempre que se trabaje con la sentencia hasta que el bloque termine de ejecutarse. WAIT no ser necesario la implementacin de dicha lista. Esta sentencia ejecuta un En que parte estas variables son definidas proceso mediante una condicin o evento Las variables solo tienen sentido donde las especifico en la propia sentencia. sentencias son ejecutadas en serie, es decir SENTENCIA IF THEN ELSE dentro de un PROCCES o un SU- PROGRAMA. Es la forma tpica de ejecutar o realizar acciones como resultado de una funcin Las seales por su parte solo pueden ser booleana y en su estructura se puede aadir declaradas en las arquitecturas, paquetes ms if mediante la palabra ELSIF, evitando (PACKAGE) o en los bloques concurrentes. colocar muchos END IF y ganando memoria. Las constantes pueden ser declaradas en las PROCESS (a,b,c) mismas pares que las variables y las seales. BEGIN DESCRIPCIN ALGORTMICA IF a>b THEN p<= 2; Su principal atributo es que permite ELSIF a>c THEN ejecutar una programacin en serie y p <= 3; bsicamente se define dentro de bloques ELSE que se nombras con la palabra PROCCES. p <= 0; END IF; Una descripcin algortmica se puede END PROCESS definir en una manera ms abstracta como una programacin concurrente de PROCCES SENTENCIA CASE ya que bsicamente la descripcin en serie Es similar a la sentencia WITH..SELECT en el est definida dentro de cada bloque entorno de RTL por lo tanto todos los PROCCES que contenga un programa y posibles casos deben estar contemplados y debido a que en una programacin pueden cada caso se puede especificar aun valor haber varios PROCESS para activarlos simple o bien a un rango de valores existen dos maneras: lista sensible y mediante las palabras TO o DOWNTO sentencia WAIT. La primera se conforma de una lista de seales que al percibir un CASE puntos IS cambio en alguna seales entonces se WHEN 9 TO 10 => acta<= sobresaliente ejecuta el PROCESS y la segunda se encarga WHEN 8 DOWNTO 7=>acta<= notable de detener la ejecucin hasta que se WHEN OTHERS =>acta<= suspende END CASE; cumpla una sentencia o un evento en especfico.
En sus estructuras encontramos los bloques
PROCCES, la sentencia WAIT, la sentencia condicional IFTHENELSE, la sentencia CASE y los BUCLES.
SENTENCIA WAIT CONCLUSIONES
Es la forma genrica de detener una Al estudiar el entorno algortmico en VHDL
ejecucin de un PROCESS, por lo que al podemos concluir por un lado que este entorno es una serie de bloques llamados PROCESS que bsicamente en su interior funcionan de manera serial, pero que en ultimas en un arreglo concurrente de PROCESSs, adems al comparar los dos entornos podemos analizar que el entorno RTL ser ms rpido ya que su estructura simplifica muchos pasos y evita hacer arreglo de bloques.
BIBLIOGRAFIAS
Lenguaje para sntesis y modelado de
circuitos. 2nd ed. Fernando Pardo/ Jose A. Boluda.