Entradas

Mostrando entradas de octubre, 2020

Programa visto en clase

Imagen
 Para continuar observando el comportamiento del reloj ahora agregamos una segunda entrada y una segunda salida, todas ellas definidas por la logica estandar. La arquitectura fue basada en el "if, then" y el objetivo es observar el comportamiento del reloj cuando una segunda entrada cambia los parametros de señales y su salida de acuerdo a los casos aplicados en el programa.

flip flip tipo D

En el siente video se muestra como simular un latch tipo D

Flip--flop

 

Xilinx

Imagen
Las soluciones de diseño de procesamiento óptimas a menudo son proporcionadas por combinaciones de procesadores y FPGA, que cuentan con núcleos de procesador duro como parte de su estructura.  Como tecnología, los FPGA han evolucionado rápidamente a lo largo de los años y pueden abordar muchos requisitos de diseño en términos de flexibilidad, velocidad de procesamiento y potencia, lo que los hace muy útiles para una amplia gama de aplicaciones, desde interfaces inteligentes hasta visión artificial e inteligencia artificial.  

Descripción de opciones de FPGA de alto nivel

Imagen
Hay muchos tipos diferentes de FPGA en el mercado, cada uno con diferentes combinaciones de capacidades y funciones.  En el corazón de cualquier FPGA está su estructura programable.  Esto se presenta como una matriz de bloques lógicos programables, también conocidos como elementos lógicos (LE).  El siguiente paso en la estructura FPGA es incluir cosas como bloques de SRAM, llamados bloques de RAM (BRAM), bucles de bloqueo de fase (PLL) y administradores de reloj.  También se pueden agregar bloques de procesamiento de señal digital (DSP) (llamados segmentos DSP) y bloques de serializador / deserializador de alta velocidad (SERDES). Las funciones de interfaz periférica como CAN, I  2  C, SPI, UART y USB se pueden implementar como núcleos blandos en el tejido programable, pero muchos FPGA los incluyen como núcleos duros en el silicio.  De manera similar, los microprocesadores se pueden implementar como núcleos blandos en el tejido programable o como núcleos duros en el silicio.  Los FPGA

Compuertas AND, NOR, NOT, OR Proteus

Imagen
 

Ejemplo 1 Proteus

Imagen
Sumador completo Componentes requeridos en las librerías; estos serán una fuente de alimentación, un dipswitch de 3 interruptores para mostrar las entradas, resistencias, dos led’s para las dos salidas que serán la suma y los acarreos, compuerta XOR, OR y AND.

Proteus Software

Imagen
E s una herramienta software que permite la simulación de circuitos electrónicos con microcontroladores. Sus reconocidas prestaciones lo han convertido en el más popular simulador software para microcontroladores PIC y demás. La suite se compone de cuatro elementos, perfectamente integrados entre sí: ISIS es la herramienta para la elaboración avanzada de esquemas electrónicos, que incorpora una librería de más de 6.000 módelos de dispositivos digitales y analógicos. ARES es la herramienta para la elaboración de placas de circuito impreso con posicionador automático de elementos y generación automática de pistas, que permite el uso de hasta 16 capas. Con ARES el trabajo duro de la realización de placas electrónicas recáe sobre el PC en lugar de sobre el diseñador.  PROSPICE la herramienta de simulación de circuitos electrónicos según el estandar industrial SPICE3F5.  VSM  (Virtual System Modelling) es la revolucionaria herramienta que permite incluir en la simulación de circuitos el com

Decodificador en VHDL Edaplayground

Imagen
 

Compuerta AND en VHDL en EDA Playground

Imagen
 

EDA Playground

Imagen
O frece a los ingenieros una exposición práctica inmediata a la simulación de SystemVerilog, Verilog, VHDL, C ++ / SystemC y otros HDL.   El objetivo es acelerar el aprendizaje del desarrollo de diseño / banco de pruebas con un uso compartido de código más sencillo y un acceso más sencillo a las herramientas y bibliotecas de EDA. Con un simple clic, ejecute su código y vea la salida de la consola en tiempo real. Vea ondas para su simulación utilizando el  visor de ondas basado en navegador  EPWave   . Guarde sus fragmentos de código ("Campos de juego"). Comparta su código y los resultados de la simulación con un enlace web.  Perfecto para discusiones en foros web o correos electrónicos.  Excelente para hacer preguntas o compartir sus conocimientos. Prueba algo rápidamente Pruebe una función de idioma con un pequeño ejemplo. Pruebe una biblioteca que esté pensando en utilizar.

Ejemplo 1 VHDL

