014‐ax‐and - Obijuan/Icestudio-Digital GitHub Wiki

⬅️ Prev Navegar por los circuitos Next ➡️

Contenido

Ficha: Elemento primitivo AND

Descargas

Descripción

Se introduce el funcionamiento de la puerta AND, el primer elemento primitivo que permite combinar dos bits en uno. En este circuito se hace una prueba MANUAL. Las dos entradas de la puerta AND, denotadas como a y b se conectan a los dos pulsadores de la placa Alhambra-II. La salida de la AND, x, se conecta al LED del pin D0

El circuito, cuando NO está apretado ningún pulsador, mantiene el LED apagado. Si apretamos cualquiera de los dos pulsadords, de forma idependiente, el LED continúa apagado. El LED se enciende cuando se aprieta el pulsador SW1 Y SW2. Sólo en ese caso, cuando ambos pulsadores están apretados, se enciende el LED

La puerta AND

La puerta AND es un componente combinacional. Es el primer componente que tiene 2 entradas y una salida. Ambas entradas se combinan para generar su salida. Como es combinacional, el resultado depende únicamente del valor de sus entradas

El comportamiento de la AND lo definimos indicando todos sus casos posibles de las entradas:

  • and(0,0) = 0
  • and(0,1) = 0
  • and(1,0) = 0
  • and(1,1) = 1

En el mundo de la lógica matemática, esta operación se representa mediante el símbolo ∧. Si a y b son las variables booleanas que denotan las entradas de la AND, su salida se representa mediante $a∧b$:

  • 0 ∧ 0 = 0
  • 0 ∧ 1 = 0
  • 1 ∧ 0 = 0
  • 1 ∧ 1 = 1

PERO en la lógica Booleana de los circuitos la notación que utilizamos es $a.b$, y denominamos a esta operación como producto (booleano)

  • 0.0 = 0
  • 0.1 = 0
  • 1.0 = 0
  • 1.1 = 1

Si bien la operación AND se aplica a variables booleanas, la llamamos producto porque se comporta exactamente igual que el producto de números enteros (Pero ¡OJO!, NO ES UNA OPERACIÓN DE MULTIPLICACIÓN!). Como regla nemotécnica es muy útil, porque la operación producto estándar la conocemos muy bien. Podemos decir que "Algo por cero es cero". "Uno por uno es uno". Con esas dos frases tenemos definido totalmente el comportamiento de AND

Puerta AND en Icestudio

En Icestudio la puerta AND se encuentra en la colección iceGates. Como tiene 2 entradas, lo denotamos como icegates.and2

Circuito LEDAND2BTN

El circuito abstracto LEDAND2BTN tiene dos entradas y una salida. Sus dos entradas están conectadas a pulsadores, y la salida a un LED. El comportamiento es el mismo descrito en esta ficha: Sólo se entiende el LED cuando AMBOS pulsadores están apretados

En esta figura se muestra gráficametne su funcionamiento:

El circuito ax-and es la una implementación de LEDAND2BTN

Cronograma

La comprobación de la puerta AND se hace manualmente apretando pulsadores y comprobando el estado del LED de salida. En el cronograma se han dibujado todos los casos posibles, suponiendo que las entradas de la AND se han conectado a un circuito de pruebas (TestBench) que envía un valor diferente de las entradas en cada ciclo de reloj. Como en total hay 4 casos posibles, a partir del ciclo 3 ya se ha completado la prueba. De los ciclos 4 al 7 se mantienen ambas entradas a 1

El funcionamiento de la AND se puede dividir en dos casos. El caso principal es cuando el LED se activa, y esto sólo ocurre cuando ambas entradas están a 1. Es decir, que SW1=1 y SW2=1. En el resto de casos el LED estará apagado

En los ciclos 0, 1 y 2 se prueban los casos (SW2, SW1)= (0,0), (0,1) y (1,0) cuya salida es 0. En el ciclo 3 y posteriores se prueba el caso (1,1)`

Tabla de verdad

SW2 SW1 D0 Descripción
0 0 0 Ningún botón apretado. LED apagado
0 1 0 Botón 1 apretado. LED apagado
1 0 0 Botón 2 apretado. LED apagado
1 1 1 Botón 1 y 2 apagados. LED encendido

Recursos

Recurso Cantidad Máximo Descripcioin
LC 3 7680 Celdas lógicas
IO 3 256 Bloques de E/S

Este circuito tiene 2 pines de entrada y uno de salida, por ello consume 3 bloques de E/S

Conceptos nuevos

  • Puerta AND: Elemento primitivo que realiza la operación booleana a.b
  • Operación Booleana de multiplicación. El producto booleana es el nombre dado a la operación AND, y se representa mediante .
  • icegate.and2: Bloque en Icestudio que implementa una puerta AND
  • Combinación de bits: Operación realizada en dos bits que produce como resultado un bit nuevo
  • Circuito LEDAND2BTN: Circuito que enciende un LED cuando se pulsan dos pulsadores a la vez

Enlaces

  • iceGates: Colección de Icestudio con puertas lógicas

Autor

Licencia