miércoles, 21 de octubre de 2020

 

En esta practica se debe realizar el código  para un display de 7 segmentos  donde por medio de la creación del código se pueda realizar la practica identificando las dificultades  por medio de las entradas  del  7 segmentos donde ya nos da la información que necesitamos 
en esta parte se debe realizar el código de las compuertas que necesitamos  para realizar  el código principal donde se utilizaran para editacion del código principal 
una vez realizado se debe declarar  en el código principal las compuertas en la cual debemos  colocar compenet  ya que será una parte importante para no se produzca ningún error 

una vez realizado se hará  el código que  se llamen las compuertas que necesitamos  y por medio de eso se hará que llamar las compuertas que necesitamos 

igual de deben declarar las signal de cada salida que usemos 




jueves, 15 de octubre de 2020


*** las características de los sistemas DSP.***

Un procesador de señal digital (DSP) es un tipo de microprocesador (increíblemente rápido y poderoso). Un DSP es único porque realiza el procesamiento de datos en tiempo real. Esta capacidad de operación en tiempo real hace de un DSP la opción perfecta para aplicaciones en las que no vamos a tolerar retrasos.

Básicamente un DSP adquiere una señal digital y la procesa para mejorar la misma. La mejora puede ser un sonido más claro, imagen más nítida o datos más rápidos.

Aunque hay muchos procesadores DSP, la mayoría son diseñados con las mismas operaciones básicas en mente, por lo que comparten el mismo conjunto de características básicas. Estas características se dividen en tres categorías:

  • Alta velocidad de cálculos aritméticos.
  • Transferencia de datos hacia y desde el mundo real.
  • Arquitecturas de memoria de múltiple acceso.
Operaciones Básicas de un DSP

Un DSP para operar requiere unas simples funciones típicas:

  • Suma y Multiplicación.
  • Retrasos.
  • Manejo de Arreglos (vectores).

Para realizar la aritmética simple requerida los procesadores DSP necesitan unidades aritméticas de alta velocidad. La mayoría de las operaciones requieren sumas y multiplicaciones juntas, por lo cual,  existe hardware para suma y multiplicación que pueden usarse en paralelo con una sola instrucción.

Los retrasos (delays) requieren que los valores intermedios sean mantenidos para su uso posterior. Esto también puede ser un requisito, por ejemplo, para un valor total que se actualiza, el total puede ser mantenido en el procesador para evitar lecturas y escrituras masivas en la memoria. Por esta razon los DSPs tienen muchos registros que pueden utilizarse para mantener los valores intermedios.

El manejo de arreglos requiere que los datos sean eficientemente adquiridos desde posiciones de memoria consecutivas. Esto implica la generación de la próxima direccion de memoria. Por esta razon existen registros especiales que se usan para mantener las direcciones de memoria y generar la siguiente rápidamente.


***Describir la estructura interna los PLD.***
Internamente todo PLD se compone básicamente de:
  • Entradas
  • Salidas
  • Matriz AND (fija o variable) Matriz OR (fija o variable) Macrocélula (opcional a la salida)
  • en esta parte se puede visualizar más a fondo la estructura del pld

    ENTRADA

    Las entradas están formadas por buffers de doble salida:

    • INVERSORA
    • NO INVERSORA
    • ARRAY DE PUERTAS AND Y OR

      En el array de puertas AND y en el de puertas OR, también se utiliza la notación abreviada.


***Flip-Flops***
El flip flop es el nombre común que se le da a los dispositivos de dos estados (biestables), que sirven como memoria básica para las operaciones de lógica secuencial. Los Flip-flops son ampliamente usados para el almacenamiento y transferencia de datos digitales y se usan normalmente en unidades llamadas “registros”, para el almacenamiento de datos numéricos binarios.

Son dispositivos con memoria mas comúnmente utilizados. Sus características principales son:

  • Asumen solamente uno de dos posibles estados de salida.
  • Tienen un par de salidas que son complemento una de la otra.
  • Tienen una o mas entradas que pueden causar que el estado del Flip-Flop cambie.