Imagen
L a salida va con retraso frente a la señal. Esto es así porque mi señal toma el valor de la entrada pero hasta que no termina en proceso no toma el valor de la entrada dado en la asignación, por lo que salida toma el valor antiguo, se  comportará de la manera “esperada” tendríamos que añadir mi señal a la lista de sensibilidad el proceso, de tal manera que al termina el proceso y existir un cambio en mi señ al, el proceso volviera a ejecutarse, esta vez si con el valor actualizado y la salida tomaría el valor de la entrada tras dos ciclos de simulación. A estos ciclos de simulación que se ejecutan hasta que todas las señales tengan un valor estable se denominan “ciclos delta” y son la base de los simuladores RTL como Modelsim. Estos simuladores no avanzan el tiempo de simulación hasta que haya dos ciclos delta seguidos sin cambios en los valores de las señales. En este ejemplo lo que ocurre es algo que se llama bucle combinacional. Al asignar a la señal su valor negado el proceso se v

Diferencia entre señal y variable en VHDL

Imagen
VHDL utiliza tanto señales como variables, y su funcionamiento es completamente diferente. Es muy importante conocer en detalle el mismo para saber cuando hay que utilizar cada una de ellas. Para entender que es una señal tenemos que asumir que en VHDL no estamos programando, si no que estamos describiendo el comportamiento de un circuito electrónico, compuesto por “componentes”, que son nuestras entidades, que son nuestras señales. Estas señales nos permitirán conectar componentes y procesos entre sí. Por el contrario una variable es simplemente un almacén temporal de un valor que se utiliza como apoyo mientras estamos programando. No tiene ningún significado físico y deriva de los lenguajes de programación. Una vez entendido esto podemos establecer las diferencias básicas entre las dos:  Una señal se declara a nivel de la arquitectura y puede ser leída por varios procesos. Una variable se declara dentro de un proceso y solo puede ser leída y escrita desde él. La asignación a una vari

CROCODILE CLIPS

Imagen
 ¿Qué es Crocodile Clips? Es un simulador eléctrico muy interesante, simple y sencillo de utilizar, donde se puede crear circuitos utilizando símbolos o los mismos objetos. Se pueden simular circuitos básicos, interruptores, bombillas,  baterías, compuertas lógicas, contactores. Características:  Simulación de Circuitos básicos de electricidad con componentes basados en imágenes casi reales. Conexionado rápido entre componentes Medidas básicas de tensión, intensidad y potencia, por burbujas de información, que se muestran en pantalla cuando se pasa el ratón sobre un componente o un conductor eléctrico. Posibilidad de desactivar la edición en circuitos creados por el profesor. En este caso solamente el alumno puede simular el funcionamiento de dichos circuitos. Inserción de textos e imágenes BMP en el esquema. Visualización de flechas con el sentido de la corriente en los conductores eléctricos. Los  componentes  de la librería no son muchos, pero si los suficientes para estudiar los ci

Elementos que conforman los FPGAs de Xilinx.

Imagen
Elementos reconfigurables: CLBs e IOBs. Elemento básico del CLB es la celda lógica. Cada CLB puede tener varias de estas celdas lógicas (CL). Los CLB de Virtex tienen cuatro CL distribuidas en dos slices. La celda lógica incluye: Generador de funciones (circuito programable LUT). Puede funcionar como circuito combinacional de 4 entradas o como memoria RAM 16x1. Las memorias pueden ser de varios tamaño combinando varias LUTs. También puede funcionar como registro de corrimiento de 16 bits. Lógica de acarreo.  Elemento de memoria (para almacenar el resultado de la LUT). Matriz de ruteo global. Rutas horizontales y verticales con switches situados en la interseccion entre las rutas. Para interconectar diferentes CLBs internamente.   IOBs: Para interconectar los pines del FPGA y los CLBs.   Rutas locales: Para interconectar CLBs localmente y para conectar los CLBs con la matriz de ruteo global.   Dispositivos para la gestión del reloj: DDL en Spartan y DCMS en Virtex.   Memoria RAM: No emp

Lógica de Acarreo (Carry)

Imagen
El CLB tiene lógica dedicada exclusivamente para el acarreo de la suma aritmética con el objeto de mejorar el rendimiento de sumadores, contadores, comparadores y funciones lógicas relacionadas. se detalla la lógica, descrita en compuertas, de cada bit de un sumador total.  Muestra la analogía entre la lógica del sumador total y la lógica disponible en un SLICE para implementar el sumador total de una manera más eficiente que si fuera implementado solo con LUTs. La lógica de acarreo disponible en los CLB está constituida por los siguientes elementos, detallados en la imagen: Compuertas lógicas dedicadas sólo para el acarreo Multiplexores dedicados Ruteo y conexiones dedicadas

Un VHDL

Imagen
¿Qué es un VHDL?  Con apoyo a el siguiente video se observan la descripcion basica del lenguaje y su diseño.

Un FPGA

Imagen
¿Qué es un FPGA? Con apoyo al siguiente video se explica las caracteristicas de un FPGA (Matriz de Puertas Logicas Programables en Campo) el cual ayuda a la comprension basica del dispositivo. 

