FACULTAD DE INGENIERÍA Y ARQUITECTURA ESCUELA DE INGENIERÍA ELÉCTRICA SISTEMAS DIGITALES I TAREA:
INTRODUCCIÓN A QUARTUS II
CATEDRÁTICO:
ING. SALVADOR GERMAN.
INSTRUCTORES:
BR. A BR. R ESTUDIANTES:
C R
Ciudad universitaria, 4 de abril de 2018. San Salvador, El Salvador
Índice
1. Objetvos................. Objetvos............................... ............................. .............................. ............................. ............................. .............................. .............................................. ............................... 2 2. Ino!"##$%n............ Ino!"##$%n........................... ............................. ............................. .............................. ............................. ............................. .............................................. ............................... & &. M'#o Te%$#o(...................... e%$#o(..................................... ............................. ............................. ............................. ............................. .............................. ............................. .................. ....) ) ). Oben#$%n e Ins'*'#$%n Ins'*'#$%n !e* so+,'e....................... so+,'e...................................... ............................. ............................. ......................................... .......................... .Des'o**o !e *os #$#"$os.................. #$#"$os................................. .............................. ............................. ............................. ............................................... ................................ 1/ /.Obsev'#$ones.......... /.Obsev'#$ones........................ ............................. .............................. ............................. ............................. ............................. ............................. .............................. ............... 2) 0. e"n's !e Invest'#$%n........... Invest'#$%n......................... ............................. .............................. ............................. ............................. ......................................2 .......................2 -. Con#*"s$ones.............. Con#*"s$ones............................. ............................. ............................. .............................. ............................. ............................. .................................. ................... ....... &2 B$b*$o'3'(................ B$b*$o'3'(............................... ............................. ............................. .............................. ............................. ............................. ............................................. .............................. &&
1. Objetivos Objetivo general:
Desarro Desarrollar llar y exoner exoner !ediante !ediante el lenguaje lenguaje de des"ri des"ri"i#n "i#n de "ir"uito "ir"uitos s ele"tr#ni"os $%D&, si!ula"iones "on 'uartus (( y )odelSi!
Objetivo ese"*+i"o:
(denti+i"ar el uso y algunas "ara"ter*sti"as del si!ulador )odelSi!.
Detallar la instala"i#n del so+tare a usar, en este "aso V4DL.
-naliar -naliar y "o!render "o!render de una !anera ade"uada ade"uada la sintaxis de di+erentes di+erentes instru""iones de $%D& Categoriar y !ostrar los datos de entrada y salida, ta!bi/n los oeradores de $%D& Crear di+erentes "o!onentes en $%D&.
2
2. Introducción &os "ir"uitos digitales an sido !uy i!ortantes ara el avan"e de la te"nolog*a, la !ayor arte de los disositivos digitales ue "ono"e!os los e!lean, "o!o, or eje!lo, las "o!utadoras ersonales, ter!#!etros digitales, "!aras, entre otros, ara lo "ual es ne"esario "ono"er sobre ellos. -l ablar sobre "ir"uitos digitales es i!ortante de+inirlos, "o!o un siste!a +or!ado or un "onjunto de disositivos ele"tr#ni"os ue re"iben un "ierto n3!ero de seales digitales de entrada, las ro"esan y generan una o varias seales digitales de salida. 5a!bi/n es ne"esario ablar sobre seales digitales, ue son auellas ue resentan una varia"i#n dis"ontinua "on el tie!o y ue solo uede to!ar "iertos valores dis"retos, a di+eren"ia de las seales anal#gi"as ue ueden to!ar un n3!ero in+inito de valores en un rango ese"i+i"ado. En el resente reorte se retende dar un ri!er "onta"to a los lenguajes %D& , a"r#ni!o de %ardare Des"rition &anguage ese"ial!ente se desta"a el -%D& ue es el lenguaje de des"ri"i#n de so+tare de -ltera y $%D& ue se exli"ara en detalle "ada uno de ellos !s adelante, lo "ual nos servirn ara des"ribir "ir"uitos digitales o redes l#gi"as auxilindonos de la erra!ienta 'uartus (( de -ltera ara oder reresentarlos y )odelSi! ara realiar su si!ula"i#n rese"tiva en base a la "odi+i"a"i#n sobre el "ir"uito.
&
3. Marco Teórico: VHDL: ¿u! es un VHDL" Es el a"r#ni!o ue reresenta la "o!bina"i#n de $%S(C 6 %D&, donde el ri!ero es el a"r#ni!o de $ery %ig Seed (ntegrated Cir"uit y el segundo es a su ve el a"r#ni!o de %ardare De"rition &anguage. Es un lenguaje de+inido or el (EEE 7(nstitute o+ Ele"tri"al and Ele"troni"os Engineers 7-9S((EEE 10;<=1>>? usado or ingenieros ara des"ribir "ir"uitos digitales. $%D& signi+i"a very=ig=seed integrated "ir"uits ardare des"rition language o lenguaje de des"ri"i#n de ardare de "ir"uitos integrados de !uy alta velo"idad.
¿u! es un #$%&" @n AB- no es un !i"ro"ontrolador, en realidad es un "onjunto !asivo de "eldas o bloues l#gi"os rogra!ables. Estas "eldas son rogra!adas individual!ente ara "onvertirse en eueos bloues de "onstru""i#n. Bueden ser "o!uertas si!les 7-9D, O y 9O5, et" o +li=+los. -s* ue la di+eren"ia "on un !i"ro es ue nosotros rogra!a!os "ada "elda ara +un"ionar "o!o un bloue de !e!oria l#gi"a. Esto signi+i"a ue, debido a ue "ada bloue es tan indeendiente, todos estn oerando al !is!o tie!o. di+eren"ia de un !i"ro donde "ada l*nea de "#digo se ro"esa a su ve. Bor lo tanto, los rogra!adores de AB- ueden "onseguir velo"idades !u"o !s altas de ro"esa!iento. Este unto anterior es !uy i!ortante a tener en "uenta. @n rogra!a realiado en $%D& uede are"er "o!o un rogra!a de "o!utadora "lsi"o 7se"uen"ial y uede ro"esar los datos en los "a!bios de +lan"o del "lo", ero ay ue re"ordar ue todo est +un"ionando a la ve 7aralelo. El &enguaje se en"uentra de+inido en bloues ta!bi/n. Cada +un"i#n ue desea!os, es a nivel suerior de+inida "o!o una FentidadG donde se ese"i+i"an las entradas y salidas del bloue. Co!o, or eje!lo, una "o!uerta -9D ueda de+inida "o!o:
Figura 3.1 bloque entdad de la compuera AND
)
Figura 3.2 bloque de arquiecura de la compuera AND
&os bits del lenguaje se de+inen dentro de la entidad y se deno!ina Faruite"turaG, la "o!uerta -9D uedar*a:
El lenguaje $D%&, "ontiene otros "o!andos !s "o!lejos ue ueden existir dentro de la aruite"tura "o!o &oos Hile, (+ y (+=Else. 5odos los tios de "osas ue se ven en la rogra!a"i#n en C. Sin e!bargo, "uando se de+ine un bu"le en C el "#digo da vueltas y vueltas, en $%D& ue en realidad odr*a!os estar di"iendo ue genera !3ltilos bloues id/nti"os de l#gi"a y ue todos ellos ro"esen datos en un "i"lo de "lo" si as* se reuiere .
HDL: @n lenguaje de des"ri"i#n de ardare es un lenguaje de rogra!a"i#n ese"ialiado ue se utilia ara de+inir estru"tura, diseo y oera"i#n de "ir"uitos ele"tr#ni"os, y !s "o!3n!ente, de "ir"uitos ele"tr#ni"os digitales, "o!o el "onvertidor anal#gi"o digital o "ualuier antena satelital. -s*, los lenguajes de des"ri"i#n de ardare a"en osible una des"ri"i#n +or!al de un "ir"uito ele"tr#ni"o, y osibilitan su anlisis auto!ti"o y su si!ula"i#n. &os %D& utilian exresiones estndar basadas en texto ue re+lejan la estru"tura de los "ir"uitos ele"tr#ni"os, si se viera dentro de una tarjeta, se odr*an observar !s de un !illo de "o!uertas a disosi"i#n del rogra!ador. -l igual ue los lenguajes de rogra!a"i#n "on"urrentes, la sintaxis y la se!nti"a de los %D& in"luyen nota"iones ese"*+i"as ara la "on"urren"ia. Sin e!bargo, al "ontrario de lo ue o"urre "on la !ayor*a de los lenguajes de rogra!a"i#n , los %D& in"luyen ta!bi/n una nota"i#n ese"*+i"a ara el tie!o, debido a ue este es una "ara"ter*sti"a +unda!ental de los "ir"uitos ele"tr#ni"os reales. &os %D& son algo !s ri"o ue los lenguajes de la lista de "onexiones 7"uyo ro#sito es exresar la "one"tividad entre una jeraru*a de bloues, ya ue no solo er!iten de+inir la estru"tura del "ir"uito, sino ta!bi/n su "o!orta!iento. -s* los %D& ueden ser usados ara es"ribir ese"i+i"a"iones Feje"utablesG de ardare. Es de"ir, un rogra!a es"rito en %D& a"e osible ue el diseador de ardare ueda !odelar y si!ular un "o!onente ele"tr#ni"o antes de ue sea "onstruido +*si"a!ente. Es esta osibilidad de Feje"u"i#nG de "o!onentes lo ue a"e ue a ve"es los %D& se vean "o!o lenguajes de rogra!a"i#n "onven"ionales, "uando en realidad se deber*a "lasi+i"arlos !s re"isa!ente "o!o lenguajes de !odelado. /
&HDL: -breviatura de -ltera %ardare Des"rition &anguage 7&enguaje de des"ri"i#n de ardare de -ltera. Este lenguaje de des"ri"i#n de ardare "uyo roietario es -ltera Cororation ara la rogra!a"i#n de CB&Ds 7Co!lex Brogra!!able &ogi" Devi"es o Disositivos "o!lejos de l#gi"a rogra!able y AB-s7Aield Brogra!!able ate -rrays o Ca!o de !atri"es de Buertas Brogra!ables. Co!ilado "on el 'uartus de -ltera y la serie de "o!iladores )axI, este lenguaje tiene una sintaxis are"ida al lenguaje de rogra!a"i#n C y una +un"ionalidad si!ilar a $%D&.
Mode'(i): )odelSi! es un entorno realiado or )entor rai"s, ue er!ite el desarrollo y la veri+i"a"i#n de %ardare Des"rition &anguages 7%D& "o!o $erilog, $%D& y Syste!C. &a si!ula"i#n uede realiarse utiliando la inter+a gr+i"a 7@( o los s"rit. &a +a!ilia de si!uladores )odelSi! ue na"e de la uni#n entre la te"nolog*a de si!ula"i#n single=ernel 7SJS, Single Jernel Si!ulator y un entorno de debug ara $erilog, $%D& y Syste!Ced es la ele""i#n ideal sea or -S(C ue or AB-.
Existen tres !odos de oera"i#n en )odelSi!: Figura 3.3 Inerfaz Gráca de !odel"im
)ediante ro"esos or lotes. &*nea de "o!andos 7se trata de un entorno intera"tivo en !odo texto, a""esible desde el Fro!tG del siste!a oerativo "on el "o!ando vsi! K". Eje"u"i#n basada en @( 7(nter+a ra"ia de usuario. Este es el !odo or de+e"to y el !s abitual ues utilia una inter+a"e a!igable ara el usuario. Es intera"tiva, !aneja !en3s, ventanas, botones y l*neas de "o!ando.
0
uartus II *eb +dition: &a Edi"i#n Heb es una versi#n gratuita de 'uartus ((. Esta versi#n er!ite la "o!ila"i#n y la rogra!a"i#n de un n3!ero li!itado de disositivos -ltera. &a +a!ilia de AB-s de bajo "oste Cy"lone, est soortada or esta edi"i#n, or lo ue los eueos desarrolladores y desarrolladoras no tendrn roble!as or el "oste del desarrollo de so+tare. Es un entorno de diseo !ultilata+or!a ue se adata +"il!ente a sus ne"esidades ese"*+i"as en todas las +ases del diseo de AB- y CB&D. El so+tare 'uartus (( o+re"e la rodu"tividad y el rendi!iento !s altos ara los AB-, CB&D y %ard"oy -S(C de -ltera. El so+tare 'uartus (( o+re"e s*ntesis y "olo"a"i#n y enruta!iento sueriores, lo ue resulta en ventajas de tie!o de "o!ila"i#n. &as "ara"ter*sti"as de redu""i#n de tie!o de "o!ila"i#n in"luyen: = Soorte !ultiro"esador. = e "o!ila"i#n rida. =e "o!ila"i#n in"re!ental.
-
,. Obtención e Insta'ación de' so-tare. Mode'(i): Bara la des"arga del so+tare )odelSi! es ne"esario entrar a este sitio: tt:dl.altera."o!1?.0L editionMsubs"ritionNrodu"tM!odelsi!aeNdonload!anagerMdire"tNlat+or!M indosPtabs=2 .Donde nos en"ontrare!os una gina si!ilar a la siguiente:
Figura #.1$ %onguraci&n de parámero'
Es i!ortante !ar"ar el siste!a oerativo y el !/todo de des"arga, ade!s ese"i+i"ar la versi#n, en este "aso las o"iones estn "on+iguradas ara el siste!a oerativo Hindos, !ediante des"arga dire"ta de la versi#n 1?.0s1. &uego de aber sele""ionado las re+eren"ias de des"arga, nos deslaa!os a"ia abajo y no en"ontrare!os "on un "uadro de des"argas donde se ueden visualiar ? estaas, sele""iona!os la ue tiene or no!bre F(ndividual AilesG y sele""iona!os el ar"ivo a des"argar en este "aso ser: )odelSi!=-ltera Edition, y resiona!os el bot#n "olor aul "on una +e"a de des"arga ubi"ados en la arte dere"a del no!bre del ar"ivo.
5
Figura #.2$ %uadro de de'carga
&uego de aber +inaliado la des"arga y al eje"utar el ar"ivo del setu del so+tare se resentar una ventana de instala"i#n "o!o la siguiente:
Figura #.3$ (enana Inicial de In'alaci&n
Los 6'sos son s$7$*'es ' *os !e "n 6o'7' #o78n !e 9$n!o,s: s$76*e7ene 6es$on'7os s$"$ene: se*e##$on'7os *' e!$#$%n ' $ns'*': #on;7'7os *os <7$nos = #on!$#$ones: *"eo se*e##$on'7os *' #'6e' ' !on!e se $ns'*'> e* 6o'7' en$en!o e* #"$!'!o !e e#o!' *' !$e##$%n.
Figura #.#$ "elecci&n de la edici&n
Figura #.)$ *+rmino' , %ondicione'
1?
Figura #.-$ Direcorio de In'alaci&n
Un' ve@ ;n'*$@'!' *' $ns'*'#$%n se 7os'> "n' ven' #o7o *' s$"$ene: !ebee7os 6es$on' = e* 6o'7' =' es'> *$so 6'' "s'.
Figura #.$ Finalizaci&n de la In'alaci&n
A* eje#"' e* 6o'7' nos 7os'' "n' $7'en s$7$*' ' *' s$"$ene(
Figura #./$ 0rograma ecuado
uartus II: 11
Bara des"arga el so+tare de la agina o+i"ial de altera se uede a"er !ediante el siguiente enla"e: tts:.altera."o!donloadsdonload="enter.t!l donde se nos !ostrara algo si!ilar a lo siguiente:
Figura #. $ 0agina de de'carga de 4uaru' II
@na ve dentro debe!os deslaarnos a"ia abajo donde nos en"ontrare!os un "uadro titulado FSo+tare Sele"torG donde debe!os ubi"arnos en la estaa titulada FSele"t by versionG donde debe!os bus"ar la versi#n ue desee!os des"argar, en este "aso la versi#n 1?.0 servi"e a" 1 y luego resionar la versi#n eb.
Figura #. 15$ "elecci&n de 6er'i&n de 4uaru' II
@na ve sele""ionada la versi#n eb del rogra!a se nos resentara una antalla si!ilar a la siguiente, donde debe!os sele""ionar el siste!a oerativo y el !/todo 12
de des"arga, en nuestro "aso siste!a oerativo Hindos y el !/todo de des"arga dire"ta:
&uego de aber sele""ionado el Siste!a Oerativo y el !/todo de des"arga nos deslaa!os a"ia abajo y nos en"ontrare!os un "uadro si!ilar al de la i!agen donde ulsare!os el bot#n aul de des"arga junto a la o"i#n F'uartus (( So+tareG y al deslaarnos a"ia abajo se en"ontrar el F'uartus (( Brogra!!erG ne"esario ya ue sirve "o!o inter+a entre el so+tare y el euio del
F igura #. 12$ De'carga de 4uaru' II "o89are
rogra!ador.
1&
Figura #. 1#$ Inicio de la in'alaci&n 4uaru' II
@na ve des"argado el so+tare, al eje"utar el instalador se nos resentara una ventana si!ilar a la siguiente, donde "o!o "ualuier rogra!a en Hindos debe!os ulsar el bot#n siguiente. Cabe desta"ar ue tanto el 'uartus (( en su versi#n eb "o!o Brogra!!er siguen asos si!ilares de instala"i#n as* ue este ro"eso es vlido ara a!bos rogra!as: @na ve resionado el bot#n siguiente debe!os a"etar los t/r!inos y "ondi"iones del rogra!a y sele""ionar la ruta de instala"i#n, debe!os tener el "uidado de no olvidar la dire""i#n.
Figura #. 1)$ *+rmino' , condicione'
1)
&uego se resentar la lista de "o!onentes ue se desee instalar, debe!os dejarlo tal y "o!o esta y resionar siguiente, donde luego e!ear la instala"i#n.
Cuando aya +inaliado la instala"i#n se nos !ostrara la siguiente ventana donde resionare!os el bot#n de +inaliar, una ve instalados a!bos rogra!as 7tanto la versi#n eb "o!o Brogra!!er odre!os abrir el rogra!a teniendo un ase"to si!ilar al de la i!agen:
Figura #. 1$ "eleccionar componene' a in'alar
Figura #. 1/$ Finalizaci&n de la in'alaci&n del programa
1
1/
/.Desarro''o de 'os circuitos - "ontinua"i#n, se resenta la solu"i#n a los roble!as 1.2 a 1.4 de la guia1 de la signatura "on sus rese"tivos enun"iados: 1.2 Disee una red de "on!uta"i#n ue a"ete entradas QCD y roor"ione una salida 1 solo "uando el d*gito de"i!al de entrada sea divisible entre ?. @tili"e "uatro variables de entrada ara disear el "ir"uito.
(o'ución: $aso 0: analiar el roble!a y entender lo ue nos di"e el enun"iado Seg3n nos di"e el enun"iado, de los t/r!inos de"i!ales ue re"iba debe de to!ar "o!o salida los ue son !3ltilos de ?, los "uales son: 0, ?, < y >
$aso 1: a"er la tabla de verdad y ver "uales "u!len "on los reuisitos de nuestro roble!a
Se obtiene la e"ua"i#n l#gi"a:
$aso 2: a"er la "odi+i"a"i#n en 'uartus ((
10
$aso 3: se abre el )odelSi! y se "rea un nuevo roye"to i!ortando los datos del 'uartus ((
$aso ,: se "o!iena a "rear las intera""iones de esta !anera y su"esiva!ente: -s* ser*a la intera""i#n 0
-s* ser*a la intera""i#n R
-s* ser*a la intera""i#n >
6a la si!ula"i#n se ver*a de esta !anera
(ntera""i#n
0
1
2
?
4
R
1-
<
;
8
>
1.? Disee una red l#gi"a "on varias salidas, "uya entrada sea un digito QCD y "uyas salidas se de+inen "o!o sigue: +1 dete"ta los d*gitos de entrada divisibles entre 4 +2 dete"ta los n3!eros !ayores o iguales a ? +? dete"ta los n3!eros !enores ue ;.
$aso 1: Obtener una tabla de verdad a artir del enun"iado del roble!a. Buesto ue el enun"iado nos di"e "lara!ente "ules sern las entradas, sabe!os ue un digito en QCD est "o!uesto or 4 bits, en este "aso tendre!os 4 entradas -, Q,C y D ue reresentaran "ada uno de los bits del QCD 8421, ade!s nos ese"i+i"a ? salidas +1, +2 y +?, donde sern los d*gitos divisibles entre 4, !ayores o iguales a ? y !enores ue ; rese"tiva!ente. 5abla de verdad obtenida del roble!a:
0 1 2 ? 4 R < ; 8 >
Entradas - Q C 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0
D 0 1 0 1 0 1 0 1 0 1
Salidas +1 +2 +? 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0
$aso 2: Obtener las e"ua"iones l#gi"as. - artir de la tabla de verdad se obtuvieron las siguientes e"ua"iones l#gi"as si!li+i"adas en SOB ara "ada una de las salidas:
ota: el "ar"ter F T F 7"o!illa si!le ue se en"uentra a "ontinua"i#n de una letra si!bolia Fel negado de esa entradaG. +1M -UQCUDUI-QUCUDU +2M-UCD I -UQ I -QUCU +?M-UQU I -UCU I -UDU
$aso 3: enerar el "#digo $%D& de la red l#gi"a. - artir de las e"ua"iones l#gi"as y las tablas de verdad se reali# el siguiente "#digo $%D& en 'uartus (( y se obtuvo el siguiente diagra!a: 15
Figura 1 ercicio 1.3$ %&digo (;D<
Figura 2 ercicio 1.3$ Diagrama generado a partr del c&digo (;D<
$aso ,: Si!ular la red l#gi"a en )odelSi! a artir del "#digo $%D&. &uego se realiaron las ruebas ertinentes y la si!ula"i#n en el so+tare )odelSi!, introdu"iendo !ediante el "o!ando F+or"/ 7variable de entrada 7valorG los valores rese"tivos a "ada entrada de la tabla de verdad en la tabla in+erior trans"rit,. -l eje"utar el "o!ando Frun 1000G se visualia el valor ue to!ara "ada salida donde se obtuvieron "o!o resultado los siguientes gr+i"os:
2?
Figura 3 ercicio 1.3$ Graco 1 obenido en !odel"im
Figura # ercicio 1.3$ Graco 2 o benido en !odel"im
21
Figura ) ercicio 1.3$ Graco 3 obenido en !odel"im
Es i!ortante notar ue las seales ue se !uestran en el gra+i"o sealan +iel!ente los valores obtenidos ara las salidas en la tabla de verdad ara "ada "o!bina"i#n de valores de las entradas donde +1, +2 y +? to!aran el valor de uno "uando el digito QCD est/ +or!ado or las entradas -,Q,C,D or 0100 rese"tiva!ente.
1.4 &as nor!as de seguridad de los aviones !oderno exigen ue, ara seales de vital i!ortan"ia ara la seguridad del aarato, los "ir"uitos deben estar trili"ados ara ue el +allo de uno de ellos no rodu"a una "atstro+e. En "aso de ue los tres "ir"uitos no rodu"an la !is!a salida, esta se es"oger !ediante vota"i#n. Disee el "ir"uito FvotadorG ue se a de utiliarse ara obtener "o!o resultado el valor !ayoritario de las tres entradas.
$aso 0: analiar el roble!a y entender lo ue nos di"e el enun"iado El roble!a nos di"e ue un siste!a de seguridad de "ir"uitos trili"ados debe de +allar ? ve"es, enton"es "uando esto su"eda, se so!ete a vota"i#n y "o!o nos di"e el valor !ayoritario se entiende ue de las vota"iones debe de ser !ayor o igual a dos
$aso 1: a"er la tabla de verdad y ver "uales "u!len "on los reuisitos de nuestro roble!a
Se obtiene la e"ua"i#n l#gi"a:
6a si!li+i"ada ueda as*:
$aso 2: a"er la "odi+i"a"i#n en 'uartus (( 22
$aso 3: se abre el )odelSi! y se "rea un nuevo roye"to i!ortando los datos del 'uartus ((
$aso ,: se "o!iena a "rear las intera""iones de esta !anera y su"esiva!ente:
(ntera""i#n
0
1
2
?
2&
4
R
<
;
.Observaciones El rogra!a 'uartus (( es una 3til erra!ienta ara la sintonia"i#n de "ir"uitos ues nos er!ite reresentarlos !ediante un "#digo $%D& y ade!s nos er!ite generar un diagra!a a artir de di"o "#digo si!li+i"ando grande!ente el trabajo. )u"as de las "o!uertas ueden es"ribirse en +or!a de exresi#n l#gi"a, or eje!lo, la "o!uerta EV9O, sin e!bargo, 'uartus (( al ingresar la oera"i#n V9O entre las dos entradas a la ora de asignar las salidas nos evita es"ribir toda la exresi#n. &a %erra!ienta )odelSi! nos er!ite reresentar +iel!ente las salidas de un "ir"uito a artir de un "#digo revia!ente es"rito en $%D&, uesto ue si osee!os una tabla de verdad los resultados de la si!ula"i#n sern iguales 7si se a es"rito "orre"ta!ente el "#digo esto se uede visualiar en un gr+i"o de seales tanto de entradas "o!o salidas ue nos roor"iona la erra!ienta.
2)
. $re4untas de Investi4ación ;.1 @so y sintaxis de las instru""iones (A... 5%E9. Es una estru"tura se"uen"ia ue er!ite la eje"u"i#n de un bloue de "#digo deendiendo de una o varias "ondi"iones.
Figura . 1$ "ina=i' de la 'enencia IF.. *;N> <"
El orden en el ue sit3an las F"ondi"ionesG dentro del i+=elsei+ es i!ortante, ues si ay dos "iertas, se eje"utara 3ni"a!ente la ri!era.
;.2 @so y sintaxis de las instru""iones C-SEW H%E9. Es !uy are"ido a la instru""i#n (AW 5%E9 orue ta!bi/n eje"uta un bloue de "#digo "ondi"ional!ente, ero en esta o"asi#n se eval3a una exresi#n en ve de una "ondi"i#n. Se debe re"ordar ue se deben tener en "uenta todos los "asos, es de"ir, in"luir "o!o 3lti!a o"i#n la senten"ia H%E9 O5%ES.
Figura . 2$ "ina=i' de la 'enencia %A">?;N
;.? @so de las instru""iones (AW 5%E9 y C-SEW H%E9 ara i!le!entar el "#digo $%D& dire"ta!ente de las tablas de verdad.
2
Eje!lo: (AW5%E9. El siguiente eje!lo es sobre un "ir"uito ue d/ "o!o salida 1 "uando el "#digo QCD de entrada sea un nu!ero de"i!al i!ar. &a tabla de verdad es la siguiente: 0 1 2 ? 4 R < ;
0 0 0 0 1 1 1 1
Q 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
6 0 1 0 1 0 1 0 1
El "#digo en $%D& ue i!le!enta la estru"tura (AW 5%E9 es la siguiente:
Figura . 3$ %&digo (;D< eemplo IF>*;N
Del "#digo anterior es i!ortante desta"ar la "ondi"i#n CM T1U, ya ue "uando C to!e el valor de 1 la entrada del de"i!al QCD ser un n3!ero i!ar, esto se uede visualiar "lara!ente de la tabla de verdad ya ue todas las "i+ras de"i!ales i!ares tienen en "o!3n ue el bit C to!a el valor 1. Esto se uede are"iar en la si!ula"i#n en !odelSi! a "ontinua"i#n:
2/ Figura . # Graco generado en model"im 'obre el eemplo de IF> *;N
Eje!lo: C-SEW H%E9. eto!are!os el roble!a anterior, ero "on la variante ue se "odi+i"ar utiliando la instru""i#n C-SEW H%E9 or lo ue la tabla de verdad ser la !is!a: 0 1 2 ? 4 R < ;
0 0 0 0 1 1 1 1
Q 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
6 0 1 0 1 0 1 0 1
Co!o utiliare!os senten"ias di+erentes ara nuestro "#digo $%D& nos uedara de la siguiente !anera:
Figura . )$ %&digo (;D< del eemplo del u'o de la 'enencia %A">?;N
Co!o se uede notar al igual ue el "aso anterior la "ondi"i#n estable"e ue si C to!a el valor de 1 enton"es "orresonde a un de"i!al i!ar y or lo tanto la salida seria 1. Esto se uede visualiar en el siguiente gr+i"o de la si!ula"i#n del "ir"uito en )odelSi!:
20
Figura . -$ Graco obenido de la 'imulaci&n del eemplo 'obre %A"> ?;N
;.4 5ios de datos de entrada y salida ue soorta $%D&. a Es"alares = integer = +loating oint = enun!erated = ysi"al b Co!uestos = array = re"ord " Bunteros = -""ess d -r"ivos = +ile e 5ios bsi"os rede+inidos: = (nteger: tio real @sado "o!o valor *ndi"e en laos, "onstantes o valores gen/ri"os = Qoolean: tio l#gi"o Buede to!ar valores "o!o TtrueU o T+alseU = Enu!erated: enu!era"i#n Conjunto de valores de+inidos or el usuario. Bor ej.: 56BE estado (S 7ini"io, lento, rido + 5ios S5D&O(C y S5D&O(C$EC5O De+inidos en el auete (EEE.standardlogi"11<4.se usan ara de+inir los uertos de las entidades g 5ios S(9ED y @9S(9ED &as oera"iones arit!/ti"as estndares s#lo estn de+inidas ara estos tios de datos
;.R XC#!o se "rean arreglos en $%D&L &as estru"turas ara de"larar un arreglo son las siguientes: 2-
56BE no!bretio (S --6 7ese"i+i"a"i#n OA tiodato S(9-& no!breseal: no!bretio Y:M valorini"ialZ CO9S5-95 no!breseal: no!bretio Y:Mvalorini"ialZ $-(-Q&E no!breseal: no!bretio Y:Mvalorini"ialZ
Eje!los: 56BE ro (S --6 7; donto 0 OA S5D&O(C== arreglo 1D 56BE !atrix (S --6 70 5O ? OA ro == arreglo 1Dx1D S(9-& x: !atrixY:G0001GZ ==ara arreglo 1D ==Otra +or!a de a"er lo !is!o del "#digo !ostrado arriba 56BE !atrix (S --6 70 5O ? OA S5D&O(C$EC5O7; DOH95O 0
- Q C D
5io es"alar 1D 1Dx1D 2D
;.< XC#!o de"larar un "o!onente en $%D&L )ostrar un eje!lo. Co!en"e!os or de+inir las estru"turas de este El ri!er bloue es E95(56, el segundo es -C%(5EC5@E. En E95(56 de+ini!os el no!bre del F"o!onenteG y sus entradas y salidas, el no!bre asignado en E95(56 debe de ser el no!bre del ar"ivo guardado. Bara la sintaxis es: no!bre: dire""i#n tio e"ordando ue el ulti!o no lleva el unto y "o!a. Dentro de -C%(5EC5@E se de+ine el "o!orta!iento del F"o!onenteG. Cuando se es"riba este, se debe de a"er !en"i#n de la entidad de la ue a"e la a""i#n, se ueden usar los "o!andos -9D, 9-9D, O, 9O, EVO, EV9O y 9O5. Bara este eje!lo "reare!os la "o!uerta l#gi"a 9O E95(56 "o!uerta9O (S BO5 7 a,b :(9 Q(5 x :O@5 Q(5 E9D "o!uerta9O -C%(5EC5@E Co!uerta9Oe"a OA Co!uerta9O (S QE(9 x [M 7a 9O b == Se uede de esta +or!a ta!bi/n == x [M 79O57a or b 25
E9D Co!uerta9Oe"a ;.; XCules son los oeradores en $%D&L
gi"os o
not
o
and
o
nand
o
or
o
nor
o
xor
o
xnor
ela"iones o
M 7igual
o
M 7di+erente
o
[ 7!enor
o
[M 7!enor o igual
o
\ 7!ayor
o
[M 7!ayor o igual
-rit!/ti"os o
I 7adi"i#n
o
= 7sustra""i#n
o
] 7!ultili"a"i#n
o
7divisi#n &?
o
re! 7resto de ab "on el signo de a
o
!od 7resto de ab "on el signo de b
)is"elneos o
abs 7valor absoluto
o
]] 7exonen"ial
Signo 7unarios o
I
o
K
Deslaa!iento 7signed y unsigned o
si+trigt
o
si+tle+t
Con"atena"i#n o
N
&1
5. 6onc'usiones Co!o resultado de la investiga"i#n resentada se "on"luye ue:
El )odelSi! es un si!ulador ue resenta una inter+a"e "o!rensible e intera"tiva ya ue resenta "ara"ter*sti"as ue ayudan al usuario a la eje"u"i#n de distintos trabajos "o!o entre ellas er!ite editar, "o!ilar, si!ular y deurar diseos de siste!as digitales
Se logro detallar la instala"i#n del $%D& er!itiendo as* su uso en "ualuier "ir"uito ele"tr#ni"o, aoyndonos "on el rogra!a 'uartus (( y el so+tare )odelSi!. 6 es de disonibilidad !uy a""esible. 5odo lenguaje tiene sus rese"tivas sintaxis, algunas "ono"idas !antienen una !is!a +un"ionabilidad, en el "aso del $%D& no es la ex"e"i#n, !ediante la intera""i#n "on el lenguaje se "ono"i# y "o!rendi# las di+erentes +un"iones e instru""iones ue dan solu"i#n a las ne"esidades ue resenta el usuario y ue son i!ortantes ara la eje"u"i#n roble!as.
&a si!ula"i#n eje!li+i"a y de!uestra de !anera !s "o!rensible el +un"iona!iento de un "ir"uito el/"tri"o, debido a ue en ella se uede observar el "o!orta!iento de las entradas y las salidas, esto en el )odelSi!. 6 "o!robar si lo e"o en el 'uartus (( es "orre"to. ra"ias a la "o!rensi#n de la sintaxis y de las instru""iones de $%D&, as* "o!o del rogra!a 'uartus (( el "ual +a"ilita, lo ue el usuario va a"er en un aarato ele"tr#ni"o 7"ir"uito lo uede realiar en di"o rogra!a, se logr# "rear di+erentes "o!onentes, "o!o las ; "o!uertas bsi"as en di"o lenguaje.
&2