Los flip flops se pueden clasificar en dos:

Asíncronos: Sólo tienen entradas de control. El mas empleado es el flip flop RS.
Síncronos: Ademas de las entradas de control necesita un entrada sincronismo o de reloj.

Una vez teniendo una idea de lo que es un flip flop vamos a describir los flip flop mas usados.

Flip-Flop R-S (Set-Reset)

Utiliza dos compuertas NOR. S y R son las entradas, mientras que Q y Q’ son las salidas (Q es generalmente la salida que se busca manipular.)
La conexión cruzada de la salida de cada compuerta a la entrada de la otra construye el lazo de reglamentación  imprescindible en todo dispositivo de memoria.

Flip-Flop T

El Flip-flop T cambia de estado en cada pulso de T. El pulso es un ciclo completo de cero a 1. Con el flip flop T podemos complementar  una entrada de reloj al flip flop rs.

Flip-Flop J-K (Jump-Keep)

El flip-flop J-K es una mezcla entre el flip-flop S-R y el flip-flop T. 
A diferencia del flip flop RS, en el caso de activarse ambas entradas a la vez, la salida adquiere el estado contrario al que tenía.

Flip-Flop D (Delay)

El flip-flop D es uno de los FF más sencillos. Su función es dejar pasar lo que entra por D, a la salida Q, después de un pulso del reloj.

Para que sirven las entradas Clear y Preset?

Cuando se están utilizando flip-flops en la construcción de circuitos, es necesario poder controlar el momento en el que un FF empieza a funcionar y el valor con el que inicia su secuencia. Para esto, los flip-flops cuentan con dos entradas que le permiten al diseñador seleccionar los valores iniciales del FF y el momento en el que empieza a funcionar.

***Latches**
El latch (cerrojo) es un tipo de dispositivo de almacenamiento temporal de dos estados (biestable), que
se suele agrupar en una categoría diferente a la de los flip-flops. Básicamente, los latches son similares
a los flip-flops, ya que son también dispositivos de dos estados que pueden permanecer en cualquiera
de sus dos estados gracias a su capacidad de realimentación, lo que consiste en conectar (realimentar)
cada una de las salidas a la entrada opuesta. La diferencia principal entre ambos tipos de dispositivos
está en el método empleado para cambiar de estado.
Tipos de  Latches

El latch S-R (SET-RESET)
Un latch es un tipo de dispositivo lógico biestable o multivibrador. Un latch S-R (Set-Reset) con entrada
activa a nivel ALTO se compone de dos compuertas NOR acopladas, tal como se muestra en la Figura (a); un latch con entrada activa a nivel BAJO está formado por dos compuertas NAND conectadas tal como se muestra en la Figura (b). Observe que la salida de cada compuerta se conecta a la entrada de la compuerta opuesta. Esto origina la realimentación (feedback) regenerativa, característica de todos los latches y flip-flops.

El latch S-R con entrada de habilitación


En un latch con entrada de habilitación  las entradas S y R controlan el estado al que va a cambiar el latch cuando se aplica un nivel ALTO a la entrada de habilitación (EN, enable). El latch no cambia de estado hasta que la entrada EN está a nivel ALTO, pero, mientras que permanezca en este estado, la salida va a ser controlada por el estado de las entradas S y R. En este circuito, el estado no válido del latch se produce cuando las dos entradas S y R están simultáneamente a nivel alto.



***Máquinas de estado digitales***
Un ‘estado’ es la condición de una cosa en un tiempo determinado. Algunos que pueden realizar tareas y que utilizan estados como su núcleo son máquinas de estado. También son conocidas como máquinas de estado finitas, lo que significa que sabemos todos los posibles estados de ella. La clave para la máquina de estado es el concepto del tiempo y la historia. El estado de la máquina es evaluada periódicamente. Cada vez que es evaluada, un nuevo estado es elegido (el que podría ser el mismo estado nuevamente) y el resultado es presentado.

