
SoftCAM: una memoria direccionable por contenido para dispositivos de lógica programable Danilo Andrés Mendivelso Pardo Directores: Francisco Viveros Moreno y Jose Luis Uribe Aponte Pontificia Universidad Javeriana Facultad de Ingeniería Departamento de Electrónica Bogotá, mayo de 201 Tabla de contenido 1 Introducción ............................................................................................................................ 5 1.1 Justificación ........................................................................................................................................ 6 1.2 Convenciones tipográficas ................................................................................................................. 6 2 Marco teórico .......................................................................................................................... 7 2.1 Memoria Direccionable por Contenido (CAM) ................................................................................. 7 2.1.1 Enrutamiento en redes de paquetes ............................................................................................ 7 2.1.2 Caché de procesadores .............................................................................................................. 7 2.2 Componentes IP (IP cores) ................................................................................................................. 8 3 Objetivo del proyecto ............................................................................................................. 9 4 Desarrollo .............................................................................................................................. 10 4.1 Definiciones previas ......................................................................................................................... 10 4.2 Herramientas de desarrollo ............................................................................................................... 10 4.3 Primera iteración .............................................................................................................................. 12 4.3.1 Concepción ............................................................................................................................... 12 4.3.2 Diseño ...................................................................................................................................... 12 4.3.3 Limitaciones y conclusión del funcionamiento......................................................................... 12 4.4 Segunda iteración ............................................................................................................................. 13 4.4.1 Concepción ............................................................................................................................... 13 4.4.2 Diseño ...................................................................................................................................... 13 4.4.3 Conclusión del funcionamiento ................................................................................................ 14 4.5 Solución final ................................................................................................................................... 14 4.6 Arquitectura ...................................................................................................................................... 14 4.6.1 Diagrama de bloques ............................................................................................................... 15 4.6.2 Espacio de direcciones ............................................................................................................. 18 4.6.3 Descripción al nivel de transferencia de registros................................................................... 19 4.7 Implementación ................................................................................................................................ 21 4.7.1 Descripción en VHDL y síntesis ............................................................................................... 21 4.8 Operación ......................................................................................................................................... 24 4.8.1 Uso de SoftCAM en un proyecto .............................................................................................. 24 4.8.2 Operación del dispositivo ......................................................................................................... 25 5 Protocolo de pruebas ............................................................................................................ 27 5.1 Simulación ........................................................................................................................................ 27 5.1.1 SearchLogic .............................................................................................................................. 27 5.1.2 Control ..................................................................................................................................... 28 5.1.3 SoftCAM ................................................................................................................................... 29 5.2 Pruebas de la interfaz de lectura y escritura en FPGA ..................................................................... 30 5.2.1 Caso: Escritura de una posición de memoria .......................................................................... 30 5.2.2 Caso: Lectura de una posición de memoria ............................................................................. 30 5.3 Pruebas en FPGA de las operaciones de búsqueda .......................................................................... 30 5.3.1 Caso: Búsqueda de una clave que se conoce no se encuentra almacenada. ........................... 31 5.3.2 Caso: Búsqueda de una clave que se conoce está almacenada. .............................................. 33 6 Resultados, conclusiones y recomendaciones..................................................................... 34 6.1 Oportunidades de crecimiento de SoftCAM .................................................................................... 34 7 Bibliografía ........................................................................................................................... 36 Lista de figuras Figura 1. Uso de Microsoft Visual Studio Team Services. .......................................................................... 11 Figura 2. Vista web del repositorio del código VHDL en Team Foundation Server online. ....................... 11 Figura 3. Arquitectura de comparación directa. ........................................................................................... 12 Figura 4. Diagrama de la segunda idea. ....................................................................................................... 14 Figura 5. Vista general de entradas y salidas. .............................................................................................. 15 Figura 6. Bloques internos del sistema. ........................................................................................................ 16 Figura 7. Lógica de búsqueda (SearchLogic). .............................................................................................. 17 Figura 8. Contenido de un RAMSet. ............................................................................................................. 18 Figura 9. Direcciones externas. .................................................................................................................... 18 Figura 10. Proceso de búsqueda. .................................................................................................................. 19 Figura 11. Respuesta esperada ante una operación de búsqueda con acierto. .............................................. 20 Figura 12. Comportamiento esperado en caso de no encontrar acierto. ....................................................... 20 Figura 13. Estructura de archivos y carpetas. ............................................................................................... 22 Figura 14. Vista del resultado de síntesis del nivel más alto. ....................................................................... 23 Figura 15. Vista interior de SearchLogic como resultado de síntesis. ......................................................... 24 Figura 16.Contenido de un RAMSet en el resultado de síntesis. .................................................................. 24 Figura 17. Resultados de simulación de una escritura en SearchLogic. Este continúa en la siguiente figura. ...................................................................................................................................................................... 28 Figura 18. Resultados de simulación de una búsqueda de un dato anteriormente escrito en SearchLogic. Continuación del diagrama de tiempos anterior. .......................................................................................... 28 Figura 19. Resultados de simulación de la prueba de escritura y búsqueda de la unidad de control. .......... 29 Figura 20. Resultado de la simulación de la prueba de búsqueda sin acierto. ............................................. 29 Figura 21. Escritura de tres posiciones y búsqueda de la clave CAFEh con su respuesta. .......................... 29 Figura 22. Prueba
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages36 Page
-
File Size-