Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porTomasa Navarro Modificado hace 9 años
1
Visualizador de señales digitales SDLC++ José Domingo Álvarez Hervás
2
2 Introducción Grandes inversiones en el desarrollo de chips –Mano de obra –Componentes electrónicos –Instalaciones
3
3 Problema Gran cantidad de errores en el diseño Difíciles de descubrir Mayor complejidad implica más errores
4
4 Solución Simulación bajo software –Se descubren los errores antes de construir el chip –Ahorra en la inversión –Se puede reutilizar el software ya construido
5
5 Un ejemplo de organización jerárquica
6
6 SDLC++ ¿Qué es SDLC++? –Simulador Digital en Lenguaje C++ –Programa de computadora escrito en C++ Simula circuitos electrónicos digitales mediante redes de puertas lógicas
7
7 Un ejemplo de diseño jerárquico en SDLC++ class POSITIVE_DETECTOR{ NOT n0, n1, n2; AND an; WIRE a0, a1, a2; public: void run(WIRE &i, WIRE &o){ n0.run(a0,i); n1.run(a1,a0); n2.run(a2,a1); n3.run(0,i,a2); } }; class NEGATIVE_DETECTOR{ POSITIVE_DETECTOR pd; NOT no; WIRE ni; public: void run(WIRE &i, WIRE &o){ no.run(ni,i); pd.run(ni,o); } }; an n2n1n0 pd no
8
8 ¿Qué necesito para utilizarlo? Una computadora Cualquier S.O. Un compilador de C++ Un editor de ficheros ASCII
9
9 ¿Por qué Línux? Más estable que el resto de los S.O. Es el entorno habitual de trabajo Dispone del mejor compilador de C++
10
10 Necesidad de un visualizador La salida generada es muy grande –Archivos de gran tamaño –Difíciles de interpretar –Más complejo implica mayor tamaño Necesidad de interpretarlos visualmente –Más fácil de interpretar –Más rápido
11
11 Librería gráfica utilizada Librería Xforms Es compilada no interpretada Más fácil de utilizar que la X-Lib Más rápida de ejecutar que Tcl - Tk
12
12 Gnuplot Es de uso genérico No es cómodo de utilizar Archivos de diferentes señales implica programas de configuración diferentes
13
13 Objetivos Poder trabajar con archivos de gran tamaño Utilizar el mismo programa Fácil de utilizar Poder seleccionar el rango de ciclos
14
14 ¿Cómo funciona el programa? Necesita dos archivos Lee los datos de esos archivos Interpreta esos datos Pinta los datos en la pantalla
15
15 ¿Cómo son los archivos? Archivo de cabecera –Cualquier nombre –Nombres de los archivos Archivo con datos –Mismo nombre, pero con extensión ‘sdl’ –Valores entre 0 y 255
16
16 Unos archivos de ejemplo
17
17 ¿Porqué dos archivos? Mas facilidad para crear el archivo de datos Me tengo que preocupar solo de los nombres de las señales Para moverse mejor y mas rápidamente por los datos
18
18 ¿Cómo me muevo por el archivo? Calculo el nº de ciclos ciclos = (tam_archivo /(4 * num_lineas)) Se lo que me ocupa cada ciclo Calculo el nº de señales digitales Averiguo el tamaño del archivo
19
19 ¿Donde almaceno esos valores?
20
20 ¿Por qué es de tipo double? Para poder pintar más ciclos Más precisión Se calcula el pixel a pintar –Se utiliza una técnica parecida a Bresenham –Se decide que píxel está más próximo
21
21 Módulos LIMPIAR RECINTO MAKE PRINCIPAL LEER DATOS RESTABLECER CICLOS LIMPIAR ENTRADAS PINTAR LINEA COGER RANGO REDONDEAR CALCULAR CICLOS CALCULAR INTERVALOS COORD A CICLOS LEER CABECERA LEER ARCHIVO SALTAR LINEAS RECALCULAR CAMBIAR ARCHIVO PASAR
22
22 ¿Cómo pinta las líneas? Lee los ciclos uno a uno Pinta las líneas conforme lee el archivo Acceso inmediato a cualquier ciclo
23
23 Consumo de memoria ram Consume poca memoria Los datos leídos no se guardan Si se quiere volver a pintar se lee del archivo, no de memoria No hay que reservar memoria
24
24 ¿Cómo pueden ser los archivos de grandes? Todo lo grande que se quiera Archivos con datos de varias líneas Las variables son del tipo ‘long int’ Puede representar 2.147.483.647 ciclos
25
25 Mi programa
26
26 Botones y campos de texto
27
27 Otro ejemplo
28
28 Selección de un rango
29
29 Resultado final
30
30 Conclusiones Programa único para diferentes archivos Soporta archivos de gran tamaño Selección de rango de ciclos Posibilidad de cambiar de archivo Fácil de utilizar
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.