270

Diseno Sistemas Digitales Vhdl

Embed Size (px)

Citation preview

  • DiseodesistemasdigitalesconVHDL

    FelipeMachado,SusanaBorromeo,CristinaRodrguezVersin1.00creadael28deoctubrede2011

    EstaversindigitaldeDiseodesistemasdigitalesconVHDLhasidocreadaylicenciadaporFelipeMachadoSnchez,SusanaBorromeoLpezyCristinaRodrguezSnchezconunalicenciadeCreativeCommons.Estalicenciapermitelosusosnocomercialesdeestaobra

    entantoencuantoseatribuyaautoraoriginal.Estalicencianopermitealterar,transformarogenerarunaobraderivadaapartirdeestaobra

    Conestalicenciaereslibredecopiar,distribuirycomunicarpblicamente

    estaobrabajolascondicionessiguientes:Reconocimiento:debesreconocerycitaralosautoresdeestaobraNocomercial:nopuedesutilizarestaobraparafinescomercialesSinobrasderivadas:nopuedesalterar,transformarogenerarunaobra

    derivadaapartirdeestaobra

    Paramsinformacinsobrelalicencia,visitaelsiguienteenlace:http://creativecommons.org/licenses/byncnd/3.0/

    EstaobraestdisponibleenelarchivoabiertodelaUniversidadReyJuanCarlos:

    http://eciencia.urjc.es/dspace/handle/10115/5700http://hdl.handle.net/10115/5700

    Paramsinformacinsobrelosautores:

    http://gtebim.es/http://gtebim.es/~fmachado

    2

  • Diseo de sistemas digitales con VHDL Versin1.00creadael28deoctubrede2011

    FelipeMachadoSnchezSusanaBorromeoLpez

    CristinaRodrguezSnchezDepartamentodeTecnologaElectrnica

    UniversidadReyJuanCarlosMstoles,Madrid,Espaa

    http://gtebim.es/

  • Agradecimientos QueremosagradeceralDepartamentodeTecnologaElectrnicadelaUniversidadReyJuanCarlosporfomentarladocenciadecalidadysuapoyoconstanteennuestraslaboresdocentes.Tambinqueremosagradecera losalumnosdeIngenieradeTelecomunicacinde laUniversidadReyJuanCarlosporsuintersgeneralizadoenaprenderysuscomentariossobrenuestradocenciayprcticas

    LosAutores

    DiseodesistemasdigitalesconVHDL

  • ndice ndice ............................................................................................................................................. 1 Lista de acrnimos ........................................................................................................................ 5 ndice de figuras ............................................................................................................................ 7 ndice de cdigo VHDL................................................................................................................ 11 ndice de tablas ........................................................................................................................... 14 1. Introduccin............................................................................................................................. 15 2. Repaso de VHDL para sntesis ............................................................................................... 19

    2.1. Puerta AND ..................................................................................................................................... 20 2.2. Varias puertas ................................................................................................................................. 21 2.3. Multiplexor ....................................................................................................................................... 22 2.4. Multiplexor de 2 bits de seleccin.................................................................................................... 23 2.5. Elementos de memoria: latch .......................................................................................................... 23 2.6. Elementos de memoria: biestables activos por flanco..................................................................... 24 2.7. Actualizacin de los valores de las seales .................................................................................... 25 2.8. Contadores...................................................................................................................................... 27 2.9. Registros de desplazamiento .......................................................................................................... 28 2.10. VHDL estructural ........................................................................................................................... 28

    3. Funcionamiento bsico de las tarjetas electrnicas ............................................................... 33 3.1. Tarjetas XUPV2P y Nexys2............................................................................................................. 33

    3.1.1. La tarjeta XUPV2P ...................................................................................................................................... 33 3.1.2. La tarjeta Nexys2......................................................................................................................................... 35

    3.2. Encender los leds ............................................................................................................................ 37 3.2.1. Implementacin en la tarjeta XUPV2P ........................................................................................................ 46 3.2.2. Implementacin en la tarjeta Nexys2 .......................................................................................................... 50

    3.3. Cambiar el tipo de FPGA de un proyecto ........................................................................................ 53 3.4. Las restricciones del circuito ........................................................................................................... 54

    4. Utilizacin del reloj y circuitos secuenciales ........................................................................... 57 4.1. Segundero (primera versin) ........................................................................................................... 57 4.2. Segundero (segunda versin) ......................................................................................................... 60

    5. Simulacin con Modelsim........................................................................................................ 63 6. Constantes, genricos y paquetes.......................................................................................... 71

    6.1. Uso de constantes........................................................................................................................... 71 6.2. Uso de genricos............................................................................................................................. 72 6.3. Uso de paquetes ............................................................................................................................. 73

    7. Transmisin en serie por RS-232............................................................................................ 77 7.1. Desarrollo de la prctica.................................................................................................................. 77 7.2. Consideraciones para el diseo de un circuito ................................................................................ 78 7.3. Funcionamiento de una UART ........................................................................................................ 78 7.4. Diseo del transmisor...................................................................................................................... 80

    7.4.1. Divisor de frecuencia ................................................................................................................................... 82 7.4.1.1. Uso de funciones ........................................................................................................................................................ 85 7.4.1.2. Operaciones con constantes y con seales en VHDL................................................................................................. 87 7.4.1.3. Uso de funciones dentro del mismo paquete .............................................................................................................. 88 7.4.1.4. Ms funciones .......................................................................................................................................................... 89

    7.4.2. Bloque de control......................................................................................................................................... 90 7.4.3. Registro de desplazamiento y multiplexor................................................................................................... 92

    7.5. Simulacin del transmisor ............................................................................................................... 93 7.5.1. Proceso que modela la orden de enviar un dato......................................................................................... 94 7.5.2. Comprobacin de la simulacin .................................................................................................................. 96 7.5.3. Proceso que modela las rdenes de enviar varios datos.......................................................................... 102 7.5.4. Autocomprobacin en el banco de pruebas .............................................................................................. 105 7.5.5. Bancos de pruebas que terminan por s mismos ................................................................................... 111

    7.6. Implementacin en la FPGA: diseo estructural ........................................................................... 113 7.6.1. Diseo del interfaz con los pulsadores...................................................................................................... 114 7.6.2. Banco de pruebas del interfaz con los pulsadores.................................................................................... 116 7.6.3. Diseo estructural: unidad de ms alto nivel............................................................................................. 117 7.6.4. Cuando la sntesis no funciona ............................................................................................................... 121

    7.6.4.1. Comprueba que todo est bien conectado................................................................................................................ 121

    Departamento de Tecnologa Electrnica 1

  • Diseo de sistemas digitales con VHDL - v1.00 - 28/10/2011

    7.6.4.2. Comprueba el fichero .ucf ...................................................................................................................................... 121 7.6.4.3. Comprueba el reset del circuito................................................................................................................................. 122 7.6.4.4. Simula el circuito completo........................................................................................................................................ 122 7.6.4.5. Revisa las advertencias del sintetizador.................................................................................................................... 122 7.6.4.6. Muestra informacin del circuito por los leds............................................................................................................. 129 7.6.4.7. Crea un nuevo proyecto en el ISE............................................................................................................................. 129

    7.7. Diseo del receptor de la UART.................................................................................................... 129 7.7.1. Registro de desplazamiento ...................................................................................................................... 131 7.7.2. Registro de entrada ................................................................................................................................... 131 7.7.3. Divisor de frecuencia ................................................................................................................................. 131 7.7.4. Bloque de control ....................................................................................................................................... 132

    7.8. Banco de pruebas del receptor de la UART.................................................................................. 132 7.9. Implementacin de la UART completa.......................................................................................... 133

    8. Circuitos aritmticos .............................................................................................................. 135 8.1. Paquetes matemticos.................................................................................................................. 136 8.2. Tipos unsigned y signed ............................................................................................................... 136 8.3. Conversin de tipos numricos..................................................................................................... 137

    8.3.1. Asignacin de bits...................................................................................................................................... 137 8.3.2. Conversiones ............................................................................................................................................. 138

    8.4. Uso de constantes numricas....................................................................................................... 139 8.5. Suma de nmeros positivos.......................................................................................................... 139

    8.5.1. Informe de sntesis..................................................................................................................................... 140 8.5.2. Esquema RTL ............................................................................................................................................ 141

    8.6. Resta de nmeros positivos.......................................................................................................... 143 8.7. Suma y resta de nmeros enteros ................................................................................................ 143

    8.7.1. Aumento del rango de la suma en complemento a dos............................................................................. 144 8.7.2. Aumento del rango usando funciones y atributos * ................................................................................... 145 8.7.3. Breve repaso del complemento a dos * ..................................................................................................... 146

    8.8. Multiplicacin ................................................................................................................................ 147 8.8.1. Algoritmo de la multiplicacin .................................................................................................................... 148 8.8.2. Implementacin de un multiplicador combinacional .................................................................................. 149 8.8.3. Implementacin de un multiplicador combinacional genrico * ................................................................. 150

    8.8.3.1. La sentencia generate * ......................................................................................................................................... 151 8.8.3.2. Multiplicacin con sentencia generate * ................................................................................................................. 151 8.8.3.3. Banco de pruebas para el multiplicador genrico *.................................................................................................... 152

    8.8.4. Implementacin de un multiplicador estructural * ...................................................................................... 153 8.8.5. Implementacin del multiplicador estructural genrico *............................................................................ 155

    8.9. Diseo considerando las prestaciones.......................................................................................... 156 8.9.1. Anlisis de las prestaciones....................................................................................................................... 156

    8.9.1.1. Paralelizacin............................................................................................................................................................ 158 8.9.1.2. Segmentacin ........................................................................................................................................................... 158 8.9.1.3. Compartir recursos.................................................................................................................................................... 159 8.9.1.4. Diseo secuencial ..................................................................................................................................................... 160

    8.9.2. Anlisis del multiplicador combinacional.................................................................................................... 161 8.9.3. Multiplicador segmentado .......................................................................................................................... 163 8.9.4. Implementacin del multiplicador secuencial............................................................................................. 166 8.9.5. Comparacin de los multiplicadores .......................................................................................................... 169

    8.10. Divisin ....................................................................................................................................... 171 9. Controlador de pantalla VGA ................................................................................................ 175

    9.1. Funcionamiento del estndar VGA ............................................................................................... 175 9.2. Conversores digital-analgico para VGA ...................................................................................... 177

    9.2.1. Conversor VGA de la XUPV2P.................................................................................................................. 178 9.2.2. Conversor VGA de la Nexys2 .................................................................................................................... 178

    9.3. Mdulo de sincronizacin.............................................................................................................. 179 9.4. Implementacin de un controlador VGA sencillo .......................................................................... 183

    10. Videojuego de tenis ............................................................................................................. 187 10.1. Control de los jugadores ............................................................................................................. 188 10.2. Pelota que rebota........................................................................................................................ 190 10.3. Videojuego .................................................................................................................................. 191

    11. Puerto PS/2 ......................................................................................................................... 193 11.1. Teclado PS/2............................................................................................................................... 193

    11.1.1. Cdigos scan ........................................................................................................................................... 195 11.2. Ratn PS/2.................................................................................................................................. 196

    11.2.1. Funcionamiento del ratn ........................................................................................................................ 196 11.2.2. Protocolo PS/2 para transmitir desde la computadora ............................................................................ 198 11.2.3. Puertos bidireccionales............................................................................................................................ 200 11.2.4. Puertos bidireccionales en VHDL ............................................................................................................ 201

    12. Memorias............................................................................................................................. 203 12.1. Bloques de memoria RAM (BRAM)............................................................................................. 203 12.2. Dibujar una imagen guardada en una ROM................................................................................ 205

    2 Universidad Rey Juan Carlos

  • 12.2.1. Memoria ROM de un bit de ancho de palabra......................................................................................... 206 12.2.2. Circuito que dibuja la imagen de la ROM de un bit de ancho ................................................................. 207 12.2.3. Mejoras y variantes del circuito que dibuja la imagen de la ROM........................................................... 210

    12.2.3.1. Retraso de las salidas de la VGA............................................................................................................................ 210 12.2.3.2. Clculo de las direcciones sin multiplicador ............................................................................................................ 212 12.2.3.3. Dibujar la imagen en otro lugar de la pantalla ......................................................................................................... 212 12.2.3.4. Repeticin de la imagen.......................................................................................................................................... 212 12.2.3.5. Ampliacin por dos.................................................................................................................................................. 213 12.2.3.6. Uso de las potencias de dos ................................................................................................................................... 214

    12.2.4. Memoria ROM de varios bits de ancho de palabra ................................................................................. 215 12.2.5. Memoria ROM para imagen con mayor profundidad de color................................................................. 218 12.2.6. Memorias ROM grandes: convertir imgenes ......................................................................................... 220

    12.3. Memorias RAM............................................................................................................................ 220 12.4. Uso de memorias usando el Coregen *....................................................................................... 222 12.5. Guardar y mostrar una imagen que llega por el puerto serie ...................................................... 224

    12.5.1. Conversin de la imagen......................................................................................................................... 225 12.5.2. Envo de la imagen.................................................................................................................................. 226

    13. Mostrar caracteres por pantalla........................................................................................... 227 13.1. Memoria ROM ............................................................................................................................. 228 13.2. Memoria RAM.............................................................................................................................. 229 13.3. Control del texto .......................................................................................................................... 229 13.4. Bloque que escribe los caracteres en la pantalla ........................................................................ 230

    14. Procesamiento digital de imgenes .................................................................................... 235 14.1. Procesamiento de imgenes ....................................................................................................... 235 14.2. Circuito que procesa una imagen guardada en una ROM........................................................... 236 14.3. Circuito que procesa una imagen que llega por la UART............................................................ 239 14.4. Acelerar el procesamiento........................................................................................................... 239

    14.4.1. Disminuir los accesos a memoria............................................................................................................ 240 14.4.2. Procesamiento "al vuelo"......................................................................................................................... 240 14.4.3. Uso de un bfer circular .......................................................................................................................... 243

    15. Videojuego Pac-Man ........................................................................................................... 247 15.1. Videojuego Pac-Man ................................................................................................................... 247 15.2. El campo de juego....................................................................................................................... 248 15.3. El jugador sin rostro..................................................................................................................... 249 15.4. El pac-man .................................................................................................................................. 250 15.5. El laberinto .................................................................................................................................. 252 15.6. Recorrer el laberinto .................................................................................................................... 253 15.7. Control del movimiento del pac-man *......................................................................................... 254 15.8. La comida y los puntos................................................................................................................ 254 15.9. Las paredes del laberinto *.......................................................................................................... 255 15.10. El tamao del pac-man * ........................................................................................................... 258 15.11. Movimiento continuo del pac-man *........................................................................................... 259 15.12. El pac-man comiendo * ............................................................................................................. 260 15.13. Los fantasmas ........................................................................................................................... 261 15.14. Otras mejoras *.......................................................................................................................... 261 15.15. Conclusiones ............................................................................................................................. 262

    Referencias ............................................................................................................................... 263

    Departamento de Tecnologa Electrnica 3

  • Departamento de Tecnologa Electrnica

    Lista de acrnimos ALU ArithmeticLogicUnit UnidadAritmticoLgicaBRAM BlockRAM BloquedememoriaconfigurabledelasFPGAsdeXilinxCAD ComputerAidedDesgin DiseoasistidoporordenadorCLB ConfigurableLogicBlock Bloquelgicoconfigurable:sonlosbloquesprincipalesdeunaFPGAdondese

    implementauncircuitoCPLD ComplexProgrammableLogicDevice DispositivodelgicaprogramablecomplejoDCSE DiseodeCircuitosySistemasElectrnicos AsignaturadelatitulacindeIngenieradeTelecomunicacindelaURJCDTE DepartamentodeTecnologaElectrnicaED1 ElectrnicaDigitalI AsignaturadelatitulacindeIngenieradeTelecomunicacindelaURJCED2 ElectrnicaDigitalII AsignaturadelatitulacindeIngenieradeTelecomunicacindelaURJCETSIT EscuelaTcnicaSuperiordeIngenieradeTelecomunicacin EscueladelaUniversidadReyJuanCarlosFIFO FirstInFirstOut TipodepilaenlaqueelprimerelementoquehaentradoeselprimeroensalirFPGA FieldProgramableGateArray Dispositivodelgicaprogramable,demayoresprestacionesquelosCPLDFSM FiniteStateMachine MquinadeestadosfinitosIEEE InstituteofElectricalandElectronicsEngineers InstitutodeIngenierosElctricosyElectrnicosISE IntegratedSoftwareEnvironment EntornodediseoelectrnicodeXilinx.Estelibrousalaversin9.2.JTAG JointTestActionGroup NombrecomnutilizadoparadesignarlanormaIEEE1149.1tituladaStandardTest

    AccessPortandBoundaryScanArchitectureLED LightEmittingDiode Diodoemisordeluz.Estapalabrasehalexicalizadoenespaolyseusaenminsculas.

    Aunqueelplurarcorrectoseraledes,enestelibroseemplearleds.LSB LeastSignificantBit BitmenossignificativoLUT LookUpTable

    Departamento de Tecnologa Electrnica 5

  • Diseo de sistemas digitales con VHDL - v1.00 - 28/10/2011

    Tabladeconsulta,enelcasodelasFPGAseutilizanparaimplementarfuncioneslgicasyseconstruyenenhardwareconmultiplexoresyelementosdememoria

    MSB MostSignificantBit BitmssignificativoPISO ParallelInSerialOut RegistrodedesplazamientoenelquelosdatosentranenparaleloysalenenseriePWM PulseWidthModulation ModulacinporanchodepulsoRAM RandomAccessMemory Memoriadeaccesoaleatorio.EngeneralseconsideranRAMalasmemoriasvoltilesRGB RedGreenBlue Rojo,verdeyazul.Sistemadecodificacindelcolorbasadoenlamezcladeestostres

    coloresROM ReadOnlyMemory Memoriadeslolectura.RTL RegisterTransferLevel Nivel(deabstraccin)detransferenciaderegistros(otransferenciaentreregistros)SIPO SerialInParallelOut RegistrodedesplazamientoenelquelosdatosentranenserieysalenenparaleloUART UniversalAsynchronousReceiverTransmitter TransmisorReceptorAsncronoUniversalURJC UniversidadReyJuanCarlos UniversidadpblicadeMadrid,EspaaUUT UnitUnderTest UnidadbajopruebaVHDL VHSICHardwareDescriptionLanguage UntipodelenguajededescripcindehardwareVHSIC VeryHighSpeedIntegratedCircuit Circuitointegradodemuyaltavelocidad

    6 Universidad Rey Juan Carlos

  • Departamento de Tecnologa Electrnica

    ndice de figuras Figura2.1:ListadepalabrasreservadasdelVHDL............................................................................................................................19 Figura2.2:RepresentacindelaentidadVHDL.................................................................................................................................20 Figura2.3:RepresentacindelaarquitecturaVHDL.........................................................................................................................21 Figura2.4:RepresentacindelaarquitecturaVHDL.........................................................................................................................21 Figura2.5:RepresentacindelaarquitecturaVHDL.........................................................................................................................21 Figura2.6:RepresentacindelaarquitecturaVHDL.........................................................................................................................22 Figura2.7:Representacindelmultiplexor..........................................................................................................................................23 Figura2.8:LatchdetipoD ......................................................................................................................................................................24 Figura2.9:LatchdetipoDconreset .....................................................................................................................................................24 Figura2.10:BiestabledetipoDconreset .............................................................................................................................................25 Figura2.11:Dosbiestablesencascada ..................................................................................................................................................25 Figura2.12:Esquemadeldiseodelcdigo2.16 ................................................................................................................................27 Figura2.13:Cronogramadeldiseodelcdigo2.16..........................................................................................................................27 Figura2.14:Esquemadelcircuitoestructural......................................................................................................................................29 Figura3.1:PlacaXUPVirtexIIPro(XUPV2P)utilizadaenlaasignatura ......................................................................................34 Figura3.2:Conexionesdelospulsadores,interruptoresyLEDdepropsitogeneralenlaplacaXUPV2P ............................35 Figura3.3:PlacaNexys2conlaquedemaneraalternativasepuedeseguirestemanual ...........................................................36 Figura3.4:Conexionesdelospulsadores,interruptoresyLEDdepropsitogeneralenlaplacaNexys2 ..............................36 Figura3.5:Ventanaparacrearunnuevoproyecto .............................................................................................................................38 Figura3.6:InterpretacindeltextodelencapsuladodelaFPGAdelaXUPV2P..........................................................................38 Figura3.7:InterpretacindeltextodelencapsuladodelaFPGAdelaNexys2 ............................................................................38 Figura3.8:Ventanaparalaseleccindeldispositivodelnuevoproyecto .....................................................................................39 Figura3.9:Seleccindeltipodelanuevafuentequevamosacrear ...............................................................................................39 Figura3.10:Definicindelospuertos...................................................................................................................................................40 Figura3.11:Aparienciadelaherramientaalaadirlanuevafuenteled1.vhd .............................................................................41 Figura3.12:Aparienciadelaherramientaalaadirlanuevafuenteled1.vhd .............................................................................42 Figura3.13:EsquemadelaentidadparalaXUPV2P.........................................................................................................................43 Figura3.14:EsquemadelaentidadparalaNexys2 ...........................................................................................................................43 Figura3.15:Comprobarlasintaxis:SynthesizeXSTCheckSyntax ............................................................................................44 Figura3.16:HerramientaPACE.............................................................................................................................................................45 Figura3.17:AsignacindelospinesenlaherramientaPACEparalaXUPV2P ...........................................................................46 Figura3.18:AsignacindelospinesenlaherramientaPACEparalaNexys2 .............................................................................46 Figura3.19:LlamadaalaherramientaiMPACTparaprogramarlaFPGAdelaXUPV2P .........................................................47 Figura3.20:ConfigurandoelcableUSBparaprogramarlaFPGAdelaXUPV2P........................................................................48 Figura3.21:DispositivosJTAGidentificadosenlaXUPV2P ............................................................................................................48 Figura3.22:ProgramacindelaFPGAdelaXUPV2P.......................................................................................................................49 Figura3.23:ProgramacinexitosadelaFPGA....................................................................................................................................50 Figura3.24:ProgramacinfallidadelaFPGA.....................................................................................................................................50 Figura3.25:PantallainicialdelAdept,sindispositivosconectados................................................................................................51 Figura3.26:PantalladelAdeptquehadetectadoalgndispositivoconectado............................................................................52 Figura3.27:PantalladelAdeptquehadetectadolacadenaJTAGdedispositivos(FPGAyPROM).......................................52 Figura3.28:ProcedimientoparacambiarlascaractersticasdelaFPGA........................................................................................53 Figura3.29:Edicindelficheroderestricciones .................................................................................................................................54 Figura4.1:EsquemadelsegunderoparalaXUPV2P.........................................................................................................................58 Figura4.2:EsquemadelsegunderoparalaNexys2 ...........................................................................................................................58 Figura4.3:XilinxConstraintsEditor .....................................................................................................................................................59 Figura5.1:Creacindeunnuevobancodepruebas ..........................................................................................................................63 Figura5.2:Estructuradelbancodepruebas ........................................................................................................................................64 Figura5.3:AadiendoficherosalproyectodeModelsim .................................................................................................................66 Figura5.4:CompilandolosficherosdelproyectodeModelsim .......................................................................................................67 Figura5.5:Comienzodelasimulacinyseleccindelficherodelbancodepruebasparasimular ..........................................67 Figura5.6:Aadiendolaventanadelasformasdeonda(Wave)....................................................................................................68 Figura5.7:Aadiendolassealesdeuncomponente........................................................................................................................68 Figura5.8:Indicacindeltiempodesimulacinyordenparaempezarlasimulacin................................................................69 Figura5.9:Resultadodelasimulacin..................................................................................................................................................69 Figura6.1:Cmoverelpaqueteincluidoenelproyecto...................................................................................................................74 Figura7.1:EsquemadelaconexinRS232 ..........................................................................................................................................79 Figura7.2:ConectorDB9hembradelaplacaylospinesutilizados ...............................................................................................79

    Departamento de Tecnologa Electrnica 7

  • Diseo de sistemas digitales con VHDL - v1.00 - 28/10/2011

    Figura7.3:TramadeunenvoenRS232con8bits,bitdeparidadyunbitdefin....................................................................... 80 Figura7.4:Entradasysalidasdeltransmisor...................................................................................................................................... 80 Figura7.5:DiagramadebloquespreliminardeltransmisordelaUART..................................................................................... 82 Figura7.6:Divisordefrecuenciade100MHza9600Hz.................................................................................................................. 83 Figura7.7:Cronogramadelcontadordeldivisordefrecuenciaenelfinaldelacuenta............................................................. 84 Figura7.8:Cronogramaenlatransicinacero .................................................................................................................................. 84 Figura7.9:Usodelvalordevueltoporlafuncinlog2iparalaobtencindelrangodeunnaturalyununsigned ........... 86 Figura7.10:DiagramadeestadospreliminardeltransmisordelaUART .................................................................................... 90 Figura7.11:Diagramadeestadosconlaindicacindelassealesquehacencambiardeestado ............................................ 91 Figura7.12:Diagramadebloquesdefinitivodeltransmisor ........................................................................................................... 91 Figura7.13:Capturadeeventosdelresetbasadosentiemposoeneventos.ReferenciadoalaXUPV2P ............................... 95 Figura7.14:SimulacinpordefectoenelISE ..................................................................................................................................... 96 Figura7.15:AadirsealesenelISESimulator ................................................................................................................................. 97 Figura7.16:Simulacindeltransmisorconsealesinternasdurante88s.................................................................................. 97 Figura7.17:Formadeondadelasealfpga_txdespusdesimular88s................................................................................ 98 Figura7.18:Formasdeondaparalatransicinalosbitsdedatos ................................................................................................. 99 Figura7.19:Formasdeondaparalatransicinalbitdefin........................................................................................................... 100 Figura7.20:Esperarportiemposyluegoporeventospuedeproducirsealesdeanchomuyinferioralciclodereloj ..... 104 Figura7.21:Solucinalaesperaportiemposseguidadeesperaporeventos(figura7.20) ..................................................... 105 Figura7.22:Esquemadelbancodepruebasdeltransmisorqueincluyeunprocesoquemodelaelreceptordescritoa

    altonivelyverificaqueelenvoescorrecto ................................................................................................................ 107 Figura7.23:Esperaparasituarnosenmediodelbitdeinicio........................................................................................................ 107 Figura7.24:Esperaparasituarnosenmediodelbit0deldato ..................................................................................................... 108 Figura7.25:AvisosdelosassertenModelsim ............................................................................................................................. 110 Figura7.26:EsquemaestructuraldeltransmisordelaUARTqueimplementaremosenlaFPGA......................................... 113 Figura7.27:Esquemainternodeinterfazconlospulsadores ........................................................................................................ 115 Figura7.28:Cmoindicarelmdulodemayornivel ..................................................................................................................... 116 Figura7.29:Representacinesquemticadelaentidaddemsaltonivel .................................................................................. 117 Figura7.30:Representacinesquemticadelaarquitecturaestructural,conloscomponentesreferenciadosysus

    conexiones ......................................................................................................................................................................... 118 Figura7.31:ExplicacindelareferenciaoinstanciadeuncomponenteenVHDL ................................................................... 119 Figura7.32:Nuevaconexindelhiperterminal ............................................................................................................................... 120 Figura7.33:Conexinalpuertoserie ................................................................................................................................................. 121 Figura7.34:Caractersticasdelaconexin ........................................................................................................................................ 121 Figura7.35:ResumendeldiseoenelISE ........................................................................................................................................ 122 Figura7.36:Asignacindelasealdato_tx_rg............................................................................................................................ 123 Figura7.37:Asignacindelpuertodesalidacaracter................................................................................................................ 124 Figura7.38:Esquemadeuncircuitoconunasealquenodavalor ............................................................................................ 125 Figura7.39:Esquemadeuncircuitoconunasealquenoharecibidovalor............................................................................. 125 Figura7.40:EsquemadeuncircuitoconlazocombinacionalyelcdigoVHDLqueloforma............................................... 126 Figura7.41:Esquemaquemuestracmosepuederomperellazocombinacionaldelafigura7.40 ...................................... 126 Figura7.42:Esquemadeejemplodecircuitoestructuralparamostrarlazoscombinacionalesentremdulos.................... 127 Figura7.43:Procesosenmdulosdistintosqueformanunlazocombinacionalconlassealestransmitey

    tranmitiendo. ............................................................................................................................................................... 127 Figura7.44:ElprocesodeltransmisorcomomquinadeMoorepararomperellazocombinacional................................... 128 Figura7.45:Entradasysalidasdelreceptor ...................................................................................................................................... 130 Figura7.46:Cronogramadesalidasdelreceptoralterminarlarecepcinyelcomienzodeunanueva............................... 130 Figura7.47:Diagramadebloquespreliminardelreceptor ............................................................................................................ 131 Figura7.48:Cronogramadeldivisordefrecuencia ......................................................................................................................... 132 Figura7.49:Esquemadelbancodepruebasdelreceptor,queincluyeunprocesoquemodelaeltransmisordescritoa

    altonivel............................................................................................................................................................................. 132 Figura7.50:Esquemadelbancodepruebasdelreceptor,queincluyeeltransmisorsintetizable........................................... 133 Figura7.51:CircuitoquetransmiteloquerecibeconprotocoloRS232 ...................................................................................... 134 Figura8.1:Desbordamientoenlasumadenmerossinsigno...................................................................................................... 140 Figura8.2:Informedesntesis ............................................................................................................................................................. 141 Figura8.3:EsquemaRTL...................................................................................................................................................................... 142 Figura8.4:EsquemaRTLdelsumador .............................................................................................................................................. 142 Figura8.5:Ejemplosdeloscasosdedesbordamientoenlasumaencomplementoados ....................................................... 147 Figura8.6:Ejemplosdemultiplicacinenteraendecimalyenbinario ....................................................................................... 148 Figura8.7:Esquemadelmultiplicadorcombinacional ................................................................................................................... 149 Figura8.8:Sumasparcialesparalamultiplicacin .......................................................................................................................... 150 Figura8.9:Componentebsicodelmultiplicador ........................................................................................................................... 154 Figura8.10:Curvasdeprestacionesreatiempoparaalgoritmos ............................................................................................... 158 Figura8.11:Paralelizacin.................................................................................................................................................................... 158

    8 Universidad Rey Juan Carlos

  • ndice de figuras

    Figura8.12:Segmentacin.....................................................................................................................................................................159 Figura8.13:Compartirrecursos ...........................................................................................................................................................160 Figura8.14:Tresopcionesdediseo.A:combinacional.B:Segmentado.C:Secuencial ...........................................................160 Figura8.15:Algortimoparacalcularunmultiplicadorde4x4apartirde4multiplicadoresde2x2........................................163 Figura8.16:Esquemadelmultiplicadorsegmentado ......................................................................................................................164 Figura8.17:Esquemticodelmultiplicadorsecuencialde4bits ...................................................................................................167 Figura8.18:UtilizacindereadelaNexys2paraimplementarlosdistintosmultiplicadoresrespectoalnmerode

    bitsdelmultiplicador .......................................................................................................................................................170 Figura8.19:FrecuenciamximadelaNexys2paralosdistintosmultiplicadoresrespectoalnmerodebitsdel

    multiplicador......................................................................................................................................................................170 Figura8.20:Ejemplodedivisinenteraendecimalyenbinario ...................................................................................................171 Figura8.21:Paso1deladivisin:clculodeldesplazamientoinicial...........................................................................................172 Figura8.22:Paso2deladivisin .........................................................................................................................................................172 Figura8.23:Paso3deladivisin .........................................................................................................................................................172 Figura8.24:Paso4deladivisin .........................................................................................................................................................172 Figura8.25:Paso5deladivisin .........................................................................................................................................................173 Figura8.26:Paso6deladivisin .........................................................................................................................................................173 Figura9.1:ConectorVGA .....................................................................................................................................................................175 Figura9.2:Pxelesenunapantallaconresolucinde640x480 .......................................................................................................176 Figura9.3:Sealesdesincronismoparaunafrecuenciaderefrescode60Hzy640x480pxeles.............................................176 Figura9.4:Cronogramadeunalneaenpxeles ...............................................................................................................................177 Figura9.5:Entradasysalidasdelsincronizador ...............................................................................................................................179 Figura9.6:Esquemadelsincronizador ...............................................................................................................................................180 Figura9.7:CronogramadelcontadordeciclosderelojparalaXUPV2P(100MHz) .................................................................181 Figura9.8:CronogramadelcontadordeciclosderelojparalaNexys2(50MHz) .....................................................................181 Figura9.9:Cronogramadelacuentadepxelescomenzandodesdelospxelesvisibles ..........................................................183 Figura9.10:EsquemadebloquesdelcontroladorVGAsencillo....................................................................................................184 Figura9.11:CartadeajustequedebemostrarseporpantallaparalaXUPV2P...........................................................................186 Figura10.1:Campodejuego ................................................................................................................................................................187 Figura10.2:Esquemadebloquesdeljuegodeteniscontroladoporlospulsadores ..................................................................188 Figura10.3:Coordenadasymedidasdeljugadorizquierdoenelcampo ....................................................................................189 Figura10.4:cuatrodireccionesdelapelota .......................................................................................................................................191 Figura10.5:Ejemplosdecambiosdetrayectoriadelapelotaalchocarconlasparedes ...........................................................191 Figura11.1:ConectorPS/2.....................................................................................................................................................................193 Figura11.2:CronogramageneraldelatransmisindelpuertoPS/2.............................................................................................194 Figura11.3:Ejemplodelcronogramaparaunatransmisindelteclado ......................................................................................194 Figura11.4:Entradasysalidasdelreceptordelteclado ..................................................................................................................195 Figura11.5:Cdigosscandeuntecladoinglsnorteamericano ....................................................................................................195 Figura11.6:Contenidodelostresbytesdeinformacinenviadosporelratn ..........................................................................197 Figura11.7:CronogramadelatransmisindedatosentrelacomputadoraoFPGA(rojo)yelratn(azul).........................199 Figura11.8:Cronogramasseparadosdelatransmisindedatosdesdelacomputadorahaciaelratn ................................199 Figura11.9:EsquemasimplificadodelaconexinendrenadorabiertodelPS/2 ........................................................................200 Figura11.10:Funcionamientodeuntransistorendrenadorabiertoconresistenciadepullup..............................................201 Figura11.11:Funcionamientodedostransistoresconectadosendrenadorabiertoconresistenciadepullup....................201 Figura11.12:Buffertriestado ..............................................................................................................................................................202 Figura11.13:Separacindeunpuertodeentradaysalidaenseales..........................................................................................202 Figura12.1:BloquedememoriaRAMdedoblepuerto...................................................................................................................205 Figura12.2:EsquemadebloquesdelcircuitoquepintaenlapantallaunaimagenguardadaenunaROM.........................206 Figura12.3:ImagendelaROMdelcdigo12.1 ................................................................................................................................208 Figura12.4:ClculodeladireccindememoriaatravsdelnmerodepxelynmerodelneadelaVGA .....................209 Figura12.5:EsquemadebloquesdelcircuitoquepintaenlapantallaunaimagenguardadaenunaROMretrasando

    lassealesdelaVGA........................................................................................................................................................211 Figura12.6:Eliminacindetransicionesespuriasconunbiestable...............................................................................................212 Figura12.7:Clculodeladireccindememoriaparapintarunaimageneldobledegrande .................................................214 Figura12.8:Esquemadelclculodeladireccindememoriaparaimgenesde16x16............................................................215 Figura12.9:Clculodeladireccindememoriaaprovechandoquelaimagentieneunnmerodecolumnaspotencia

    dedos ..................................................................................................................................................................................215 Figura12.10:Clculodeladireccindememoriaydelndicedelpxelenmemoriasqueguardantodalafilaenuna

    direccin..............................................................................................................................................................................217 Figura12.11:CreacindeunIP............................................................................................................................................................222 Figura12.12:SeleccindeBlockMemoryGenerator .......................................................................................................................222 Figura12.13:Seleccindeopcionesdelamemoria(I) .....................................................................................................................223 Figura12.14:Seleccindeopcionesdelamemoria(II) ....................................................................................................................223 Figura12.15:Seleccindeopcionesdelamemoria(III)...................................................................................................................223

    Departamento de Tecnologa Electrnica 9

  • Diseo de sistemas digitales con VHDL - v1.00 - 28/10/2011

    Figura12.16:CronogramadeconlalecturayescrituradelaBRAM(modowritefirst)........................................................... 224 Figura12.17:CronogramadeconlalecturayescrituradelaBRAM(modoreadfirst) ............................................................ 224 Figura12.18:Diagramadebloquesdelaprctica ............................................................................................................................ 224 Figura12.19:Primeraversindelcircuito ......................................................................................................................................... 225 Figura13.1:MapadebitsdelaA,laBylai............................................................................................................................. 227 Figura13.2:Diagramadebloquesdelcircuitoqueescribeloscaracteresporpantalla ............................................................. 228 Figura13.3:ConfiguracindelaROMparaguardarlainformacindelospxelesdelos128caracteresASCII ................. 229 Figura13.4:Divisindelapantallaencuadrculasynumeracindelascuadrculas ............................................................... 231 Figura13.5:ClculodelafilaycolumnadelacuadrculaapartirdelafilaycolumnadelaVGA ....................................... 232 Figura13.6:Esquemadelosclculosdelasdireccionesdememoriaparalaobtencindelcolordelpxel.......................... 233 Figura14.1:Distintosoperadoresdeconvolucin ........................................................................................................................... 235 Figura14.2:AplicacindeloperadorhorizontaldePrewittalpxel(1,1).................................................................................... 235 Figura14.3:Numeracindelospxelesdelaventana..................................................................................................................... 236 Figura14.4:DiagramadebloquesdelcircuitoqueprocesaymuestraunaimagenguardadaenunaROM ........................ 236 Figura14.5:EntradasysalidasdelmduloProcVentanaquerealizalaconvolucindeventana3x3 ............................... 238 Figura14.6:Esquemadelasoperacionesdelaconvolucin3x3dePrewitt ............................................................................... 238 Figura14.7:DiagramadebloquesdelcircuitoqueprocesaymuestraunaimagenrecibidaporlaUART........................... 239 Figura14.8:Pxelesrepetidosenelclculodelaconvolucin3x3paraelprocesamientodedospxelesconsecutivos ..... 240 Figura14.9:Registrosqueguardantresfilasdelaimagen............................................................................................................. 241 Figura14.10:DesplazamientodelosregistrosalrecibirunnuevopxeldelaUART ............................................................... 241 Figura14.11:Desplazamientodelosregistros:llegadadeunpxeldelborde............................................................................ 242 Figura14.12:Desplazamientodelosregistros:salidadeunpxeldelborde .............................................................................. 242 Figura14.13:Diagramadebloquessimplificadodelmdulodelosregistrosdedesplazamiento ......................................... 243 Figura14.14:Esquemadelaescrituradetreselementosenelbfercircular.............................................................................. 243 Figura14.15:Llenadodelbfercircularyescrituraconelbferlleno......................................................................................... 244 Figura14.16:Bfercircularconunnicopuntero ........................................................................................................................... 244 Figura14.17:Funcionamientodelbfercircularconunnicopunterocuandoestlleno ...................................................... 245 Figura14.18:Variantedelcircuitodelafigura14.9implementadoconbferes ........................................................................ 245 Figura14.19:DiagramadebloquesdelaFIFO ................................................................................................................................. 246 Figura15.1:VideojuegoPacMan........................................................................................................................................................ 247 Figura15.2:VersindelPacManparaAtari .................................................................................................................................... 247 Figura15.3:Cuadrculadelcampodejuegoysurelacinconlapantallade640x480.............................................................. 248 Figura15.4:Paredesrellenasconunslocolor ................................................................................................................................ 256 Figura15.5:Paredesrellenascondibujos .......................................................................................................................................... 256 Figura15.6:Tiposdeceldasparapintarlasparedesdellaberinto................................................................................................ 256 Figura15.7:Obtencindeltipodeceldaparapintarlasparedesapartirdelasceldasadyacentes ....................................... 257 Figura15.8:Tamaodelpacmancomparadoconelantiguoyelnuevopasillo ....................................................................... 258 Figura15.9:Pacmanampliadoparaqueocupelamayorpartedelpasillo ................................................................................ 258 Figura15.10:Coordenadasdelpacmanampliado.......................................................................................................................... 259 Figura15.11:Movimientodelpacmanpxelapxelhastallegaralaposicinfinal ................................................................. 260

    10 Universidad Rey Juan Carlos

  • ndice de cdigo VHDL Cdigo2.1:EntidadenVHDL................................................................................................................................................................20 Cdigo2.2:ArquitecturaenVHDL.......................................................................................................................................................21 Cdigo2.3:ArquitecturaenVHDL.......................................................................................................................................................21 Cdigo2.4:ArquitecturaenVHDL.......................................................................................................................................................21 Cdigo2.5:Arquitecturaequivalentealadelcdigo2.4 ..................................................................................................................21 Cdigo2.6:ArquitecturadeunmultiplexorenVHDL......................................................................................................................22 Cdigo2.7:ArquitecturaequivalentedeunmultiplexorenVHDL................................................................................................22 Cdigo2.8:Descripcindelmultiplexorequivalentealadelcdigo2.7utilizandolasentenciacase......................................22 Cdigo2.9:Multiplexorde2bitsdeseleccin.....................................................................................................................................23 Cdigo2.10:Procesoequivalenteparaelmultiplexorde2bitsdeseleccindelcdigo2.9 .......................................................23 Cdigo2.11:LatchdetipoDactivopornivelalto ..............................................................................................................................24 Cdigo2.12:LatchdetipoDactivopornivelaltoconreset .............................................................................................................24 Cdigo2.13:BiestabledetipoDactivoporflancodesubida ...........................................................................................................25 Cdigo2.14:Dosbiestablesencascada.................................................................................................................................................25 Cdigo2.15:Diseoequivalentealcdigo2.14...................................................................................................................................26 Cdigo2.16:Circuitodetectordeflanco...............................................................................................................................................26 Cdigo2.17:Contadormdulo8 ...........................................................................................................................................................27 Cdigo2.18:Registrodecargaparaleloysalidaserie........................................................................................................................28 Cdigo2.19:Ejemplodediseoestructural .........................................................................................................................................31 Cdigo3.1:PaquetespordefectoqueponeelISE ..............................................................................................................................42 Cdigo3.2:Paquetesrecomendados .....................................................................................................................................................42 Cdigo3.3:CdigodelaentidadparalaXUPV2P.............................................................................................................................43 Cdigo3.4:CdigodelaentidadparalaNexys2 ...............................................................................................................................43 Cdigo3.5:Cdigodelaarquitecturadeled1.vhdenlaXUPV2P ..................................................................................................43 Cdigo3.6:Cdigodelaarquitecturadeled1.vhdenlaNexys2.....................................................................................................43 Cdigo4.1:Cdigodelaprimeraversin(confallos)delsegunderoparalaXUPV2P..............................................................58 Cdigo4.2:Cdigodelaprimeraversin(confallos)delsegunderoparalaNexys2 ................................................................59 Cdigo4.3:declaracindeunrangoincorrectaparasntesis .......................................................................................................61 Cdigo4.4:declaracionescorrectadeunrango ..................................................................................................................................61 Cdigo4.5:ladeclaracindeunasealsinrangoimplementaunasealde32bits ...................................................................61 Cdigo4.6:Declaracindesealunsigned .......................................................................................................................................61 Cdigo4.7:EntidaddelasegundaversindelsegunderoparalaXUPV2P..................................................................................61 Cdigo4.8:EntidaddelasegundaversindelsegunderoparalaNexys2....................................................................................61 Cdigo4.9:Declaracindelassealesusadasparacontar ...............................................................................................................61 Cdigo5.1:ProcesoquesimulaelrelojdelaXUPV2P ......................................................................................................................65 Cdigo5.2:ProcesoquesimulaelrelojdelaNexys2.........................................................................................................................65 Cdigo5.3:ProcesoquesimulalasealderesetparalaXUPV2P ..................................................................................................65 Cdigo5.4:ProcesoquesimulalasealderesetparalaNexys2.....................................................................................................65 Cdigo6.1:Sentenciaconlgicadirecta ...............................................................................................................................................71 Cdigo6.2:Sentenciaequivalentealcdigo6.1peroconlgicainversa........................................................................................71 Cdigo6.3:Aadiendo_nalassealesqueusanlgicainversa ...................................................................................................72 Cdigo6.4:Invirtiendolospuertosquetrabajanconlgicainversa ...............................................................................................72 Cdigo6.5:Usandoconstantesparaindependizarelcircuitodeltipodelgicadelasentradas...............................................72 Cdigo6.6:Declaracinyusodegenricos .........................................................................................................................................72 Cdigo6.7:Ejemplodelatransmisindelosgenricosenunareferenciaacomponente ..........................................................73 Cdigo6.8:InclusindelpaqueteSTD_LOGIC_1164delabibliotecaIEEE .................................................................................73 Cdigo6.9:Paqueteconladefinicindelasconstantes ....................................................................................................................73 Cdigo6.10:Entidadyarquitecturaqueusanelpaquetedelcdigo6.9 .......................................................................................74 Cdigo7.1:Paqueteconladeclaracindeconstantes........................................................................................................................81 Cdigo7.2:ConstanteparaelclculodelfindecuentadedivisordefrecuenciadelaUART...................................................84 Cdigo7.3:Rangodelasealcuentabasadoenlaconstantedefindecuenta .............................................................................84 Cdigo7.4:Declaracindeunafuncinparaelclculodellogaritmo ...........................................................................................85 Cdigo7.5:CuerpodelpaqueteUART_PKGycuerpodelafuncinlog2i ..................................................................................86 Cdigo7.6:Ejemplodelautilizacindelresultadodelafuncinlog2iparalosrangosdelasseales.................................86 Cdigo7.7:Constantequerepresentaelnmerodebitsmenosunodelcontadordeldivisordefrecuencia .........................87 Cdigo7.8:Declaracindelasea,paraelcasodetipounsigned,quecuentaconelrangodeterminadoporla

    constantecalculada .............................................................................................................................................................87 Cdigo7.9:Declaracindelaseal,paraelcasodetiponatural,conelrangodeterminadoporlaconstantecalculada......87

    Departamento de Tecnologa Electrnica 11

  • Diseo de sistemas digitales con VHDL - v1.00 - 28/10/2011

    Cdigo7.10:ProcesodeldivisordefrecuenciadeltransmisordelaUART.................................................................................. 87 Cdigo7.11:Elusodefuncionesdentrodelmismopaquetedaproblemasenalgunasherramientas .................................... 88 Cdigo7.12:Usodeconstantesdiferidasparaevitarproblemasporusarfuncionesdentrodelmismopaquete(cdigo

    7.11).NovaleparaelISE................................................................................................................................................... 89 Cdigo7.13:Funcinparaelredondeo ............................................................................................................................................... 90 Cdigo7.14:Constanteconelperiododelrelojennanosegundos ................................................................................................. 93 Cdigo7.15:Modificacindelprocesodelrelojparaquesufrecuenciadependadeconstantes .............................................. 94 Cdigo7.16:Esperaraquehayaunflancodesubidadelreloj......................................................................................................... 95 Cdigo7.17:Nombredelanuevaentidadparaelbancodepruebas........................................................................................... 102 Cdigo7.18:Declaracindeuntipodedatosqueesunvectordestd_logic_vector(slv)ylaconstanteconlos

    datosaprobar ................................................................................................................................................................... 102 Cdigo7.19:Asignacindelvalordelndicecerodelaconstante................................................................................................ 102 Cdigo7.20:Negamoslosbitsdelsegundoenvo........................................................................................................................... 103 Cdigo7.21:Tiempoquetranscurreenenviarunbit ..................................................................................................................... 104 Cdigo7.22:Esperaalflancodebajadadelasealfpga_tx ....................................................................................................... 107 Cdigo7.23:Ejemplodeunasentenciaassert .............................................................................................................................. 108 Cdigo7.24:Sentenciaassertparaelbit0delprimerenvo ...................................................................................................... 109 Cdigo7.25:Bucleforparacomprobartodoslosbitsdeldato.................................................................................................... 109 Cdigo7.26:Modificacindelcdigo7.25paraquecomparelosbitssegnelnmerodeenvo .......................................... 110 Cdigo7.27:DeclaracindelavariablenumenviodentrodelprocesoP_Receptor ............................................................. 111 Cdigo7.28:Incrementodelavariablenumenvio.......................................................................................................................... 111 Cdigo7.29:Modificacindelprocesodelreceptordelbancodepruebasparaquesedetengaenlaltimarecepciny

    generelasealdeavisodelfindelasimulacin ........................................................................................................ 112 Cdigo7.30:Modificacindelprocesodelrelojparadetenerlasimulacin............................................................................... 112 Cdigo7.31:Asignacindeunhexadecimalaunvectorde8bits................................................................................................ 115 Cdigo7.32:Declaracindeentidadydiferenciasconladeclaracindecomponente............................................................. 118 Cdigo7.33:Declaracindecomponenteydiferenciasconladeclaracindeentidad............................................................. 118 Cdigo8.1:Llamadaalpaquetenumeric_std,recomendado.................................................................................................... 136 Cdigo8.2:Llamadaalospaquetesstd_logic_arithystd_logic_unsigned,norecomendado,usaremosel

    delcdigo8.1 .................................................................................................................................................................... 136 Cdigo8.3:Comparacinentretiposunsigned,signedystd_logic_vector ................................................................. 137 Cdigo8.4:Conversindirectaentreelementos(bits)devectoresyconstd_logic ............................................................. 137 Cdigo8.5:Conversincastentresignedyunsignedconstd_logic_vector(delmismorango) .............................. 138 Cdigo8.6:Funcionesdeconversinentresignedyunsignedainteger,usandoelpaquetenumeric_std............. 138 Cdigo8.7:Conversinentreintegerystd_logic_vector.................................................................................................. 139 Cdigo8.8:Asignacindeconstantesaununsignedyusodeconstantesenoperaciones ................................................... 139 Cdigo8.9:Sumadetiposunsigned sinconsiderarelacarreo.................................................................................................. 139 Cdigo8.10:Sumadetiposunsigned considerandoelacarreodemaneraerrnea.............................................................. 140 Cdigo8.11:Sumaconsiderandoelacarreodetiposunsigned .................................................................................................. 140 Cdigo8.12:Sumadeunsignedconavisodedesbordamiento .................................................................................................. 140 Cdigo8.13:Restadenmerospositivos .......................................................................................................................................... 143 Cdigo8.14:Sumadenmerosenteros ............................................................................................................................................. 144 Cdigo8.15:Restadenmerosenteros ............................................................................................................................................. 144 Cdigo8.16:Sumadetipossignedconsiderandoelacarreo....................................................................................................... 145 Cdigo8.17:Sumadetipossignedconsiderandoelacarreoyutilizandolafuncinresize .............................................. 145 Cdigo8.18:Sumadetipossignedconsiderandoelacarreoyutilizandolafuncinresizeconelatributolength.... 145 Cdigo8.19:Productodedosunsignedproduceununsignedconunnmerodebitsresultadodelasumadel

    nmerodebitsdelosfactores........................................................................................................................................ 147 Cdigo8.20:Productoporunaconstantederangomayor.Errneo ............................................................................................ 148 Cdigo8.21:Productoporunaconstantederangomayor.Correcto........................................................................................... 148 Cdigo8.22:Multiplicacincombinacionalconsentenciasconcurrentes.................................................................................... 150 Cdigo8.23:Asignacininvirtiendoelordendelosbits................................................................................................................ 151 Cdigo8.24:Asignacininvirtiendoelordendelosbitsusandolasentenciagenerate ....................................................... 151 Cdigo8.25:Multiplicadorcombinacionalgenrico ....................................................................................................................... 152 Cdigo8.26:Bancodepruebasparaelmultiplicadorcombinacionalgenrico.......................................................................... 153 Cdigo8.27:Multiplicadorestructural .............................................................................................................................................. 155 Cdigo8.28:Multiplicadorestructuralgenrico .............................................................................................................................. 156 Cdigo8.29:Multiplicadorsegmentadogenrico............................................................................................................................ 165 Cdigo8.30:Multiplicadorsecuencialgenrico ............................................................................................................................... 169 Cdigo9.1:PaqueteconladefinicindelasconstantesdelcontroladorVGA........................................................................... 182 Cdigo9.2:Procesoqueasignacoloressegnelpxel .................................................................................................................... 185 Cdigo12.1:MemoriaROMde256posicionesyunbitdeanchodepalabra ............................................................................ 207 Cdigo12.2:Clculodeladireccindememoriaconmultiplicacin .......................................................................................... 210 Cdigo12.3:Dibujarlaimagendemanerarepetida........................................................................................................................ 213

    12 Universidad Rey Juan Carlos

  • Cdigo12.4:MemoriaROMde16posicionesy16bitsdeanchodepalabra ..............................................................................216 Cdigo12.5:MemoriaROMde10x10y256coloresgrises .............................................................................................................218 Cdigo12.6:Asignacindelvalordeldatodelamemoriade8bitsdegrisaloscoloresdelaXUP ......................................219 Cdigo12.7:Asignacindelvalordeldatodelamemoriade8bitsdegrisaloscoloresdelaNexys2 .................................219 Cdigo12.8:MemoriaROMde10x10y256colores.........................................................................................................................219 Cdigo12.9:Asignacindelvalordeldatodelamemoriade8bitsdecoloraloscoloresdelaXUP(enproceso

    secuencial) ..........................................................................................................................................................................220 Cdigo12.10:Asignacindelvalordeldatodelamemoriade8bitsdecoloraloscoloresdelaNexys2.............................220 Cdigo12.11:MemoriaRAMdedoblepuerto,unodeescrituraylectura(modowritefirst)yelotrodeslolectura.......221 Cdigo12.12:ProcesodelamemoriaRAMdedoblepuerto,unodeescrituraylectura(modoreadfirst)yelotrode

    slolectura .........................................................................................................................................................................221 Cdigo15.1:ConstantedelaROMparadibujarelpacmanadoscolores ..................................................................................251 Cdigo15.2:ConstantedelaROMparadibujarellaberinto(mitad)............................................................................................252

    Departamento de Tecnologa Electrnica 13

  • ndice de tablas Tabla2.1:Valoresdelstd_logic........................................................................................................................................................ 20 Tabla7.1:PuertosdelRS232queusaremosylospinesenlasplacas ............................................................................................ 79 Tabla7.2:ConstantesdelaUARTparasuconfiguracin................................................................................................................. 81 Tabla7.3:PuertosdeltransmisordelaUART .................................................................................................................................... 81 Tabla7.4:Tabladeestados,entradasysalidasdeltransmisordelaUART.................................................................................. 92 Tabla7.5:PuertosdeINTERFAZ_PBysucorrespondenciaconlospulsadoresdelastarjetasyeldatoquetienenque

    enviaraltransmisor ......................................................................................................................................................... 114 Tabla7.6:PuertosdelreceptordelaUART....................................................................................................................................... 130 Tabla8.1:Nmerosencomplementoadosde4bitsysucorrespondientedecimal ................................................................. 146 Tabla8.2:Variacindereayretardosconelnmerodebitsdelosfactoresdelmultiplicadorcombinacionaldel

    apartado8.8.3paralaNexys2 ........................................................................................................................................ 162 Tabla8.3:Variacindereayretardosconelnmerodebitsdelosfactoresdelosmultiplicadoresembebidosdela

    Nexys2(cdigo8.19) ........................................................................................................................................................ 162 Tabla8.4:Variacindereayretardosconelnmerodebitsdelosfactoresdelosmultiplicadoressegmentados

    (cdigo8.29) ...................................................................................................................................................................... 166 Tabla8.5:Variacindereayretardosconelnmerodebitsdelosfactoresdelosmultiplicadoressecuenciales

    (cdigo8.30) ...................................................................................................................................................................... 169 Tabla9.1:Valoresparadiversasresolucionesdepantalla .............................................................................................................. 177 Tabla9.2:PuertosdelconversorVGAdelaXUPV2P ..................................................................................................................... 178 Tabla9.3:PuertosdelconversorVGAdelaNexys2........................................................................................................................ 179 Tabla9.4:Caractersticasdelospuertosdelmdulodesincronizacin.Elrestodepuertosestnenlastablas9.2y9.3... 180 Tabla11.1:ComunicacinentreelratnylaFPGAhastahabilitarlatransmisindedatosdelratn .................................. 198 Tabla12