You are on page 1of 20

UniversidaddeLosAndes

EscueladeIngenieradeSistemas
DepartamentodeComputacin
ArquitecturadeComputadores

Clase02

SemestreA2010

caro Alzuru C.

AGENDA
Circuitoscombinacionales
Compuertaslgicas
lgebradeBoole
IntroduccinaSystemC

Circuitoscombinacionales
Loscircuitoslgicossepuedendividirendos
tipos:
Combinacionales:Lasalidadependeslodelos
valoresdeentrada.Funcionansinlapresenciade
unamemoria.
Secuenciales:Lasalidadependedelosvaloresde
entradaydelosvaloresalmacenadosenmemoria.

Elbloquedeconstruccinfundamentaldetodos
loscircuitoslgicosdigitaleseslacompuerta.
Unacompuertaesuncircuitoelectrnicoque
implementaunaoperacinlgicasencilla:AND,
OR,NOT,NOR,NAND

Elinterruptor
Elinterruptormanual
Funcionamiento
Dosestados

Elinterruptorcontrolable:
Ciertovoltajecontrolasise
enciendeoseapaga
Voltajealto:Elswitcheseenciende

Elinterruptorcomoherramienta
Lasalidatendrvoltaje
alto,slocuandoambas
entradastienentambin
voltajealto
Estaestructuraes
conocidacomocompuerta
lgicaAND

Entrada
1

Salida

Entrada
2

Tabla de verdad
Smbolo

x.y

CompuertaOR

Lasalidatendrvoltajealto,cuandoal
menosunadelasentradastenga
tambinvoltajealto

Tabla de verdad
x

x+y

Entrada1

Salida

Smbolo
Entrada2

CompuertaNOT
Tabla de verdad
Entrada

Salida

Voltaje Alto

Lasalidatendrvoltajealto,cuandolaentrada
tengavoltajebajo
Smbolo

Otrascompuertas
NAND
Tabla de verdad

XOR

Tabla de verdad

Tabla de verdad

x.y

x+y

Smbolo

NOR

Smbolo

Smbolo

Cmofabricarcompuertasde
interruptoresoswitches?
Potenciamecnica
Electromagnetismo
Tecnologaactual(Transistor):
CMOS(ComplementaryMetal
OxideSemiconductor)
Elsemiconducormscomn:Dixidodesilicio).
Elincrebleavancedelafsicahahechoquese
puedantener~2.5milmillonesdetransistoresenun
solochip.

lgebradeBoole
Denominadaasenhonorasuinventor,el
matemticoinglsGeorgeBoole.En1854.
En1938,ClaudeShannon(M.I.T.)sugierequeel
lgebradeBoolepuedeserutilizadapara
resolverproblemasdecircuitosdigitalesde
conmutacin.
Comotodalgebra,sebasaenvariablesy
operaciones:
Variables:Slopuedentenerdosvalores:1
(Verdadero)y0(Falso)
.
Operaciones:OR(A+B),AND(AB)yNOT(A)

lgebradeBoole
PostuladosbsicosdellgebradeBoole:
Leyesdeidentidad:A+0=AyA.1=A
Leyesdel0ydel1:A+1=1yA.0=0
Leyesdelinverso:A+A=1yA.A=0
Leyesconmutativas:A+B=B+AyA.B=B.A
Leyesasociativas:A+(B+C)=(A+B)+CyA.
(B.C)=(A.B).C
Leyesdistributivas:A.(B+C)=(A.B)+(A.C)yA+
(B.C)=(A+B).(A+C)
LeyesdeDeMorgan:A.B=A+ByA+B=A.B

Tabladeverdad
Herramientaquenospermiterepresentarlas
posiblecombinacionesdevaloresdeuncircuito
lgico
Muestraelvalorlgicadelasalidadeuncircuito
lgicodeacuerdoalosposiblesvaloresdelas
entradas
Tabla de verdad
Hagamoslatabladeverdadde:
x
y
x.y
F=A.B.C+A.B.C+A.B.C

SystemC
SystemCesunabibliotecadeclasesenC++que
permitemodelarsistemassoftware/hardwarey
simularlosconexactitudaniveldeciclosdereloj.
http://www.systemc.org
SystemCessoftwarelibre.
Metodologadediseo:
EscribirelmodeloenC++usandolostipos,funcionesyla
formadescriptivaSystemC.
Secompilaysesimulaelsistema.

SystemCestrespaldadoporcasitodaslas
empresasyorganismosimportantesdelsector.

PorquSystemC?
Complejidadcrecienteenlosdispositivoselectrnicosyen
lasmetodologasdediseodesistemas.
Cadavezseacortamseltimetomarketenlos
dispositivoselectrnicos
C++nofuecreadoparaeldiseodehardware
AlgunasdelascarenciasdeC++queSystemCcubre:

Comunicacinestilohardware:Seales,puertos.
Nocindetiempo:Relojes,operacionessincronizadas.
Concurrencia:Elhardwareesinherentementeparalelo
Reactividad:Elhardwareesreactivo,reaccionaaestmulosal
interactuarconsuambiente(Serequieremanejarexcepciones)
Tiposdedatoshardware:Bit,vectordebits,tiposlgicos

multivaluados,enteroconysinsigno.

Procesodediseo
Tradicionalvs.ConSystemC

CapacidadesdeSystemC
Mdulos:Sonlaunidadfundamentalde
funcionamiento.Sedescribenatravsdelaclase
SC_MODULE.Dentrodeunmdulopuedenhaber
procesosyotrosmdulos.
Procesos:Describenfuncionalidad.Seencuentran
dentrodelosmdulos.Puedenserdedostipos:
SC_METHODySC_THREAD.
Puertos:Losmdulostienenpuertos.Atravsde
estossecomunicanconotrosmdulos.Existentres
tiposbsicosdepuertos:input,outputeinout.

CapacidadesdeSystemC
Seales:Transportanunvalor.Permitecomunicar
procesoseinstanciasdemdulos.Dedostipos:
ResolvedyUnresolved.
Tiposdedatosexpandido
Clocks
Simulacinporeventos:Kernelligeroquepermite
simulacionesdegranvelocidad.
Protocolosdecomunicacin
Soportededepuracin

HolaMundo1
#include"systemc.h"
//Llamamoshello_worldalmdulo
SC_MODULE(hello_world){
SC_CTOR(hello_world){
//Imprimimosunsaludo
cout<<"HolaMundo!.\n";
}
};//Ojoconeste;Porquestarall?
//sc_mainescomoelmaindeC++
intsc_main(intargc,char*argv[]){
hello_worldhello("");
return(0);
}

HolaMundo2
#include"systemc.h"
SC_MODULE(hello_world){
SC_CTOR(hello_world){
}
voidsaludo(){
cout<<"HolaMundo!...\n";
}
};

intsc_main(intargc,char*argv[]){
hello_worldhello("");
hello.saludo();
return(0);
}

EjemplodeCompuertaAND
#include "systemc.h //Biblioteca de clases SystemC
//Definicin de mdulo:
SC_MODULE(Compuerta_AND) {
//Puertos de entrada del mdulo
sc_in<bool> entrada_A;
sc_in<bool> entrada_B;
//Puertos de salida del mdulo
sc_out<bool> salida_S;
//Funcin a ejecutar cuando cambie la entrada en alguno
//de los puertos.
void evaluar(){
salida_S.write(entrada_A.read()&&entrada_B.read());
}
//Constructor del mdulo
SC_CTOR(Compuerta_AND)
{
SC_METHOD(evaluar);
sensitive << entrada_A << entrada_B;
}
};

You might also like