Un diagrama de una máquina de estado genérica. El elemento de memoria  contiene el nuevo estado conocido como el estado variable. Cuando la máquina de estado cuenta con los servicios, el estado variable es actualizado con el valor de la próxima etapa. Acá la nueva etapa es una función de ambos; el estado actual y algunos inputs. La nube de la lógica es un sistema que decide cual será el próximo estado, o la próxima lógica de estado

Una máquina de estado simple: El contador.

Un clásico ejemplo de una máquina de estado es un contador. Por ejemplo, un ‘for loop’ o un circuito integrado lógico de 74×4040 trabajan como una máquina de estado. Cada vez que la máquina cambia de estado, ya sea por la línea del reloj o por el comportamiento de bucle, el estado de la memoria cambia a un nuevo estado igualando el estado anterior más uno. El set finito de estados que puede tener es la cantidad de números que puede contar.

Maquinaestado2

Un contador básico expresado como máquina de estado

Partes de la máquina de estado del contador:

  • El estado actual es el valor que ha sido contado.
  • El resultado es el estado actual.
  • La próxima etapa lógica es lo que sea el estado actual + 1.
  • No hay entradas. En un diagrama más avanzado, una entrada o una función de reseteo del contador será establecido como entrada.

La máquina de estado avanza a cualquier ritmo que sea atendida.

Máquinas de Estado Moore y Mealy

Los profesores de lógica digital aman preguntar en las pruebas sobre Moore vs. Mealy y es por eso que tenemos que mencionarlo. La distinción entre ellas muchas veces no hace sentido, mientras escribas en una maquina de estado en C; es más como una: distinción de “como hacer un hardware lógico”. Para nosotros la lección de Moore y Mealy es que existió gente que pensó sobre este tipo de cosas e inventó formas de notarlo. Mientras ellos se centraban en el hardware lógico, nosotros nos centraremos en el software c.

Máquina de estado Moore

Puedes notar que no importa cuál será el estado de la entrada, la salida solo depende el estado actual contenido dentro del elemento de la memoria.

Máquina de estado Mealy

en el cual entra en profundidad acerca de crear máquinas de estado desde funciones matemáticas, y describe esas salidas de máquinas de estado en términos de sus entradas.

Para diagramar la máquina Mealy, la salida está hecha para depender de ambos: el estado actual y la entrada. Aquí la nube de la lógica de la próxima etapa contiene la lógica de salida también:

También puede ser dibujado separando la nube en la lógica del próximo estado o lógica de salida.

Diagramas de Estado Abstractos

Hasta ahora, hemos visto que las máquinas de estado tienen una memoria que almacena el estado actual, que debe provenir de algún estado, y que irá al siguiente estado. Aunque nuestro diagrama actual no muestra como se mueve a través de estados, el propósito debiese ser dibujar un mapa de movimiento entre los estados para que podamos escribir un código que emule nuestro diseño. Esto se llama diagrama de estado.

***Suma y resta binaria***

Suma de números Binarios

Las posibles combinaciones al sumar dos bits son

  • 0 + 0 = 0
  • 0 + 1 = 1
  • 1 + 0 = 1
  • 1 + 1 = 10
      100110101
    +  11010101
    ———————————
     1000001010

Operamos como en el sistema decimal: comenzamos a sumar desde la derecha, en nuestro ejemplo, 1 + 1 = 10, entonces escribimos 0 en la fila del resultado y llevamos 1 (este "1" se llama  arrastre). A continuación se suma el acarreo a la siguiente columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas la columnas (exactamente como en decimal).

Resta de números binarios

El algoritmo de la resta en binario es el mismo que en el sistema decimal. Pero conviene repasar la operación de restar en decimal para comprender la operación binaria, que es más sencilla. Los términos que intervienen en la resta se llaman minuendo, sustraendo y diferencia.

