Top Banner
LAB 3 Redes Combinacionales Laboratorio de Sistemas Digitales ELO212 Primer Semestre de 2010
23

Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Jun 19, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

LAB 3Redes Combinacionales

Laboratorio de Sistemas DigitalesELO212Primer Semestre de 2010

Page 2: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Objetivos Generales

Modelar, diseñar y construir circuitos combinacionalesVerificar usando simulación

funcional temporal

Realizar pruebas estáticasdinámicas

Page 3: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Diseño de Circuitos

Elementos necesarios:Ecuaciones reducidas del diseñoEsquemático lógicoDiagrama de conexiones

Page 4: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

OPa

Unidad Aritmética Lógica

i

OPb

result

Ctl

cte[i]

Page 5: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Operaciones de la ALU

sumaopa + opb + cte[i]11

xoropa ^ opb ^ cte[i]10

oropa | opb | cte[i]01

andopa & opb & cte[i]00

DescripciónOperaciónCtl

Page 6: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Código Verilog de la ALU (1)

module alu3(A, B, i, Ctl, result);input [1:0] A, B, i, Ctl;output reg [3:0] result;

reg [1:0] cte0 = 2'b00, cte1 = 2'b11, cte2 = 2'b01, cte3 = 2'b10, cte;

assign cte = i == 0 ? cte0 : i == 1 ? cte1 : i == 2 ? cte2 : cte3;

Page 7: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Código Verilog de la ALU (2)

always @(A or B or i or Ctl)begin

case (Ctl)0: result = A & B & cte;1: result = A | B | cte;2: result = A ^ B ^ cte;default: result = A + B + cte;

end

endmodule

Page 8: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Módulo de Prueba de la ALU

module testalu3_v;reg [1:0] A, B, C, Ctl; wire [3:0] result;

alu3 uut (.A(A), .B(B), .i(i), .Ctl(Ctl), .result(result));

initial beginA = 0; B = 0; i = 0; Ctl = 0;

$display("A \t B \t i \t Ctl \t Result");$monitor("%b \t %b \t %d \t %d \t %b",

A, B, i, Ctl, result);#100;repeat(256)

#10 {A,B,i,Ctl} = {A,B,i,Ctl} + 1;end

endmodule

Page 9: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Decrementador/Incrementador (1)

Circuito combinacionalEntradas: e (cuenta), ctl (control)Salida: s Operación:if (ctl) s = e + x; else s = e - x;Obeservación:

Si (e < x ∧ ctl = 0) ⇒ underflowSi (e + x > 0xF ∧ ctl = 1) ⇒ overflow

Page 10: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Decrementador/Incrementador (2)

module decinc(e, ctl, s)parameter M = 3, x = 2; input [M:0] e;input ctl; output [M:0] s;

assign s = …..

endmodule

Page 11: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Asignación de Constante x

Paralelo Martes: x = 1Paralelo Miércoles: x = 2Paralelo Jueves: x = 1Paralelo Viernes: x = 4

Page 12: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Contador Gray (1)

10011171011106111101511010040100113011010200100110000000

Gray(g2,g1,g0)

Binario (b2,b1,b0)

Cuenta

Page 13: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Contador Gray (2)

g2 = b2

g1 = b2 ^ b1

g0 = b1 ^ b0

Page 14: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Contador Gray (3)

Para el laboratorio se deberá extender el diseño a un contador Gray de 4 bit

Page 15: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Circuito Digital (guía 2.5)

Contador Gray

Decrementador/Incrementador

e4 4

4

g

sctl

1

Page 16: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Trabajo Previo

Diseñar ALU de 4 bitSimulación funcional de la ALU de 4 bit

Diseñar dec./inc.Simulación funcional

Diseñar contador Gray 4 bitSimulación funcional

Armar circuitoContador GrayDecrementador / Incrementador

Page 17: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

En el Laboratorio

Mostrar trabajo previo, incluye circuito armadoAñadir generador de pulsos y contador de 4 bit para pruebas dinámicas del circuitoAñadir display 7 segmentos

Page 18: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Display 7 Segmentos (1)

f

a

g

d

b

ce ánodo cátododp

Cada segmento es un led:

Page 19: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Display 7 Segmentos (2)

R R R R R R R R

a b c d e f g dp

VccConfiguración Ánodo Común

¡Se deben añadir resistencias limitadoras de corriente!

Page 20: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Display 7 Segmentos (3)

R

a

R

b

R

c

R

d

R

e

R

f

R

g

R

dp

GND

Configuración Cátodo Común

Page 21: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Display 7 Segmentos (4)

Conversor BCD 7 segmentos

Page 22: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Display 7 Segmentos (5)

Usar IC: 7447 para display de ánodo comúnUsar IC: 7448 para display de cátodo común

Page 23: Redes Combinacionalesramos.elo.utfsm.cl/~elo212/docs/elo212-clase3-0110.pdf6 110 101 5 101 111 4 100 110 3 011 010 2 010 011 1 001 001 0 000 000 Gray (g 2,g 1,g 0) Binario (b 2,b 1,b

Recomendaciones Lab 3

Como parte de la preparación previa:Realizar pruebas estáticas del contador Gray e incrementador/decrementadorCablear decodificador BCD / 7 segmentos, resistencias y displayPreubas estáticas del decodificador BCD / 7seg