_DISEÑO DIGITAL CON VHDL_
INSTITUTO TECNOLÓGICO DE CHIHUAHUA
Prácticas Diseño Digital II ene-jun 2014 18 de Junio de 2014
Ing. Carlos Gasson Esino!a
Integrantes" • • • •
Ir#ing $ernánde! Gallegos 12060397 %anuel Piñ&n 'lores 12060541 Julián (lejandro )olorio Gon!ále! 12060544 Da#id (dol*o )oto +arango 12060468
Diseño digital con VHDL
_DISEÑO DIGITAL CON VHDL_
INSTITUTO TECNOLÓGICO DE CHIHUAHUA
Práctica ,1
Detector de Secuencia con Registro de Corrimiento 28 de 'erero de 2014
Ing. Carlos Gasson Esino!a
Integrantes" • • • •
Ir#ing $ernánde! Gallegos 12060397 %anuel Piñ&n 'lores 12060541 Julián (lejandro )olorio Gon!ále! 12060544 Da#id (dol*o )oto +arango 12060468
Diseño digital con VHDL
ÍNDICE MARCO MA RCO TE TEÓR ÓRIC ICO O
3
LÓGC! S"C#"$C!L L"$G#!%" &'DL ()*#$! D" "S+!D, -$+, G!L. G"$"RC !RR!/ L,GC
3 3 3 3
OBJ BJE ETIVO
MATE ATER RIAL
DE! DE !AR ARRO ROLLO LLO
CÓDG, "$ &'DL D" L! ()*#$! D" "S+!D,S +!L! D" +R!$SCÓ$ D" "S+!D,S C,(L!CÓ$ D"L CÓDG, #+L!CÓ$ D"L DS,S+&, $,#+ S(#L!CÓ$ "GS+R, D" C,RR("$+, R "GS+R, CDIG/ C/%PI(CI PI/+ 3 +II(CI )I%(CI
CONC CO NCL$! L$!IO IONE NE! !
6 8 9 9 10 10 11 "" "# "# "3
"3
Diseño digital con VHDL
Marco Teórco Lgica secuencia a l&gica secuencial es un tio de circuito de l&gica 5ue salida deenda no s&lo de la actual entrada ero ta6i7n de la istoria de la entrada. Esto está en contraste con l&gica co6inacional9 del 5ue salida es una *unci&n9 : sola6ente de9 la actual entrada. Es decir la l&gica secuencial tiene al6acenaje ;6e6oria< 6ientras 5ue la l&gica co6inacional no. Lenguae &'DL os estudios ara la creaci&n del lenguaje =$D ;=$)IC $D< co6en!aron en el año 1>819 ajo la coertura de un rogra6a ara el desarrollo de Circuitos Integrados de %u: (lta =elocidad ;=$)IC<9 del Dearta6ento de De*ensa de los Estados nidos. En 1>8? las co6añ@as Inter6etrics9 IA% : +eBas Instru6ents otu#ieron la concesi&n de un ro:ecto ara la reali!aci&n del lenguaje : de un conjunto de erra6ientas auBiliares ara su alicaci&n. 'inal6ente9 en el año 1>89 el lenguaje =$D se con#ierte en la nor6a IEEE-10 co6o todas las nor6as IEEE9 se so6ete a re#isi&n eri&dica9 or lo 5ue en 1>>? su*ri& algunas le#es 6odi*icaciones.
(uina de estado inito )e deno6ina 6á5uina de estados a un 6odelo de co6orta6iento de un siste6a con entradas : salidas9 en donde las salidas deenden no s&lo de las señales de entradas actuales sino ta6i7n de las anteriores. as 6á5uinas de estados se de*inen co6o un conjunto de estados 5ue sir#e de inter6ediario en esta relaci&n de entradas : salidas9 aciendo 5ue el istorial de señales de entrada deter6ine9 ara cada instante9 un estado ara la 6á5uina9 de *or6a tal 5ue la salida deende Fnica6ente del estado : las entradas actuales. na 6á5uina de estados se deno6ina 6á5uina de estados *initos ;')% or *inite state 6acine< si el conjunto de estados de la 6á5uina es *inito9 este es el Fnico tio de 6á5uinas de estados 5ue ode6os 6odelar en un co6utador en la actualidad deido a esto se suelen utili!ar los t7r6inos 6á5uina de estados : 6á5uina de estados *initos de *or6a interca6iale.
G!L. Generic !rra Logic n G( es un co6onente electr&nico rogra6ale 5ue er6ite construir circuitos digitales. a *a6ilia co6leta es lla6ada PD ;Disositi#o l&gico rogra6ale<.
Diseño digital con VHDL
El uso rincial es 6ini6i!ar la cantidad de circuitos integrados ;: as@ ajar el costo : ta6año del e5uio<. Por lo general9 es osile sinteti!ar cual5uier circuito del tio su6a de roductos ;6init7r6inos< : en algunos disositi#os ta6i7n circuitos secuenciales ;aun5ue or lo general 6u: sencillos<. na G( er6ite i6le6entar cual5uier eBresi&n en su6a de roductos con un nF6ero de #ariales de*inidas. El roceso de rogra6aci&n consiste en acti#ar o desacti#ar cada celda E2C%/) con el ojeti#o de alicar la co6inaci&n adecuada de #ariales a cada co6uerta (D : otener la su6a de roductos. as celdas E2C%/) acti#adas conectan las #ariales deseadas o sus co6le6entos con las aroiadas entradas de las uertas (D. as celdas E2C%/) están desacti#adas cuando una #ariale o su co6le6ento no se utili!a en un deter6inado roducto. a salida *inal de la uerta /H es una su6a de roductos. Cada *ila está conectada a la entrada de una uerta (D9 : cada colu6na a una #ariale de entrada o a su co6le6ento. %ediante la rogra6aci&n se acti#a o desacti#a cada celda E2C%/)9 : se uede alicar cual5uier co6inaci&n de #ariales de entrada9 o sus co6le6entos9 a una uerta (D ara generar cual5uier oeraci&n roducto 5ue se desee. na celda acti#ada conecta de *or6a e*ecti#a su corresondiente *ila : colu6na9 : una celda desacti#ada desconecta la *ila : la colu6na. as celdas se ueden orrar : rerogra6ar el7ctrica6ente. na celda E2C%/) t@ica uede 6antener el estado en 5ue se a rogra6ado durante 20 años o 6ás. as 6acroceldas l&gicas de salida ;/%Cs< están *or6adas or circuitos l&gicos 5ue se ueden rogra6ar co6o l&gica co6inacional o co6o l&gica secuencial. as /%Cs roorcionan 6uca 6ás *leBiilidad 5ue la l&gica de salida *ija de una P(.
Diseño digital con VHDL
tt"d*.dataseetcatalog.netdataseets400>14>4D).d*
Diseño digital con VHDL
O!"e#$o Diseñar un circuito s@ncrono detector de secuencia aridad i6ar de dos its con el 6odelo %eal:. Este circuito dee detectar la secuencia de una señal K dando co6o salida L1 si la secuencia es i6ar9 L0 de lo contrario.
Ma#era% • • • • • • •
Dos G(22=10 Protooard Di sMitc 'uente de #oltaje EDNs Cale tele*&nico )o*tMare GalaB: Kra Proteus I)I)
De&arro%%o %á5uina de estado *inito Detector de )ecuencia aridad ar L1 Cuando M L 11 o 00 L0 de lo contrario. C%oc ' , -
T0
T1
T(
T3
T)
T*
T6
T+
T8
T9
% %
" %
" "
% %
% "
" %
% %
" %
" "
% %
Diseño digital con VHDL
D ise:o en -i;<-o; ti;o D
Diseño digital con VHDL
Diseño digital con VHDL
Simuacin roteus
Dise:o en -i;<-o; %=
Diseño digital con VHDL
Simuacin en roteus
Diseño digital con VHDL
Cdigo en &'DL de a muina de estados -- DE+EC+/H DE )ECECI( P(HID(D P(H -- si K es 00 o 11 L1 IAH(H3 IEEE )E IEEE.)+D/GIC114.( E+I+3 )EC I) P/H+;C/CO9 HE)E+9 K" I )+D/GIC " /+ )+D/GIC< ED )EC (HC$I+EC+HE ')% /' )EC I) +3PE )+(+E+3PE I) ;(9 A9 C< )IG( 3" )+(+E+3PE AEGI PH/CE)) ;HE)E+9 C/CO< AEGI I' HE)E+ L 0 +$E 3QL ( E)I';C/COE=E+ (D C/COL1< +$E C()E 3 I) K$E (LR I' KL0 +$E 3QL A E)E 3QL C ED I' K$E ALR I' KL0 +$E 3QL A E)E 3QL C ED I' K$E CLR I' KL0 +$E 3QL A E)E 3QL C ED I' ED C()E ED I' ED PH/CE)) PH/CE));39K< AEGI C()E 3 I) K$E (LR QL 0 K$E ALR QL not K K$E CLR QL K -Men oters QL 0 ED C()E ED PH/CE)) ED ')%
Diseño digital con VHDL
Com;iacin de cdigo ;ara e detector de secuencia
Pinout
C22=10 clocS LT 1T T24TU not used M LT 2T T2?TL ;:)A=1< resetn LT ?T T22TU not used not used UT 4T T21TU not used not used UT VT T20TU not used not used UT T T1>TU not used not used UT T T18TU not used not used UT 8T T1TU not used not used UT >T T1TU not used not used UT10T T1VTL ;:)A=0< not used UT11T T14TL ! not used UT12T T1?TU not used
Diseño digital con VHDL
#tii>acin de dis;ositi?o Descrition sed %aB T Dedicated Inuts T 2 T 11 T T ClocSInuts T 1 T 1 T T I/ %acrocells T ? T 10 T 22 L 2 W Simuacin
Diseño digital con VHDL
Registro de corrimiento Este será la señal de entrada ara nuestro detector de secuencia. %ediante el disMitc ingresare6os un #ector de its9 luego los cargare6os con el ot&n load. Cdigo -- HEGI)+H/ DE C/HHI%IE+/ E+H(D( P(H(E/ )(ID( )EHIE IAH(H3 IEEE )E IEEE.)+D/GIC114.( E+I+3 HEGI)+H/ I) P/H+;P" I )+D/GIC=EC+/H;> D/K+/ 0< C/CO9 /(D" I )+D/GIC )" A''EH )+D/GIC=EC+/H;> D/K+/ 0<< -- Au**er es el e5ui#alente a un I/+ con la -- di*erencia 5ue una sola *uente uede escriir sore 7l. ED HEGI)+H/ (HC$I+EC+HE C/HHI%IE+/ /' HEGI)+H/ I) AEGI PH/CE)) AEGI K(I+ +I C/COE=E+ (D C/COL1 I' /(DL1 +$E )QLP E)E );0< );>
Diseño digital con VHDL
Com;iacin
inout utii>acin
Descrition sed %aB T Dedicated Inuts T 11 T 11 T T ClocSInuts T 1 T 1 T T I/ %acrocells T 10 T 10 T 22 22 L 100 W
Diseño digital con VHDL
Simuacin
Diseño digital con VHDL
CI.CUITO A.MADO
Diseño digital con VHDL
Co/c%&o/e& Para el detector de secuencia utili!a6os el 6odelo de %eal: uesto 5ue 5uere6os otener la salida al 6o6ento. En el c&digo de este tu#i6os 5ue searar en dos rocess los ca6ios de estados : la salida :a 5ue co6o se desea en este 6odelo la salida deende de la entrada tanto co6o de los estados re#ios9 si no se seararan los rocess la salida no to6ar@a en cuenta los #alores de M anteriores. Para el registro de corri6iento se declara un it#ector 5ue al6acena las 10 entradas ingresadas ara luego 6ostrarlas en una Fnica salida tio e**er la cual sir#e co6o entradasalida.
Diseño digital con VHDL
_DISEÑO DIGITAL CON VHD%_
INSTITUTO TECNOLÓGICO DE CHIHUAHUA
Práctica o.2
Contador con Dis;a (uti;e@ado en &'DL ? de %ar!o de 2014
Pro*esor. Ing. Carlos Gasson Esino!a
Integrantes" • • • •
Ir#ing $ernánde! Gallegos 12060397 %anuel Piñ&n 'lores 12060541 Julián (lejandro )olorio Gon!ále! 12060544 Da#id (dol*o )oto +arango 12060468
Diseño digital con VHDL
ÍNDICE MARCO TEÓRICO
&
L"$G#!%" &'DL G!L. G"$"RC !RR!/ L,GC
) )
OBJETIVO
MATERIAL
DE!ARROLLO
DI)EX/ DE C/+(D/H )YCH// CDIG/ E =$D DE C/+(D/H )(D/ E %/DE/ DE %//HE C/%PI(CI DE C/+(D/H PI/+ )I%(CI +II(CI DE $(HDK(HE DI)EX/ DE DI)P(3 %+IPEZ(D/ E =$D CDIG/ C/%PI(CI PI/+ )I%(CI
' ( ) ) "% "% "% "" "# "#
CIRC$ITO ARMADO
"3
CONCL$!IONE!
"&
Diseño digital con VHDL
Marco Teórco (uti;e@or os 6ultileBores son circuitos co6inacionales con #arias entradas : una Fnica salida de datos9 están dotados de entradas de control caaces de seleccionar una9 : s&lo una9 de las entradas de datos ara er6itir su trans6isi&n desde la entrada seleccionada acia dica salida. En el ca6o de la electr&nica el 6ultileBor se utili!a co6o disositi#o 5ue uede reciir #arias entradas : trans6itirlas or un 6edio de trans6isi&n co6artido. Para ello lo 5ue ace es di#idir el 6edio de trans6isi&n en 6Fltiles canales9 ara 5ue #arios nodos uedan co6unicarse al 6is6o tie6o.
G!L. Generic !rra Logic n G( es un co6onente electr&nico rogra6ale 5ue er6ite construir circuitos digitales. a *a6ilia co6leta es lla6ada PD ;Disositi#o l&gico rogra6ale<. na G( er6ite i6le6entar cual5uier eBresi&n en su6a de roductos con un nF6ero de #ariales de*inidas. El roceso de rogra6aci&n consiste en acti#ar o desacti#ar cada celda E2C%/) con el ojeti#o de alicar la co6inaci&n adecuada de #ariales a cada co6uerta (D : otener la su6a de roductos.
(uinas de estado inito
Diseño digital con VHDL
tt"d*.dataseetcatalog.netdataseets400>14>4D).d*
Diseño digital con VHDL
O!"e#$o Con el uso del lenguaje =$D diseñar un contador s@ncrono con la secuencia 009 489 >9 >8 : deslegar la cuente en dos disla:s 6ultileBados.
Ma#era% • • • • • • • •
Dos G(22=10 Protooard 2 Pus uttons 'uente de #oltaje EDNs 2 Disla:s de seg6entos Cale tele*&nico )o*tMare GalaB: Kra Proteus I)I)
De&arro%%o
Dise:o de contador sAncrono %á5uina de estado *inito del contador Cuando M L 1 a#an!a la cuenta Cuando M L 0 er6anece en el estado resente
Diseño digital con VHDL
Cdigo en &'DL de contador usando e modeo de (,,R" -- C/+(D/H E ACD 00-48->->8 -- C(D/ KL1 P()( ( ED/. )IGIE+E -- C(D/ KL0 )E [ED( E E ED/. PHE)E+E -- ')% %/DE/ %//HE IAH(H3 IEEE )E IEEE.)+D/GIC114.( E+I+3 C/+(D/H I) P/H+;C/CO9 HE)E+9 K" I )+D/GIC DEC9 I" /+ )+D/GIC=EC+/H;? D/K+/ 0<< ED C/+(D/H (HC$I+EC+HE ')% /' C/+(D/H I) +3PE )+(+E+3PE I) ;(9 A9 C9 D< )IG( 3" )+(+E+3PE AEGI PH/CE));C/CO9 HE)E+< AEGI I' HE)E+L0 +$E 3QL( E)I';C/COE=E+ (D C/COL1<+$E C()E 3 I) K$E (LR I' KL0 +$E 3QL( E)E 3QLA ED I' K$E ALR I' KL0 +$E 3QLA E)E 3QLC ED I' K$E CLR I' KL0 +$E 3QLC E)E 3QLD ED I' K$E DLR I' KL0 +$E 3QLD E)E 3QL( ED I' ED C()E
Diseño digital con VHDL
ED I' ED PH/CE)) Process;39M< egin i* :L( ten DECQL\0000\ IQL\0000\ end i* i* 3LA ten DECQL\0100\ IQL\1000\ end i* i* 3LC ten DECQL\0111\ IQL\1001\ end i* i* 3LD ten DECQL\1001\ IQL\1000\ end i* end rocess ED ')%
Com;iacin de contador
Diseño digital con VHDL
inout
Simuacin
Diseño digital con VHDL
#tii>acin de Bardare
Dise:o de Dis;a (uti;e@ado en &'DL El segundo gal reciirá dos #ectores en ACD las cuales tendrá 5ue decodi*icarla a seg6entos ara 5ue los disla:s los uedan deslegar. Cdigo -- %+IPEZ/H P(H( E C/+(D/H 00-48->->8 -- HECIAE /) C/DIG/) ACD9 /) C/=IEH+E ( )EG%E+/) -- 3 /) DE)PIEG( E D/) DI)P(3) %+IPEZ(D/). %+IPEZ(D/). IAH(H3 IEEE )E IEEE.)+D/GIC114.( IEEE.)+D/GIC114.( E+I+3 PEZ/H I) P/H+;DEC9 I" I )+D/GIC=EC+/H;? D/K+/ 0< C/CO" I AI+ " /+ )+D/GIC=EC+/H;0 +/ < GDD9 GD" /+ )+D/GIC< ED PEZ/H (HC$I+EC+HE %+I /' PEZ/H I) AEGI PH/CE));C/CO9 DEC9 I< AEGI I' ;C/COL1< +$E C()E DEC I) --acde*g-K$E \0000\LRQL\1111110\ -- 0 K$E \0100\LRQL\0110011\ \0100\LRQL\0110011\ -- 4 K$E \0111\LRQL\1110000\ -- K$E \1001\LRQL\1111011\ -- >
Diseño digital con VHDL
K$E /+$EH)LRQL\0000000\ ED C()E GDD QL 0 GD QL 1 E)I';C/CO L0<+$E C()E I I) --acde*g-K$E \0000\LRQL\1111110\ -- 0 K$E \1000\LRQL\1111111\ -- 8 K$E \1001\LRQL\1111011\ -- > K$E /+$EH)LRQL\0000000\ ED C()E GDD QL 1 GD QL 0 ED I' ED PH/CE)) ED %+I
Com;iacin
Diseño digital con VHDL
inout
Simuacin
Diseño digital con VHDL
CI.CUITO A.MADO
Diseño digital con VHDL
Co/c%&o/e& a ráctica consiste de la siguiente 6anera en el G( 1 está el rogra6a del contador el cual 6anda la salida al G( 2 en dos #ectores con los nF6eros ACD9 este Flti6o G( lo decodi*ica a seg6entos ara luego deslegarlos a los disla:s9 ade6ás en#@a las señales de tierra ara el disla: corresondiente. Para el contador e6lea6os el 6odelo de %oore :a 5ue es la 6anera 6ás si6le ara reali!arlo. %ediante un Pus utton eBterno es osile 6odi*icar el #alor de M : co6o consecuencia el orden de la cuenta.
Diseño digital con VHDL
_DISEÑO DIGITAL CON VHD%_
INSTITUTO TECNOLÓGICO DE CHIHUAHUA
Práctica o.?
Dise:o de un ;rocesador discreto de 4 its &'DL > de (ril de 2014
Pro*esor. Ing. Carlos Gasson Esino!a
Integrantes" • • • •
Ir#ing $ernánde! Gallegos 12060397 %anuel Piñ&n 'lores 12060541 Julián (lejandro )olorio Gon!ále! 12060544 Da#id (dol*o )oto +arango 12060468
ÍNDICE Diseño digital con VHDL
MARCO TEÓRICO PH/CE)(D/H CDIG/) DE I)+HCCI H EGI)+H/)
* * *
OBJETIVO
MATERIAL
DE!ARROLLO
DI)EX/ DE PH/CE)(D/H
' ( ( ) "% "" "" "# "3 "3 "& "& "*
L ISTA DE INSTRUCCIONES
(GHP(%IE+/ DE %ICH/PEH(CI/E) P(+I( DE /PEH(CI/E) (H[I+EC+H( DE PH/CE)(D/H CDIG/ E =$D DE +I%EH ()CEDE+E DE 4 AI+) C/%PI(CI DE C/+(D/H PI/+ 3 +II(CI DE $(HDK(HE +I%EH )I%(CI +I%EH DI)EX/ DE ( C CDIG/ DE ( C C/%PI(CI C PI/+ 3 +II(CI DE $(HDK(HE )I%(CI
CIRC$ITO ARMADO
"
CONCL$!IONE!
"
Diseño digital con VHDL
Marco Teórco Procesador El 6icrorocesador ;o si6le6ente rocesador< es el circuito integrado central : 6ás co6lejo de un siste6a in*or6ático a 6odo de ilustraci&n9 se le suele lla6ar or analog@a el ]cerero^ de un co6utador. Es un circuito integrado con*or6ado or 6illones de co6onentes electr&nicos. Constitu:e la unidad central de rocesa6iento ;CP< de un PC catalogado co6o 6icroco6utador. Es el encargado de ejecutar los rogra6as9 desde el siste6a oerati#o asta las alicaciones de usuario s&lo ejecuta instrucciones rogra6adas en lenguaje de ajo ni#el9 reali!ando oeraciones arit67ticas : l&gicas si6les9 tales co6o su6ar9 restar9 6ultilicar9 di#idir9 las l&gicas inarias : accesos a 6e6oria. Esta unidad central de rocesa6iento está constituida9 esencial6ente9 or registros9 una unidad de control9 una unidad arit67tica l&gica ;(< : una unidad de cálculo en co6a *lotante ;conocida antigua6ente co6o ]corocesador 6ate6ático^<. C&digos de instrucci&n na instrucci&n es una oeraci&n ele6ental 5ue el rocesador uede cu6lir as instrucciones se al6acenan en la 6e6oria rincial9 eserando ser tratadas or el rocesador. as instrucciones oseen dos ca6os" • •
El c&digo de oeraci&n9 5ue reresenta la acci&n 5ue el rocesador dee ejecutar El c&digo oerando9 5ue de*ine los ará6etros de la acci&n. El c&digo oerando deende a su #e! de la oeraci&n. Puede tratarse tanto de in*or6aci&n co6o de una direcci&n de 6e6oria.
C&digo de /eraci&n
Ca6o de /eraci&n
El nF6ero de its en una instrucci&n #ar@a de acuerdo al tio de in*or6aci&n ;entre 1 : 4 :tes de 8 its<. as instrucciones ueden agruarse en distintas categor@as. ( continuaci&n resenta6os algunas de las 6ás i6ortantes" •
•
•
(cceso a %e6oria" acceso a la 6e6oria o trans*erencia de in*or6aci&n entre registros. /eraciones (rit67ticas" oeraciones tales co6o su6a9 resta9 di#isi&n o 6ultilicaci&n. /eraciones &gicas" oeraciones tales co6o 39 /9 /9 / EZC)I=/9 etc. Diseño digital con VHDL
•
Control" controles de secuencia9 coneBiones condicionales9 etc.
Hegistros Cuando el rocesador ejecuta instrucciones9 la in*or6aci&n al6acena en *or6a te6oral en e5ueñas uicaciones de 6e6oria local de 89 19 ?2 o 4 its9 deno6inadas registros. Deendiendo del tio de rocesador9 el nF6ero total de registros uede #ariar de 10 a #arios cientos. os registros 6ás i6ortantes son" •
•
•
•
•
El registro acu6ulador ;(CC<9 5ue al6acena los resultados de las oeraciones arit67ticas : l&gicas El registro de estado ;P)K9 Processor Estado" Kord o Palara de Estado del Procesador<9 5ue contiene los indicadores de estado del siste6a ;lle#a d@gitos9 desorda6ientos9 etc.< El registro de instrucci&n ;HI<9 5ue contiene la instrucci&n 5ue está siendo rocesada actual6ente El contador ordinal ;/C o PC or Progra6 Counter9 Contador de Progra6a<9 5ue contiene la direcci&n de la siguiente instrucci&n a rocesar El registro del F*er9 5ue al6acena in*or6aci&n en *or6a te6oral desde la 6e6oria.
O!"e#$o Diseñar un rocesador discreto de 4 its con al 6enos tres oeraciones e incororar un ( ;nidad &gica (rit67tica<.
Ma#era% • • • • • • •
Dos G(22=10 Protooard 1 Pus uttons 'uente de #oltaje > EDNs Cale tele*&nico )o*tMare GalaB: Kra Proteus I)I)
Diseño digital con VHDL
De&arro%%o
Dise:o de ;rocesador Lista de instrucciones
Instrucción
Operación
MOV A LDI A + B LDA ADRS
C←A C←A+B C ← M[MAR]
Código de Operación 0001 0010 0011
Operaciones y códigos de instrucción
1E ,;eracin
C F!
CE,E 0001
Ciclo de Acarreo (Fetch)
+0" +1" +2"
%(H _ PC9 + _ +`1 %AH _ %%(Hb PC _ PC`1 + _ +`1 IH _ %AH + _ + `1
Ciclo de Ejecución
+?[1" C _ (
+_0
2E ,;eracin
C F ! H
CE,E 0010
Ciclo de Acarreo (Fetch)
+0" +1" +2"
%(H _ PC9 + _ +`1 %AH _ %%(Hb PC _ PC`1 + _ +`1 IH _ %AH + _ + `1
Ciclo de Ejecución
+?[2" C _( ` A
3E ,;eracin
+_0
C F (I(!RJ CE,E 0011
Ciclo de Acarreo (Fetch)
+0" +1"
%(H _ PC9 + _ +`1 %AH _ %%(Hb PC _ PC ` 1 + _ + ` 1 Diseño digital con VHDL
+2"
IH _ %AH
+ _ + `1
Ciclo de Ejecución
+?[?" %(H _ PC +_+`1 +4[?" %AH _ %%(Hb + _ + ` 1 +V[? " C _ %AH + _ 0
PC _ PC ` 1
(grua6iento de %icroeraciones MICROOPERACION T←T+1 PC ← MAR PC ← PC + 1 MBR ← M[MAR] IR ← MBR T←T+1 C←A C←A+B MBR ← C M[DIR] ← MBR
ECUACIÓN LÓGICA X0 = T0 + T1 + T2 + T3Q3 + T4Q3 X1 = Q1T3 + T3Q2 + T4Q3 + T3Q4 X2 = T1 X3 = T1 X4 = T2 X5 = T0 + T1 + T2 + Q3T3 X6 = T3Q1 X7 = T3Q2 X8 = T3Q3 X9 = T4Q3
antia de o;eraciones 1 T020 T120 T(20 T321 T)20 T*20 T620 T+2( T820 T920 T1020 T1123 T1(23 T1323
( " " " % " " " % " " " " " %
3 " % % % " % % % " % % " % %
) % " % % % " % % % " % % " %
* % " % % % " % % % " % " % %
6 % % " % % % " % % % " % % %
+ % % % " % % % % % % % % % %
8 % % % % % % % % % % % % % "
Diseño digital con VHDL
9 % % % % % % % " % % % % % %
% % % % % % % % % % % % % "
(r5uitectura del rocesador
Diseño digital con VHDL
Diseño digital con VHDL
Cdigo en &'DL de +imer ascendente de 4 its ++ TIMER LIBRAR, IEEE$!E IEEE.!TD/LO0IC/""&.ALL$!E 1OR2.!TD/ARITH.ALLENTIT, CONTADOR I! ORT4T5 B$66ER !TD/LO0IC/VECTOR43 DO1NTO %7 CLOC25 IN BIT 85 O$T !TD/LO0IC/VECTOR4# DO1NTO %7 !TART5 IN BIT7END CONTADORARCHITECT$RE LO0ICA O6 CONTADOR I! BE0IN ROCE!!4CLOC29 !TART7 BE0IN I6 CLOC2:EVENT AND CLOC2;:": THEN I6 !TART;:": THEN CA!E T I! 1HEN <%%%%< ;=8>; <%%%<1HEN <%%%"< ;=8>; <%%%<1HEN <%%"%< ;=8>; <%%%<1HEN <%%""< ;=8>; <%%"<1HEN <%"%%< ;=8>; <%%%<1HEN <%"%"< ;=8>; <%%%<1HEN <%""%< ;=8>; <%%%<1HEN <%"""< ;=8>; <%"%<1HEN <"%%%< ;=8>; <%%%<1HEN <"%%"< ;=8>; <%%%<1HEN <"%"%< ;=8>; <%%%<1HEN <"%""< ;=8>; <%""<1HEN <""%%< ;=8>; <%""<1HEN <""%"< ;=8>; <%""<1HEN OTHER! ;=8>; <%%%; T?"I6 T;<""%"< THEN T>;<%%%%
Diseño digital con VHDL
Com;iacin de contador
inout utii>acin de 'ardare +imer C22=10 clocS LT 1T T24TU not used start LT 2T T2?TL t;2< not used UT ?T T22TL 5;1< not used UT 4T T21TL t;0< not used UT VT T20TU not used not used UT T T1>TU not used not used UT T T18TU not used not used UT 8T T1TL 5;2< not used UT >T T1TL 5;0< not used UT10T T1VTL t;1< not used UT11T T14TL t;?< not used UT12T T1?TU not used
Diseño digital con VHDL
Descrition sed %aB T Dedicated Inuts T 1 T 11 T T ClocSInuts T 1 T 1 T T I/ %acrocells T T 10 T > 22 L 40 W
Simuacin +imer
Diseño digital con VHDL
Dise:o de a #C El rogra6a recreará la tala de co6orta6iento de la unidad de control ara las oeraciones 5ue diseña6os. Cdigo de a #C -- ID(D DE C/+H/ \C\ IAH(H3 IEEE )E IEEE.)+D/GIC114.( E+I+3 C I) P/H+;C/CO" I AI+ +" I AI+=EC+/H;? D/K+/ 0< [" I AI+=EC+/H;? D/K+/ 0< Z" /+ AI+=EC+/H;0 +/ 8<< ED C (HC$I+EC+HE C/+H/ /' C I) AEGI PH/CE));C/CO9+9[< AEGI I' C/COL1 +$E I' ;+L\0000\ /H +L\0100\/H +L\1000\< +$E ZQL\110000000\ ED I' I' ;+L\0001\ /H +L\0101\/H +L\1001\< +$E ZQL\101100000\ ED I' I' ;+L\0010\ /H +L\0110\/H +L\1010\< +$E ZQL\100010000\ ED I' I' [L\0001\ and +L\0011\ +$E ZQL\000001000\ ED I' I' [L\0010\ and +L\0111\ +$E ZQL\000000010\ ED I' I' +L\1011\ +$E ZQL\110100000\ ED I' I' [L\0100\ and +L\1100\ +$E ZQL\101000000\ ED I' I' [L\0100\ and +L\1101\ +$E
Diseño digital con VHDL
ZQL\000000101\ ED I' ED I' ED PH/CE)) ED C/+H/
Com;iacin #C
inout utii>acin de Bardare
Desc@ition $sed Ma ////////////////////////////////////// Dedicated Ints ( "" ClocFInts " " IFO Mac@ocells ) "% ////////////////////////////////////// "( F ## ; (" G
Diseño digital con VHDL
C##V"% ////////////////////////////////////////// t437 ; " #& not sed t4#7 ; # #3 not sed t4"7 ; 3 ##; 4%7 t4%7 ; & #"; 4'7 437 ; * #%; 47 4#7 ; "); 4&7 4"7 ; ' "(; 4*7 4%7 ; ( "'; 4#7 cloc ; ) "; 4(7 not sed "% "*; 4"7 not sed "" "&; 437 not sed "# "3 not sed //////////////////////////////////////////
Simuacin
Diseño digital con VHDL
CI.CUITO A.MADO
Co/c%&o/e& En esta ráctica #i6os el rinciio de todo rocesador digital9 ade6ás de las tareas ásicas 5ue se reali!an ara la trans*erencia entre registros. a ri6era arte consiste en un contador de 4 its ascendente9 el cual se encarga de 6andar los tie6os : la codi*icaci&n de 5Ns al segundo G(9 este contador llega asta t1? 5ue es nF6ero de tie6os re5ueridos ara reali!ar todas las instrucciones del rocesador9 al llegar a t1? el contador se resetea a ceros : co6ien!a la cuenta de nue#o. El segundo G( se encarga de la unidad de control ;C< del rocesador el cual al reciir una deter6inada co6inaci&n de tNs : 5Ns 6anda una salida B 5ue reresenta las 6icrooeraciones reali!adas en ese tie6o.
Diseño digital con VHDL
_DISEÑO DIGITAL CON VHD%_
INSTITUTO TECNOLÓGICO DE CHIHUAHUA
Práctica o.4
(enK de Rotacin 2 de %a:o de 2014
Pro*esor. Ing. Carlos Gasson Esino!a
Integrantes" •
Ir#ing $ernánde! Gallegos 12060397
•
%anuel Piñ&n 'lores 12060541
•
Julián (lejandro )olorio Gon!ále! 12060544
Diseño digital con VHDL
•
Da#id (dol*o )oto +arango 12060468
ÍNDICE MARCO TEÓRICO
3
L"$G#!%" "$S!(L!D,R (CR, C,$+R,L!D,R
3 3
OBJETIVO
3
MATERIAL
3
DE!ARROLLO
3
CDIG/ E E)(%A(D/H DE %E DE H/CI/E) C/%PI(CI DE C/+(D/H PI/+ )I%(CI +II(CI DE $(HDK(HE
? ? ? ? ?
CIRC$ITO ARMADO
3
CONCL$!IONE!
3
Diseño digital con VHDL
Marco Teórco enguaje ensa6lador El lenguaje ensa6lador9 o asse6ler ;asse6l: language<9 es un lenguaje de rogra6aci&n de ajo ni#el ara los co6utadores9 6icrorocesadores9 6icro controladores : otros circuitos integrados rogra6ales. I6le6enta una reresentaci&n si6&lica de los c&digos de 6á5uina inarios : otras constantes necesarias ara rogra6ar una ar5uitectura dada de CP : constitu:e la reresentaci&n 6ás directa del c&digo 6á5uina esec@*ico ara cada ar5uitectura legile or un rogra6ador. El Fnico lenguaje 5ue entiende el 6icro controlador es el c&digo 6á5uina *or6ado or ceros : unos del siste6a inario. El lenguaje ensa6lador eBresa las instrucciones de una *or6a 6ás natural al o6re a la #e! 5ue 6u: cercana al 6icro controlador9 :a 5ue cada una de esas instrucciones se corresonde con otra en c&digo 6á5uina. El lenguaje ensa6lador traaja con neu6&nicos9 5ue son gruos de caracteres al*anu67ricos 5ue si6oli!an las &rdenes o tareas a reali!ar. a traducci&n de los neu6&nicos a c&digo 6á5uina entendile or el 6icrocontrolador la lle#a a cao un rogra6a ensa6lador. El rogra6a escrito en lenguaje ensa6lador se deno6ina c&digo *uente ;U.()%<. El rogra6a ensa6lador roorciona a artir de este *icero el corresondiente c&digo 6á5uina9 5ue suele tener la eBtensi&n U.eB. Mi c r oc o n t r o l a do r
n 6icro controlador ;are#iado C9 C o %C< es un circuito integrado rogra6ale9 caa! de ejecutar las &rdenes graadas en su 6e6oria. Está co6uesto de #arios lo5ues *uncionales9 los cuales cu6len una tarea esec@*ica. n 6icro controlador inclu:e en su interior las tres rinciales unidades *uncionales de una co6utadora" unidad central de rocesa6iento9 6e6oria : eri*7ricos de entradasalida.
Diseño digital con VHDL
Diseño digital con VHDL
tt5FFKKK.atel.coFiagesFdoc")").dtt5FFKKK.atel.coFiagesFdoc") ").d
O!"e#$o Con el uso del lenguaje ensa6lador diseñar un 6enF de rotaciones 5ue ca6ie la secuencia de EDNs.
Ma#era%
%icro 8>)V2 Protooard Pus utton 'uente de #oltaje 8 EDNs Cale tele*&nico )o*tMare Oeil u#ision4
De&arro%%o Cdigo en "nsamador de menK de rotaciones -Men de Rotas MOV A9 "%%%%%%%B CALL en en5 JB %.%9 de@ JB %."9 i JB %.#9 igag JB %.39 cent@o JM en de@5 RR A MOV "9A CALL delaP CALL en i5 RL A MOV "9A Diseño digital con VHDL
CALL delaP CALL en igag5 MOV "9%%%%%%%"B CALL delaP MOV "9%%%%%%"%B CALL delaP MOV "9%%%%%"%%B CALL delaP MOV "9%%%%"%%%B CALL delaP MOV "9%%%"%%%%B CALL delaP MOV "9%%"%%%%%B CALL delaP MOV "9%"%%%%%%B CALL delaP MOV "9"%%%%%%%B CALL delaP MOV "9%"%%%%%%B CALL delaP MOV "9%%"%%%%%B CALL delaP MOV "9%%%"%%%%B CALL delaP MOV "9%%%%"%%%B CALL delaP MOV "9%%%%%"%%B CALL delaP MOV "9%%%%%%"%B CALL delaP CALL en cent@o5 MOV "9%%%""%%%B CALL delaP MOV "9%%"%%"%%B CALL delaP MOV "9%"%%%%"%B CALL delaP MOV "9"%%%%%%"B CALL delaP MOV "9%"%%%%"%B CALL delaP Diseño digital con VHDL
MOV "9%%"%%"%%B CALL delaP CALL en delaP5 MOV R#9%6AH FF#*% en ea delaP35 MOV R"9%6AH delaP#5 MOV R%9%%(H FF( en ea delaP"5 DJNQ R%9delaP" -coiena dec@eento 4+"7 desde ( asta ce@o DJNQ R"9delaP# -coiena dec@eento 4+"7 desde #*% asta ce@o DJNQ R#9delaP3 -coiena dec@eento 4+"7 desde #*% asta ce@o RET END
Simuacin
Diseño digital con VHDL
CI.CUITO A.MADO
Co/c%&o/e& %ediante las co6inaciones del Di )Mitc ca6ia6os el orden de encendido de los EDNs conectados en el uerto 1 ;P1<9 lo 5ue da un e*ecto de rotaci&n. El desla!a6iento a la dereca se ace con la instrucci&n HH9 la cual 6ue#e it a it el acu6ulador9 el desla!a6iento a la i!5uierda se ace si6ilar6ente con la instrucci&n H9 la tercera : cuarta rotaci&n rotaci&n se reali!& 6o#iendo it a it. Para lograr el retardo de 1 segundo se crea una surutina la cual 6ultilica? registros con #alores de ;2V0U2V0U8< co6o cada instrucci&n dura 2us en reali!arse9 esto roduce un retardo de 1 segundo.
Diseño digital con VHDL
_DISEÑO DIGITAL CON VHD%_
INSTITUTO TECNOLÓGICO DE CHIHUAHUA
Práctica o. V
Circuito com;arador de tesE 2> de %a:o de 2014
Pro*esor. Ing. Carlos Gasson Esino!a
Integrantes" •
Ir#ing $ernánde! Gallegos 12060397
•
%anuel Piñ&n 'lores 12060541
•
Julián (lejandro )olorio Gon!ále! 12060544
•
Da#id (dol*o )oto +arango 12060468
Diseño digital con VHDL
ÍNDICE MARCO TEÓRICO
&
OBJETIVO
MATERIAL
DE!ARROLLO
'
CÓDG, "$ "$S!(L!D,R D"L CRC#+, C,(!R!D,R E
+ 8
CIRC$ITO ARMADO
(
CONCL$!IONE!
)
Diseño digital con VHDL
Marco Teórco enguaje ensa6lador El lenguaje ensa6lador9 o asse6ler ;asse6l: language<9 es un lenguaje de rogra6aci&n de ajo ni#el ara los co6utadores9 6icrorocesadores9 6icro controladores : otros circuitos integrados rogra6ales. I6le6enta una reresentaci&n si6&lica de los c&digos de 6á5uina inarios : otras constantes necesarias ara rogra6ar una ar5uitectura dada de CP : constitu:e la reresentaci&n 6ás directa del c&digo 6á5uina esec@*ico ara cada ar5uitectura legile or un rogra6ador. El Fnico lenguaje 5ue entiende el 6icro controlador es el c&digo 6á5uina *or6ado or ceros : unos del siste6a inario. El lenguaje ensa6lador eBresa las instrucciones de una *or6a 6ás natural al o6re a la #e! 5ue 6u: cercana al 6icro controlador9 :a 5ue cada una de esas instrucciones se corresonde con otra en c&digo 6á5uina. El lenguaje ensa6lador traaja con neu6&nicos9 5ue son gruos de caracteres al*anu67ricos 5ue si6oli!an las &rdenes o tareas a reali!ar. a traducci&n de los neu6&nicos a c&digo 6á5uina entendile or el 6icrocontrolador la lle#a a cao un rogra6a ensa6lador. El rogra6a escrito en lenguaje ensa6lador se deno6ina c&digo *uente ;U.()%<. El rogra6a ensa6lador roorciona a artir de este *icero el corresondiente c&digo 6á5uina9 5ue suele tener la eBtensi&n U.eB. Mi c r oc o n t r o l a do r
n 6icro controlador ;are#iado C9 C o %C< es un circuito integrado rogra6ale9 caa! de ejecutar las &rdenes graadas en su 6e6oria. Está co6uesto de #arios lo5ues *uncionales9 los cuales cu6len una tarea esec@*ica. n 6icro controlador inclu:e en su interior las tres rinciales unidades *uncionales de una co6utadora" unidad central de rocesa6iento9 6e6oria : eri*7ricos de entradasalida.
Diseño digital con VHDL
Diseño digital con VHDL
tt5FFKKK.atel.coFiagesFdoc")").dtt5FFKKK.atel.coFiagesFdoc") ").d
O!"e#$o Con el uso del lenguaje ensa6lador diseñar un circuito co6arador de 2 :tes9 5ue identi*i5ue si es9 6a:or 5ue9 6enor 5ue o igual 5ue las cantidades disuestas eBresadas9 con el di sMitc9 de *or6a 5ue lo indi5ue con el encendido de un led9 ara indicar la co6araci&n en la cual esta.
Ma#era%
%icro 8>)V2
Cristal de 12 %$!
2 caacitores de ??'.
1 resistencia de 8Oo6s
1 Caacitor de 10u'
Protooard
Pus utton
'uente de #oltaje
2 Di sMitc
? EDNs
8 resistencias de 220 o6s.
Cale tele*&nico
)o*tMare
Oeil u#ision4
Diseño digital con VHDL
De&arro%%o Cdigo en "nsamador de circuito com;aradorE -Coa@ado@ de # BPtes -BPte A en %9 BPte B en "9 !alida # -#.%5 % eno@ e " -#."5 % aPo@ e " -#.#5 % igal e " o #9% Inicio5 -Reseteaos en ce@os los e@tos -MOV %9%%%%%%%%B -MOV "9%%%%%%%%B -MOV #9%H -Moeos % a A a@a cli@ con el sintais de CJNE MOV A9% -A -MOV R'9" -B Coa@a5 CJNE A9"9Die@ente -!i A es eno@ e "9 C;" Die@ente5 JC eno@ -!i C;" S@inca de lo cont@a@io contina a la sig. linea o A9" -A@ticio a@a ace@ na nea coa@acion Coa@a#5 CJNE A9%9die@ente# -Ine@tios el o@den de los @egist@os a@a e el C;" si % aPo@ e " die@ente#5 JC aPo@ JNC igal Igal5 o #9%%%%%"%%B CALL inicio Meno@5 MOV #9%%%%%%%"B CALL inicio MaPo@5 MOV #9%%%%%%"%B CALL inicio END-UUU
Diseño digital con VHDL
Simuacin
CI.CUITO A.MADO
Diseño digital con VHDL
Co/c%&o/e& Lo @ie@o e se deSi ace@ e liia@ los e@tos9 de lo cont@a@io la salida sie@e estW en alto. Con la inst@ccin CJNE9 coa@aos dos SPtes tiliando di@eccionaiento di@ecto o@ lo e oeos el alo@ e@to ce@o al aclado@9 esta inst@ccin nos dice e si el @ie@ SPte coa@ado es eno@ al segndo leanta na Sande@a de ca@@P P one en alto el Sit C del !19 lo e nos llea a la etieta Xeno@Y. a@a oStene@ el aPo@ e ao@a ine@tios el o@den de coa@acin de los SPtes9 a@a e ao@a la coa@acin sea aPo@ e9 leante la Sande@a de ca@@P. !i no es aPo@ e9 o@ lo tanto los SPtes son igales.
Diseño digital con VHDL
_DISEÑO DIGITAL CON VHD%_
INSTITUTO TECNOLÓGICO DE CHIHUAHUA
Práctica o.
Decodiicador de +ecado 'e@adecima ? de Junio de 2014
Pro*esor. Ing. Carlos Gasson Esino!a
Integrantes" •
Ir#ing $ernánde! Gallegos 12060397
•
%anuel Piñ&n 'lores 12060541
•
Julián (lejandro )olorio Gon!ále! 12060544
•
Da#id (dol*o )oto +arango 12060468
Diseño digital con VHDL
ÍNDICE MARCO TEÓRICO
3
"S+R#C+#R! D"L +"CL!D, '"!D"C(!L
3
OBJETIVO
&
MATERIAL
&
DE!ARROLLO
*
CÓDG, "$ "$S!(L!D,R S(#L!CÓ$
* +
CIRC$ITO ARMADO
(
CONCL$!IONE!
(
Diseño digital con VHDL
Marco Teórco "structura de tecado 'e@adecima n teclado 6atricial es un conjunto de otones ;sMitces< disuestos en *or6a de 6alla9 de 6odo 5ue no se re5uieran de 6ucas l@neas ara su inter*ace9 cada ot&n del teclado está cone conect ctad adoo a algu alguna na de las las *ila *ilasH sHoM oM99 or or un lado lado : o orr el otro otro99 a algu alguna na de las las colu6nas Col.
a siguiente *igura eso!a la coneBi&n entre un 6icrocontrolador : un teclado de 4f4. na tecla ulsada estalece la coneBi&n entre una de las *ilas HoM : una de las colu6nas Col.
Dataseet AT()!*#
Diseño digital con VHDL
tt5FFKKK.atel.coFiagesFdoc")").dtt5FFKKK.atel.coFiagesFdoc") ").d
O!"e#$o (l resionar la tecla resecti#a se deerá reresentar en el disla: de seg6entos.
C,L 0 C,L 1 C,L 2 C,L 3
1E0 1E1 1E2 1E3
R"$ 0
1E4
R"$ 1
1E5
0
1
2
3
R"$ 2
1E6
4
5
6
7
R"$ 3
1E7
8
9
!
C
D
" -
8 0 V 2
2E0 2E1 2E2 2E3 2E4 2E5 2E6
a c d e * g
+"CL!D, (!+RC!L 44
Ma#era%
%c (+8>)V2 Protooard Pus utton +eclado +eclado $eBadeci6al 'uente de #oltaje Cale tele*&nico )o*tMare Oeil u=ision4 Proteus I)I)
Diseño digital con VHDL
De&arro%%o Cdigo en "nsamador
-Hea 2ePad FFo #9%%H o "9%6H inicio5 o A9" FFo #9@ cZne A9%6H9col/scan Z inicio col/scan5 ZnS ".%9col" ZnS "."9col# ZnS ".#9col3 ZnS ".39col& @et
FFColnas 4a@te SaZa e@to "7 en alto
FFDetecta e colna se @esion
FFone n % @engln o@ @engln a@a detecta@ cal e @esionado FFLa osicin de la tecla se identica con la colna P el @engln e e @esionado 4se one en %7 - con la inst@ccin JNB col"5 o "9""" """%""""B ""B ZnS ".%9no o "9""%"""""B ZnS ".%9cat@o o "9"%""""""B ZnS ".%9siete o "9%"""""""B ZnS ".%9e col#5 o "9"""%""""B ZnS "."9dos o "9""%"""""B ZnS "."9cinco o "9"%""""""B ZnS "."9oco o "9%"""""""B Diseño digital con VHDL
ZnS "."9e@o col35 o "9"""%""""B ZnS ".#9t@es o "9""%"""""B ZnS ".#9seis o "9"%""""""B ZnS ".#9nee o "9%"""""""B ZnS ".#9 col&5 o "9"""%""""B ZnS ".39aa o "9""%"""""B ZnS ".39Se o "9"%""""""B ZnS ".39cc o "9%"""""""B ZnS ".39d FFDesliega el n[e@o co@@esondiente en ' segentos no5o #9%%""%%%%B Z inicio cat@o5 o #9%%""%%""B Z inicio siete5 o #9%"""%%%%B Z inicio e5 o #9%"%%""""B Z inicio e@o5 o #9%""""""%B Z inicio dos5 o #9%""%""%"B Z inicio t@es5 o #9%""""%%"B Z inicio cinco5 o #9%"%""%""B Z inicio seis5 o #9%"%"""""B Z inicio oco5 o #9%""""""""B Z inicio nee5 o #9%"""%%""B Z inicio aa5 o #9%"""%"""B Diseño digital con VHDL
Z inicio Se5 o #9%%%"""""B Z inicio cc5 o #9%"%%"""%B Z inicio d5 o #9%%""""%"B Z inicio 5 o #9%"%%%"""B Z inicio end-UUU Simuacin
CI.CUITO A.MADO
Diseño digital con VHDL
Co/c%&o/e& Para acer el rogra6a en ensa6lador del decodi*icador de un teclado eBadeci6al : 6ostrar el ot&n resionado en un disla: de seg6entos se utili!& el 67todo de escaneo or regl&n roM scanning 5ue rocede de la siguiente 6anera" )e declara un estado inicial9 5ue son todas las colu6nas en alto9 si a: algFn ca6io salta a una surutina 5ue detecta 5ue colu6na *ue resionado9 esto es cundo de 1 ca6ia a 0. uego salta a otra surutina 5ue one todo en alto : #a roando con 0Ns rengl&n or rengl&n9 donde se ongo la colu6na : rengl&n en cero9 esa es la tecla 5ue se resion&.
Diseño digital con VHDL
_DISEÑO DIGITAL CON VHD%_
INSTITUTO TECNOLÓGICO DE CHIHUAHUA
Práctica o.
Sumador de 4 its ? de Junio de 2014
Pro*esor. Ing. Carlos Gasson Esino!a
Integrantes" •
Ir#ing $ernánde! Gallegos 12060397
•
%anuel Piñ&n 'lores 12060541
•
Julián (lejandro )olorio Gon!ále! 12060544
•
Da#id (dol*o )oto +arango 12060468
Diseño digital con VHDL
ÍNDICE MARCO TEÓRICO
*
$#"&!S $S+R#CC,$"S #+L!D!S
*
OBJETIVO
MATERIAL
DE!ARROLLO
'
CÓDG, "$ "$S!(L!D,R S(#L!CÓ$ +!L! !R! DSL!/ D" 7 S"G("$+,S C)+,D,M)$,D, C,(N$
+ 9 10
CIRC$ITO ARMADO
"%
CONCL$!IONE!
"%
Diseño digital con VHDL
Marco Teórco $ue?as instrucciones utii>adas !DD )u6a la #ariale ;)HC-A3+E< indicada : el (cu6ulador9 dejando el resultado en el (cu6ulador. as anderas de acarreo : acarreo auBiliar son estalecidas9 si a: un acarreo acia a*uera del it o del it ?9 de otro 6odo son li6iadas. Cuando se su6an enteros sin signo9 la andera de acarreo indica 5ue ocurrirá un sore*lujo. /= se estalece si a: un acarreo del it al ero sin eBistir acarreo del it acia a*uera9 o un acarreo acia a*uera del it ero no del it al de otro 6odo /= es li6iada. Cuando se su6an enteros signados9 el /= indica un nF6ero negati#o roducido co6o la su6a de dos oerandos ositi#os9 o uno ositi#o roducido or la su6a de dos oerandos negati#os. Cuatro 6odos de *uentes de oerandos dirigidos están er6itidos" registro9 directo9 registro indirecto9 o in6ediato.
SO! ! Interca6ia los IAAE) ;ca6os de 4 its< de alto : ajo orden del acu6ulador ;its ?-0 : its -4<. a oeraci&n uede ta6i7n ser #ista co6o una instrucci&n de rotaci&n de 4 its sin acarreo. as anderas no son a*ectadas
!$L Ejecuta la oeraci&n l&gica (D9 it a it entre las #ariales indicadas : guarda los resultados en la #ariale destino. as anderas no son a*ectadas. Esta oeraci&n l&gica er6ite co6inaciones de direcciona6ientos. Cuando el destino es el acu6ulador9 los direcciona6ientos ueden ser or registro9 directo9 registro-indirecto9 o in6ediato. Cuando el destino es una direcci&n9 la *uente uede ser el acu6ulador o el dato in6ediato. tt5FFKKK.atel.coFiagesFdoc")").dtt5FFKKK.atel.coFiagesFdoc") ").d
Diseño digital con VHDL
O!"e#$o )u6ar dos nF6eros ( : A de 4 its cada uno9 el resultado de la su6a se dee deslegar en los disla:s 6ultileBados.
1E0 1E1
(
1E2 1E3 1E4 1E5
A
1E6 1E7
8 0 V 2
2E0 2E1 2E2 2E3 2E4 2E5 2E6
2E7
a c d e * g
C4)?C?
Ma#era%
%c (+8>)V2 Protooard Pus utton Dos disMitces de 8 ines 2 Disla: seg6entos 'uente de #oltaje Cale tele*&nico )o*tMare Diseño digital con VHDL
Oeil u=ision4 Proteus I)I)
Diseño digital con VHDL
De&arro%%o Cdigo en "nsamador
- !ado@ de & Sits - salida ltileada en dislaP ' segentos - $n dislaP Wnodo co[n ot@o cWtodo co[n o "9%%H o #9%%H inicio5 call sa -o @#9a o S9%AH -"% en ea a B di aS FFDiide soS@e "% a@a sea@a digitos en BCD o @39a o @&9S Z nidades nidades5 ce@o5 cZne @&9%%H9no o #9%%""""""B FF% call decenas Z inicio no5 cZne @&9%%"H9dos o #9%%%%%""%B FF" call decenas Z inicio dos5 cZne @&9%#H9t@es o #9%"%""%""B FF# call decenas Z inicio t@es5 cZne @&9%3H9cat@o o #9%"%%""""B FF3 call decenas Z inicio cat@o5 cZne @&9%&H9cinco o #9%""%%""%B FF& call decenas Z inicio cinco5 cZne @&9%*H9seis
en cWtodo co[n
en catodo co[n
en catodo co[n
en catodo co[n
en catodo co[n
Diseño digital con VHDL
o #9%""%""%"B FF* call decenas Z inicio seis5 cZne @&9%H9siete o #9%"""""%"B FF call decenas Z inicio siete5 cZne @&9%'H9oco o #9%%%%%"""B FF' call decenas Z inicio oco5 cZne @&9%(H9nee o #9%"""""""B FF( call decenas Z inicio nee5 cZne @&9%)H9ce@o o #9%""%%"""B FF) call decenas Z inicio decenas5 e@o5 cZne @39%%H9die o #9"%""""""B FF% @et die5 cZne @39%"H9einte o #9"%%%%""%B FF" @et
en cWtodo co[n
en cWtodo co[n
en cWtodo co[n
en cWtodo co[n
en cWtodo co[n
en cWtodo co[n
en cWtodo co[n
einte5 cZne @39%#H9t@einta o #9""%""%""B FF# en catodo co[n @et t@einta5 cZne @39%3H9e@o o #9""%%""""B FF3 @et
en cWtodo co[n
Diseño digital con VHDL
sa5 FFo "9%%%"%%%"B FFDato o@ sotKa@e o a9" anl a9%6%H -ie@o la a@te alta anl "9%6H -ie@o la a@te SaZa FFo @"9" FFocional sKa a FFo 39a FFsolo a@a e@ica@ e se alla asado el dato de & Sits a la a@te SaZa add a9" FFo #9a @et end Simuacin
Diseño digital con VHDL
+aa ;ara dis;a de 7 segmentos ctodoMnodo comKn
CI.CUITO A.MADO
Co/c%&o/e& Para reali!ar la su6a de dos nF6eros de 4 its en un 6is6o uerto se cre& la siguiente rutina )e lee el uerto 1 : se traslada al acu6ulador9 luego se en6ascara la arte alta : aja Diseño digital con VHDL
con la instrucci&n (9 la arte aja 5ueda guardada en P19 6ientras 5ue la arte alta se 5ueda en (. uego se utili!a la instrucci&n )K(P ara ca6iar de IAAE lo 5ue a: en (9 *inal6ente ( : P1 se su6an con la instrucci&n (DD9 el resultado se guarda en el acu6ulador. El resultado dee 6ostrarse en dos disla:s 6ultileBados9 or lo 5ue a: 5ue con#ertir el nF6ero inario a ACD. sando la instrucci&n DI= se di#ide el resultado de la su6a ;(< entre 10 ;guardado en A<9 la arte entera se al6acena en ( : el residuo en A. %o#e6os ( acia H? : A a H4 ara luego co6arar estos registros con los #alores osiles de la adici&n. El 6ultileBado se solucion& usando un disla: cátodo co6Fn ara las unidades : un disla: ánodo co6Fn ara las decenas
Diseño digital con VHDL
_DISEÑO DIGITAL CON VHD%_
INSTITUTO TECNOLÓGICO DE CHIHUAHUA
Práctica o.8
Cronmetro de 0<59 1? de Junio de 2014
Pro*esor. Ing. Carlos Gasson Esino!a
Integrantes" •
Ir#ing $ernánde! Gallegos 12060397
•
%anuel Piñ&n 'lores 12060541
•
Julián (lejandro )olorio Gon!ále! 12060544
•
Da#id (dol*o )oto +arango 12060468
Diseño digital con VHDL
ÍNDICE MARCO TEÓRICO
3
+(("R MC,$+!D,R !+89S52 (,D,S D" ,"R!CÓ$ %/D/ 0 %/D/ 1 %/D/ 2 %/D/ ?
3 3 3 3 & &
OBJETIVO
*
MATERIAL
DE!ARROLLO
CÓDIGO EN ENSAMLADO. S(#L!CÓ$
6 8
CIRC$ITO ARMADO
)
CONCL$!IONE!
)
Diseño digital con VHDL
Marco Teórco +immerMContador !+89S52 En el 8>)V2 se uede con*igurar de 6anera indeendiente los ti6ers +i6er 0 : +i6er 1 ara oerar en una #ariedad de 6odos9 :a sea co6o ti6er o co6o contador. Cuando oera co6o ti6er9 corre a una deter6inada longitud de tie6o :a rogra6ada. (l oerar co6o contador9 deende de las interruciones eBternas en el in. as *unciones del +i6er 0 ueden ser tanto de ti6er co6o de contador de e#entos9 en cuatro 6odos de oeraci&n. Es i6ortante arar el ti6ercontador antes de ca6iar de 6odo. Es controlado or los cuatro its 6ás ajos del registro +%/D : los its 09 19 4 : V del registro +C/. El registro +%/D selecciona el 67todo de acti#aci&n del ti6er ;G(+E0<9 oeraci&n co6o ti6er o contador ;+C0,< : el 6odo de registro ;%10 : %00<. El registro +C/ ro#ee el control de las *unciones del +i6er 0" andera de desorda6iento ;+'0<9 it de control de ejecuci&n ;+H0<9 andera de interruci&n ;IE0< : el it de control del tio de interruci&n ;I+0<. Para una oeraci&n nor6al del ti6er ;G(+E0 L 0< oniendo en alto +H0 er6ite 5ue +0 incre6ente or la entrada seleccionada9 se controla el ti6er or so*tMare. Poniendo en alto tanto el G(+E0 co6o +H0 er6ite al in eBterno I+0, controlar la oeraci&n del ti6er9 lo 5ue se conoce co6o control or ardMare.
(odos de o;eracin (odo 0 Con*igura el +i6er 0 co6o un ti6er de 1? its 5ue se co6one con 8 its en el registro +$0 : los V its 6ás ajos del registro +0. os ? its 6ás altos del registro +0 estan indeter6inados : deen ser ignorados.
Diseño digital con VHDL
(odo 1 El 6odo 1 es igual 5ue el %odo 09 eBceto or5ue el registro del +i6er traaja con los 1 its. El 6odo 1 con*igura el +i6er 0 co6o un ti6er de 1 its con los registros +$0 : +0 conectados en cascada
(odo 2 El 6odo 2 con*igura el +i6er 0 co6o un ti6er de 8 its ;registro +0< 5ue auto6ática6ente se recarga con el registro +$0. El desorda6iento de +0 acti#a la andera de +'0 en el registro +C/ : recarga +0 con el contenido de +$09 5ue está reestalecido en el so*tMare. Cuando se reali!a esto9 el ardMare orra +'0 : la recarga
deja a +$0 sin ca6ios. El r&Bi6o #alor de recarga uede ser ca6iado en cual5uier 6o6ento escriiendo en el registro +$0. El 6odo de oeraci&n 2 es el 6is6o ara el ti6ercontador 1.
(odo 3 Este 6odo con*igura el +i6er 0 ara 5ue los registros +0 : +$0 oeren co6o ti6ers de 8 its searados. Este 6odo está re#isto ara oeraciones 5ue re5uieren un ti6er o contador de 8 its adicional.
Diseño digital con VHDL
O!"e#$o Crono6etro 00 a V> ;utilizar timers del micro < con las siguientes *unciones" a< ,$" (rranca el contador < ,--" (aga el contador c< R"S"+" Heinicia cuenta en 00 : continua contado. d< S+," Detiene la cuenta e< C,$+$#"" )igue contando Deslegar cada digito en un disla: 6ultileBado utili!ando solo un 4)4 o 4)48.
Diseño digital con VHDL
2E0 0E0 0E1 0E2 0E3 0E4
,$ ,-R"S"+ S+, C,$+$#"
8 0 V 2
2E1 2E2 2E3
7 7 4 4 LoL S S 4 4 7 8
Ma#era%
%c (+8>)V2 4)48 Protooard V Pus utton 2 Disla: seg6entos 'uente de #oltaje Cale tele*&nico )o*tMare Oeil u=ision4 Proteus I)I)
Diseño digital con VHDL
De&arro%%o Có45o e/ e/&a!%a4or FFC@on\et@o %%+*) en dislaPs ltileados inicio5 o tod9%"H FFTie@ % odo " o @393BH FFcenta @eg@esia *) o @"9%%H FFinicia @egist@o de centa Z @onos 2@onos5 ZS %.%9on ZS %."9o] ZS %.#9@st ZS %.39st ZS %.&9@s Z @onos O665 o #9%H ZS %.%9inicio Z o] @st5 o @393BH o @"9%%H o #9% Z on st5 ZS %.&9inicio o #9S setS #.& call tieo o #9a cl@ #.& call tieo Z st
FFOciones FFEncende@ FFAaga@ FFReset FFDetene@ FFRese 4contina@7
FFone en % el e@to FF!e cicla asta e se @esione on
FF@einicia @egist@o de centa
FF$nidades FF0ND FFDecenas FF0ND
Diseño digital con VHDL
ON5-+++ A^ coiena todo el !oK +++++++++++++++++++++++++++++++++++++++++++++++FF @s5 ZS %."9o] ZS %.#9@st ZS %.39st dec @3 FFcenta asta *) inc @" FFInc@eenta centa o @*9"6&H FF*%% en aa o @9%&H FF& en aa call cZne @39%%H9@onos FF!e @eg@esa a @onos si an no es % o @"9%%H FF!i Pa dec@eento de *) a %9 se @einician los @egist@os o @393BH Z on 5 ZS %."9o] ZS %.#9@st o S9%AH o a9@" di aS S nidades o #9S setS #.& call tieo o #9a cl@ #.& call tieo dZn @*9 dZn @9 @et tieo5 o TH%9%6EH o TL%9%%CH +*%% o tcon9"%H ZnS T6%9_ cl@ TR% cl@ T6%
FFDiide la centa soS@e "%- en a
decenas9
FF$nidades FF0ND FFDecenas FF0ND FFDec@eenta P salta si el R* con alo@ "%%% si no es % FFEs deci@ ltilea@W a "H FFel SPte alto inc@eenta@W de %6EH asta 66H +*%% FFel SPte SaZo inc@eenta@W de %%CH asta 66H FFinicia el teo@iado@- TR% ; :": FFese@a el desSo@daiento FFAaga el tie@ FF@eone la Sande@a de desSo@daiento Diseño digital con VHDL
@et END
Simuacin
CI.CUITO A.MADO
Diseño digital con VHDL
Co/c%&o/e& )e con*igur& el ti66er 0 en 6odo 1 de 1 its. El roceso ara la crono6etro asta V> consta de ? rutinas rinciales9 el conteo9 tie6o : 6ultileBado. Pri6ero se reali!a una rutina 5ue genere un eriodo de 16s9 aciendo 5ue las cuentas del ti66er co6iencen V00 cuentas antes del desorda6iento. a cuenta se reali!a con dos registros H? decre6enta desde V>9 esto sir#e ara saer cuando se a llegado a la cuenta 6áBi6a. H1 incre6enta desde 09 en el se guarda el #alor del conteo 5ue luego se 6ostrará. En la rutina de 6ultileBeo el #alor de H1 se di#ide entre 10 ara searar decenas : unidades9 luego se 6uestran or searado en el uerto 2 or un tie6o de 16s creado en la surutina9 esto se reite 1000 #eces ara crear el segundo.
Diseño digital con VHDL
_DISEÑO DIGITAL CON VHD%_
INSTITUTO TECNOLÓGICO DE CHIHUAHUA
Práctica o.>
O( 1? de Junio de 2014
Pro*esor. Ing. Carlos Gasson Esino!a
Integrantes" •
Ir#ing $ernánde! Gallegos 12060397
•
%anuel Piñ&n 'lores 12060541
•
Julián (lejandro )olorio Gon!ále! 12060544
•
Da#id (dol*o )oto +arango 12060468
Diseño digital con VHDL
ÍNDICE MARCO TEÓRICO )."." TMOD5 TIMER MODE RE0I!TER >.1.2 +C/" +I%EH C/+H/ H EGI)+EH >.1.? G(+E
& & & &
OBJETIVO
*
MATERIAL
'
DE!ARROLLO
'
CÓDIGO EN ENSAMLADO.
+ 9
S(#L!CÓ$
CIRC$ITO ARMADO
"% "" ""
CONCL$!IONE!
""
Diseño digital con VHDL
Marco Teórco 97171 TMOD Ter Mo4e .e5er Es un registro de 8 its 5ue de*ine el uso de los ti6ers 0 : 1" • •
tili!a los 4 its 6enores ara el +i6er 0 ;)e dee oner a 0000 si no se usa< tili!a los 4 its 6a:ores ara el +i6er 1 ;)e dee oner a 0000 si no se usa<
o es direccionale it a it. G(+E
C+ %1 +i6er 1
%0
G(+E
C+
%1
%0
+i6er 0
%0 : %1 seleccionan el 6odo de traajo de los ti6ers 0 : 1 %1 %0 0 0 0 1 81 0 1 1
%odo 0 1 2 ?
/eraci&n %odo +i6er de 1? its %odo +i6er de 1 its +i6erContador de 8 its con autorrecarga %odo de +i6er artido
9E1E2 +C,$. +imer Contro Register
a arte alta se utili!a ara ti6ercontador9 : la arte aja ara las interruciones. +'1 +H1 +'0 +H0 IE1 I+1 IE0 +i6er 1 +i6er 0 Interruciones +H" Hun Control Ait )e e6lea ara ailitar o desailitar el ti6ercontador. +H0 se utili!a ara el ti6ercontador 0 : +H1 se utili!a ara el ti6ercontador 1
I+0
+'" +i6er 'lag9 Control 'lag +raaja co6o un carr:9 original6ente +' L 0. Cuando +$-+ asa de ''''$ a 00009 el #alor de +' ca6ia" +' L 1. )i se ailita las interruciones9 +'L1 disarará I)H 9E1E3 G!+"
G(+E L 0 se arranca : ara el ti6er de *or6a interna9 or so*tMare G(+E L 1 utili!a el ardMare ara arrancar : arar el ti6er or so*tMare : or una *uente eBterna. El ti6ercontador solo es ailitado cuando la ata I+ está alta : el *lag +H L 1
Diseño digital con VHDL
O!"e#$o %ediante los ti6ers e interruciones generar dos señales eri&dicas con #ariaci&n de anco de ulso9 segFn la interruci&n acti#ada" I+EHHPCI 0 → )EX( 1 → ECEDEH IDIC(D/H )EX( 1 I+EHHPCI 1 → )EX( 2 → ECEDEH IDIC(D/H )EX( 2
Diseño digital con VHDL
S"!L 1
20
20
40
20
60
20
30
10
t PmicrosegundosQ
+
S"!L 2
10
10
20
10
t PmicrosegundosQ
+
0E0 R S"!L 1
&cc R
S"!L 2
&cc R
8 0 3E2 P$+0Q V 2 P$+1Q
C ,SCL,SC,,
2E0
S"!L 1
2E1
S"!L 2
3E3
Diseño digital con VHDL
Ma#era%
+alilla de desarrollo ara c8>)V2 /sciloscoio ato )o*tMare Oeil u=ision4 Proteus I)I)
De&arro%%o Có45o e/ e/&a!%a4or FF1M org 0 j6 inicio
Direccion de #ector reset
org 000?$ call s1 reti
Direccion de #ector de iterruci&n eBterna 0
org 001?$ call s2 reti
Direccion de #ector de iterruci&n eBterna 1
inicio" 6o# 19,00$ 6o# IE9,08V$ j6 inicio
$ailita E(9 EZ1 : EZ0
s1" )eñal 1 6o# r49,04$ 6o# r9,0$ B1" 20us alto set 1.0 set 0.0 call tie6o Diseño digital con VHDL
call tie6o B2" 20us ajo clr 1.0 clr 0.0 call tie6o call tie6o B?" 40us alto set 1.0 set 0.0 call tie6o djn! r49B? B4" 20us ajo clr 1.0 clr 0.0 call tie6o call tie6o BV" 0us alto set 1.0 set 0.0 call tie6o djn! r9BV B" 20us ajo clr 1.0 clr 0.0 call tie6o call tie6o ret s2" )eñal 2 6o# r?9,0?$ :1" 10us alto set 1.1 set 0.0 call tie6o :2" 10us ajo clr 1.1 clr 0.0 call tie6o :?" 20us alto set 1.1 set 0.0 call tie6o call tie6o :4" 10us ajo clr 1.1 clr 0.0 call tie6o Diseño digital con VHDL
:V" ?0us alto set 1.1 set 0.0 call tie6o djn! r?9:V :" 10us ajo clr 1.1 clr 0.0 call tie6o ret tie6o" 6o# +%/D9,02$ 6o# +$09,0'V$ 6o# +09,0'V$ set +H0 jn +'09h clr +'0 ret
10us ''$ - ($ inicia el te6ori!ador +H0 L 1 esera el desorda6iento reone la andera de desorda6iento
end
Simuacin
Diseño digital con VHDL
CI.CUITO A.MADO
Diseño digital con VHDL
Co/c%&o/e& )e utili!& el 6odo 2 de autorrecarga de 8 its del ti6er 09 deido 5ue este 6odo de oeraci&n no resenta error de 7rdida de tie6o or instrucciones de recarga. )e gener& una rutina de tie6o de 10us 5ue se reitiera las #eces 5ue se necesitaran9 ara ello a los A:tes +0 : +$0 se les rest& ''$ ($9 co6o cada cuenta del ti6er consu6e 1 ciclo de 6á5uina de 1 6icro segundo. tili!a6os la talilla de desarrollo del tec ara 6a:or co6odidad : e#itar ar6ado.
Diseño digital con VHDL
_DISEÑO DIGITAL CON VHD%_
INSTITUTO TECNOLÓGICO DE CHIHUAHUA
Práctica o.>
Semoro nteigente 1 de Junio de 2014
Pro*esor. Ing. Carlos Gasson Esino!a
Integrantes" •
Ir#ing $ernánde! Gallegos 12060397
•
%anuel Piñ&n 'lores 12060541
•
Julián (lejandro )olorio Gon!ále! 12060544
•
Da#id (dol*o )oto +arango 12060468
Diseño digital con VHDL
ÍNDICE MARCO TEÓRICO
3
OBJETIVO
3
MATERIAL
&
DE!ARROLLO
&
CÓDIGO EN ENSAMLADO. S(#L!CÓ$
) 1)
CIRC$ITO ARMADO
"*
CONCL$!IONE!
"*
Diseño digital con VHDL
Marco Teórco Actalente el ndo eige9 o@ la coleZidad del t@Wco P a@a S@inda@ na calidad de ida Ws eitatia a los eatones9 e los disositios de señaliacin a@a e^clos P e@sonas9 elect@nicos P el`ct@icos9 sean Ws conaSles P seg@os P e o@ecan Ws osiSilidades de accesiSilidad a@a ael e lo desee9 sin io@ta@ ss liitaciones ^sicas.
O!"e#$o 1. tili!ando ti6ers e interruciones controlar un se6á*oro inteligente en un crucero co6o se 6uestra en el siguiente es5ue6a"
Diseño digital con VHDL
!
C
D
!RR!$*#" !R,
1 E0
1 E1
0 E0
&
0 E 1
!
0 E 2
R
0 E3
&
0 E4
!
0 E 5
R
8 S " $ S , R " S
!
1 E 2
1 E 3
C
1 E 4
D
1 E5
,+ Ó$ D" " ("R G"$ C!
3 E2
0 V 2
P$+ 0Q
2 E 0
&
2 E1
!
2 E2
R
2 E3
&
2 E 4
!
2 E5
R
2. os se6á*oros deerán iniciar su secuencia con un ot&n de QQ (HH([ERR. ?. a secuencia será CYCIC( de la siguiente *or6a" a. → ) . E → / c. ) → d. /→ E 4. Para detener la secuencia : dejar en unto de arran5ue el siste6a deerá resionar un ot&n de QQP(H/RR. V. El *oco =EHDE en todos los casos9 antes de asar al a6arillo deerá aradear ? #eces. . os tie6os estándar en segundos de cada se6á*oro son los siguientes" $ &"RD"
S
8
"
,
8
S
$
8
,
"
8
Diseño digital con VHDL
!(!RLL,
2
2
2
2
R,%,
?0
?0
?0
?0
. (9 A9 C : D son sensores 5ue 6iden la longitud de la *ila de autos. 8. )i el sensor está aagado signi*ica 5ue la *ila de autos es corta lo cual deerá acortar solo el tie6o del =EHDE a ? segundos : en consecuencia ajustar los tie6os del H/J/. n ot&n de e6ergencia ondrá inde*inida6ente todos los se6á*oros en H/J/.
Ma#era%
c8>)V2 12 EDNs 4 us uttons o di sMitc )o*tMare Oeil u=ision4 Proteus I)I)
De&arro%%o Có45o e/ e/&a!%a4or
FF!eWo@o Inteligente o@g % Z inicio o@g %3H FFInte@@cin ete@na %- E% call ee@gencia inicio5 ZS ".%9a@@ane a@o5 Z inicio a@@ane5 Diseño digital con VHDL
o tod9%"H FFTie@ odo " de "3 Sits o IE9("H FFHaSilita EA P E% Na!5 FFDi@eccin No@te a !@5 !eWo@o " call se#@oZo FFone el seao@o en @oZo call se3@oZo call se&@oZo call @egs FFLlaa a los @egist@os e se sa@Wn adelante ZnS ".#9sA FF!i el senso@ A estW actiado e@de"5 cl@ %." FFAa@illo cl@ %.# FFRoZo setS %.% FFVe@de call segndo dZn @"9e@de" FFEncendido o@ * segs. Lego a@adea 3 eces cl %.% FF% *.* Coleenta el Sit call edsegndo cl %.% FF" s call edsegndo cl %.% FF% .*s call edsegndo cl %.% FF" 's call edsegndo cl %.% FF% '.*s call edsegndo cl %.% FF" (s call edsegndo aa@illo"5 o %9%%"%%%"%B call segndo dZn @#9aa@illo" @oZo"5 o %9%%%%""%%B Z EaO sA5 call @egs Diseño digital con VHDL
e@de"a5 cl@ %." FFAa@illo cl@ %.# FFRoZo setS %.% FF" " call segndo cl %.% FF% ".* call edsegndo cl %.% FF" # call edsegndo cl %.% FF% #.* call edsegndo cl %.% FF" 3 call edsegndo aa@illo"a5 o %9%%"%%%"%B call segndo dZn @#9aa@illo"a @oZo"a5 o %9%%%%""%%B EaO5 FFDi@eccin Este a Oeste5 !eWo@o # call se"@oZo call se3@oZo call se&@oZo call @egs ZnS ".&9sC FF!i el senso@ C estW actiado e@de#5 cl@ %.& cl@ %.* setS %.3 call segndo dZn @"9e@de# cl %.3 FF% *.* Coleenta el Sit call edsegndo cl %.3 FF" call edsegndo cl %.3 FF% .* Diseño digital con VHDL
call edsegndo cl %.3 FF" ' call edsegndo cl %.3 FF% '.* call edsegndo cl %.3 FF" ( call edsegndo aa@illo#5 cl@ %.3 cl@ %.* setS %.& call segndo dZn @#9aa@illo# @oZo#5 cl@ %.3 cl@ %.& setS #.% setS %.* Z !aN sC5 e@de#c5 setS %.3 FF" " call segndo cl %.3 FF% ".* call edsegndo cl %.3 FF" # call edsegndo cl %.3 FF% #.* call edsegndo cl %.3 FF" 3 call edsegndo aa@illo#c5 cl@ %.3 cl@ %.* setS %.& call segndo dZn @#9aa@illo#c Diseño digital con VHDL
@oZo#c5 cl@ %.3 cl@ %.& setS #.% setS %.* !aN5 FFDi@eccin !@ a No@te5 !eWo@o 3 call se"@oZo call se#@oZo call se&@oZo call @egs ZnS ".39sB FF!i el senso@ B estW actiado e@de35 cl@ #." cl@ #.# setS #.% call segndo dZn @"9e@de3 cl #.% FF% *.* Coleenta el Sit call edsegndo cl #.% FF" call edsegndo cl #.% FF% .* call edsegndo cl #.% FF" ' call edsegndo cl #.% FF% '.* call edsegndo cl #.% FF" ( call edsegndo aa@illo35 cl@ #.% cl@ #.# setS #." call segndo dZn @#9aa@illo3 @oZo35 Diseño digital con VHDL
cl@ #.% cl@ #." setS #.3 setS #.# Z OaE sB5 e@de3S5 cl@ #." cl@ #.# setS #.% FF" " call segndo cl #.% FF% ".* call edsegndo cl #.% FF" # call edsegndo cl #.% FF% #.* call edsegndo cl #.% FF" 3 call edsegndo aa@illo3S5 cl@ #.% cl@ #.# setS #." call segndo dZn @#9aa@illo3S @oZo3S5 cl@ #.% cl@ #." setS #.# setS #.3 OaE5 call se"@oZo call se#@oZo call se3@oZo call @egs ZnS ".*9sD
FFDi@eccin Oeste a Este5 !eWo@o &
FF!i el senso@ D estW actiado Diseño digital con VHDL
e@de&5 cl@ #.& cl@ #.* setS #.3 call segndo dZn @"9e@de& cl #.3 FF% *.* call edsegndo cl #.3 FF" call edsegndo cl #.3 FF% .* call edsegndo cl #.3 FF" ' call edsegndo cl #.3 FF% '.* call edsegndo cl #.3 FF" ( call edsegndo aa@illo&5 cl@ #.3 cl@ #.* setS #.& call segndo dZn @#9aa@illo& @oZo&5 cl@ #.3 cl@ #.& setS %.% setS #.* Z Na! sD5 e@de&d5 cl@ #.& cl@ #.* setS #.3 FF" " call segndo cl #.3 FF% ".*
Coleenta el Sit
Diseño digital con VHDL
call edsegndo cl #.3 FF" # call edsegndo cl #.3 FF% #.* call edsegndo cl #.3 FF" 3 call edsegndo aa@illo&d5 cl@ #.3 cl@ #.* setS #.& call segndo dZn @#9aa@illo&d @oZo&d5 cl@ #.3 cl@ #.& setS #.* setS %.% Z Na! @egs5 o @"9%*H o @#9%#H o @39%"EH FF3% decial o @&9%3H o @*9%#3H FF3* decial @et se"@oZo5 cl@ %.% cl@ %." setS %.# @et se#@oZo5 cl@ %.3 cl@ %.&
FF!eao@o " en @oZo
FF!eao@o # en @oZo
Diseño digital con VHDL
setS %.* @et se3@oZo5 cl@ #.% cl@ #." setS #.# @et se&@oZo5 cl@ #.3 cl@ #.& setS #.* @et
FF!eao@o 3 en @oZo
FF!eao@o & en @oZo
segndo5 o @9%6H FF"* decial seg5 o TH%9%%H FFel SPte alto inc@eenta@W de %%H asta 66H o TL%9%%H FFel SPte SaZo inc@eenta@W de %%H asta 66H setS TR% FFinicia el teo@iado@- TR% ; :": ZnS T6%9_ FFese@a el desSo@daiento cl@ TR% cl@ T6% FF@eone la Sande@a de desSo@daiento ZS "."9a@o3 dZn @9seg FF!e @eite esto "* eces- es deci@ .*"* a@o "seg @et a@o35 lcall a@oFFllaada la@ga o@e a@o se encent@a P leZos edsegndo5 o @9%'H seg5 o TH%9%%H o TL%9%%H setS TR% ZnS T6%9_ cl@ TR%
FF' decial FFel SPte alto inc@eenta@W de %%H asta 66H FFel SPte SaZo inc@eenta@W de %%H asta 66H FFinicia el teo@iado@- TR% ; :": FFese@a el desSo@daiento
Diseño digital con VHDL
cl@ T6% FF@eone la Sande@a de desSo@daiento ZS "."9a@o# dZn @9seg FF es deci@ .*s @et a@o#5 lcall a@o ee@gencia5 o %9%%%"%%"%%B o #9%%%"%%"%%B Z ee@gencia END Simuacin
Diseño digital con VHDL
CI.CUITO A.MADO
Co/c%&o/e& )e crearon dos rutinas de tie6o9 una de 6edio segundo9 : otra de un segundo ara luego ser lla6ada las #eces necesarias. Para si6li*icar el c&digo se crearon surutinas searadas ara cuando los se6á*oros estu#ieran en rojo. Co6o ode6os oser#ar crear cruces con se6á*oros 5ue se adaten a las condiciones de trá*ico no nada co6lejo. Diseño digital con VHDL
_DISEÑO DIGITAL CON VHD%_
INSTITUTO TECNOLÓGICO DE CHIHUAHUA
Pro:ecto
Cerradura "ectrnica 18 de Junio de 2014
Pro*esor. Ing. Carlos Gasson Esino!a
Integrantes" •
Ir#ing $ernánde! Gallegos 12060397
•
%anuel Piñ&n 'lores 12060541
•
Julián (lejandro )olorio Gon!ále! 12060544
•
Da#id (dol*o )oto +arango 12060468
Diseño digital con VHDL
ÍNDICE Co/#e/4o MA.CO TEÓ.ICO7777777777777777777777777777777777777777777777777777777777777777777777777777777777( DATA!HEET MOC 3%""........................................................................................... & ............................................................................................................................ * DATA!HEET CTB%................................................................................................. !EN!OR DE HERRAD$RA H#"A"................................................................................ ' CHAA ELbCTRICA "#V AC.......................................................................................(
OBJETIVO
(
MATE.IAL77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777778 DESA..OLLO7777777777777777777777777777777777777777777777777777777777777777777777777777777777777779 CÓDIGO EN ENSAMLADO.7777777777777777777777777777777777777777777777777777777777777777777710 )I%(CI........................................................................................................."' CI.CUITO A.MADO777777777777777777777777777777777777777777777777777777777777777777777777718
"( CONCLUSIONES 777777777777777777777777777777777777777777777777777777777777777777777777777777777719
Diseño digital con VHDL
Marco Teórco Da#a&ee# +)LS()*
Diseño digital con VHDL
Da#a&ee# MOC 3011
Diseño digital con VHDL
Diseño digital con VHDL
Da#a&ee# CT06
Diseño digital con VHDL
Se/&or 4e erra4ra H(1A1
Diseño digital con VHDL
Ca:a e%;c#rca 1(V AC
O!"e#$o I6le6entar un 6icrocontrolador ara arir una caa el7ctrica. a señal de control deerá asar or la etaa de acondiciona6iento de señal ara e#itar la ca@da de #oltaje de la señal9 ade6ás de aislar oto electr&nica6ente el circuito digital del circuito de corriente alterna de salida. a cerradura deerá ser acti#ada or una co6inaci&n de 4 teclas o una tarjeta er*orada. Por 6edio de indicadores EDNs se 6ostrará el estado actual del siste6a. Por 6edio de una interruci&n se odrá 6odi*icar la contraseña en cual5uier 6o6ento.
Ma#era%
c8>)V2 ED HGA 4 )ensores de erradura $21(1 us uttons +rans*or6ador de 12= (C Cerradura El7ctrica /toacolador %/C ?011 +riac C+A0 Diseño digital con VHDL
Au**er 4)24V Hesistencias segFn diseño )o*tMare Oeil u=ision4 Proteus I)I)
De&arro%%o El *unciona6iento de la cerradura electr&nica traaja de la siguiente 6anera" a cerradura se odrá arir or 6edio de una co6inaci&n de teclas o al asar una tarjeta er*orada or 4 sensores9 el usuario dee elegir 5ue 67todo utili!ar. a co6inaci&n de 4 d@gitos or de*ault es 1-1-1-1 de i!5uierda a dereca9 6ientras 5ue el c&digo de acceso or tarjeta er*orada es la su6a inaria de la co6inaci&n de las teclas9 la cual es 1111A. )i la contraseña introducida :a sea or co6inaci&n o or tarjeta es correcta el ED encenderá en #erde or ? segundos : 6andará la señal ara arir la caa9 de lo contrario el ED encenderá rojo or un segundo. Desu7s de tres intentos *allidos el ED enciende rojo or ? segundos. El usuario uede ca6iar de contraseña en cual5uier 6o6ento acti#ando una interruci&n9 se le edirá 5ue #eri*i5ue la contraseña anterior9 luego entrará en estado de lectura ;ED en a!ul< una #e! 5ue se guarden los 4 d@gitos el ED aradea dos #eces : se aaga indicando 5ue *ue guardada. (ora se uede acer uso de la nue#a contraseña.
ara e o;toaco;ador Rs 385T El otoaislador no dee ser usado ara 6anejar la carga directa6ente. Es solo un disositi#o de disaro9 or lo 5ue se ace uso de un +riac ;C+A0< 5ue *unciona co6o interrutor ara la carga (C.
R2 180T rouesta or el *aricante Para la resuesta &ti6a del sensor de erradura se eligi& 2.VO o6s segFn 6uestra la grá*ica.
Diseño digital con VHDL
Có45o e/ e/&a!%a4or Cerradura Electr&nica tio )ider6an org 0 j6 inicio org 0?$ Interruci&n eBterna 0 EZ0 call ingresar inicio" 6o# IE9,81$ $ailita interruciones E( : EZ0 6o# 29,00$ cjne r29,00$9nue#a De*ault 6o# r49,01$ 4to d@gito 6o# rV9,02$ ?er d@gito 6o# r9,04$ 2do d@gito 6o# r9,08$ 1er d@gito call rg j ?.?9co6inaci&n j ?.49tarjeta j6 inicio nue#a" inc r2 de*ault j ?.?9co6inacion j ?.49tarjeta j6 nue#a
(u6enta ara indicar 5ue :a no se urará la contraseña or
tarjeta" 6o# a9r )u6a cada d@gito ara crear el c&digo de la tarjeta er*orada add a9r add a9rV add a9r4 6o# r19a El c&digo de la tarjeta er*orada se guarda en r1 call segundo Esera ? segundo ara leer la tarjeta call segundo call segundo 6o# a92 6o# 9r1 cjne a99incorrecto2 Diseño digital con VHDL
call correcto incorrecto2" lcall incorrecto inario j6 inicio
en H1 se guarda la co6inaci&n en
Hutina ara ingresar contraseña or co6inaci&n co6inacion" resionado1" call antirreote antirreote V 6ili segundos 6o# a92 ee el uerto 2 j! resionado1 )i nada *ue resionado #uel#e a leer 6o# 9r Pri6er d@gito cjne a99error1 )i no son iguales es la tecla erronea de lo contrario es la correcta : continua ien1" 6o# a92 jn! ien1 )e dej& de resionar la Flti6a t7cla Di*erente de cero resionado2" o a: ninguna tecla resionada call antirreote 6o# a92 j! resionado2 )i nada *ue resionado #uel#e a leer 6o# 9r )egundo d@gito cjne a99error2 )i no son iguales es la tecla erronea de lo contrario es la correcta : continua ien2" 6o# a92 jn! ien2 )e dej& de resionar la Flti6a t7cla resionado?" call antirreote 6o# a92 j! resionado? 6o# 9rV +ercer d@gito cjne a99error? )i no son iguales es la tecla erronea de lo contrario es la correcta : continua ien?" 6o# a92 jn! ien? )e dej& de resionar la Flti6a t7cla Di*erente de cero resionado4" call antirreote 6o# a92 j! resionado4 Diseño digital con VHDL
6o# 9r4 cjne cj ne a9 a99 9er erro ror4 r4 continua call correcto j6 inicio error1" call antirreote 6o# a92 j! error1 error2" 6o# a92 jn! error2 call antirreote 6o# a92 j! error2 5ue está 6al error?" 6o# a92 jn! error? call antirreote 6o# a92 j! error? error4" 6o# a92 jn! error4 call antirreote 6o# a92 j! error4 call incorrecto j6 inicio
Pri6er d@gito )i )i no so sonn igu igual ales es es la te tecl claa err erron onea ea de lo co cont ntra rari rioo es es la la cor corre rect ctaa :
Pri6er tecla erronea
o se a resionado ninguna tecla9 #uel#e a leer
)e dej& de resionar la Flti6a t7cla Di*erente de cero
)e resion& alguna tecla9 no nos interesa cual9 :a sae6os sa e6os
)e dej& de resionar la Flti6a t7cla Di*erente de cero
)e dej& de resionar la Flti6a t7cla Di*erente de cero
intru int ruso so"" I Ing ngre resa saro ronn ? #e #ece cess la co co6 6iina naci ci&n &n in inco corr rrec ecta ta 6o# 19,02$ call segundo 6o# 19,00$ call segundo 6o# 19,02$ call segundo 6o# 19,00$ 6o# r?9,00$ Diseño digital con VHDL
ret correcto" =erde 6o# 19,00000101A call segundo 6o# 19,00$ ret incorrecto" Hojo 6o# 19,02$ call segundo 6o# 19,00$ inc r? cjne r?9,0?9inicio call intruso ret inicio" lcall inicio Interruci&n ara ingresar nue#a contraseña contraseña ingresar" Pri6ero se introduce la contraseña #ieja9 si es correcta se ca6ia9 de lo contrario se regresa resionado1" call antirreote antirreote 6o# a92 ee el uerto 2 j! resionado1 )i nada *ue resionado #uel#e a leer 6o# 9r Pri6er d@gito cjne cj ne a9 a99 9er erro rorr ) )ii no no son son igu gual ales es es la te tecl claa err err&n &nea ea de lo con conttra rari rioo es es la la cor corre rect ctaa : continua ien1" 6o# a92 jn! ien1 )e dej& de resionar la Flti6a tecla Di*erente de cero resionado2" o a: ninguna tecla resionada call antirreote 6o# a92 j! resionado2 )i nada *ue resionado #uel#e a leer 6o# 9r )egundo d@gito cjne cj ne a9 a99 9er erro rorr ) )ii no no son son igu gual ales es es la te tecl claa err err&n &nea ea de lo con conttra rari rioo es es la la cor corre rect ctaa : continua ien2" Diseño digital con VHDL
6o# a92 jn! ien2 )e dej& de resionar la Flti6a t7cla resionado?" call antirreote 6o# a92 j! resionado? 6o# 9rV +ercer d@gito cjne cj ne a9 a99 9er erro rorr ) )ii no no son son igu gual ales es es la te tecl claa err err&n &nea ea de lo con conttra rari rioo es es la la cor corre rect ctaa : continua ien?" 6o# a92 jn! ien? )e dej& de resionar la Flti6a tecla Di*erente de cero resionado4" call antirreote 6o# a92 j! resionado4 6o# 9r4 Cuarto d@gito cjne cj ne a9 a99 9er erro rorr ) )ii no no son son igu gual ales es es la te tecl claa err err&n &nea ea de lo con conttra rari rioo es es la la cor corre rect ctaa : continua call correcto call catura j! nue#a o a: tecla resionada nue# n ue#a" a" lcal lcalll nue#a nue#a a arg rgaa lla6 lla6ada ada error" +ecla erronea call antirreote 6o# 19,02$ call segundo call segundo 6o# 19,00$ j6 resionado1 =u =uel#e el#e a leer sin au6entar el r0 Correcto" 6o# 19,00000101A call segundo 6o# 19,00$ ret Catura" 6o# 19,08$ Diseño digital con VHDL
digito1" ri6er digito nue#o 6o# a92 jn! digito1 )e dej& de resionar la Flti6a tecla Di*erente de cero lee1" call antirreote 6o# r92 6o# a92 j! lee1 digito2" 6o# a92 jn! digito2 )e dej& de resionar la Flti6a tecla Di*erente de cero lee2" call antirreote 6o# r92 6o# a92 j! lee2 digito?" 6o# a92 jn! digito? )e dej& de resionar la Flti6a tecla Di*erente de cero lee?" call antirreote 6o# rV92 6o# a92 j! lee? digito4" 6o# a92 jn! digito4 )e dej& de resionar la Flti6a tecla Di*erente de cero lee4" call antirreote 6o# r492 6o# a92 j! lee4 6o# 19,00$ call segundo 6o# 19,08$ call segundo 6o# 19,00$ ret +er6ina interruci&n ara ingresar nue#a contraseña HGA"
PK% ara HGA Diseño digital con VHDL
:1" 6o# 19,00001000A call tie6o call tie6o 6o# 19,00001100A call tie6o call tie6o 6o# 19,00001110A call tie6o call tie6o 6o# 19,00001100A call tie6o call tie6o ret tie6o"2V6s 6o# +%/D9,00$ 6o# +$09,1'$ 6o# +09,0'$ set +H0 jn +'09h clr +'0 ret segundo" 6o# t6od9,01$ 6o# r09,0'$ seg" 6o# +$09,00$ 6o# +09,00$ set +H0 jn +'09h clr +H0 clr +'0 djn! r09seg ret
%odo 0 inicia el te6ori!ador +H0 L 1 esera el desorda6iento reone la andera de desorda6iento
1V deci6al el :te alto incre6entará de 00$ asta ''$ el :te ajo incre6entará de 00$ asta ''$ inicia el te6ori!ador +H0 L 1 esera el desorda6iento reone la andera de desorda6iento )e reite esto 1V #eces es decir .U1V aroB 1seg
V 6s ara el antirreote antirreote" 6o# t6od9,01$ 6o# +$09,00$ el :te alto incre6entará de 00$ asta ''$ Diseño digital con VHDL
6o# +09,00$ set +H0 jn +'09h clr +H0 clr +'0 ret
el :te ajo incre6entará de 00$ asta ''$ inicia el te6ori!ador +H0 L 1 esera el desorda6iento reone la andera de desorda6iento
end
Simuacin
Diseño digital con VHDL
CI.CUITO A.MADO
Diseño digital con VHDL