Vous êtes sur la page 1sur 8

Instituto Tecnolgico de Mazatln

Departamento de Ingeniera Elctrica Electrnica

INGENIERA ELECTRONICA
IELC-2010-211

DISEO DIGITAL CON VHDL


ETF-1015

M. I. Jos Manuel Pastrano Balderas


Docente

TAREA 2
Buscar y seleccionar informacin relativa a las
instrucciones que componen al VHDL

Zatarain Arteche Francisco.


Nombre del alumno

151000084
Mazatln, Sin., octubre 2017.
INTRODUCCION

Aqu se tratara la forma en que se compone un dispositivo, ademas de plantear una


serie de instrucciones que deben seguirse para construir un determinado diseo de
programacin el cual se efectuara en fsico dentro del dispositivo programable dado
por ordenes descritas por un lenguaje en software.

Por otro lado, hablando del lenguaje que se utiliza para esta labor, fue creado con la
intencin de reducir su complejidad a la hora de trabajar con el, para que de esta
manera, una persona que esta mas familiarizada con las cuestiones electrnicas no
tenga que empaparse en estudiar todo un nuevo y extenso cdigo. Determinando as,
que se requiere solo la parte bsica de programacin para llevar a cabo un proyecto.

Tambin se har la observacin de los diferentes comportamientos que produce el


lenguaje y las diferencias que se obtienen de la programacin concurrente a la
secuencial. Demostrando la importante utilidad del lenguaje VHDL para moldear
sistemas digitales.

2
Independientemente de las pequeas diferencias que cada fabricante crea para su
propio VHDL, encontraremos que todos tienen las mismas instrucciones, las cuales se
pueden describir como las principales dentro del entorno WebPack ISE.

Antes de describir las instrucciones, se puede decir que unas son concurrentes y otras
secuenciales, esto se refiere a que VHDL describe el hardware, en donde el procesado
de las seales son en paralelo siendo esta una caracterstica muy singular de este
lenguaje. Se puede decir que es por esto que a la hora de disear se vuelve una tarea
complicada al definir un sistema basado en instrucciones concurrentes las cuales son
las autenticas instrucciones paralelas, por lo que se le tuvo que implementar tambin
instrucciones secuenciales a VHDL.

En el caso de las instrucciones secuenciales, estas se agrupan dentro de la instruccin


process con la que se ejecutaran de manera mas cmoda y controlable en forma
secuencial, esto basado de lenguajes como PASCAL y C. Por lo que el diseador
tendr las opciones de utilizar solo instrucciones concurrentes o por la necesidad del
diseo, mezclarla con instrucciones secuenciales.

Principalmente son tres las instrucciones secuenciales que necesitamos para realizar
distintos diseos dentro de un process, estas son: if then else, case when y los bucles.

Las instrucciones if then else, se utilizan preferentemente si la condicin depende de


una sola expresin o cuando mucho de dos expresiones. Si el numero de expresiones
a evaluar son mas de dos, es preferible que se utilice case. Su formato es:

if expresion1=valor1 then

instrucciones secuenciales;

elsif expresion2=valor2 then

instrucciones secuenciales;

else

3
instrucciones secuenciales;

end if;

Ahora bien, la instruccin case when secuencial como se dijo anteriormente sirve para
evaluar mas de dos expresiones y su formato es:

case expresin is

when valor1 => instrucciones secuenciales;

when valor1 => instrucciones secuenciales;

........

when others => instrucciones secuenciales;

end case;

En el caso de los bucles, el VHDL original incluye un control de flujo de programas


mediante bucles: for, loop y while, las cuales anteriormente no podan ser compiladas,
en realidad si podan ser simuladas pero el entorno no era capaz de transformar estas
instrucciones a recursos de PLD, por lo que no eran implementables. Con el paso del
tiempo esto ha ido cambiando y actualmente el for ya es soportado por el entorno, mas
sin embargo no es recomendable su uso ya que aun parece ser ineficiente. Por lo que
se recomienda en su lugar, que el diseador construya sus propios for y while
utilizando el autmata como estructura de control. Pero esta ya queda a consideracin
en el gusto del propio diseador.

En el caso de las instrucciones concurrentes sus principales comandos tambin son


tres: with select, when else y process.

Para when else, se podra decir que es la sentencia if concurrente, y su formato es de


la siguiente manera:

seal <=valor1 when condicin else

4
valor2 when condicin else

unaffected;

Igualmente para with select, se puede comparar con el funcionamiento de la sentencia


case pero en instruccin concurrente, su formato es:

with expresin select

seal1<=valor_seal1 when valor_expresin,

seal2<=valor_seal2 when valor_expresin;

unaffected when others

En el caso de la instruccin process que por ende es concurrente, por lo que se


ejecutan una cadena de sentencias secuenciales todas a la vez. Su formato es:

process (lista de seales)

begin

instrucciones secuenciales;

end;

Las seales incluidas en la lista son las que despiertan al process. Por lo que, cada
vez que cambie de valor alguna de las seales que se encuentre en la lista, el process
ejecutara secuencialmente todas las instrucciones que contenga en dicha lista.

Como consejo para la utilidad del process. Dejando en claro que un contador, un
multiplexor , un sumador, etc. son process; entonces cada funcin se le asignara un
process. De esta forma cuando el sistema se complique, es mejor pensar en
estructuras de datos, es decir, el asignar varios process y cada uno dirigirlo a cada
5
salida o seal que haya que generar, aunque eso suponga repartir las funciones entre
varios process, sino se hiciera de esta manera es posible que se encuentre el error
multisource signal assignament.

6
CONCLUSION.

Para concluir, se puede decir que el lenguaje VHDL hace parecer al tipo de lenguaje
estructurado como el C, solo que con las mejoras que lo hacen demasiado simple en
comparacin con lenguajes hechos para aquellos que son unos expertos a la hora de
programar con lenguajes extensos, ademas de que se podra decir que tiene un
formato parecido al de programacin, en realidad lo nico que se esta haciendo en el
software es redactar una descripcin de como se quiere que sea un determinado
diseo y cual es la funcin que se desea que realice el dispositivo PLD.

Al parecer la nica complicacin que me parece pertinente recalcar es la comprensin


acerca de la utilidad del process, en donde tal vez para cuestiones simples sea fcil
de controlar, pero en base a que se desee hacer una estructura con mas de un process
para determinar varias funciones y mandar la seal a distintas salidas parece ser algo
que solo con la practica se podr llegar a comprender.

7
Referencias

Garca, J. 2005. Manual de VHDL Sntesis lgica para PLDs. Universidad de Deusto,
Bilboa. (http://download.e-bookshelf.de/download/0003/7719/45/L-G-0003771945-
0002368738.pdf)

Vous aimerez peut-être aussi