Electrónica Digital

Imagen
  Es una parte de la electrónica que se encarga de sistemas electrónicos en los cuales la información está codificada,   estudia la manipulación de dígitos binarios en función de administrar procesos automatizados o no y la implementación de circuitos digitales. La electrónica digital es binaria, es decir, cada dígito admite solamente dos posibilidades, que solemos expresar   con los símbolos 0 y 1, de forma que el sistema de numeración que le es propio es el sistema de base 2 (binario). Los circuitos digitales funcionan generalmente bajo tensiones de 5 voltios en corriente continua, Generalmente, el estado lógico 0 representa una ausencia de tensión, un nivel bajo; y el estado lógico 1 representa una existencia de tensión, un nivel alto. Mediante la combinación de estos valores es posible generar una serie de datos convertible a cualquier código utilizando la normativa aplicable en cada caso, es decir, están bien identificadas, razón por la cual a un determinado nivel de tensión se le

VHDL

Imagen
  ¿Qué es un VHDL? VHDL es un lenguaje de descripción de circuitos electrónicos digitales que utiliza distintos niveles de abstracción. El significado de las siglas VHDL es (Very High Speed Integrated Circuits) esto  permite acelerar el proceso de diseño. Los circuitos descritos en VHDL pueden ser simulados utilizando herramientas de simulación que reproducen el funcionamiento del circuito descrito. Para la realización de la simulación existe un estándar aprobado por el IEEE .  VHDL por un lado se describirá el aspecto exterior del circuito: entradas y salidas ; y por otro la forma de relacionar las entradas con las salidas. El aspecto exterior, cuántos puertos de entrada y salida tenemos, es lo que denominaremos entity. Y la descripción del comportamiento del circuito architecture, toda architecture tiene que estar asociada a una entity. Entity:  Una entidad es la abstracción de un circuito, ya sea desde un complejo sistema electrónico o una simple puerta lógica, únicamente describe l

FPGA

Imagen
   ¿ Qué es un FPGA? Conocido como Field Programmable Gate Arrays es una serie de dispositivos basados en semiconductores a base de matrices de bloques lógicos configurables o CLB , donde se conectan a través de un sector denominado interconexiones programables.   Su principal ventaja es que pueden ser reprogramados para un trabajo especifico o cambiar sus requisitos después de haberse fabricado.  FPGA: dispositivos de naturaleza programable Este tipo de dispositivo son sus innumerables aplicaciones en la actualidad. Sus características técnicas pueden ser enfocadas a los sectores como:   AEROESPACIAL  AUDIO AUTOMOTRIZ BROADCAST ELECTRÓNICA CENTRO DE DATOS  COMPUTACION DE ALTO FRENDIMIENTO  INDUSTRIAL Y MÉCANICA  ser reprogramables añade un atractivo innegable de cara a lograr mayor flexibilidad del flujo de los diseños finales. Características  Principales de un FPGA:  Flexibilidad: Un ingeniero descarga un archivo para un FPGA en concreto y modificar el comportamiento del mismo medi

Compuertas Logicas

Imagen
Una compuerta logica Es un dispositivo utilizado en Electrónica Digital que trabaja con estados lógicos tanto en sus entradas como en salidas, posee características especiales individuales que corresponden a leyes aritméticas. Las entradas de estos dispositivos se acostumbra representarlas con las primeras letras del alfabeto y las salidas con las últimas. Internamente una compuerta está formada por transistores, que se encuentran con arreglos especiales de manera que la función operacional coincida con la definición de cada una de ellas. Cada compuerta tiene asociada una tabla de verdad, que expresa en forma escrita el estado de su salida para cada combinación posible de estados en sus entradas. Ya que las compuertas tienen una o más entradas, la tabla de verdad se acomoda para formar una representación gráfica de sus resultados. También es notable que una tabla de verdad no es solamente para una compuerta específica sino que puede ser para un circuito formado por varias compuertas

Codigo Binario

Imagen
El código binario es aquel sistema de procesadores que posee un computador u ordenador que utiliza el sistema binario.  Se denomina como código binario al sistema de representación de textos, imágenes o vídeos de los que se valen los ordenadores o las computadoras para procesar instrucciones. El código binario permite codificar cadenas de caracteres o cadenas de bits, por lo tanto, permite la utilización de cualquier programa o software instalado en un computador que descifre el sistema binario. Asimismo, hace efectivo el uso del software en el computador, traduciendo las acciones del usuario para ser ejecutadas en el computador. Para que el código binario pueda llevar a cabo su función debe hacer uso del sistema binario, que es un sistema de numeración que posee únicamente los dígitos o bits cero (0) y uno (1), con los cuales se pueden representar infinidad de códigos. En este sistema numérico el 0 significa cerrado y el 1 abierto. El código binario se emplea en los campos de la