▷ Microcontroller Architecture #PIC #16F877A based on #FPGA

 

⭐⭐⭐⭐⭐ Microcontroller Architecture #PIC #16F877A based on #FPGA


✅ Objectives:
  • Replicar la arquitectura del microcontrolador #16F877A en una #FPGA.
  • Implementar un downloader capaz de recibir instrucciones por puerto serial.
  • Medir los tiempos de procesamiento, % de #CPU utilizado y % de memoria utilizada, en el procesador #NIOSII, #ARM ó ambos, según sea el caso (radar chart).
✅ Goals:
  • Implementar un Sistema Embebido basado en #FPGA que simule el comportamiento de un microprocesador capaz de recibir por comunicación serial el programa de bajo nivel o sea capaz de leer un archivo (.hex) con el programa de bajo nivel almacenados en memoria Double Data Rate 3 Synchronous Dynamic Random-Access Memory #DDR3_SDRAM, el acceso a la memoria o al puerto serial #UART se lo realizará a través del Hard Processor System #HPS. El sistema deberá tener como salida un monitor VGA ó HDMI que muestre el estado de los registros, banderas, acumuladores, etc. del microprocesador en tiempo real. El sistema basado en #FPGA es quien ejecuta de forma concurrente todos los bloques del microcontrolador #PIC #16F877A, pero los grupos que tengan estudiantes de telemática, no usarán la salida #VGA ó HDMI sino deberán acceder a la interfaz visual por medio de una aplicación web desplegada en un servidor de aplicaciones web corriendo en un sistema operativo linux con procesador #ARM.
✅ Abstract:
  • Los microprocesadores en su arquitectura interna tienen un microprocesador cuyos bloques principales son: Unidad de entrada, unidad de salida, memoria, unidad de control y unidad, aritmética y lógica. Dentro de la #ALU existe un decodificador de instrucciones que interpreta los códigos de bajo nivel de las instrucciones cargadas en la memoria de programa [1].
  • Los principales componentes del #PIC16F877A son:
    • MDCU: responsable de la decodificación y control de comportamiento de los registros pipeline R1-R3, registros de trabajo W y registros de funciones especiales SFR.
    • NEXTPC y NEXTSP: circuitos combinatoriales que determinan el siguiente valor de PC y el siguiente valor del puntero de pila.
    • GPRs: bancos de memoria RAM llamados registros de propósito general.
    • AD: decodificador de direcciones y buses de control para los GPRs, también controla el multiplexor que lleva el primer operando a la ALU.
    • ALU: El primer operando puede provenir de bancos GPR o registros SFR o un valor de puerto de entrada o de los 8 bits menos significativos del bus de INSTRUCCIÓN. El segundo operando proviene de un registro W.
    • Registro W: acumulador.
    • R4: Registro paralelo de 8 bits que toma los valores presentes en el puerto A.
    • R5: Registro paralelo de 8 bits que toma los valores presentes en el puerto B.
    • R6: Registro paralelo de 8 bits que toma los valores presentes en el puerto C.
    • PAout, PBout, PCout: puertos de salida de 8 bits.
    • TMR0: temporizador 0 con preescalador.
✅ Reference:
✅ Hardware:
  • (1) #DE10_Standard o #DE10_Nano
  • (1) Monitor VGA / HDMI
✅ Database:
✅ Experts: srios, rdsolis

✅ Use Algorithm in IEEE format (overleaf):
✅ Use Radar Plot for Performance Results:

Comentarios

Popular Posts

▷ Especificaciones del módulo ESP32

▷ #ESP32 - REAL-TIME CLOCK #RTC INTERNO

▷ #ESP32 - SINCRONIZAR RTC INTERNO CON SERVIDOR NTP

▷ #ESP32 - Display OLED 128x64

▷ #ESP32 - Over-The-Air programming #OTA

▷ Artificial Intelligence #AI based on #FPGA

▷ SISTEMAS EMBEBIDOS, PROYECTOS PROPUESTOS (2021 PAO1)

▷ DISEÑO DE SISTEMAS DIGITALES, PROYECTOS PROPUESTOS (2019 2do Término)

▷ #ESP32 - #MQTT (Introducción)

▷ SISTEMAS EMBEBIDOS, PROYECTOS PROPUESTOS (2020 1er Término)