Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Sistemas digitales - Practica 4

1.019 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Sistemas digitales - Practica 4

  1. 1. UNIVERSIDAD AUTONOMA DE QUERETARO FACULTAD DE INFORMATICA ING. EN TELECOMUNICACIONES SISTEMAS DIGITALES PRACTICA No. 3 “Funciones f(4) y f(5) para la GAL” Alumnos: Ramírez Cruz Uriel Exp: 215488 Reyes Cruz Luis Ángel Exp: 163986Paniagua Martínez Jonathan Exp: 215486 Uribe García Alejandro Exp: 215484 FECHA: 10/09/11
  2. 2. ObjetivoEl alumno realizara la primera práctica completa para programar una GAL con los conocimientosque se han aprendido, los cuales son:Reducir la función dada por el método de Quine Mc Cluskey, realizar el código en VHDL paradespués simularlo y por ultimo pasarlo a la GAL para realizar el correspondiente circuito en elProto y probar su funcionamiento.AntecedentesMatriz Genérica ProgramableUna Matriz Genérica Programable (GAL, Generic Array Logic) es una denominación que utilizabaoriginalmente Lattice Semiconductor y que más tarde se licenció a otros fabricantes. Un GAL en suforma básica es un PLD con una matriz AND reprogramable, una matriz OR fija y una lógica desalida programable mediante una macrocelda. Esta estructura permite implementar cualquierfunción lógica como suma de productos con un numero de términos definido.En los PLDs no reprogramables la síntesis de las ecuaciones lógicas se realiza mediante quema defusibles en cada punto de intersección de los pines de entrada con las compuertas.En el caso de un GAL es básicamente la misma idea pero en vez de estar formada por una red deconductores ordenados en filas y columnas en las que en cada punto de intersección hay unfusible, el fusible se reemplaza por una celda CMOS eléctricamente borrable (EECMOS). Mediantela programación se activa o desactiva cada celda EECMOS y se puede aplicar cualquiercombinación de variables de entrada, o sus complementos, a una compuerta AND para generarcualquier operación producto que se desee. Una celda activada conecta su correspondienteintersección de fila y columna, y una celda desactivada desconecta la intersección. Las celdas sepueden borrar y reprogramar eléctricamente. A continuación se muestran la estructura típica deun GAL y la macrocelda de salida del GAL22V10.Material  Galaxy previamente instalado  Protoboard  GAL 22v10D  Cable calibre 22  Programador con software  Dip switch de 8  Tablero lógico
  3. 3. DesarrolloEjercicios:  Reducir, programar y pasar a la GAL las siguientes funciones: 1. Fr =∑ (0,1,2,3,4,8,10,14,15) 2. F4 =∑ (1,2,3,4,6,7,9,11,12,14) 3. F5 = ∑(0,2,4,8,10,14,15,16,18,20,24,26,30,31) 1) Para el primer ejercicio, las tablas de reducción fueron las siguientes indice binario Representacion Binaria Reduccion 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 2 0 1 0 0 4 1 0 0 0 8 2 0 0 1 1 3 1 0 1 0 10 3 1 1 1 0 14 4 1 1 1 1 15 indice binario Representacion Binaria Reduccion 0 0 0 0 - 0-1 0 0 - 0 0-2 0 - 0 0 0-4 - 0 0 0 0-8 1 0 0 - 1 1,-3 0 0 1 - 2,-3 - 0 1 0 2,-10 1 0 - 0 8,-10 2 1 - 1 0 10,-14 3 1 1 1 - 14,-15
  4. 4. indice binario Representacion Binaria Reduccion 0 0 0 - - 0-1, 2-3 - 0 - 0 0-2, 8-10 Implicante primo Representacion Binaria Terminos cubiertos I1 - 0 - 0 0-2, 8-10 I2 0 0 - - 0-1, 2-3 I3 1 1 1 - 14,-15 I4 1 - 1 0 10,-14 I5 0 - 0 0 0-4Implicante 0 1 2 3 4 8 10 14 15 I1 x x x x I2 x x x x I3 x x I4 x x I5 x x La función minimizada quedo de la siguiente forma: Fr(A,B,C,D) = I1 + 12 + 13 + 15 Fr(A,B,C,D) = B’D’ + A’B’ + ABC + A’C’D’ 2) Para las otras dos funciones minimizadas por el mismo método quedaron asi: F4(A,B,C,D) = A’CD + B’D + BD’ F5(A,B,C,D,E) = C’E’ + BCD + B’D’E’ Resultados El código en VHDL para las 3 funciones fue el siguiente: --Practica 4
  5. 5. -- Luis Angel ReyesLibrary IEEE;USE IEEE.std_logic_1164.all; ENTITY Practica3 IS port( --Variables de entrada E,D,C,B,A:in std_logic; --salidas X,Y,Z:out std_logic ); END Practica3; ARCHITECTURE Practica3 OF Practica3 IS BEGIN X <= ((NOT C)AND (NOT A))OR((NOT D)AND(NOT C)) OR(D AND C AND B)OR((NOT D)AND(NOT B)AND (NOT A)); Y <= ((NOT D)AND B AND A)OR(C XOR A); Z <= ((NOT C)AND(NOT A))OR (D AND C AND B) OR ((NOT D)AND(NOT B)AND(NOT A)); END Practica3; 1) Hicimos su correspondiente simulación y una vez que corroboramos que la simulación daba los valores correspondientes a la tabla de verdad, procedimos a usar el programador para pasar el archivo .jed generado por el galaxy para programar la GAL.
  6. 6. 2) Cabe mencionar que la reducción de F4 fue con ayuda del maestro ya que por el método de Quine Mc Cluskey se necesitaba otro paso para poder llegar a la minimización correcta, pero nosotros corroboramos el resultado minimizando la función por mapas K. 3) Después de tener la GAL programada, realizamos el cableado en el proto para realizar el siguiente circuito:Observamos donde van las señales deentrada en la GAL y las 3 salidas quecorresponden una para cada una de lasfunciones.Imágenes de como quedo el circuito:
  7. 7. Podemos observar en los diferentes estados como los leds que muestran las salidas cambianOtro diferente tiempo, cabe mencionar que paraprogramar estas funciones juntas y debido a que 2eran de 4 variables y una de 5, era necesario y siqueríamos checar las 3 funciones al mismotiempo, hay que tener cuidado al momento deprogramarla para que las variables coincidan conla tabla de verdad, así tuvimos que la variable conmenor frecuencia fue E en lugar de A y la variablecon mayor frecuencia fue AConclusiónAprendimos en esta práctica varias cosas como:El uso correcto de los operadores lógicos para escribir correctamente la función dentro del códigofuente y que salga el resultado correcto, ya que como vimos, con funciones más largas es un pocomás complicado programarlas y sobre todo el uso de los paréntesis.La forma correcta de usar las señales de entrada cuando se tiene una función de 4 entradas y unade 5 y se quieren programar juntas, la importancia de saber cuál es el bit más significativo dentrode la función.Así también tanto para programar como para cablear el circuito habría que tener cuidado con lasentradas del switch así la GAL.La importancia que tienen las señales intermedias que nos hubieran podido facilitar laprogramación de las funciones y estas señales que ahora utilizaremos para programas posteriores.

×