Las restas básicas 0-0, 1-0 y 1-1 son evidentes:

  • 0 - 0 = 0
  • 1 - 0 = 1
  • 1 - 1 = 0
  • 0 - 1 = no cabe o se pide prestado al proximo.

La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 10 - 1 = 1 y me llevo 1, lo que equivale a decir en decimal, 2 - 1 = 1. Esa unidad prestada debe devolverse, sumándola, a la posición siguiente. Veamos algunos ejemplos:


***Multiplicación y división binaria***
Multiplicación

La tabla de multiplicar para números binarios es la siguiente:

  ·

  0

  1

  0

  0

  0

  1

  0

  1


El algoritmo del producto en binario es igual que en números decimales; aunque se lleva a cabo con más sencillez, ya que el 0 multiplicado por cualquier número da 0, y el 1 es el elemento neutro del producto.

Por ejemplo, multipliquemos 10110 por 1001:

  10110  X  1001                            

                       10110               

                    00000                

                  00000                

                10110                

                11000110

División de números binarios

La división en binario es similar al decimal; la única diferencia es que a la hora de hacer las restas, dentro de la división, éstas deben ser realizadas en binario.

Ejemplo

Dividir 100010010 (274) entre 1101 (13):

  100010010 |1101
-0000                010101   
  10001   -1101     01000    - 0000       10000       - 1101         00011
         - 0000
            01110
            - 1101
            00001

jueves, 8 de octubre de 2020


 

Un paquete en VHDL es una colección de funciones, procedimientos, variables compartidas, constantes, archivos, alias, tipos, subtipos, atributos y componentes. Un archivo de paquete se utiliza a menudo (pero no siempre) junto con una biblioteca VHDL única. Los paquetes se usan con mayor frecuencia para agrupar todo el código específico de una biblioteca. Los paquetes pueden tener dos partes: una declaración y un cuerpo, aunque el cuerpo no es necesariamente necesario. La sección de declaraciones contiene los prototipos de las funciones y procedimientos definidos. La sección body contiene la implementación real de las funciones y procedimientos. Si ha utilizado C antes, la sección de declaración es similar a un archivo .h.

Los paquetes en combinación con las bibliotecas son una excelente manera de que VHDL permita al diseñador digital organizar su código. Al agrupar la funcionalidad que pertenece, los diseños tienen mucho más sentido y son más delgados. También le permiten escribir código que es reutilizable. Es posible que encuentre un archivo de paquete en particular que se utiliza una y otra vez a lo largo de sus diseños si tiene algunas funciones o constantes útiles.

Componentes en un archivo de paquete

Es preferible colocar todas las definiciones de componentes en un único archivo de paquete, en lugar de copiarlas y pegarlas en todas partes donde se cree una instancia del componente. De esta manera, si cambia el mapa de puertos, solo es necesario actualizar el archivo de paquete y las instancias reales.

Constantes y tipos en un archivo de paquete

Las constantes y los tipos que aparecen repetidamente en todo el código probablemente deben agruparse en un archivo de paquete. (O tal vez se pase en su diseño usando genéricos).

Funciones y procedimientos en un archivo de paquete

Las funciones y procedimientos deben existir tanto en la sección de declaración como en la sección del cuerpo. Como se ha dicho anteriormente, la declaración contiene el prototipo para la función o procedimiento y el cuerpo contiene la implementación real del código. A continuación se muestra un archivo de paquete de ejemplo que muestra algunas de las situaciones descritas anteriormente.

Para simular diseños de hardware electrónicos, se requiere la siguiente información:

  • Descripción estructural del diseño (netlist o esquema)

  • Modelo de comportamiento para cada dispositivo del diseño (fuente VHDL o biblioteca de modelos)

  • Estímulo para el diseño (vectores de prueba)

  • Información de configuración de diseño (especificar la versión de cada modelo de dispositivo que se utilizará durante la simulación)








Contador de décadas:

Se comenzó este diseño mediante instanciacion de componentes para ello se crearon diversos elementos individuales los cuales fueron integrad...