Está en la página 1de 19

MANUAL DE USUARIO DEL BOOLE-DEUSTO

CONSIDERACIONES GENERALES
Cuando nos decidimos a disear el BOOLE-DEUSTO (a partir de ahora BOOLE a
secas) hace casi 10 aos lo hicimos porue pensamos ue los entornos
pro!esionales de an"lisis # diseo no cu$r%an las necesidades acad&micas' # porue
auellos entornos m"s espec%(cos para el aula no cu$r%an todas las e)pectati*as+
Esto no uiere decir ue BOOLE *en,a a sustituir a por e-emplo Electronics
.or/Bench' 0SE de 1ilin)' Or-C2D' etc+' simplemente $usca a#udar a los pro!esores
# alumnos de diseo di,ital+
Con la anterior declaraci3n nace #a la primera restricci3n4 sistemas
com$inacionales a ni*el de $it # aut3matas' # no a ni*el de pala$ra (sumadores'
codi(cadores' contadores' etc)' aspecto #a per!ectamente cu$ierto por el E.B' por
e-emplo+ El "m$ito de uso de BOOLE es el aula en el primer curso de diseo l3,ico'
# por tanto los e-ercicios han de ser peueos+ Bien es *erdad ue hemos usado
BOOLE para sistemas com$inacionales de 10 entradas # aut3matas con m"s de 50
estados' pero no es la idea inicial' # de$er%amos e*itar el uso pro!esional del BOOLE
para !a$ricar circuitos' a no ser ue estemos mu# se,uros de la $ondad del BOOLE'
situaci3n ue de$er"n ir marcando los propios usuarios+
En cuanto a aspectos ,enerales' BOOLE es educati*o' en!ocado a la metodolo,%a'
instala$le en un solo +e)e' !"cilmente utili6a$le' ,r"(co' adapta$le al ni*el del
usuario # en *arios idiomas4 espaol' eus/ara e in,l&s (es e)ten)i$le a otros
idiomas' por si al,uien se anima)+ Se,uro ue m"s de un usuario respirar" al sa$er
ue no ha# ue instalar' o ue el manual no tiene 700 p",inas+
2unue en el manual se descri$en someramente las !unciones' podemos enumerar
al,unas para ir centrando al BOOLE4 ta$las de *erdad' dia,ramas de 8eitch-
9arnau,h' e)presiones $ooleanas' circuitos l3,icos' !ormas normales' circuitos
:2:D;:O<' simpli(caci3n de !unciones' aut3matas de =oore # =eal#' con*ersi3n
entre aut3matas' minimi6aci3n de estados' circuitos con >-9 # D' ta$las de
resultados' simulaci3n' pro,ramas 8?DL # OrC2D-@LD' (cheros >EDEC' etc+
@or Altimo decir ue la *ersi3n ue au% se entre,a se presenta como de(niti*a' por
lo menos en lo ue es su !uncionalidad # aspecto ,eneral+ @ero estar%amos mu#
a,radecidos a auellos ue nos ha,an lle,ar comentarios' errores o modos de uso
del BOOLE al correo zubia@eside.deusto.es+ 2simismo es importante animar a los
usuarios a ue se inscri$an en el re,istro BOOLE para reci$ir las nue*as *ersiones
del BOOLE' o al,An nue*o producto so!tBare did"ctico+
INSTALAR Y ARRANCAR BOOLE-DEUSTO
La instalaci3n es tan sencilla como copiar los (cheros +e)e en su directorio+ Si se
partiera de los +6ip $astar%a con e)traer los (cheros en el directorio ele,ido+ El CD
contiene *ersiones en espaol' eus/ara e in,l&s+ Los +e)e son los mismos para los
tres idiomas' pero para in,l&s ha# ue copiar el $oole+enu # el reductio+enu' # para
el eus/ara el $oole+eu' no siendo (chero adicional nin,uno para el espaol+ En
principio cada usuario copiar" una sola *ersi3n' pero si uisiera tenerlas todas'
de$er" tener una carpeta para cada idioma+
Los (cheros distri$uidos son4
BOOLE+e)e+
<EDUCT0O+e)e' puede prescindirse de &l en la instalaci3n' es una aplicaci3n
e)terna para simpli(caci3n $ooleana a*an6ada+
BOOLE+eu para la traducci3n al eus/ara+
BOOLE+enu # <EDUCT0O+enu para la traducci3n al in,l&s+
:o es necesario re,istrarse en nin,una Be$' pero s% es recomenda$le en*iar un
correo electr3nico a 6u$iaCeside+deusto+es para poder reci$ir ,ratuitamente las
nue*as *ersiones del BOOLE-DEUSTO+ Basta con en*iar el nom$re' la uni*ersidad o
centro de ensean6a' !acultad' asi,natura # curso en ue se usa # nAmero de
alumnos ue lo usan+ Tam$i&n ser"n $ien*enidos todo tipo de comentarios #
su,erencias+
@ara arrancar la aplicaci3n $astar" con hacer do$le clic so$re el BOOLE+e)e+
ANLISIS Y DISEO DE SISTEMAS COMBINACIONALES
Una *e6 ue se ha arrancado el pro,rama aparece una pantalla (*er (,ura 1) para
ele,ir sistemas com$inacionales o secuenciales;aut3matas+ Empecemos por los
com$inacionales+
Di,ura 1+ @antalla principal del BOOLE
1+ En la parte superior de la ima,en se de$e completar o$li,atoriamente el nom$re
del sistema # el nAmero de entradas # salidas+ En el e-emplo el sistema se llama
e-er # tiene 7 entradas # dos salidas (*er (,ura 5)+ El sistema por de!ecto asocia
unos nom$res a las entradas # salidas' pudiendo cam$iarlas el usuario+
Di,ura 5+ @antalla principal de Sistemas Com$inacioanles
5+ Se,uidamente el usuario podr" proceder en el orden ue desee' pero si,amos
una secuencia t%pica de e-ercicio+ En este caso acti*aremos la opci3n Ta$la de
8erdad =anual # con la ima,en en la pantalla (*er (,ura E) $astar" con hacer clics
de rat3n para insertar los 1' 0 o 1 correspondientes a cada (la+ 2l pulsar E*aluar el
sistema uedar" ,uardado+
Di,ura E+ Car,a de la Ta$la de 8erdad
E+ Una *e6 introducido el sistema' el usuario o$tendr" las !ormas can3nicas o
normales acti*ando la opci3n Dorma :ormal Dis#unti*a (*er (,ura 7)+ Con la
pantalla de la ima,en a la *ista el usuario podr" aceptar los resultados o incluso
modi(carlos' pero de$er" tener en cuenta ue este cam$io se trasladar" a todo el
sistema' incluida la ta$la de *erdad+ @ara *er la se,unda salida' el usuario de$er"
usar la $arra de despla6amiento de la i6uierda+
Di,ura 7+ Dormas :ormales del sistema
7+ El si,uiente paso ser" o$tener las e)presiones simpli(cadas de cada salida+ @ara
esto $astar" con acti*ar la opci3n E)p+ SO@ Simpli(cada+ En la pantalla de la (,ura
F *emos la e)presi3n $ooleana de D1+
Di,ura F+ E)presi3n $ooleana simpli(cada
En la parte in!erior de la ima,en podemos ele,ir *er las e)presiones en modo
:2:D;:O< o *er el circuito l3,ico correspondiente+ La (,ura G muestra el circuito
l3,ico de la !unci3n D1+
Di,ura G+ Circuito l3,ico
F+ 2dem"s de o$tener el circuito podr%amos ha$er ele,ido *er los dia,ramas 8-9+ La
ima,en muestra el dia,rama de 8-9 con los la6os de simpli(caci3n di$u-ados (*er
(,ura H)+ En la pantalla el usuario puede *er el resultado completo o puede *er
di$u-ado cada la6o por separado utili6ando la parte in!erior i6uierda+ 2dem"s el
usuario puede utili6ar dos tipos de 8-9 di$u-ados de dos maneras' utili6ando la parte
superior i6uierda+ La parte de los 8-9 es se,uramente la m"s *alorada por los
usuarios' # en la ue m"s se ha es!or6ado el euipo de diseo+
Di,ura H+ Dia,rama de 8eitch-9arnau,h con la !unci3n simpli(cada
G+ Una *e6 ue el usuario tiene el circuito puede aca$ar au% el e-ercicio # pasar al
la$oratorio para implementarlo con C0 H711+ @ero ui6" el usuario uiera darle un
en!oue m"s pro!esional' # aunue este no es el en!oue ori,inal del BOOLE (es
did"ctico)' s% permite o$tener el correspondiente pro,rama en 8?DL u OrC2D-@LD
(est"ndares de l3,ica pro,rama$le)' o me-or aun' permite o$tener directamente el
>EDEC listo para ser ,ra$ado en una @2L 55810+ La (,ura I muestra el aspecto de
parte del (chero >EDEC+
Di,ura I+ Dichero >EDEC ,enerado por el BOOLE
Los seis pasos anteriores han descrito la secuencia t%pica del aula para resol*er un
e-ercicio com$inacional' pero el BOOLE tam$i&n puede ser utili6ado para resol*er #
practicar con e-ercicios m"s $asicos+ En este caso es cuando toma rele*ancia el
nom$re de calculadora $ooleana+ 8eamos al,unos e-emplos de este uso+
1+ 2cti*ando la opci3n E)presi3n Booleana (*er (,ura J)' el usuario podr" introducir
cualuier e)presi3n $ooleana si,uiendo una m%nimas pautas de sinta)is+
Se,uidamente el usuario podr" proceder con el sistema como uiera' por e-emplo'
podr%a acti*ar la opci3n de Ta$la de 8erdad =anual' # as% *er la ta$la
correspondiente+
Di,ura J+ Car,a de cualuier !unci3n $ooleana
5+ Si se acti*a la opci3n 8isuali6ador de Circuitos' el usuario podr" escri$ir una
e)presi3n SO@' @OS' :2:D o :O<' # el BOOLE le di$u-ar" el correspondiente circuito
l3,ico+ Lo ue esta opci3n no hace es di$u-ar cualuier circuito l3,ico' solo los tipos
de e)presiones anteriores+
E+ La opci3n m"s reconocida del BOOLE es la parte de simpli(caci3n+ Si se acti*a el
8-9 =odo de 2prendi6a-e' el usuario podr" simpli(car por su cuenta el sistema
introducido' indic"ndole el BOOLE la $ondad de la soluci3n+
El primer paso ser" car,ar una !unci3n nue*a utili6ando la opci3n Dia,rama de 8-9
(o cualuier otra opci3n) # lue,o acti*ar el =odo de 2prendi6a-e+ La (,ura 10
muestra la !unci3n introducida con un dia,rama de 8eitch-9arnau,h+
Di,ura 10+ Captura de un a!unci3n mediante su 8-9
Una *e6 acti*ado el =odo 2prendi6a-e4 Di$u-ar La6os es el usuario el ue de$e
introducir los la6os ue simpli(can el 8-9+ Lo har" en modo ,r"(co' aunue tam$i&n
puede usar la e)presi3n $ooleana+ Un la6o se di$u-a de la si,uiente manera4 hacer
clic con el $ot3n i6uierdo so$re cada casilla # lue,o con el $ot3n derecho para
pintar el la6o+ En un par de intentos se co,e la ha$ilidad su(ciente+ La (,ura 11
muestra la soluci3n introducida por el usuario+
Di,ura 11+ Soluci3n a la simpli(caci3n
2l darle E*aluar' el sistema nos dir" si la simpli(caci3n es correcta+ En este caso el
sistema nos dice ue la simpli(caci3n se puede hacer con menos la6os' # as%
de$er%amos intentarlo (*er (,ura 15)+
Di,ura 15+ =ensa-e de simpli(caci3n err3nea
En la ima,en de la (,ura 1E *emos una soluci3n correcta+ Esta tiene solamente
cuatro la6os' por cinco de la anterior+
Di,ura 1E+ E-emplo de simpli(caci3n correcta
2dem"s de las opciones anteriores' el BOOLE puede ,uardar # car,ar sistemas'
imprimir resultados' copiar al portapapeles para lue,o editar un (chero +doc # editar
el te)to ad-unto+ Con esta Altima opci3n' el usuario puede li,ar el sistema con un
te)to' por e-emplo' con el enunciado del pro$lema resuelto+
En los p"rra!os anteriores se ha dado una $re*e e incompleta descripci3n del
BOOLE' pero su(ciente para ue el usuario entienda su modo de operaci3n #
comience a usarlo en el an"lisis # diseo de sistemas com$inacionales+
ANLISIS Y DISEO DE SISTEMAS SECUENCIALES, AUTAMATAS O
FSM
Si en la primera pantalla hu$i&ramos ele,ido la opci3n de 2ut3matas' acceder%amos
a lo si,uiente+ En este caso el BOOLE #a no se comporta tanto como un sistema
a$ierto' tipo calculadora $ooleana' sino ue es necesario usarlo m"s
ordenadamente+ Este uso m"s ordenado es consecuencia de las t&cnicas de an"lisis
# diseo de aut3matas+ 8eamos una secuencia t%pica de uso de esta parte+
1+ En primer lu,ar ha$r" ue crear un nue*o aut3mata' declarando si es de =oore o
=eal# # su nAmero de entradas # salidas+ La ima,en muestra la pantalla de la
opci3n 2rchi*o :ue*o+ En este caso se ha optado por un aut3mata de =oore con 1
entrada # 1 salida (*er (,ura 17)+
Di,ura 17+ Creaci3n de un nue*o aut3mata
5+ El se,undo paso es car,ar ,r"(camente el aut3mata+ El modo ideado es
puramente ,r"(co # sencillo' pero el usuario de$er" !amiliari6arse con &l+ En la
pantalla se podr" *er una paleta con tres si,nos (*er (,ura 1F)4 se selecciona el
superior derecha para insertar estados' se selecciona el in!erior derecha para
di$u-ar transiciones # se selecciona el de la i6uierda para mo*er # $orrar estados o
transiciones+
Di,ura 1F+ @aleta para di$u-ar el aut3mata
E+ Una secuencia normal pasa por primero ele,ir el c%rculo # situar los estados del
sistema' cuatro por e-emplo+ Lue,o ele,ir la Kecha # di$u-ar las transiciones
haciendo clic con el rat3n en los estados ori,en # el destino+ @ara hacer un autola6o
ha$r" ue marcar dos *eces el mismo estado+ 2tenci3n4 a *eces podr" parecer ue
no se ha di$u-ado una transici3n o no se *er" la punta de la Kecha+ En el primer
caso esto es porue la nue*a transici3n ha sido di$u-ada so$re otra' ha$r" ue
mo*er una de ellas para *er la otra+ En el se,undo caso ha$r" ue mo*er el estado
destino para *er la punta de la Kecha' # lue,o mo*er la propia transici3n para
me-orar el di$u-o+ Como en todo sistema ,r"(co el usuario de$e pasar un tiempo
practicando hasta ser h"$il (*er (,ura 1G)+
Di,ura 1G+ @rimeros pasos en la car,a del aut3mata
@ara mo*er un estado o transici3n $astar" con seleccionar la Kecha ,rande # lue,o
hacer clic # arrastrar el estado o transici3n correspondiente4 el con-unto se mo*er"
solidariamente+ @ara arrastar la transici3n ha$r" ue seleccionar la punta de la
Kecha' # no otra parte de la transici3n+ @ara $orrar un estado o transici3n ha$r" ue
seleccionar la Kecha ,rande' hacer clic con el $ot3n i6uierdo so$re el estado en
cuesti3n' # lue,o clic con el derecho+
Una incomodidad del sistema es tener ue estar cam$iando de selecci3n en la
paleta' pero ha# un truco para pasar a co,er la Kecha ,rande4 acti*ando el $ot3n
derecho del rat3n (cuidado con $orrar al,o)+ Un conse-o (nal4 es $ueno tener el
aut3mata di$u-ado delante para as% ase,urar una disposici3n armoniosa del
aut3mata+
7+ Una *e6 car,ado el aspecto ,r"(co del aut3mata ha$r" ue dotarlo de contenido
en sus estados # transiciones+ Seleccionando la Kecha ,rande # haciendo do$le clic
so$re un estado o transici3n (so$re la punta de Kecha)' este se a$rir" # podremos
escri$ir el *alor de la entrada #;o salida (sorprendentemente al,unos estados se
mue*enL pensemos ue es un detalle li$ertario)+ La (,ura 1H muestra el aut3mata
#a completo' pero siempre podremos *ol*er so$re &l+
Di,ura 1H+ 2ut3mata de =oore completo
F+ El aut3mata de la (,ura 1H es un reconocedor de E o m"s 1 en la secuencia de
entrada+ Una primera opci3n ue podemos acti*ar en <esultados son las de
Determinista # Correcto+ En este caso BOOLE nos dice si se nos ha ol*idado al,una
entrada' si las hemos repetido o cualuier circunstancia e)traa+ Esta opci3n puede
ser mu# Atil en aut3matas comple-os+ En este momento se puede acti*ar
directamente la opci3n Diseo del 2ut3mata' # aparecer" en la pantalla las ta$las
ue con(,uran el diseo para Kip-Kop D o >-9+ La (,ura 1I muestra las ta$las de
diseo del BOOLE+
Di,ura 1I+ Ta$las de diseo del aut3mata de =oore
G+ 8istas # compro$adas las ta$las' el usuario podr" acti*ar 8er Circuitos # o$tener
la ima,en de la (,ura 1J+
Di,ura 1J+ Circuito l3,ico con >-9 del aut3mata
H+ El anterior paso cierra la sesi3n' pero tam$i&n podr%amos ha$er se,uido otros
pasos+ @or e-emplo podr%amos ha$er con*ertido el aut3mata de =oore en uno de
=eal# acti*ando la opci3n O$tener =eal# Eui*alente dentro de <esultados+ La
(,ura 50 muestra el resultado o$tenido+
Di,ura 50+ 2ut3mata de =oore con*ertido en uno de =eal#
I+ Se,uidamente se podr%a acti*ar la opci3n de =inimi6aci3n de Estados dentro de
<esultados+ En este caso est" implementado un al,oritmo ue minimi6a los estados
incluso cuando utili6amos al,An tipo de condiciones li$res' pero est" claro ue en
este caso la $ondad del al,oritmo depende mucho del propio aut3mata' # por tanto
el usuario de$er" estar m"s atento en estos casos+ 2l minimi6ar' el BOOLE nos
o!rece *er los pasos ue da para lle,ar a ella' # adem"s se o!rece para redi$u-ar el
aut3amta en la pantalla+ 2l hacer esto puede ue el BOOLE no acierte demasiado
con el di$u-o' pero siempre podremos redi$u-arlo nosotros+ La ima,en de la (,ura
51 nos muestra ue el aut3mata de =eal# se pod%a reducir a tres estados+
Di,ura 51+ 2ut3mata de =eal# reducido
J+ La secuencia anterior lo ha sido de diseo' pero BOOLE tam$i&n permite el
an"lisis del aut3mata car,ado+ Esta operaci3n era espont"nea en los sistemas
com$inacionales' #a ue era el usuario el ue da$a sentido a la calculadora
$ooleana+ @ara los aut3matas' BOOLE o!rece simulaci3n r"pida o detallada'
pudiendo ser cada una de estas interacti*a o $atch+ 8eamos una de ellas4 opci3n
Simulaci3n 0nteracti*a dentro de <esultados+
En este caso el usuario *a metiendo entradas en la casilla correspondiente #
pulsando C9 para ue el aut3mata las procese # muestre su e*oluci3n en el propio
dia,rama (*er (,ura 55)+ Se,An hace esto' el BOOLE *a creando un LOM ue lue,o
el usuario podr" *er para anali6ar la simulaci3n en con-unto+
Di,ura 55+ Simulaci3n interacti*a del aut3mata de =eal#
10+ El anterior modo de simulaci3n es *"lido para sistemas sencillos' para sistemas
m"s complicados es me-or optar por la Simulaci3n Batch+ En este caso el usuario
primero prepara toda la secuencia de entrada # lue,o con simples clic de rat3n la
*a procesando+ La di!erencia con la simulaci3n anterior es solamente esta+ En la
ima,en de la (,ura 5E podemos *er ue el aut3mata es correcto' #a ue pone la
salida a 1 cuando se han reci$ido E o m"s 1+
Di,ura 5E+ <esultado de la simulaci3n $atch del aut3mata de =eal#
En cuanto a la simulaci3n detallada' esta es Atil solo para hacer cam$ios en la
entrada entre Kancos+ Esta situaci3n tiene inter&s did"ctico para destacar las
di!erencias entre =oore # =eal#' pero no tiene mucha utilidad pr"ctica+
2dem"s de todo lo anterior' BOOLE o!rece ,uardar # car,ar los aut3matas' imprimir
resultados' copiar al portapapeles' ,enerar c3di,o 8?DL # OrC2D-@LD # ,enerar el
(chero >EDEC+ Opciones todas ellas ue dan *i,or # utilidad al BOOLE+

También podría gustarte