Home
File - Laboratorio de Electrónica
Contents
1. SP Registro de 16 bits llamado puntero de pila este apunta a la posici n actual del lector de la pila PC El Program Counter o Contador de Programa es un registro de 16 bits El cual contiene la direcci n de la instrucci n actual a ejecutar El PC no se modifica directamente moviendo valores a este registro solamente se modificar mediante instrucciones de salto JP JR CALL etc Registro de flags Ser llamado F este no es un registro de prop sito general en donde se pueda introducir valores a voluntad Cada uno de los diferentes bits del registro F tiene un significado propio que cambia autom ticamente seg n el resultado de las operaciones anteriores Los bits son los siguientes o Flag S sign o signo Este flag se pone a uno si el resultado de la operaci n realizada en complemento a dos es negativo es una copia del bit m s significativo del resultado o Flag Z zero o cero Este flag se pone a uno si el resultado de la ltima operaci n que afecte a los flags es cero o Flag P V Parity Overflow o Paridad Desbordamiento En las operaciones que modifican el bit de paridad este bit vale 1 si el n mero de unos del resultado de la operaci n es par y O si es impar Si por contra el resultado de la operaci n realizada necesita m s bits para ser representado de los que nos provee el registro tendremos un desbordamiento con este flag a 1 Este mismo bit sirve pues para 2 tareas y nos indicar una u otr
2. Y JPP direccion Salta si el indicador de signo S est a cero resultado positivo Y JP M direccion Salta si el indicador de signo S est a uno resultado negativo CALL 00111 Esta instrucci n genera una subrutina y retornar la instrucci n siguiente en donde se hizo la llamada cuando se encuentre la instrucci n RET LLAMADA LD A 20 RE A CALL LLAMADA Recordar que la pila de llamadas es limitada ya que cada posici n de salto se guarda en una memoria tipo LIFO last in first out Esta memoria est contenida en la memoria donde se encuentran los registros El n mero de llamadas m ximo ser de 4 AND 01000 Instrucci n que realiza la operaci n l gica and Las banderas que se ven afectadas a esta instrucci n son SUB y E V 0 0 Donde significa que el flag se ve afectado por la operaci n acorde al resultado V cambia cuando existe un overflow acorde al resultado y significa que la instrucci n no afecta el resultado OR 01001 Instrucci n que realiza la operaci n l gica or Las banderas que se ven afectadas a esta instrucci n son WC A O SUB Donde significa que el flag se ve afectado por la operaci n acorde al resultado V cambia cuando existe un overflow acorde al resultado y significa que la instrucci n no afecta el resultado XOR 01010 Instrucci n que realiza la operaci n l gica xor Las banderas que se ven afectadas a esta instrucci n son
3. impreso con el formato de la IEEE que contenga el diagrama esquem tico de hardware y el c digo del int rprete al momento de presentar la pr ctica M ximo 3 integrantes por grupo de trabajo No ser necesario utilizar placas externas por lo tanto deber estar solamente la tarjeta de la FPGA Si se desea utilizar el m dulo serial TTL solamente estar n los cables a las entradas de la FPGA sin placas Solo los proyectos que est n totalmente funcionales bien encapsulados y que cumplan con todos los requerimientos y restricciones del proyecto pueden ir a Expolab Si se detecta que dos o m s grupos tienen un c digo de programaci n similar o totalmente copiado la nota del proyecto de estos grupos quedara anulada La nota total del proyecto del estudiante ser anulada si no tiene conocimiento del hardware sintetizado o de la programaci n del proyecto Vo Bo Ing Byron Arrivillaga Coordinador de Laboratorios
4. 0 0 SUB 0 V Donde significa que el flag se ve afectado por la operaci n acorde al resultado V cambia cuando existe un overflow acorde al resultado y significa que la instrucci n no afecta el resultado NEG 01011 Instrucci n que realiza la operaci n l gica not Las banderas que se ven afectadas a esta instrucci n son Donde r es un registro de 8 bits el flag se ve afectado por la operaci n acorde al resultado V cambia cuando existe un overflow acorde al resultado y significa que la instrucci n no afecta el resultado HALT 01100 La instrucci n HALT suspende el funcionamiento de la CPU hasta que una interrupci n la habilita o se recibe un reset Mientras existe el estado HALT el procesador ejecuta NOP para mantener la l gica de la memoria IN 01110 Esta instrucci n se utilizar para acceder a una direcci n espec fica de puerto para ser guardado en un registro El valor que se encuentra en la direcci n de memoria n se guarda en el r egistro A IN A n OUT 01111 Esta instrucci n se utilizar para mostrar en una direcci n espec fica de puerto el registro especificado El valor que se encuentra en la direcci n de memoria n se guarda en el reg istro A OUT n A Especificaci n del Hardware El dispositivo debe constar con una unidad central de procesos constituida por memorias para el manejo de los registros y pilas descritos anteriormente una unidad de control y una unida
5. Universidad de San Carlos de Guatemala Facultad de ingenier a Escuela de mec nica el ctrica Laboratorio de electr nica 6 Segundo semestre de 2015 Microcontrolador b sico sintetizado Objetivos General Aplicar los conceptos obtenidos en el laboratorio de electr nica 6 para describir hardware dentro de una FPGA Espec ficos Y Aplicar los conocimientos adquiridos en cursos anteriores para describir una arquitectura de hardware Y Sintetizar los m dulos de un microprocesador dentro de una FPGA Y Desarrollar la l gica de los procesos concurrentes y secuenciales en el lenguaje de descripci n de hardware VHDL Y Implementar el manejo del puntero de instrucciones en la pila Y Emplear un int rprete b sico para programar el hardware descrito Descripci n Se debe sintetizar un hardware capaz de funcionar como un microcontrolador muy b sico Este est compuesto por registros memorias y unidades de funcionamiento l gico El microcontrolador deber ejecutar instrucciones las cuales est n almacenadas en una memoria interna Este al estar procesando cada instrucci n dependiendo de cu l sea se deber modificar registros puertos espacios de memoria etc El manejo del puntero ser muy importante ya que este es el encargado de ir ejecutando cada una de las instrucciones tomar en cuenta los saltos y las llamadas a subrutinas Todas las instrucciones ser n programadas por un usuario por lo tanto deber
6. a paridad o desbordamiento seg n sea el tipo de operaci n que hayamos realizado El flag de desbordamiento se activar cuando en determinadas operaciones pasemos de valores 11111111b a 00000000b por falta de bits para representar el resultado o viceversa o Flag N Substract o Resta Se pone a 1 si la ltima operaci n realizada fue una resta Se utiliza en operaciones aritm ticas o Flag C Carry o Acarreo Este flag se pone a uno si el resultado de la operaci n anterior no cupo en el registro y necesita un bit extra para ser representado Este bit es ese bit extra Veremos su uso cuando tratemos las operaciones aritm ticas en esta misma entrega Indicadores de flags Registro F Bit 7 6 5 4 3 2 1 0 sje eirf Registro F S Sign 2 zero Pvy Parity Overflow N Substract E Carry Set de instrucciones La representaci n binaria de la instrucci n se indica entre corchetes Son 15 instrucciones b sicas a realizar LD 00000 Instrucci n para la carga de datos en los diferentes registros este no afectar ning n valor del registro de banderas La sintaxis de esta instrucci n es LD DESTINO ORIGEN Sus funciones deber n ser las siguientes o Colocar un valor en un registro LD A 10 A 10 LD B 200 B 200 o Copiar el valor de un registro a otro registro LD A B ACIB o Escribir en memoria en una direcci n determinada un valor LD 12345 10 Memoria 12345 valor en A
7. crear un software capaz de interpretar cada una de las instrucciones creadas en lenguaje assembler y convertirlas a binario Las instrucciones binarias ser n enviadas por el protocolo de comunicaci n UART desde el puerto serial de una computadora hasta el puerto serial de una FPGA Cada instrucci n binaria tendr un formato espec fico para luego ser decodificada e interpretada por el microcontrolador sintetizado Especificaciones Formato de instrucci n binaria Para enviar por comunicaci n UART se deber n presentar los siguientes formatos posibles Esto depende de qu instrucci n se quiera interpretar El tama o de la trama de bits no se debe modificar La longitud total de la trama a enviar por UART es de 22 bits Neum nico Direcci n Direcci n 5 bits 8 bits 9 bits Neum nico Direcci n Dato 5 bits 8 bits 9 bits Neum nico Indicador Direcci n 5 bits 8 bits 9 bits Neum nico Direcci n 5 bits 9 bits Neum nico 5 bits Registros requeridos Estos registros fueron tomados del microprocesador 280 por su simplicidad se puede referir al manual de instrucciones de este microprocesador A Este es un registro de 8 bits que funciona como el acumulador Este registro se utiliza generalmente como destino de muchas operaciones aritm ticas de comparaciones y testeos B C D E H L Estos son registros de 8 bits para prop sito general utilizados para operaciones almacenamiento de valores etc
8. d l gica aritm tica la cual podr manejar entradas y salidas de espacios de memoria como banderas espacios en memoria RAM y puertos La unidad de control puede acceder a los registros a la memoria y a los puertos conectados Las memorias a implementar son dos una memoria ROM en la cual se guardar cada una de las instrucciones a ejecutar y una memoria RAM en la cual se guardar n los registros las flags la LIFO para manejar las llamadas y los puertos de entrada y salida Se requiere de dos puertos estos pueden ser de entrada o de salida El siguiente diagrama muestra un esquema del hardware posible a describir Memoria Principal La l gica del comportamiento del hardware se muestra en el siguiente diagrama de bloques b sico de un procesador B squeda de instrucciones _ de Bus Decodificador E memoria y de instrucciones Clock Registros internos Las instrucciones deber n ser recibidas a la FPGA por medio de comunicaci n UART estas deber n ser guardadas en una memoria ROM interna para ser le das al ejecutar el programa recibido Deber n llevar en el registro espec fico de qu instrucci n se est ejecutando El periodo de reloj deber ser modificable a uno m s largo al que utiliza la FPGA y con esto verificar si cada instrucci n se est ejecutando correctamente Especificaci n del software int rprete El int rprete simplemente deber leer un archivo l n
9. ea por l nea guardarlo en arreglos de Strings y separarlo en partes las cuales se convertir n en binario dependiendo de cada instrucci n Si el neum nico est seguido por otra palabra estos deber n estar separados por un espacio en blanco Las direcciones y los datos tendr n que estar separados por comas Si se desea acceder a una posici n de memoria este debe estar limitado por par ntesis Al enviar los datos solamente se trabajar con valores en sistema decimal enteros positivos o negativos utilizar complemento a dos Asumir que el c digo no tiene errores no se pide que se detecten errores solamente que se interpreten todas las instrucciones Al momento de la calificaci n se proporcionar un c digo de assembler para que sea programado en el microcontrolador sintetizado y as poder calificar cada una de las partes que se requieren Este int rprete puede programarse en Python Java o Matlab Octave creando tambi n la comunicaci n serial entre la computadora y la FPGA Libertades y restricciones gt gt El hardware se debe sintetizar dentro de una FPGA El n mero de neum nicos total ser de 15 No se permite el uso de microcontroladores o microprocesadores que no sean sintetizados dentro de la FPGA El software para sintetizar deber ser creado en un lenguaje de programaci n como Python java Matlab etc Para programar el microcontrolador se deber utilizar comunicaci n UART Debe entregar un reporte
10. intaxis de la instrucci n SUB DESTINO ORIGEN Las operaciones requeridas son las siguientes SUB A B AAB SUBA 100 A A 100 SUB A 1023 A A 1023 Las banderas que se ven afectadas a esta instrucci n son SUB 3 V 1 Donde r es un registro de 8 bits el flag se ve afectado por la operaci n acorde al resultado V cambia cuando existe un overflow acorde al resultado y significa que la instrucci n no afecta el resultado NOP 00101 Esta instrucci n dejar pasar la l nea de instrucci n sin hacer nada JP 00110 Instrucci n de salto realiza un traslado a una secci n espec fica de la pila de instrucciones Se deber implementar dos tipos de saltos 3 Salto para un bucle infinito bucle LD A 20 NOP 0 JP bucle 3 Salto para generar un bucle condicional bucle DEC D JP N bucle La instrucci n de salto condicional deber funcionar con los siguientes estados del registro de flags F Y JP NZ direccion Salta si el indicador de cero Z est a cero resultado no cero Y JPZ direccion Salta si el indicador de cero Z est a uno resultado cero Y JP NC direccion Salta si el indicador de carry C est a cero Y JP C direccion Salta si el indicador de carry C est a uno Y JP PO direccion Salta si el indicador de paridad desbordamiento P V est a cero Y JP PE direccion Salta si el indicador de paridad desbordamiento P V est a uno
11. o Escribir en memoria en una direcci n determinada el contenido de un registro LD 12345 A Memoria 12345 valor en A o Asignarle a un registro el contenido de una direcci n de memoria LD A 12345 A valor en Memoria 12345 INC 00001 y DEC 00010 Est s instrucciones son utilizadas para incremental o decrementar respectivamente el valor de un registro o posici n de memoria LDA O A 0 INCA A A 1 1 LDB A B A 1 NCB B B 1 2 NCB B B 1 3 INC 12345 12345 12345 1 Estas instrucciones activan las banderas de P V Paridad y overflow y la bandera C Substract o Resta SINCE AAA EN O DECr pH gt Ivy 1 Donde r es un registro de 8 bits el flag se ve afectado por la operaci n acorde al resultado V cambia cuando existe un overflow acorde al resultado y significa que la instrucci n no afecta el resultado ADD 00011 Instrucci n utilizada para realizar sumas Sintaxis de la instrucci n ADD DESTINO ORIGEN Las operaciones requeridas son las siguientes ADDA B A A B ADDA 100 A A 100 ADD A 1023 A A 1023 Las banderas que se ven afectadas a esta instrucci n son EXA A AN O Donde r es un registro de 8 bits el flag se ve afectado por la operaci n acorde al resultado V cambia cuando existe un overflow acorde al resultado y significa que la instrucci n no afecta el resultado SUB 00100 Instrucci n utilizada para realizar restas S
Download Pdf Manuals
Related Search
Related Contents
ZD500 Series™ Guía del usuario - Zebra Technologies Corporation TAG SV-2003-X2 User's Manual MOC-6425 Configuring and Troubleshooting Windows AV-HD-XMUX (-T/R) PANDORAmini Owner's manual Mercator II User Manual GA A5 - EnerSys プラズマクラスター 空気清浄機 取扱説明書 capitolato speciale d`appalto opere edili Copyright © All rights reserved.
Failed to retrieve file