TRABAJO DE FINAL DE CARRERA

Tamaño: px
Comenzar la demostración a partir de la página:

Download "TRABAJO DE FINAL DE CARRERA"

Transcripción

1 TRABAJO DE FINAL DE CARRERA TÍTULO DEL TFC: TITULACIÓN: AUTOR: DIRECTOR: Introducción al diseño de sistemas digitales reconfigurables en FPGA con VHDL y la tarjeta Spartan-3AN de Xilinx Ingeniería Técnica de Telecomunicaciones, especialidad Sistemas de Telecomunicaciones. Sergio García López Francesc Josep Sánchez y Robert DATA: 29 de junio de 2010

2 2

3 Titulo: Introducción al diseño de sistemas digitales reconfigurables en FPGA con VHDL y la tarjeta Spartan-3AN de Xilinx Autor: Sergio García López Director: Francesc Josep Sánchez y Robert Fecha: 29 Junio de 2010 Resumen Este trabajo pretende ser una guía para conocer el funcionamiento de la FPGA Spartan-3AN de Xilinx y su software. En el capítulo 2 se explicará cómo crear un proyecto simple, compilarlo, simularlo y grabarlo en la placa para ver su funcionamiento de forma visual. En el capítulo 3 se elaborará un doble contador síncrono de 4 bits. Uno de los contadores vendrá gestionado por un divisor de frecuencia creado manualmente y el otro por la herramienta de gestión de reloj que nos proporciona el fabricante (Direct Clock Manager). Mediante estos contadores analizaremos la eficiencia de los divisores de frecuencia utilizados, realizando simulaciones a nivel de circuito (gate-level) del ModelSim para comparar retardos de propagación. La última parte de la explicación será la creación de una máquina de estados para gobernar un conjunto de componentes compuestos. Los datos provenientes de estos componentes serán convertidos al formato correcto para ser visualizados mediante la pantalla LCD, que es un periférico de la Spartan-3AN. La explicación de esta última parte vendrá adscrita a la realización del proyecto de este documento, que será la creación de un reloj en tiempo real similar en prestaciones y funcionamiento al que se pueda llevar en la muñeca. 3

4 Title: Introduction to digital systems design with VHDL FPGA reconfigurable card and Xilinx Spartan-3AN Author: Sergio García López Director: Francesc Josep Sánchez y Robert Date: 29 Junio de 2010 Overview This project is a guide to understand the operation process of the FPGA Spartan 3AN of Xilins and its programmation. Chapter 2 explains how to create a simple project, compile, simulate it and record it on the plate to see it working visually. Chapter 3 will develop a dual 4-bit synchronous counter. The first counter is controlled by a frequency divider created manually and the second is controlled by a Xilinx management tool (Direct Clock Manager). Using these counters will analyze the efficiency of crossovers used by circuit level simulations of ModelSim to compare the propagation delays. The last part of the explanation is the creation of a state machine to control composite components. The information on these components will be converted into the correct format for viewing through the LCD screen, the screen is a peripheral of the Spartan-3AN. The explanation for this latter part is the realization of the project, the project is the creation of a real time clock similar in features and performance to a personal wristwatch. 4

5 5

6 Índice 1. Introducción Sistemas combinacionales Flujo de diseño Uso de los Leeds y los pulsadores RTL y Código de la aplicación RTL Código de la aplicación Simulación del código Archivo DO para simulaciones en ModelSim Spartan-3AN Non-Volatile FPGA Starter Kit Arquitectura interna Lógica de bloques configurable o Configurable Logic Blocks (CLBs) Entradas y salidas de los bloques o Input/Output Blocks (IOBs) RAM Multiplicador de bloques Control de Reloj o Digital Clock Manager (DCM) ISE Project Navigator Creación de un proyecto Escritura del código Asignación de pines Editar el archivo.ucf de forma manual PlanAhead Síntesis y Simulación temporal de circuito TestBench para simulaciones en ModelSim Código TestBench Simulación temporal Grabado del código Alimentación y comunicación con la placa

7 Identificación de la Spartan-3AN Introducir un código Configuración de los Jumpers a la hora de grabar un código en la memoria de la Spartan-3AN Master Internal SPI Grabar el código Programar la memoria Flash y cargar la FPGA Programas FPGA únicamente Comprobación del funcionamiento Sistemas secuenciales Metodología para dividir la frecuencia de entrada y gestionar un contador binario síncrono de Modulo Divisor de frecuencia Especificaciones Esquema divisor de frecuencia Diagrama de estados Divisor de frecuencia Código divisor de frecuencia Simulación divisor de frecuencia Contador síncrono binario de Modulo Especificaciones Esquema del Contador Diagrama de estados del Contador Código del Contador Código top Contador Código archivo top Contador Simulación funcional Contador + Divisor de frecuencia DCM (Digital Clock Manager) Especificaciones Esquema del componente Configuración del componente DCM Código Top del sistema completo

8 RTL del Contador + DCM + Divisor de frecuencia Simulación funcional Contador + DCM + Divisor de frecuencia Síntesis y simulación temporal Contador + DCM + Divisor de frecuencia Reloj en tiempo real programable Especificaciones del Reloj Esquema de control del sistema Controlador DATAPATH Gestión del tiempo Preparación de datos Efecto de parpadeo Visualización Gestión del reloj Divisor de frecuencia Divisores de frecuencia conectados en cascada Esquema divisores de frecuencia en cascada DCM (Direct Clock Manager) + Divisores en cascada Esquema de conexione DCM + Divisores en cascada Códigos Divisor de frecuencia Simulación Divisor de frecuencias Medida real de las frecuencias a la salida de los Divisores y el componente DCM Control horas, minutos y segundos Modulo Comportamiento bloque Modulo Estructura interna Modulo Código Modulo Simulación Modulo Modulo de horas Codigo modulo horas Simulación modulo horas

9 4.5. Maquina de estados Esquema estados de la Maquina de estados Código del CASE de control Esquema conexiones Maquina Estados Código Máquina estados Simulación Maquina estados LCD Comportamiento del código Modificación del código inicial Proceso de adquisición de datos a mostrar Convertidor de 4 bits a ASCII Método de conversión Código Convertidor Simulación se la conversión Parpadeo del número seleccionado Método de funcionamiento del parpadeo de la cifra Código parpadeo Simulación parpadeo Esquema final completo Código archivo top global Esquema teórico global RTL del sistema completo Comprobación de la aplicación UCF Aplicación Posibles mejoras Conclusiones Bibliografía Tutoriales en formato PDF que proporción la Web de Xilinx

10 7.2. Control Flash Control del LCD VHDL Test Bench EPSC Pagina Electrónica digital y Sistema Electrónicos Digitales Anexos Códigos Freg_divider_top Freg_divider_ Freg_divider_ Freg_divier_ TestBench para simulación (freg_divider_top) Control Temporal Modulo TestBench para simulación (Modulo60) Modulo TestBench para simulación (Modulo24) Conversión de datos Prub TestBench para simulación (Prub1) Control Visual Parpadeo TestBench para simulación (Parpadeo) LCD Control Máquina de estados TestBench para simulación (Máquina estados) Archivo top de todo el sistema Archivo.UCF

11 11

12 1. Introducción En este proyecto se pretende hacer una pequeña guía para introducir al lector en la programación de la Spartan-3AN. Se explicara el uso del software que proporciona el fabricante para escribir, simular, compilar y grabar el código en la placa. La explicación intentará seguir el proceso lógico que haría un inexperto en la materia, ofreciéndole paulatinamente las herramientas y las soluciones para ir resolviendo los problemas que se le van planteando. Se partirá de la base que el lector conoce las instrucciones básicas del lenguaje VHDL, puesto que la finalidad del proyecto es que esta información pueda ser útil para impartir clase en la escuela. La estructura del trabajo empieza desde un código muy simple, que establece una asignación directa entre entradas y salidas de la placa. A partir de este primer diseño se hará una descripción del programa Project Navigator para su familiarización. Se explicara como introducir un código de forma correcta en la placa, como comprobar su funcionamiento mediante la simulación en ModelSim, en sus diferente escalones de simulación, y finalmente como asignar las entradas y salidas a ping físicos de la placa, a fin de grabar el programa y ver su comportamiento de forma visual, siempre que esto sea posible. El segundo punto de interés es realizar un código dependiente de un reloj interno o externo, puesto que la mayoría de tecnología que nos rodea está plagada de procesos síncronos. En este nuevo diseño se implementara un contador síncrono de 4 bits, el cual estará controlado por un divisor de frecuencia que modificara la entrada de reloj de 50 MHz disponible en la placa, a un valor predefinido por el usuario. Para el control del contador mediante este componente, se explicara como declara el divisor y como definir entradas y salidas del mismo dentro del archivo global contador. Este código permitirá la declaración y el uso del reloj a la hora de simular diseños síncronos. En este punto de la narración ya se dispondrán de las herramientas necesarias para crear un componente, usar el reloj de la placa adecuando la frecuencia a un valor predefinido y declarar un componente dentro de otro o en un archivo global a fin de crear dependencias entre ellos. Siguiendo la filosofía descrita, el siguiente paso a realizar es crear un bloque capaz de hacer uso del reloj, compuesto por un conjunto de componentes que establezca una relación de dependencia o sumisión unos de otros, a fin de ser capaces de transmitir una cierta información a un periférico de la placa. 12

13 Para lograr este propósito, se diseñara un reloj en tiempo real igual al que se puede llevar en la muñeca, en el cual se podrá elegir su método de funcionamiento y puesta en hora. Este dispositivo será la aplicación, propiamente dicho, del proyecto y dará pie a la introducción de la última parte que se desea explicar en este documento. El reloj estará controlado por una maquina de estados, la cual será descrita cuidadosamente. Finalmente los datos podrán ser visualizados mediante la pantalla LCD de la placa. Esto evoca al último bloque del condigo que será la incorporación de un periférico al diseño. Al parecer del autor del proyecto, esto es todo lo necesario para programar la FPGA, y pese a que los bloques y los periféricos pueden ser tan complicados como la imaginación de su creador, deja al lector con las instrucciones básicas para este nivel de programación, situándolo así en la antesala del siguiente nivel, que es la compilación del código utilizando el micro controlador. 13

14 Flujo de diseño. 2. Sistemas combinacionales. Son aquellos códigos en que las salidas dependen exclusivamente de las entradas y su respuesta es constante y deducible matemáticamente. X( n ) Circuito Y( m ) Combinacional. Figura 1 Circuito combinacional Flujo de diseño. La metodología de trabajo a seguir para el diseño de cualquier proyecto es la mostrada en la figura siguiente ( Figura 2 Flujo de diseño. ) y se ha de seguir escrupulosamente para realizar cualquier recurso. Especificaciones Crear RTL Y Código de la aplicación Simulaciones funcionales Correcto No correcto. Correcto. Configuración de pines para una FPGA concreta. Síntesis del código Simulación a nivel de puertas lógicas. Correcto No correcto. Correcto. Grabar el codigo en la FPGA Correcto No correcto. Correcto. Prototipo de la aplicación. Figura 2 Flujo de diseño. 14

15 2.2. Uso de los Leeds y los pulsadores. Se desea establecer una asignación entre los 4 selectores de entrada y 4 leeds de salida RTL y Código de la aplicación. El código estará escrito en VHDL y el esquema de conexiones mostrara el encapsulado del componente RTL SW[0] SW[1] SW[2] SW[3] 4 Entradas 4 Salidas LDR[0] LDR[1] LDR[2] LDR[3] Figura 3 RTL 4 Entradas 4 Salidas Código de la aplicación. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity Prub1 is Port ( SW : in STD_LOGIC_VECTOR (3 downto 0 LDR : out STD_LOGIC_VECTOR (3 downto 0) end Prub1; architecture Behavioral of Prub1 is begin LDR <= NOT(SW end Behavioral; Código 1 Prub1. 15

16 Simulación del código. La simulación del código se realizara mediante ModelSim. El programa muestra el aspecto siguiente: Figura 4 Ventana principal ModelSim. -En la ventada señalada con el número 1 aparecen todas las bibliotecas utilizadas por el programa y el código seleccionado para su simulación. -La siguiente ventana contiene las señales activas para simular, en esta ventana se pueden añadir o eliminar las señales que se desee mostrar. -En la tercera muestra el seguimiento grafico de la simulación. -Finalmente en la última ventana señalada con el numero 4, se podrán ver todas las incidencias en la simulación y acceder al los archivos.do que contendrán las directrices de la simulación, siempre que no se implemente el TestBench desde el mismo programa de diseño. 16

17 Archivo DO para simulaciones en ModelSim. Dentro del archivo.do se definen las señales que se utilizarán para las simulaciones, el periodo de reloj y el paso a paso en la simulación. Este último vendrá dividido temporalmente según los tiempos de espera definidos por el usuario y las condiciones para cada espera. restart add wave SW add wave LDR force SW 1011 run 100 force SW 0011 run 100 force SW 1100 run 100 force SW 1001 run 100 force SW 0101 run 100 run 200 Código 2 Archivo.DO. Se reinician los registros. Se definen las variables a utilizar. Add wave nombre señal. Se fuerza un valor de entrada y se espera un tiempo prudencial de ejecución para observar los resultados. Forcé nombre entrada valor deseado Run Tiempo deseado El archivo.do se debe introducir en la raíz de la carpeta que contenga el código a simular. La forma de ejecutar el archivo es desde la ventana señalada con el número 4, dentro de la presentación de la página principal del ModelSim. En esta ventana ( Figura 4 Ventana principal ModelSim. ) se puede introducir texto. La forma de introducir el comando de ejecución es la siguiente: Do nombre_archivo.do Una vez hecho lo anterior aparecerá una tabla de opciones, tras restaurar, en la ventana de representación grafica aparecerá la simulación efectuada. 17

18 Figura 5 1era Simulación paso 4. La simulación funcional es correcta y como se puede observar en el código y en las especificaciones de los leeds, éstos son activos a nivel bajo. Es por esa razón que en el código las salidas están negadas, y en la simulación las señales va a la inversa entradas respecto salidas. 18

19 2.3. Spartan-3AN Non-Volatile FPGA Starter Kit. La placa en la cual se implementarán los diseños es la Spartan-3AN de Xilinx. Figura 6 Spartan-3AN. La FPGA tiene prácticamente la misma conectividad que una placa base de un ordenador convencional a diferencia, claro, que es totalmente programable Arquitectura interna. La arquitectura de la FPGA Spartan-3AN es compatible con el de la FPGA Spartan-3ª. La arquitectura se compone de cinco elementos fundamentales, funcionales y programables Lógica de bloques configurable o Configurable Logic Blocks (CLBs). Contiene tablas de consulta flexibles o Look-Up Tables (LUTs) que implementan la lógica de los circuitos y configuran la estructura básica de los flip-flops internos. 19

20 Entradas y salidas de los bloques o Input/Output Blocks (IOBs). Controla el flujo de datos entre los pines y la lógica interna del dispositivo, gestionan la prioridad de señales y estados de los registros RAM. Este bloque es el encargado del almacenamiento de datos del circuito, en forma de bloques de dos puertos de 18K-bits cada uno de ellos Multiplicador de bloques. Multiplica dos números binarios de 18 bits como sumas de ellos para calcular el producto Control de Reloj o Digital Clock Manager (DCM). Ofrece una auto calibración del reloj de entrada y diferentes operaciones sobre el mismo, como pueden ser multiplicaciones y divisiones de frecuencia o cambios de fase. Figura 7 Arquitectura interna Spartan-3AN ( Spartan-3AN FPGA Family Data Sheet). 20

21 Estos elementos están organizados como se muestra en la Figura 7 Arquitectura interna Spartan-3AN ( Spartan-3AN FPGA Family Data Sheet). en una doble disposición de salidas que rodea el conjunto. Cada dispositivo tiene dos columnas de RAM a excepción XC3S50AN que dispone únicamente de una. Los bloques de memoria están asociados mediante un multiplicador dedicado. La Spartan-3AN dispone de una amplia red de conexiones en forma matricial para conectar cada uno de los dispositivos, con la finalidad de ofrecer una buena calidad de señales internas ISE Project Navigator. Siguiendo la metodología de trabajo, ahora es el momento de realizar la asignación de pines, y es en este punto donde se explicará el funcionamiento de la herramienta utilizada para llevar esto a cavo. Ilustración 1 Marca corporativa. El programa que se utilizará para programar es ISE Project Navigator de Xilinx que proporciona la pagina web ( en su versión ISE WebPACK edición. La ventana principal muestra el aspecto siguiente: Figura 8 Principal ISE. 21

22 La ventana es similar a la que puede proporcionar cualquier programa de Windows, en su parte superior izquierda aparece el menú de opciones y accesos directos a diferentes herramientas de diseño. En la parte media de la ventana a la izquierda presenta los archivos que están cargados en el diseño, y en la parte derecha actualmente está cargado Design Summary, que muestra un resumen detallado de las configuraciones del diseño. Por último, en la parte inferior presenta un gran espacio en blanco que está destinado a mostrar los posibles errores de programación es sus diferentes etapas, ya sea de compilación, en sus diferentes niveles, como de simulación Creación de un proyecto. El proceso a seguir a la hora de crear nuestro proyecto es File->New Project y aparecerá la ventana siguiente: 22

23 Figura 9 Paso 1 Creación proyecto. En esta ventana se definirá el nombre del proyecto y la localización, en cuanto a la localización es recomendable no utilizar direcciones muy largas para evitar errores a la hora de cargar ficheros. El nombre podrá ser modificado posteriormente. En el siguiente paso se prestara atención a 3 puntos, pero hay que tener en cuenta que es necesario conocer en qué placa se implementara el código y las características de la misma a la hora de rellenar correctamente la totalidad de los campos de este formulario. 23

24 Figura 10 Paso 2 Creación proyecto. En el primer punto marcado en rojo en la (Figura 10 Paso 2 Creación proyecto.) corresponde al los lenguajes de programación que soporta la placa que se ha descrito en el resto del formulario. El segundo punto muestra los diferentes programas de simulación que se pueden utilizar a la hora de comprobar el correcto funcionamiento del proyecto. Se seleccionara Modelsim-SE VHDL puesto que es el recurso de simulación utilizado por la escuela en asignaturas como ED (Electrónica digital) o SED (Sistemas electrónicos digitales). Por último el lenguaje utilizado para describir el funcionamiento del proyecto será VHDL. 24

25 Figura 11 Paso 3 Creación proyecto. En el tercer paso se agruparan los dos siguientes saltos en la creación, puesto que estas dos ventanas son muy similares. ( Figura 11 Paso 3 Creación proyecto. ) La primera está destinada a añadir un nuevo fichero al proyecto y definir si se desea las entradas y salidas desde un principio. Entre las opciones de fichero a elegir se utilizara de momento VHDL Module y progresivamente a lo largo de la explicación se verán el resto. La ventana de la derecha sirve para añadir al proyecto un fichero ya existente en el ordenador y ser implementado junto al diseño. El último paso es un resumen de lo seleccionado anteriormente y da pie a comenzar a redactar el código. Figura 12 Paso 4 Creación proyecto. 25

26 Escritura del código. Se creará un proyecto nuevo, con nombre Prub1 y a la hora de añadir un fichero se nombrara de igual modo y no se definirán por el momento entradas ni salidas. Si se ha realizado todo correctamente a la izquierda de la ventana principal aparecerá lo siguiente: Figura 13 1er Código paso 1. En la parte derecha aparecerá una ventana de texto que contendrá las directivas básicas de cualquier diseño, es en esta ventana en donde se introducirá el primer código. En este primer código, como se ha comentado se hace una asignación directa entre los selectores de entrada de la placa (SW) y los Leeds situados encima (LDR). Como se puede ver este primer código está compuesto de la declaración del componente con sus entradas y la arquitectura del mismo, en la cual solo consta la asignación directa, que sería comparable a unir físicamente los interruptores con los Leeds mediante un cable. 26

27 El siguiente paso es comprobar que el código compila correctamente, para esto se utilizara el menú desplegable situado en la ventana inferior a la que contiene la declaración de archivos ( Figura 14 1er Código paso 2. ). Figura 14 1er Código paso 2. Después de hacer clic en Run, si todo ha sido correcto en la ventana de texto de la parte inferior de la ventana aparecerá el mensaje siguiente: Process "Synthesis" completed successfully Si se despliega la pestaña sintetizar, emergerán más opciones, de la cuales cabe destacar por ahora View RTL, que muestra el esquema del componente. Figura 15 1er Código paso 3. El siguiente paso para grabar el diseño es asignar las entradas y salidas con los pines correspondientes de la placa. La página Web proporciona para descargar un archivo.ucf, que contiene toda la información de pines de la Spartan-3AN, nombrando cada pin de cada componente con la nomenclatura que viene inscrita físicamente en la placa. 27

28 Asignación de pines. El programa nos permite introducir los datos de forma manual en el archivo.ucf de configuración, o de forma automática mediante una aplicación que será descrita posteriormente Editar el archivo.ucf de forma manual. El modelo de archivo UCF que contiene toda la información de la localización de pines en la Spartan-3AN se puede encontrar en: /products/boards/s3astarter/files/s3astarter.ucf&svy_doc_file=s3astarter.ucf El formato del documento es el siguiente: ################################################################# # Discrete Indicators (LED) # ################################################################# NET "LED<0>" LOC = "R20" IOSTANDARD = LVCMOS33 DRIVE = 8 SLEW = SLOW ; NET "LED<1>" LOC = "T19" IOSTANDARD = LVCMOS33 DRIVE = 8 SLEW = SLOW ; Código 3 Modelo.UCF. Este documento tendrá que ser editado siempre que no se utilicen los mismos nombres para definir las entradas y salidas. Para el diseño se ha extraído la información de los componentes a utilizar, y tras ser editado queda de la forma siguiente. NET "LDR[0]" LOC = R20; NET "LDR[1]" LOC = T19; NET "LDR[2]" LOC = U20; NET "LDR[3]" LOC = U19; NET "SW[0]" LOC = V8; NET "SW[1]" LOC = U10; NET "SW[2]" LOC = U8; NET "SW[3]" LOC = T9; Código 4.UCF Modificado. 28

29 PlanAhead Otro método para introducir las asignaciones de pines, es mediante la herramienta PlanAhead que nos proporciona Xilinx. Figura 16 1er Código paso 4. Esta aplicación permite introducir uno a uno los números de los puertos necesarios. Figura 17 1er Código paso 5. 29

30 En el formulario número 1 se puede ver si el puerto es de entrada o salida, el nombre y la situación. Es en este último campo donde se introducirá el número del puerto a utilizar siguiendo el archivo.ucf que proporciona el fabricante. El formulario numero 2 presenta una lista de todas las entradas y salida del código. Para poder modificar alguna de ellas mediante el formulario número 1, ésta tendrá que estar seleccionada. Cuando se termine de rellenar todos los campos se tendrá que grabar el proceso desde la misma aplicación, cerrar la ventana y volver a sintetizar el código. Un método para comprobar que la asignación ha sido correcta, es mediante Design Summary, que como se ha comentado al principio, da un amplio informe de todos los eventos del proyecto. Figura 18 1er Código paso 6. A partir de este punto ya se dispone de todo lo necesario para introducir el código en la placa y hacerlo funcionar. Para esto se ejecutará toda la secuencia de sintetizado y compilación. 30

31 Figura 19 1er Código paso 7. Si todo ha sido correcto la ventana de notificaciones mostrara el mensaje siguiente: Generating Report... Number of warnings: 0 Total time: 2 secs Process "Generate Post-Place & Route Static Timing" completed successfully Started : "Generate Programming File". Process "Generate Programming File" completed successfully Código 5 Información sucesos. 31

32 2.5. Síntesis y Simulación temporal de circuito. Cuando se ha definido el proyecto se ha elegido un programa de simulación, este queda totalmente integrado en Xilinx, de modo que al pasar de uno a otro se envía toda la configuración. Esto supone que a la hora de hacer simulaciones temporales el programa de simulación tiene en cuenta los retardos propios de cada placa utilizada en el diseño. A la hora de realizar la simulación es muy simple. El primer paso es pasar del método implementación a simulación, esto se hace seleccionando la casilla situada encima de la ventana que contiene los archivos del programa. Figura 20 Simulación paso 1 Desde la nueva ventana que aparece, se ha de tener en cuenta básicamente tres cosas a la hora de simular. Figura 21 Simulación paso 2. 32

33 El primer punto es nivel de simulaciones que se quiere realizar, de los cuales se utilizaran 2. -Behavioral es el nivel de simulación más primario, sólo tiene en cuenta la estructura del código y su funcionamiento teórico. Generalmente si el código compila correctamente podrá ser simulado. Este método sirve para comprobar que el diseño cumple las especificaciones iniciales previstas. -Post-Route es el paso siguiente al método anterior. En este método sí que se tiene en cuenta los retardos entre puertas. Es en este punto donde no sólo es importante que el código funcione a nivel teórico, puesto que si el sistema no es capaz de conmutar con suficiente velocidad no será capaz de realizar las operaciones programadas. El segundo punto de la simulación, es elegir que código se desea simular. En este primer diseño no es muy relevante porque sólo aparece un archivo que hace las funciones de Main y proceso de datos o funciones conjuntamente, pero a medida que aumente la complejidad en el diseño, se dará cuenta que es mucho más útil simular un bloque por separado a la hora de extraer conclusiones. Por último, el tercer punto marcado en rojo en la Figura 21 Simulación paso 2., muestra el programa que actualmente esta seleccionado y junto a él, el método de simulación elegido. Haciendo doble clic sobre esta última opción se accede al programa de simulación. ModelSim Simulator es el programa por defecto que utiliza la EPSC (Escuela Politécnica Superior de Castelldefels) para simular, la versión Xilinx de este programa se puede descargar en el apartado de soporte de la página Web. Esta simulación se realizara mediante TestBench, que es una herramienta mucho más cómoda e inmediata de realizar simulaciones TestBench para simulaciones en ModelSim. Este archivo da la posibilidad de integrar aun más la simulación dentro del Project Navigator, ya que éste aparecerá dentro de la lista de archivos del código, siendo uno más a programar y modificar al gusto. Como contendrá la información que anteriormente se definía en el archivo.do, cuando se ejecute ModelSim automáticamente aparecerá la simulación programada, agilizando considerablemente el proceso. 33

34 El proceso de creación del archivo TestBench es el siguiente: Figura 22 Simulación paso 3. El primer paso es añadir un nuevo archivo al proyecto (1), acto seguido se abrirá una ventana con los archivos disponibles para seleccionar (2), de los cuales interesa VHDL Test Bench. Por último sólo queda nombrar el archivo (3) y pulsar siguiente hasta cerrar la ventana actual. Ahora aparece el archivo Test Bench dentro de la lista, siempre que la casilla de simulación esta seleccionada. Automáticamente se abrirá en la ventana de código. Dentro del modo de simulación este hace las funciones de archivo principal gobernando sobre los demás. Como se puede ver el propio programa te guía en la utilización del código con comentarios en cada punto relevante del mismo. Otro aspecto interesante es que en la creación del código viene implementado un clock automáticamente. Gracias a este factor, en códigos dependientes de un reloj externo se podrá hacer funcionar. Por la simplicidad de este primer diseño, las modificaciones del código modelo de origen serán pocas, pero servirán para entender cómo funciona este archivo de simulación. Tomando como modelo el archivo.do de apartados anteriores y teniendo en cuenta que ahora éste ya está identificado como componente, y no hará falta inicializar las variables, se introducirán los estados y las separaciones temporales únicamente en donde nos indica el código mediante un comentario de ayuda (insert stimulus here). 34

35 Código TestBench El código queda de la forma siguiente: -Primero es necesario comentar la parte del clock para que no de errores y porque no se hará uso de ella. -- constant <clock>_period := 10 ns; -- <clock>_process :process -- begin -- <clock> <= '0'; -- wait for <clock>_period/2; -- <clock> <= '1'; -- wait for <clock>_period/2; -- end process; Código 6 Código Reloj Test Bench. -Se ha de añadir la información del archivo.do con las modificaciones adecuadas al VHDL. -- Stimulus process stim_proc: process begin -- hold reset state for 100 ms. SW<="1111"; wait for 100 ns; --wait for <clock>_period*10; -- insert stimulus here SW<="1011"; wait for 100 ns; SW<="0011"; wait for 100 ns; SW<="1100"; wait for 100 ns; SW<="1001"; wait for 100 ns; SW<="0101"; wait for 100 ns; wait for 200 ns; wait; end process; Código 7 Pautas de la simulación. Tras realizar estas modificaciones se puede ejecutar la simulación y ver como ésta, si no se ha producido ningún error, aparece automáticamente. Para ejecutar la simulación se ha de hacer doble clic sobre el nombre del simulador seleccionado. 35

36 Simulación temporal. Figura 23 Simulación paso 4. Si se realiza el proceso usando la opción de Post-Route para simular el código, se verá en la representación grafica, haciendo el zoom necesario, los retardos entre las señales. Recordar que si no se ven las señales adecuadamente, un error muy común es poner una base de tiempo muy pequeña a simular o que las opciones de zoom de la ventana no sean las correctas. Figura 24 Simulación paso 5. Más adelante cuando se simulen bloques mas grandes se verá como el retardo es una constante que va de entre 6 ns a 8ns, por esa razón es un parámetro a tener en cuenta a la hora de exigir cierta velocidad de computo a un proceso. 36

37 2.6. Grabado del código. El siguiente paso es grabar el código en la memoria interna de la placa, para su posterior ejecución. Esto se realiza mediante la aplicación ISE impact, que se nos abrirá automáticamente al ejecutar el paso siguiente al seleccionado anteriormente, Configure Target Device. Figura 25 ISE impact Alimentación y comunicación con la placa. En esta aplicación el primer paso es identificar nuestra placa, para ello ésta tendrá que estar conectada al PC mediante el cable USB, enchufada a la corriente y encendida. Figura 26 Conexiones. 37

38 Identificación de la Spartan-3AN. Figura 27 Identificación Spartan-3AN. El siguiente paso es hacer que el programa identifique la placa y establezca comunicación con ella. Para conseguir este propósito se utilizara la opción de detección automática Introducir un código. Cuando la placa sea identificada, automáticamente se abrirán los formularios para introducir los programas a ejecutar, y acto seguido una ventana que contendrá los parámetros de configuración. La configuración utilizada será la que viene por defecto y los programas tendrán que ser localizados en la raíz de la carpeta donde se halla guardado el código en su creación. 38

39 Figura 28 Introducción del programa a ejecutar Configuración de los Jumpers a la hora de grabar un código en la memoria de la Spartan-3AN. La Spartan-3AN dispone de diferentes métodos para grabar un código en la placa. El utilizado en este tutorial permite introducir un código y ser guardado de forma sencilla y sin establecer ninguna configuración adicional, para que éste permanezca de forma permanente. La configuración de los Jumpers es la siguiente: Figura 29 Configuraciones posibles en los Jumpers. 39

40 Figura 30 Configuración Jumpers. En esta configuración, el método de entrada a la memoria es Master Internal SPI (Serial Peripheral Interface). Quiere decir que un periférico de memorial residente en la placa establece las pautas y el contenido de carga para el programa a ejecutar. Cuando se grabe el programa en este periférico el proceso será el inverso que el de la carga del código en la FPGA. El esquema completo está disponible en: Master Internal SPI. Las pautas de escritura en este modo son las siguientes: - Solamente el periférico de escritura principal gobierna la transmisión. - Cada dato es desplazado un slot de memoria hacia fuera mediante la linea Master Out Slave In (MOSI). - Cada dato es desplazado un slot de memoria hacia dentro mediante la línea Master In Slave Out (MISO). - La transmisión es serializada, dura 8 ciclos de reloj y todos los datos transmitidos por el periférico principal están sincronizados. Figura 31 Comunicación SPI Flash Memory. 40

41 Es en este periférico externo donde permanece el código cuando se elige la opción de programa y grabar la memoria flash de la FPGA Grabar el código. El código se puede grabar para que quede de forma permanente o para que se pierda una vez se apague o se pierda la alimentación del sistema Programar la memoria Flash y cargar la FPGA. Clicando con el botón secundario sobre el componente al cual se desea insertar el código, aparece un menú de opciones. En este apartado se seleccionara la primera opción que hará permanecer el código en la placa, sobre reinicios y pérdidas de energía, en el periférico de memoria descrito anteriormente. Figura 32 Configuración permanente. 41

42 Programas FPGA únicamente. Dentro de este menú, en este caso interesa la segunda opción. Figura 33 Configuración eventual. De este modo se podrán hacer escrituras más rápidas de código para pruebas de funcionamiento puntuales. 42

43 2.7. Comprobación del funcionamiento. Tras introducir el código se podrá comprobar de forma visual el comportamiento del mismo. La asignación de las salidas viene regida por la condición -> LDR <= NOT(SW Esta condición evoca el funcionamiento siguiente, ya que los Leeds son activos a nivel bajo. Figura 34 Entrada "0110" Salida "1001" Figura 35 Entrada "0010" Salida "1101" El comportamiento es correcto y satisfactorio. 43

44 3. Sistemas secuenciales. Una vez comprendida la metodología para llevar un código desde el papel a la placa, el siguiente paso lógico es realizar un código dependiente de un reloj interno, puesto que la mayoría de sistemas electrónicos que nos rodean funcionan de este modo. A diferencia de los sistemas combinacionales, en los sistemas secuenciales, los valores de las salidas, en un momento dado, no dependen exclusivamente de los valores de las entradas en dicho momento, sino también dependen del estado anterior o estado interno. La mayoría de los sistemas secuenciales están gobernados por señales de reloj. A éstos se los denomina "síncronos" o "sincrónicos", a diferencia de los "asíncronos" o "asincrónicos" que son aquellos que no son controlados por señales de reloj. Wikipedia. X Sistema combinacional. Z Y Sistema de memoria. Figura 36 Sistemas secuenciales Metodología para dividir la frecuencia de entrada y gestionar un contador binario síncrono de Modulo 11. Se diseñara un doble contador de 4 bits, el cual incrementara su valor mediante un pulso a una determinada frecuencia proporcionada por un divisor de frecuencia, que será un componente de menor rango o sumiso al código principal. La primera salida vendrá gestionada por un divisor de frecuencia creado manualmente, y la segunda salida por el gestor de reloj interno (Digital Clock Manager). 44

45 CD CE CLK Contador TC_out TC_out2 contador_out contador_out2 Figura 37 Encapsulado sistema completo Divisor de frecuencia. La Spartan tiene un ping de clock a 50 MHz, que mediante el archivo UCF se puede identificar en la placa y el en pinout. NET "CLK_50M" LOC = "E12" IOSTANDARD=LVCMOS33 PERIOD = ; OFFSET = IN VALID BEFORE "CLK_50M" ; OFFSET = OUT AFTER "CLK_50M" ; Código 8 Descripción Clock en.ucf Especificaciones. Se pretende obtener una salida de reloj a 1 MHz mediante este componente de la forma más efectiva y sencilla posible. Para obtener la frecuencia deseada a partir de los 50MHz de entrada, se realizará un divisor de frecuencia. Cada vez que el contador general llegue a un valor esperado, cumpliendo la condición predefinida, nos proporcionará una salida de reloj a la frecuencia deseada. Ejemplo. Contador 1: (Condición) (Condición) Contador 2: 1 2 Condición: Cuando sea 5 reiniciamos el contador principal (50MHz) y aumentamos el contador secundario, de este modo se divide la frecuencia inicial por 5, obteniendo así una salida a 10MHz. 45

46 Para realizar el divisor de frecuencias se utilizará el modelo de máquina de estados que se imparte en la escuela. Figura 38 Esquema maquina de estados. En cada iteración se decide la configuración del estado siguiente, y el estado presente pasa a ser el estado futuro de forma síncrona con cada golpe de reloj. En caso de que no se produzca un cambio de estado, la metodología es no actualizar el estado futuro, para que no sea modificado cuando se produzca un el evento de reloj. A partir de este punto, todos los códigos que contengan estados de funcionamiento seguirán este modelo Esquema divisor de frecuencia. El componente tendrá 3 entradas y una salida. Entradas CLK: Es la entrada de 50MHz disponible en la placa. CD: Reiniciara el contador cuando se active. CE: Habilitara el contador para que pueda incrementar en cada iteración. Salida TC10: Esta salida proporcionara la nueva frecuencia resultante del divisor. 46

47 CD CE CLK freq_divider_10 TC_10 Figura 39 Componente divisor de frecuencia Diagrama de estados Divisor de frecuencia. Vistas las condiciones anteriores se pensará en un diagrama de estado que proporcione dicho funcionamiento. TC10 = 1 While CE = 0 (Nº - 1) TC10 = 1 CE = 1 0 TC10 = 0 CE = 1 While CE = 0 While CE = 0 1 TC10 = 0 CE = 1 2 TC10 = 0 While CE = 0 CE = 1 4 TC10 = 0 While CE = 0 CE = 1 3 TC10 = 0 CE = 1 While CE = 0 Nota: N es el valor por el cual se quiere dividir la frecuencia de entrada. Figura 40 Diagrama de Estados divisor de frecuencia. 47

48 Código divisor de frecuencia. Se necesitan dos señales de longitud igual al número de bits necesario para representar el número por el cual queremos dividir la frecuencia de entrada. SIGNAL present_state, future_state:std_logic_vector(6 DOWNTO 0 Código 9 Vectores estados Divisor de frecuencia. La frecuencia de entrada estará dividida por 50, y teniendo en cuenta que el contador empieza a contar en 0, el valor correcto será 49 y su equivalente binario es , que tiene una longitud de 6 bits. Este valor de división ha sido elegido para facilitar la posterior simulación, si se desea implementar en la placa y comprobar visualmente que el divisor funciona correctamente, este tendrá que ser mucho mayor. LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY freq_div_10 IS PORT(CD,CLK,CE : IN std_logic; TC10 : OUT std_logic END freq_div_10; ARCHITECTURE FSM_style OF freq_div_10 IS SIGNAL present_state, future_state:std_logic_vector(5 DOWNTO 0 --signal senal : std_logic; --signal control : std_logic_vector(1 DOWNTO 0 BEGIN -- State register, normally in FF-D state_register: PROCESS (CD,CLK) BEGIN IF (CD='1') THEN present_state <= "000000"; ELSIF (CLK='1' AND CLK'event) THEN present_state <= future_state; END IF; END PROCESS state_register; -- combinational logic for determining the next state CS1: PROCESS (present_state,ce) BEGIN IF CE = '1' THEN IF (present_state = "110001") THEN -- 0x18 == 0d24 future_state <= "000000"; ELSE future_state <= present_state + 1; END IF; ELSE future_state <= present_state; END IF; END PROCESS CS1; TC10 <= '1' WHEN (present_state = "110001" AND CE = '1') ELSE '0'; END FSM_style ; Código 10 Código Divisor de frecuencia. 48

49 Se puede ver como en cada evento de reloj se actualiza el estado y el funcionamiento de la entrada CD anteriormente descrita. También el comportamiento de la entrada CE, que es la que habilita el contador, y como esta implementada la condición que fuerza la puesta a 0 del contador cuando llega al valor esperado. Este diseño forma parte de la teoría de la escuela, se puede encontrar dentro de la página web y su funcionamiento es sencillo y efectivo. Por último y no menos importante, la salida TC10 y su puesta a uno en el momento deseado Simulación divisor de frecuencia. La simulación se realizará mediante TestBench. En este diseño si será necesario editar el reloj que nos genera el programa. El primer paso es comprobar que la nomenclatura con la que ha implementado el reloj es la misma que se ha utilizado. LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; USE ieee.numeric_std.all; ENTITY diezmhz IS END diezmhz; ARCHITECTURE behavior OF diezmhz IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT freq_div_10 PORT( CD : IN std_logic; CLK : IN std_logic; CE : IN std_logic; TC10 : OUT std_logic END COMPONENT; BEGIN --Inputs signal CD : std_logic := '0'; signal CLK : std_logic := '0'; signal CE : std_logic := '0'; --Outputs signal TC10 : std_logic; -- Clock period definitions constant CLK_period : time := 1 ns; -- Instantiate the Unit Under Test (UUT) uut: freq_div_10 PORT MAP ( CD => CD, CLK => CLK, CE => CE, 49

50 TC10 => TC10 -- Clock process definitions CLK_process :process begin CLK <= '0'; wait for CLK_period/2; CLK <= '1'; wait for CLK_period/2; end process; -- Stimulus process stim_proc: process begin -- hold reset state for 100 ms. CD <= '1'; CE <= '0'; wait for 100 ns; CD <= '0'; CE <= '1'; wait for CLK_period*500; CD <= '0'; CE <= '0'; wait for CLK_period*500; CD <= '1'; CE <= '0'; wait for CLK_period*500; CD <= '0'; CE <= '1'; wait for CLK_period*500; END; -- insert stimulus here wait; end process; Código 11 Código Simulación funcional Divisor de frecuencia. Este componente divide 50 veces la entrada que se le introduzca, por esa razón, y para facilitar la grafica, si definimos un periodo de CLK de 1ns el resultado de la simulación es el siguiente. Figura 41 Simulación del componente divisor de frecuencia. 50

51 En la grafica anterior se pude ver como la división es perfecta y como el periodo de clock resultante es 50 veces mayor que el de la entrada, recordad que la frecuencia es el inverso del periodo Contador síncrono binario de Modulo 11. El contador tendrá las mismas entradas que el divisor de frecuencia, y para facilitar el diseño funcionará de forma autónoma. Si en el futuro se desea añadir alguna funcionalidad, solo se tendrán que declarar las entradas pertinentes e implementar las condiciones o procesos necesarios. CD CE CLK Contador TC_out ( 3 downto 0 ) contador_out Figura 42 Esquema contador Especificaciones. El contador funcionará a la misma frecuencia que el divisor de frecuencia al que este asociado, y contará desde 0 a 10 mediante un vector de 4 bits. Se añadirá una salida llamada contador_out y contador_out2 para su posterior visualización, ya sea en la placa o mediante la simulación. 51

52 Esquema del Contador. CD CE CLK CD CE CLK freq_divider_10 CLKIN_IN RST_IN Bloque_DCM CLKDV_OUT CLKFX_OUT CLKIN_IBUFG_OUT CLK0_OUT TC_10 LOCKED_OUT CD CE CLK Contador1 CD CE Contador21 TC_out CLK TC_out2 ( 3 downto 0 ) ( 3 downto 0 ) contador_out contador_out2 Figura 43 Esquema Contador (Contador 1 + Divisor frecuencia) y (Contador 21 + Bloque DCM). La primera salida vendrá gestionada por el divisor de frecuencia creado manualmente y la segunda salida por el gestor de reloj interno (Digital Clock Manager), el cual se implementará posteriormente Diagrama de estados del Contador. El diagrama de estados es muy similar al del divisor de frecuencia. 52

53 TC_out = 1 While CE = 0 CE = 1 (Nº - 1) TC_out = 1 0 TC_out = 0 CE = 1 While CE = 0 While CE = 0 1 TC_out = 0 CE = 1 2 TC_out = 0 While CE = 0 CE = 1 4 TC_out = 0 While CE = 0 3 TC_out = 0 CE = 1 CE = 1 While CE = 0 Nota: N es el valor máximo del vector. Figura 44 Estados contador. Los dos contadores que se implementaran serán idénticos Código del Contador. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity Contador is PORT (CD,CLK,CE : IN std_logic; TC_out : out std_logic; contador_out : out std_logic_vector(3 downto 0) end Contador; architecture Behavioral of Contador is SIGNAL present_state, future_state : std_logic_vector(3 DOWNTO 0 begin state_register1: PROCESS (CD,CLK) BEGIN IF (CD='1') THEN present_state <= "0000"; ELSIF (CLK='1' AND CLK'event) THEN present_state <= future_state; END IF; 53

54 END PROCESS state_register1; conta :process (present_state,ce) BEGIN IF (CE = '1') THEN IF (present_state = "1010") THEN -- 0x18 == 0d24 future_state <= "0000"; ELSE future_state <= present_state + 1; END IF; ELSE future_state <= present_state; END IF; end process; TC_out contador_out <= '1' WHEN (present_state = "1010" AND CE = '1') ELSE '0'; <= present_state; end Behavioral; Código 12 Código contador Código top Contador. Este es el archivo top que engloba todas las declaraciones, asignaciones y salidas a fin de ser visualizadas en la simulación o tras grabar el programa en la placa. Para declarar el divisor de frecuencia dentro del contador se tienen que hacer básicamente dos definiciones: 1ª: Definir las entras y salidas del componente. COMPONENT freq_div IS Port ( CD,CLK,CE : IN std_logic; TC10 : OUT std_logic END COMPONENT; Código 13 Declaración Divisor. 2º: Asignar dentro del contador las entradas y salidas del divisor de frecuencia, y si es necesario las señales que se utilizarán para conectar las salidas o entradas con otros componentes. Uut : freq_div_10 PORT MAP ( CD => CD, CLK => CLK, CE => CE, TC10 => TC10 Código 14 Asignación entradas/salidas Divisor. 54

55 En el caso del contador las señales declaradas son: signal TC10 : std_logic; Código 15 Señales necesarias Divisor. TC10 está conectada al pulso a 1MHz y se utiliza como condición dentro del proceso para incrementar el valor del contador Para declarar el contador, el código y las asignaciones necesarias son las siguientes. COMPONENT Contador PORT( CD : IN std_logic; CLK : IN std_logic; CE : IN std_logic; TC_out : OUT std_logic; contador_out : OUT std_logic_vector(3 downto 0) END COMPONENT; Inst_Contador1: Contador PORT MAP( CD =>CD, CLK => CLK0_OUT, CE =>TC10, TC_out =>TC_out, contador_out => contador_out Código 16 Declaración y asignación Contador Código archivo top Contador. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity Sumador is PORT (CD,CLK,CE : IN std_logic; TC_out,TC_out2 : out std_logic; end Sumador; architecture Behavioral of Sumador is div_10out,dcmout : out std_logic; contador_out2 : out std_logic_vector(3 downto 0 contador_out : out std_logic_vector(3 downto 0) 55

56 COMPONENT Contador PORT( CD : IN std_logic; CLK : IN std_logic; CE : IN std_logic; TC_out : OUT std_logic; contador_out : OUT std_logic_vector(3 downto 0) END COMPONENT; COMPONENT freq_div_10 PORT( END COMPONENT; signal TC10 : std_logic; CD : IN std_logic; CLK : IN std_logic; CE : IN std_logic; TC10 : OUT std_logic begin Inst_Contador1: Contador PORT MAP( CD =>CD, CLK => CLK0_OUT, CE =>TC10, TC_out =>TC_out, contador_out => contador_out uut: freq_div_10 PORT MAP ( CD => CD, CLK => CLK0_OUT, CE => CE, TC10 => TC10 div_10out <= TC10; end Behavioral; Código 17 Top Contador (freq_div_10 + Inst_Contador1) Simulación funcional Contador + Divisor de frecuencia. Como se ha decidido anteriormente la metodología de simulación que se utilizará será mediante TestBench. Se ha de añadir al proyecto el archivo como se ha explicado anteriormente. El periodo inicial del reloj son 10 ns y según las especificaciones se necesita una entrada a 50MHz, por esta razón será el primer punto a modificar en el código. -- Clock period definitions constant CLK_period : time := 20 ns; Código 18 Modificación Reloj Test Bench. Hecho esto se empezará a introducir el código dentro del proceso de simulación para definir las pautas a seguir. 56

57 Assert o afirmaciones lógicas. Para este proyecto a fin de seguir el comportamiento del reloj, ya que es un elemento autónomo, es interesante introducir una herramienta nueva de control. Las afirmaciones lógicas son un método fiable para obtener información del correcto funcionamiento del código. Se muestra como un evento en el panel de notificaciones, ofreciendo así la posibilidad de saber que error se ha producido o donde se ha producido, y el instante temporal en el cual este ha ocurrido. Estructura: assert Condición report "<Texto que queremos mostrar>" severity note/warning/error; Note: Texto simple que notifica del evento. Warning: Muestra un warning dentro de la ventana de compilación. Error: Muestra un error dentro de la ventana de compilación e interrumpe el flujo del programa. Esquema: Figura 45 Esquema funcionamiento Assert's. Si la afirmación introducida dentro de la secuencia de simulación es correcta, no se producirá el evento definido. Tras introducir esta herramienta dentro del proceso de simulación el código queda de la siguiente manera: 57

58 LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; USE ieee.numeric_std.all; ENTITY Simulacion IS END Simulacion; ARCHITECTURE behavior OF Simulacion IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT Sumador PORT( CD : IN std_logic; CLK : IN std_logic; CE : IN std_logic; div_10out,dcmout : out std_logic; TC_out,TC_out2 : out std_logic; contador_out2 : OUT std_logic_vector(3 downto 0 contador_out : OUT std_logic_vector(3 downto 0) END COMPONENT; BEGIN --Inputs signal CD : std_logic := '0'; signal CLK : std_logic := '0'; signal CE : std_logic := '0'; --Outputs signal contador_out : std_logic_vector(3 downto 0 signal TC_out : std_logic; signal div_10out : std_logic; -- Clock period definitions constant CLK_period : time := 20 ns; -- Instantiate the Unit Under Test (UUT) uut: Sumador PORT MAP ( CD => CD, CLK => CLK, CE => CE, TC_out=> TC_out, TC_out2=> TC_out2, div_10out=> div_10out, contador_out => contador_out -- Clock process definitions CLK_process :process begin CLK <= '0'; wait for CLK_period/2; CLK <= '1'; wait for CLK_period/2; end process; -- Stimulus process stim_proc: process begin -- hold reset state for 100 ms. CD <= '1'; CE <= '0'; wait for 100 ns; CD <= '0'; CE <= '1'; wait for CLK_period*500; assert contador_out = "1001" report "<Paso 1 error!>" severity note; wait for CLK_period*50; 58

59 CD <= '0'; CE <= '0'; wait for CLK_period*500; assert contador_out = "1010" report "<Paso 2 error!>" severity note; wait for CLK_period*50; CD <= '1'; CE <= '0'; wait for CLK_period*500; assert contador_out = "0001" report "<Paso 3 error!>" severity note; wait for CLK_period*50; CD <= '0'; CE <= '1'; wait for CLK_period*500; assert contador_out = "1001" report "<Paso 4 error!>" severity note; wait for CLK_period*50; -- insert stimulus here wait; end process; END; Código 19 Código simulación funcional Contador. Se fuerza un error o una afirmación falsa para ver el comportamiento del Assert. Tras simular esta secuencia, en donde como se puede ver se ha producido el evento error en el paso 3, el resultado es el siguiente. Figura 46 Simulación sumador + divisor frecuencia. Se puede observar la ejecución del assert y el correcto funcionamiento del sistema. 59

60 DCM (Digital Clock Manager) Esta herramienta es un método de gestionar el reloj de entrada, que permitirá realizar diferentes operaciones para adecuarlo tanto en frecuencia como en fase a un modo de trabajo deseado. Este componente es una propiedad intelectual (IP) que proporciona el programa de forma gratuita. Al estar implementada dentro del programa, su uso es mediante formularios y la mayoría del código vendrá prediseñado, como a la hora de crear el archivo de simulación TestBench. Para implementar este componente y ver su funcionamiento se hará una ampliación del sumador anterior Especificaciones. Se pretende, a la salida del componente DCM obtener una frecuencia de 5 MHz simple y de fase fija Esquema del componente. CLKIN_IN RST_IN Bloque_DCM CLKDV_OUT CLKFX_OUT CLKIN_IBUFG_OUT CLK0_OUT LOCKED_OUT Figura 47 Esquema componente DCM. Todas las salidas tendrán que ser declaradas como señales y a partir de la inclusión de este componente en el proyecto, el resto de elementos dependientes del reloj tendrán que estar conectados a la salida CLK0_OUT. La salida CLK0_OUT proporciona la misma frecuencia que insertamos al componente DCM en su entrada de reloj, a fin de ser utilizada por el resto de sistemas. 60

61 Configuración del componente DCM. Se ha de añadir un nuevo archivo al diseño, en la lista de tipos de archivos se selecciona IP (Core Generator & Architecture Wizard) y como nombre Bloque_DCM. En la siguiente ventana se buscara el bloque de reloj. Figura 48 Busqueda de la propiedad intelectual. Tras seleccionar esta herramienta y finalizar el formulario para añadir el componente, se abrirá automáticamente la primera ventana de configuración del mismo. En esta nueva ventana ( Figura 49 1er ventana configuración DCM. ) se pueden ver las posibilidades que presenta el componente, de las cuales las principales son: cambios de fases manuales, cambios de fase tabulados y división y multiplicación de la frecuencia de entrada. Para el proyecto se establece la frecuencia de entrada a 50Mhz. El reloj será externo, simple y de fase fija. Las salidas habilitadas son las siguientes: CLKDV: La señal de entrada dividida por un valor, en nuestro caso será 10. CLKFX: La salida principal del componente, estará sometida a todas las operaciones configuradas en las siguientes ventanas. 61

62 Figura 49 1er ventana configuración DCM. En la siguiente ventana se pueden renombrar las entradas y salidas del componente. Se utilizara la configuración por defecto. La tercera ventana ( Figura 50 Selección frecuencia de salida. ) es más interesante, ofrece la opción de definir una frecuencia de salida o introducir las divisiones y multiplicaciones necesarias para conseguirla. En la parte superior vienen descritas la limitaciones del componente, el cual nos da un abanico de frecuencias que van desde los 333 MHz a los 5Mhz. Se utilizará la configuración de salida automática a 5MHz y tras calcular el resultado la ventana presenta el aspecto siguiente. 62

63 Figura 50 Selección frecuencia de salida. Como en la mayoría de formularios el último paso es un resumen de lo seleccionado, en el cual se puede justificar que todo es correcto y esperado. Attributes for DCM_SP, blkname = DCM_SP_INST CLK_FEEDBACK = 1X CLKDV_DIVIDE = 10 CLKFX_DIVIDE = 20 CLKFX_MULTIPLY = 2 CLKIN_DIVIDE_BY_2 = FALSE CLKIN_PERIOD = CLKOUT_PHASE_SHIFT = FIXED DESKEW_ADJUST = SYSTEM_SYNCHRONOUS DFS_FREQUENCY_MODE = LOW DLL_FREQUENCY_MODE = LOW DUTY_CYCLE_CORRECTION = TRUE FACTORY_JF = 16'hC080 PHASE_SHIFT = 0 STARTUP_WAIT = FALSE Código 20 Resumen especificaciones DCM. Una vez terminado el proceso volverá a la ventana principal y solo quedara declarar este componente como otro cualquiera Código Top del sistema completo Seleccionando el componente DCM, en la misma ventana desde donde se sintetiza el condigo, podemos ver que nos da dos opciones, de las cuales interesa la instanciación del componente. Proporciona tanto la estructura de puertos como la asignación de entradas y salidas. ( Figura 51 Instanciación. ) 63

64 Figura 51 Instanciación. Se declara el componente dentro del sumador y se definen las señales necesarias. Señales: signal CLKIN_IBUFG_OUT : std_logic; signal CLK0_OUT : std_logic; signal LOCKED_OUT : std_logic; signal CLKDV_OUT : std_logic; signal CLKFX_OUT : std_logic; Asignación de señales: Inst_Bloque_DCM: Bloque_DCM PORT MAP( CLKIN_IN => CLK, RST_IN =>CD, CLKDV_OUT =>CLKDV_OUT, CLKFX_OUT =>CLKFX_OUT, CLKIN_IBUFG_OUT =>CLKIN_IBUFG_OUT, CLK0_OUT =>CLK0_OUT, LOCKED_OUT =>LOCKED_OUT Código 21 Declaración y asignación señales Bloque DCM. Para comprobar el funcionamiento se duplicará el código del contador, controlando el segundo con la salida CLKDV_OUT que proporciona 5 MHz. El archivo de simulación se puede crear de nuevo o editarlo a mano añadiendo todo el código necesario. Para evitar que se produzca el error de múltiples conexiones para el reloj de entrada, será necesario utilizar la salida CLK0_OUT para la entrada del divisor de frecuencia que ya se había implementado. uut: freq_div_10 PORT MAP ( CD => CD, CLK => CLK0_OUT, CE => CE, TC10 => TC10 Código 22 Nueva asignación para freg_div_10. 64

65 Implementados todos los cambios el código queda de la manera siguiente. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity Sumador is PORT (CD,CLK,CE : IN std_logic; TC_out,TC_out2 : out std_logic; end Sumador; architecture Behavioral of Sumador is div_10out,dcmout : out std_logic; contador_out2 : out std_logic_vector(3 downto 0 contador_out : out std_logic_vector(3 downto 0) COMPONENT Contador PORT( CD : IN std_logic; CLK : IN std_logic; CE : IN std_logic; TC_out : OUT std_logic; contador_out : OUT std_logic_vector(3 downto 0) END COMPONENT; COMPONENT freq_div_10 PORT( END COMPONENT; CD : IN std_logic; CLK : IN std_logic; CE : IN std_logic; TC10 : OUT std_logic signal TC10 : std_logic; COMPONENT Bloque_DCM PORT( CLKIN_IN : IN std_logic; RST_IN : IN std_logic; CLKDV_OUT : OUT std_logic; CLKFX_OUT : OUT std_logic; CLKIN_IBUFG_OUT : OUT std_logic; CLK0_OUT : OUT std_logic; LOCKED_OUT : OUT std_logic END COMPONENT; signal CLKIN_IBUFG_OUT : std_logic; signal CLK0_OUT : std_logic; signal LOCKED_OUT : std_logic; signal CLKDV_OUT : std_logic; signal CLKFX_OUT : std_logic; begin Inst_Contador1: Contador PORT MAP( CD =>CD, CLK => CLK0_OUT, CE =>TC10, 65

66 TC_out =>TC_out, contador_out => contador_out Inst_Contador2: Contador PORT MAP( CD =>CD, CLK =>CLK0_OUT, CE => CLKDV_OUT, TC_out =>TC_out2, contador_out => contador_out2 uut: freq_div_10 PORT MAP ( CD => CD, CLK => CLK0_OUT, CE => CE, TC10 => TC10 Inst_Bloque_DCM: Bloque_DCM PORT MAP( CLKIN_IN => CLK, RST_IN =>CD, CLKDV_OUT =>CLKDV_OUT, CLKFX_OUT =>CLKFX_OUT, CLKIN_IBUFG_OUT =>CLKIN_IBUFG_OUT, CLK0_OUT =>CLK0_OUT, LOCKED_OUT =>LOCKED_OUT div_10out DCMout <= TC10; <= CLKDV_OUT; end Behavioral; Código 23 Contador sistema completo. 66

67 RTL del Contador + DCM + Divisor de frecuencia. Gracias a este esquema se puede ver la solución anteriormente descrita para el error de múltiples conexiones del reloj de entrada, y la forma en la cual queda anexo al diseño este nuevo componente. Figura 52 Esquema del Contador + DCM + Div. Frecuencia. 67

68 Simulación funcional Contador + DCM + Divisor de frecuencia. El archivo de simulación utilizado es el mismo del apartado y solo se han declarado las señales necesarias para mostrar la segunda salida. Tras realizar la simulación con dos contadores la grafica resultante es la siguiente. Figura 53 Simulación doble contador + DCM. En un periodo del contador 1 se producen 5 periodos del contador 2, que corresponden con las frecuencias de 1 MHz y 5 MHz correspondientemente. Figura 54 Comparación contadores. 68

69 Síntesis y simulación temporal Contador + DCM + Divisor de frecuencia. Como ya se conoce la forma de asignar los pines y la forma de grabar el código en la placa, este será el último apartado de sistemas secuenciales. La simulación temporal proporcionara la justificación necesaria para obviar el grabado y la asignación específica, afirmando que el sistema funciona en la placa sin errores. Hay que tener en cuenta que las frecuencias de trabajo son muy altas para la percepción visual del contador mediante los Leeds. Utilizando el mismo archivo TestBench, ahora sin modificar nada, la simulación queda de la forma siguiente. Figura 55 Simulación temporal Contador + DCM + Divisor de frecuencia. Y si se hace el suficiente zoom se podrá ver como los retardos son muy similares a los comentados con anterioridad. Se han añadido las salidas div_10out y dcmout para poder estudiar el trato de estas señales, y la eficiencia del DCM y del divisor de frecuencia que se ha hecho. Figura 56 Comparación de las señales de reloj. 69

70 La señal de reloj proveniente de la salida CLKDV_OUT del componente DCM presenta un periodo de 200 ns ( 5 MHz). La señal resultante del divisor de frecuencia presenta un pulso más estrecho, ya que no tiene corrección del ciclo de trabajo, y tiene un periodo de 1000 ns (1 MHz). El retardo entre el pulso a 1 MHz y a 5 MHz es de ns, esto demuestra que el componente DCM da un trato mucho más eficiente al reloj de entrada. Figura 57 Retardo de los componentes DCM y Divisor de frecuencia. En la última figura ( Figura 57 Retardo de los componentes DCM y Divisor de frecuencia. ) se demuestra lo comentado anteriormente, el retardo resultante de la salida del componente DCM con respecto la entrada de reloj del sistema es sensiblemente inferior. Si se hace funcionar al divisor de frecuencia y al componente DCM a la misma frecuencia, se podrán observar las diferencias de funcionamiento con más facilidad, como por ejemplo el retardo acumulativo que se produce. Figura 58 Retrasos funcionando a la misma frecuencia. 70

71 4. Reloj en tiempo real programable. Se desea diseñar un reloj a tiempo real, utilizando todas las herramientas descritas anteriormente, que incorpore una maquina de control. Esto permitirá ponerlo en hora y ser visualizado mediante la pantalla LCD incorporada en la placa. El código necesario para mostrar los datos por pantalla está disponible en se explicará su funcionamiento y las modificaciones necesarias para adecuar su comportamiento a los requerimientos del proyecto. El modelo de esquema general a seguir es el siguiente, a medida que se avance con el desarrollo seguramente se añadan entradas y salidas de control para confirmar el correcto funcionamiento de cada una de las partes. CLK CD CE UD_L MODE SETE Reloj Hora Figura 59 Esquema completo de la aplicación Especificaciones del Reloj. El reloj será capaz de mostrar horas, minutos y segundos. Efectuara las operaciones de parado (CE) o puesta a cero (CD) en un instante determinado y cuenta adelante o atrás (UD_L). Permitirá aumentar o reducir el valor de horas, minutos o segundos al antojo del usuario (MODE<=>SETE). Los datos serán visualizados mediante una pantalla LCD integrada en la Spartan-3AN, y cuando el usuario decida modificar un dato este parpadeara para facilitar su uso. 71

72 4.2. Esquema de control del sistema. RELOJ ENTRADA DATOS CONTROL SEÑALES CONTROL ENTRADAS Controlador ESTADOS SEÑALES DATA PATH SALIDA DATOS Figura 60 Esquema de control. Igual que a la hora de diseñar una aplicación ( Figura 2 Flujo de diseño. ) para gestionar un sistema en el cual intervienen muchos componentes, se ha de seguir el esquema de la Figura 60 Esquema de control. para gestionar el sistema de forma correcta Controlador. El elemento que hace la función de controlador es la máquina de estados, que es la encargada de regir y controlar todas las señales y estados de funcionamiento. CD CE UD_L CLK CLK2 SET MODE STATE MACHINE Figura 61 Máquina de estados. 72

73 DATAPATH Los elementos controlados por la máquina de estados y encargados de efectuar todas las operaciones necesarias para mostrar la información correcta, son los englobados en este apartado Gestión del tiempo. CE TC24 CE TC60 CE TC60 CD CLK UD_L T Modulo 12 (Horas) U CD CLK UD_L T Modulo 60 (Minutos) U CD CLK UD_L T Modulo 60 (Segundos) U HT(3..0) HU(3..0) MT(3..0) MU(3..0) ST(3..0) SU(3..0) Figura 62 Control del tiempo. Estos componentes procesan segundos, minutos y horas Preparación de datos. Count Convnum1 LDR1 LDR1 Convnum4 Count Count Convnum2 LDR1 LDR1 Convnum5 Count Count Convnum3 LDR1 LDR1 Convnum6 Count Figura 63 Preparación de datos. Estos 6 componentes convierten las unidades y decenas de segundos, minutos y horas al formato necesario para ser procesado por el LCD. 73

74 Efecto de parpadeo. CLK estado HTin HUin MTin MUin STin SUin Parpadeo HTout HUout MTout MUout STout SUout Figura 64 Efecto parpadeo. Este componente hace parpadear el dato con el cual se está interaccionando para ser modificado Visualización. CLK rst lcd (7 downto 0) DB RS RW ADR1 ADR2 CS OE rdone Figura 65 Visualización. Este elemento es el encargado de gestionar al LCD integrado en la Spartan- 3AN y de captar, procesar y mostrar los segundos, minutos y horas provenientes de los convertidores Gestión del reloj. CD CE CLK freq_divider_top CLK_1Hz CLK_10Hz CLKIN_IN RST_IN DCMclock CLKDV_OUT CLKFX_OUT CLKIN_IBUFG_OUT CLK0_OUT CLK_1000Hz LOCKED_OUT Figura 66 Gestión del reloj. Estos dos elementos generan las frecuencias necesarias para todo el sistema. 74

75 4.3. Divisor de frecuencia. Anteriormente se ha comentado como gestionar el clock de entrada de la placa, ahora para el diseño se replicará el componente divisor de frecuencia para conectarlo en cascada y así poder conseguir la frecuencia deseada mediante un número definido de pasos. De este modo se podrán tener diferentes frecuencias a elección del usuario Divisores de frecuencia conectados en cascada. Para realizar esta parte se creará un archivo top para los tres divisores de frecuencia que se utilizaran, en el tendrán que esta declaradas las señales y las salidas necesarias para extraer las tres salidas resultantes, con la finalidad ser utilizadas por el resto del programa Esquema divisores de frecuencia en cascada. El esquema general a seguir para redactar el código es el siguiente: Entradas CE CD CLK CD CD CD CLK freq_div_10 CLK freq_div_100 CLK freq_div_49999 CE TC10 CE TC100 CE TC49999 CE1 CE3 CE2 CLK_1000Hz CLK_10Hz CLK_1Hz Salidas Figura 67 Divisores de frecuencia en cascada. 75

76 El comportamiento del divisor de frecuencia por separado ya ha sido explicado, en este esquema interconectamos los componentes para conseguir dividir por un número diferente la frecuencia en cada iteración. Ejemplo: 50 MHz 1 KHz 10 Hz 1 Hz Figura 68 Ejemplo funcionamiento divisores de frecuencia conectados en cascada. Ya se conoce la manera de crear un componente e instanciarlo en un bloque jerárquico superior, ahora solo se ha de seguir el esquema y redactar el código necesario DCM (Direct Clock Manager) + Divisores en cascada. Se incorporará también al diseño el bloque DCM para gestionar el clock de entrada, y para evitar hacer un salto en frecuencia tan abrupto utilizando el divisor de frecuencia. Una de las razones para utilizar este componente es que la reconstrucción de la señal que realiza es mucho mejor, puesto que el divisor genera un pulso muy estrecho a la frecuencia deseada, mientras que el bloque DCM ofrece una señal más uniforme dentro del periodo de la misma y con menos retardos. Divisor DCM Figura 69 Trato de la frecuencia por Divisores y DCM. Crear un archivo superior que contenga el divisor de frecuencia y la declaración del bloque DCM. 76

77 Esquema de conexione DCM + Divisores en cascada. CD CLK CD CE CLK freq_divider_top CLK_1Hz CLK_10Hz CLKIN_IN RST_IN DCMclock CLKDV_OUT CLKFX_OUT CLKIN_IBUFG_OUT CLK0_OUT CLK_1000Hz LOCKED_OUT CLK_10000hez Figura 70 Esquema conexiones DCM + Divisores en cascada. Se tiene que configurar el componente para que la salida CLKDV_OUT proporcione una frecuencia de 10 MHz y como se ha explicado declarar el resto de salidas como señales. La declaración tendrá la forma siguiente: Segun2: DCMclock PORT MAP( CLKIN_IN =>CLK, RST_IN =>CD, CLKDV_OUT =>CLK_10000hez, CLKFX_OUT =>CLKDV_OUT, CLKIN_IBUFG_OUT =>CLKIN_IBUFG_OUT, CLK0_OUT =>CLK0_OUT, LOCKED_OUT => LOCKED_OUT Código 24 Declaración DCM en Aplicación. Ahora la salida CLK_10000hez será la entrada de reloj del divisor de frecuencia, y por lo tanto se tendrá que modificar la primera división, puesto que ahora la entrada no son 50 MHz ( ) 9999 ( ) Si se declaran todas las salidas de reloj, les asignamos un pin y grabamos en la placa el proyecto, podremos comprobar mediante un osciloscopio como genera la señal el bloque DCM y las inconveniencias del divisor de frecuencia. 77

78 Códigos Divisor de frecuencia. Anexos: Simulación Divisor de frecuencias. Figura 71 Simulación divisores en cascada. Se puede comprobar cómo el pulso de reloj generado es muy estrecho en tiempo y como todas las señales se generan síncronamente con el reloj de entrada Medida real de las frecuencias a la salida de los Divisores y el componente DCM Comportamiento real del bloque DCM 10MHz: Figura 72 Barrido de la señal de 10KHz. Se puede comprobar la calidad de la señal a la salida del componente DCM que justifica su uso para realizar saltos abruptos en frecuencia. 78

79 Figura 73 Señal 10KHz en detalle. Con más detalle se puede ver la brevedad de sus transitorios y lo comprobado anteriormente un retraso de ~7ns. Control 1 KHz // 10Hz // 1 Hz: Figura 74 Detalle de la salida de 1KHz. Figura 75 Barrido de las frecuencias de 10 y 1 Hz respectivamente. 79

80 En estas graficas se puede ver que la forma de la señal a la salida del DCM es prácticamente una señal cuadrada normal, mientras que a la salida del divisor de frecuencia es un pulso estrecho en tiempo al periodo definido Control horas, minutos y segundos. En este apartado se describirá la metodología para realizar el control temporal que seguirá el reloj Modulo 60. Para simular el comportamiento de los minutos y segundos se necesita un bloque capaz de contar desde 0 a 59. Se utilizara la salida a 1 Hz para el reloj de entrada. Como en el caso del divisor de frecuencia estarán conectados en cascada y el modulo que se encargue de los segundos, cuando se desborde, incrementará el valor de los minutos. En un futuro, el bloque de minutos incrementará un contador de 1 a 12 que simulará el comportamiento de las horas. Figura 76 Componente Modulo Comportamiento bloque Modulo 60. Los dos bloques son idénticos, tienen las mismas entradas y salida, y su comportamiento es similar, solo difieren el uno del otro en el trato que se hace de las entradas. 80

81 Anteriormente ya se adelantaba que en los modulos 60 el encargado de los segundos haría actuar el de los minutos, en este caso se baja un escalón en los contadores para ver cómo gestionar las unidades y las decenas de los mismos Estructura interna Modulo 60. Figura 77 Estructura interna Modulo 60. Son dos contadores de 4 bits, el contador de unidades llegara hasta 9 ( ) y el de decenas hasta 5 ( ). Cuando se desborde el contador de unidades dará la orden de incrementar el contador decenas. En el caso del contador de decenas se utiliza la opción de carga paralela para que cuando se desborde ya sea por encima (superior: 0000 ) o por debajo (inferior: 0101 ) cargue el valor necesario. Para el contador de unidades cuando se desborde superiormente cargara 0000 y cuando sea inferiormente cargara

82 Figura 78 Ejemplo recorrido del vector unidades y decenas. Los contadores como se deduce del comportamiento pueden contar adelante o hacia atrás, esta función viene controlada por la entrada UD_L, que también gestiona un MUX externo, que se encarga de ofrecer el valor a cargar en cada caso Código Modulo 60 Anexo: Simulación Modulo 60. Figura 79 Simulación modulo 60. En la simulación se hace trabajar al contador de unidades a la misma frecuencia que el reloj de entrada. Se puede observar el recorrido de los vectores y la activación de la salida TC60, que será la encargada de accionar al siguiente bloque. 82

83 Modulo de horas. Este modulo es el encargado de simular el comportamiento de la horas. Las salidas y el nombre, pese a que su recorrido es de 1 a 12, adoptará la nomenclatura de contador 24 y la variable de control TC24. Figura 80 Componente Modulo 12. Este componente se diseño de forma compacta y no tiene la opción de carga paralela, los eventos de desborde se gestionan dentro del proceso de cuenta del componente. Su comportamiento viene regido por un único contador de 4 bits y las salidas se gestionan mediante un case. Unidades copia el comportamiento del contador en su recorrido de 0 hasta 9, a partir de ese momento se le asigna manualmente los valores 0, 1 y 2, de este modo ya tenemos solventada la parte de las unidades. Las decenas se controlan mediante una condición múltiple final, siempre que la variable de control sea 10, 11 o 12 las salida de decenas será 1. TENS<="0001" WHEN(control="1100" OR control="1011" OR control="1010")else "0000" Código 25 Gestión Decenas horas. El componente sí que conserva la opción de contar o descontar, y en un futuro será implementada de forma global. 83

84 Codigo modulo horas. Anexo: Simulación modulo horas. Figura 81 Simulación modulo horas. En la simulación se pueden comprobar las salidas generadas por el CASE y el funcionamiento de todas las variables de control de nuestros contadores. CD: Reinicia el contador. CE: Habilita el contador. Dir: Habilita la cuenta adelante o hacia atrás del contador. 84

85 4.5. Maquina de estados. Como se ha explicado, se pretende controlar el contador para poder ponerlo en hora en un momento determinado y poder gestionar la cuenta atrás o adelante. Para ello utilizaremos una maquina de estados Esquema estados de la Maquina de estados. Figura 82 Esquema de estados Maquina de estados. Mientras el sistema este en reposo el funcionamiento será el de un reloj normal, cuando se pulse el botón de SETE entraremos en el modo de control. Para controlar los estados del contador se utilizara un vector de 2 bits. Cada vez que se accione la entrada SETE, el vector avanzara por el diagrama de funcionamiento, recorriendo todos los estados hasta volver al punto de reposo. Si en alguno de los estados de control se acciona MODE, el valor temporal seleccionado aumentará o decrecerá según la condición UD_L. 85

86 Código del CASE de control. La gestión en cada posición de control se hace mediante un case: En la posición de reposo la configuración de las entradas es la siguiente: MCEH <= '0'; MCEM <= '0'; MCES <= '0'; MSel <= '0'; Código 26 Case Reposo Maquina Estados. Todas estas asignaciones controlan la selección de los multiplexores para hacer conmutar el sistema desde la posición de reposo a la posición de control. En esta posición ninguno está activo, dejando funcionar al contador de forma normal. 1º posición de control: MCEH <= '0'; MCEM <= '0'; MCES <= MODE; MSel <= '1'; Código 27 Case posición 1 Maquina Estados. En esta posición la entrada del selector de control esta activa, y como se ha comentado, la entrada que habilita el contador del bloque se controla con la entrada MODE. En la segunda y tercera posición de control el funcionamiento es el mismo y su configuración queda de la siguiente manera respectivamente: MCEH <= '0'; MCEM <= MODE; MCES <= '0'; MSel <= '1'; MCEH <= MODE; MCEM <= '0'; MCES <= '0'; MSel <= '1'; Código 28 Case posición 3 y 4 Maquina de Estados. Para gestionar este conjunto de contadores y la máquina de estados, se tendrá que crear el archive top de la STATE MACHINE, y declarar en el todos los componentes necesarios para su funcionamiento. 86

87 Esquema conexiones Maquina Estados. CD CE UD_L CLK_1Hz CLK_2Hz SET MODE STATE MACHINE CD CE UD_L 1Hz 2Hz S CEHor CEMin CESeg CH1 Mux2 1 CH2 S CLK CH1 Mux2 CH2 CH1Mux2 CH2 CH1 Mux2CH2 S 2 S 3 S 4 CEH CE CD CLK UD_L T Modulo 12 (Horas) U TC24 TC24 CEM CD CE CLK UD_L T Modulo 60 (Minutos) TC60 CES TC60m U CE CD CLK UD_L T Modulo 60 (Segundos) U TC60 TC60s HT(3..0) HU(3..0) MT(3..0) MU(3..0) ST(3..0) SU(3..0) CLK UD_L CD Figura 83 Esquema conexiones Maquina Estados. Ahora, como en casos anteriores, se debe declarar todas las señales necesarias y seguir la nomenclatura y las conexiones del esquema Código Máquina estados. Anexo:

88 Simulación Maquina estados. Figura 84 Comportamiento maquina estados. En esta primera figura se puede ver como se pasa de un estado a otro mediante la condición SETE. Igual que en todo el proyecto el cambio de estados se produce con un evento de reloj. Figura 85 Comportamiento en el estado 01. En esta figura, al principio se puede ver el comportamiento normal del reloj incrementado el valor de segundos con cada pulso de reloj. La segunda parte corresponde al funcionamiento de los módulos 60 dentro de los estados de control, al cual se accede pulsando una vez SETE. Cuando se acciona la entrada MODE el valor de segundos aumenta y cuando no el valor permanece constante. Este valor conmuta de su valor real a 10, que corresponde al valor seleccionado dentro de los Convertidores, para mostrar un espacio en blanco por pantalla. Gracias a esto se consigue el efecto de parpadeo que se describirá posteriormente 88

89 4.6. LCD Ahora solo queda la visualización del proyecto y para eso se implementará el control de la pantalla LCD que dispone la placa. La web de tiene un código ejemplo para mostrar una frase corporativa por pantalla. Se reciclará y modificará este código para que se comporte de forma adecuada a la visualización de los datos. Figura 86 Componente LCD Comportamiento del código. El código ejemplo carga una variable con el contenido a mostrar, y sigue un proceso secuencial para visualizar los datos. El proceso de forma general sigue el patrón de cargar datos, enviar dato y visualizar dato. Este proceso se controla mediante una serie de contadores fijos que gestionan el retardo entre datos a mostrar, y los tiempos necesarios para enviar un dato correctamente y visualizar dato correctamente. Este código ejemplo dispone de un divisor de frecuencia propio, que adecua la entrada de reloj de los 50 MHz a 10MHz. Hay que recordar que para evitar el error de relojes múltiples, se ha de conecta la entrada de reloj del componente LCD a la salida CLK0_OUT del DCM mediante la señal pertinente. Este código muestra los datos precargados en una variable y una vez que llena el máximo de caracteres visibles por el LCD desplaza el contenido de derecha 89

90 a izquierda mediante tabulaciones. Esto significa que el LCD es capaz de cargar más datos de los que es capaz de mostrar a tiempo real. Figura 87 Comportamiento pantalla LCD. Si se quiere que los datos siempre sean visibles, se tendrá que tabular de tal manera la información que se enviara a la pantalla, para que el contenido deseado siempre este dentro del margen visible. Figura 88 Introducción datos en pantalla. Las casillas en blanco serán espacios, a fin de desplazar el texto útil a derecha o izquierda según se necesite Modificación del código inicial. Para corregir el tiempo de refresco de las letras en pantalla, puesto que el diseño inicial del condigo se establecía un tiempo elevado entre la aparición de una letra y la siguiente, se modificará el patrón para esta parte del código. ((stcur = stchardelay and count = " ")) Código 29 Condición de retardo en la lectura de un carácter. Otro punto a modifica es el hecho que este condigo funcionaba de forma autónoma, una vez que empezaba, cargaba la variable fija de entrada y 90

91 mostraba su contenido automáticamente sin posibilidad de intervención externa. Únicamente permitía reiniciar el proceso mediante la entrada rst. Se hará uso precisamente de esto para gestionar como actualizar el contenido de la variable de entrada, que será convertida en una señal para poder modificar su información mediante la declaración de un proceso para esta tarea. El evento más rápido del reloj, es la actualización en tiempo real de los datos de los segundos, por esa razón se utilizara la salida a 1 Hz del divisor de frecuencia para reiniciar el proceso de presentación de datos. De este modo cada vez se modifique el valor de los segundo, el programa automáticamente recargara la señal de datos y realizara todo el proceso necesario para rellenar la parrilla a mostrar por pantalla. Algunos datos a mostrar por pantalla serán cargados inicialmente y solo se tendrá que ir actualizando 6 variables, correspondientes a las unidades de decenas de segundo, minutos y horas. Tras declarar las entradas necesarias en el código, el proceso que gestiona la adquisición y actualización de datos a mostrar es el siguiente: Proceso de adquisición de datos a mostrar. begin process begin LCD_CMDS(44) <= entrada5; LCD_CMDS(45) <= entrada6; LCD_CMDS(47) <= entrada3; LCD_CMDS(48) <= entrada4; LCD_CMDS(50) <= entrada1; LCD_CMDS(51) <= entrada2; end process; Código 30 Proceso de adquisición. Las posiciones asignadas han seguido el patrón descrito para situarlos en el margen visible de la pantalla. Tras efectuar estas modificaciones se hará uso de la función RTL para visualizar el resultado, y así se dispondrá de la nomenclatura del componente de forma general para su declaración en el archivo general, que contendrá todos los bloques anteriormente explicados. 91

92 Figura 89 RTL componente LCD Convertidor de 4 bits a ASCII. Los datos para ser enviados al componente LCD tiene que estar en formato ASCII, pero las salidas de todos los componentes son 4 bits tanto para unidades como para las decenas. A fin de proporciona la entrada necesaria se ha diseñado un convertidor de datos, capaz de transformar la entrada de 4 bits a la entrada de 10 bits, con la estructura y el contenido en ASCII, necesaria para su correcto procesado por el sistema de adquisición de datos del componente LCD. Figura 90 Convertidor 4 bits a ASCII. Este componente se declarara para cada uno de los valores a mostrar por pantalla Método de conversión. El método de conversión viene gestionado por un case que asigna la salida adecuada en cada caso, recorriendo valores que van desde 0 a 9, ya que son los necesarios para mostrar todas las configuraciones posibles en un reloj tradicional. 92

93 Ejemplo: WHEN "1000" => LDR1 <= "10"&X"38"; 10 -> Forma parte del vector de posicionamiento en pantalla. 28 -> Corresponde al número 8 en ASCII Código Convertidor. Anexo: Simulación se la conversión. Figura 91 Simulación de la conversión. El la figura se puede observar la conversión de 6 valores a ASCII, y la correspondencia del estado 10 del CASE con un espacio en blanco, a fin de propiciar el parpadeo. 93

94 4.8. Parpadeo del número seleccionado. El último componente dentro del espacio de visualización, es el encargado de hacer parpadear la cifra a modificar dentro de los estados de control de la máquina de estados. Aunque este componente pertenece propiamente a la máquina de estados, y será declarado dentro de su componente, su explicación se ha relegado a la parte visual del proyecto para seguir con la linealidad del desarrollo del mismo. Esto se justifica porque hasta este punto no era necesario incluir ningún método visual que permitiera al usuario saber en qué punto se encuentra la máquina de estados. Figura 92 Componente parpadeo. Este componente es controlado por la salida a 10 Hz del divisor de frecuencia, por esa razón se tendrá que incluir una segunda entrada de reloj al componente maquina de estados (CLK2) y definir la señal necesaria para llevar el segundo pulso a la entrada de reloj del componente Método de funcionamiento del parpadeo de la cifra. Como hacer parpadear la cifra a 10 Hz era un número muy elevado se ha implementado un divisor de frecuencia muy simple para conseguir aproximadamente un parpadeo a 2 Hz. PAR<='1' WHEN (DIV="00" or DIV="01") ELSE '0'; Figura 93 División simple de frecuencia. 94

95 En la condición anterior DIV, es un vector de 2 bits que incrementa su valor con cada pulso de reloj, de este modo se consigue que la cifra solo parpadee la mitad de su recorrido. Antes se consideraba que el evento más rápido del programa era la actualización del valor de segundos, ahora para poder visualizar el evento parpadeo se necesita que el proceso del componente LCD se reinicie a mayor velocidad. Por esa razón se substituirá la entrada rst del componente que anteriormente estaba conectada la salida a 1 Hz del divisor de frecuencia, por la salida de 10 Hz del mismo. El control del dato que debe parpadear viene regido por la condición PAR y la entrada estado proveniente de la máquina de estados. ELSIF (PAR='0' And estado="11" ) THEN STout<=STin; SUout<=SUin; MTout<=MTin; MUout<=MUin; HTout<="1010"; HUout<="1010"; Figura 94 Condición del parpadeo. Cada estado menos el de reposo tiene un bloque de condición igual. En este caso se muestra el modo de control de las horas. Cuando al número le corresponda parpadear, se le asignara un valor definido por el usuario que corresponderá a una posición del case del Convertidor de datos. Este valor está definido fuera del método normal de funcionamiento para que no se produzcan errores, y corresponde a la posición 10 del case. En esta posición se asigna a la salida el valor correspondiente a un espacio en código ASCII para que cuando el LCD lo capture, pinte por pantalla un hueco en blanco. WHEN "1010" => LDR1<= "10"&X"20"; Espacio Asi el comportamiento queda de la forma siguiente: Par -> HTout -> Dato Dato Espacio Espacio Dato Dato 95

96 Código parpadeo. Anexo: Simulación parpadeo. Figura 95 Simulación Parpadeo. En la figura se puede observar como la cifra pasa de su valor origina a 1010 (correspondiente a un espacio en blanco en ASCII) cada dos pulsos del reloj de entrada. La condición que decide que cifra parpadea en cada instante es el estado en que se encuentra, este estado concuerda con el valor de present_state en la máquina de estados, haciendo coincidir así el parpadeo con el estado con el cual se está interaccionando. Con estas últimas modificaciones ya se tienen todas las herramientas que fomentaran un buen funcionamiento del dispositivo. 96

97 4.9. Esquema final completo. Se ha ido describiendo las conexiones bloque a bloque, pero para facilitar y comprobar el diseño, se ha elaborado el esquema completo que interconecta todos los componentes. El código final tiene más salidas que las que se muestran, se han ido utilizando para seguir el funcionamiento y para mostrar el comportamiento de algunos elementos, como por ejemplo el bloque de reloj y sus medidas en el laboratorio Código archivo top global. Anexo:

98 Esquema teórico global. CLK CD CE UD_L SETE MODE Entradas CLKIN_IN RST_IN DCMclock CLK_10000hez CLKFX_OUT CLKIN_IBUFG_OUT CLK0_OUT LOCKED_OUT CLK0_OUT CLK CD CE freq_divider_top CLK_1Hz CLK_10Hz CLK_1000Hz CLK_10hez CLK_1hez CD CE UD_L CLK CLK2 SET MODE STATE MACHINE HT TENS3sig (3 downto 0) HU UNIS3sig (3 downto 0) MT TENS2sig (3 downto 0) MU UNIS2sig (3 downto 0) ST TENSsig (3 downto 0) SU UNISsig (3 downto 0) Count Convnum1 LDR1 LDR1 Convnum4 Count Count Convnum2 LDR1 LDR1 Convnum5 Count Count Convnum3 LDR1 LDR1 Convnum6 Count LDR1sig LDR2sig LDR3sig LDR4sig LDR5sig LDR6sig CLK (7 downto 0) DB entrada6 entrada5 entrada4 entrada3 entrada2 entrada1 rst lcd RS RW ADR1 ADR2 CS OE rdone Salidas DB (7 downto 0) RS RW ADR1 ADR2 rdone CS OE Figura 96 Esquema completo de la aplicación. 98

99 RTL del sistema completo. Por causa de su tamaño solo se muestra la primera parte, pero aun así se ve que las pautas de conexiones son las mismas que en el esquema teórico. Figura 97 RTL de la aplicación. 99

Práctica I Modelado y simulación de una máquina expendedora de refrescos

Práctica I Modelado y simulación de una máquina expendedora de refrescos Práctica I Modelado y simulación de una máquina expendedora de refrescos Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 2 1.1. Objetivos. En esta práctica vamos a modelar

Más detalles

Laboratorio de Dispositivos Integrados Especializados / Diseño de Circuitos y Sistemas Electrónicos

Laboratorio de Dispositivos Integrados Especializados / Diseño de Circuitos y Sistemas Electrónicos Práctica 1 Tutorial Objetivo Usando un diseño especialmente simple, seguir con él el flujo básico, descargando el diseño sobre la placa y verificando en ella su funcionamiento. Circuito utilizado Se trata

Más detalles

Notas para la instalación de un lector de tarjetas inteligentes.

Notas para la instalación de un lector de tarjetas inteligentes. Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación

Más detalles

Uso del simulador Modelsim

Uso del simulador Modelsim Introducción al laboratorio: Uso del simulador Modelsim Diseño y Simulación de Circuitos Electrónicos por Asistido por Computador Ingeniería Técnica Industrial Electrónica Modelsim es un software que administra

Más detalles

INTRODUCCIÓN AL SOFTWARE ISE (Integrated Software Environment) DE XILINX

INTRODUCCIÓN AL SOFTWARE ISE (Integrated Software Environment) DE XILINX INTRODUCCIÓN AL SOFTWARE ISE (Integrated Software Environment) DE XILINX Índice GUÍA DE INICIO AL SOFTWARE ISE DE XILINX... 1 1. Introducción... 1 2. Inicio del software ISE (Integrated Software Environment)

Más detalles

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico

Más detalles

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2 Manual de software Dynamic Cloud 10/2014 MS-Dynamic_Cloud v1.2 ÍNDICE GENERAL 1. INTRODUCCIÓN... 2 1.1 Configuración mínima del PC... 2 2. INSTALAR DYNAMIC CLOUD... 3 2.1 Ejecutar Dynamic Cloud por primera

Más detalles

El Escritorio. En el escritorio tenemos iconos que permiten abrir el programa correspondiente.

El Escritorio. En el escritorio tenemos iconos que permiten abrir el programa correspondiente. El Escritorio Primera pantalla que nos aparecerá una vez se haya cargado el Sistema Operativo con el cual vamos a trabajar, en nuestro caso será el escritorio de Windows XP. Este escritorio es muy similar

Más detalles

Tutorial de VHDL: Contadores y Simulación

Tutorial de VHDL: Contadores y Simulación Tutorial de VHDL: Contadores y Simulación Importante: -Verifique la instalación del Webpack 6.0 y el Modelsim XE 6.0 SE. Ambos programas se pueden bajar desde www.xilinx.com. -Verifique también la licencia

Más detalles

Person IP CRM Manual MOBILE

Person IP CRM Manual MOBILE Manual MOBILE División Informática BuscPerson Telecomunicaciones : Manual MOBILE 0.- Introducción 3 0.1 Configuración de los terminales 3 0.2 Acceso de Usuarios 3 1.- Funcionalidades CRM 5 1.1 Agenda del

Más detalles

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10 CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,

Más detalles

GENERACIÓN DE TRANSFERENCIAS

GENERACIÓN DE TRANSFERENCIAS GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base

Más detalles

Laboratorio 4: Uso de una FPGA

Laboratorio 4: Uso de una FPGA Laboratorio 4: Uso de una FPGA Objetivos: Conocer y comprender la estructura interna de una FPGA y su tarjeta de desarrollo que será usada en el laboratorio, y los cuidados y recomendaciones para evitar

Más detalles

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición

Más detalles

Software Criptográfico FNMT-RCM

Software Criptográfico FNMT-RCM Software Criptográfico FNMT-RCM ÍNDICE 1. DESCARGA E INSTALACIÓN DEL SOFTWARE 2. EXPORTACIÓN DE CERTIFICADOS EN MICROSOFT INTERNET EXPLORER 3. IMPORTACIÓN DEL CERTIFICADO A LA TARJETA CRIPTOGRÁFICA -2-

Más detalles

COMBINAR CORRESPONDENCIA EN MICROSOFT WORD

COMBINAR CORRESPONDENCIA EN MICROSOFT WORD COMBINAR CORRESPONDENCIA EN MICROSOFT WORD Combinar documentos consiste en unir dos documentos diferentes sin que se modifiquen los datos que aparecen en ellos. Esta operación es muy útil y muy frecuente

Más detalles

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L-5 08330 Premià de Mar Barcelona Tel. (93) 754 90 19 Fax 93 752 35 18 marketing@t2app.

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L-5 08330 Premià de Mar Barcelona Tel. (93) 754 90 19 Fax 93 752 35 18 marketing@t2app. T3-Rondas V 1.1 1 Indice 1 Requisitos mínimos 3 2 Instalación 3 2.1 Instalación del software 3 2.2 Instalación del terminal 4 3 Configuración Inicial 4 3.1 Crear terminales 5 3.2 Crear puntos de lectura

Más detalles

Anexo B. Comunicaciones entre mc y PC

Anexo B. Comunicaciones entre mc y PC Anexo B Comunicaciones entre mc y PC En este apartado se hará hincapié en los comandos para el manejo del módulo de comunicaciones desde el PC. Conociendo estos comando se podrá realizar una aplicación

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

GedicoPDA: software de preventa

GedicoPDA: software de preventa GedicoPDA: software de preventa GedicoPDA es un sistema integrado para la toma de pedidos de preventa y gestión de cobros diseñado para trabajar con ruteros de clientes. La aplicación PDA está perfectamente

Más detalles

CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO

CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO MANUAL DE USUARIO CATÁLOGO MANUAL DE USUARIO CATÁLOGO MANUAL DE USUARIO 1. CATÁLOGO MANUAL DE USUARIO CATÁLOGO AHORA CATÁLOGO MANUAL DE USUARIO 1 1. Introducción AHORA Catálogo es una aplicación

Más detalles

Instalación y Registro Versiones Educativas 2013

Instalación y Registro Versiones Educativas 2013 Instalación y Registro Versiones Educativas 2013 Octubre 2012 Instalación y Registro Online página 2 Índice Introducción... 4 Instalación Versión Educativa Aula... 6 1. Setup... 6 2. Instalación... 7 3.

Más detalles

Guía Rápida de Inicio

Guía Rápida de Inicio Guía Rápida de Inicio 1. Acerca de esta Guía Esta guía le ayudará a instalar y dar los primeros pasos con BitDefender Security for SharePoint. Para disponer de instrucciones detalladas, por favor, diríjase

Más detalles

Introducción a la simulación con ModelSim.

Introducción a la simulación con ModelSim. Introducción a la simulación con ModelSim. Este es un resumen de la funcionalidad básica del simulador ModelSim. Model Sim permite muchas cosas más. Puede encontrar más información en Help->PDF Documentation->Tutorial

Más detalles

GVisualPDA Módulo de Almacén

GVisualPDA Módulo de Almacén GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en

Más detalles

Actividad 4: Comunicación entre PLC s vía Ethernet

Actividad 4: Comunicación entre PLC s vía Ethernet Actividad 4: Comunicación entre PLC s vía Ethernet 1.- Listado de materiales: PC con Tarjeta de red 3com o similar. 2 PLC Omrom CJ1M CPU11 ETN Estos autómatas llevan integrada la tarjeta de comunicaciones

Más detalles

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...

Más detalles

MS ACCESS BÁSICO 6 LOS INFORMES

MS ACCESS BÁSICO 6 LOS INFORMES 2010 MS ACCESS BÁSICO 6 LOS INFORMES 93 LOS INFORMES Los informes son una herramienta de Access para elaborar información, sobre los datos que deseemos, preparada para ser impresa. A partir de una base

Más detalles

- 1 - ÍNDICE. Haga clic en Instalar Software. PASO 3: Primero le hará falta elegir su lengua en esta pantalla:

- 1 - ÍNDICE. Haga clic en Instalar Software. PASO 3: Primero le hará falta elegir su lengua en esta pantalla: GUÍA DE INSTALACIÓN PASO A PASO DEL SOFTWARE PARA WINDOWS XP - Número 3.2 Gracias por haber comprado este dispositivo Roadpilot. Esta guía de instalación le ayudará a instalar el software y los controladores

Más detalles

GUÍA DE USUARIO: GOOGLE DRIVE

GUÍA DE USUARIO: GOOGLE DRIVE GUÍA DE USUARIO: GOOGLE DRIVE Google Drive es una herramienta telemática de la web 2.0 que permite el trabajo virtual de forma colaborativa. En Google Drive podemos encontrar una barra de navegación en

Más detalles

Guía paso a paso para la cumplimentación del formulario de candidatura

Guía paso a paso para la cumplimentación del formulario de candidatura Guía paso a paso para la cumplimentación del formulario de candidatura INDICE 1. INSTRUCCIONES GENERALES... 2 2. PARTENARIADO... 4 3. GRUPOS DE TAREAS... 8 4. INDICADORES... 14 5. CUMPLIMENTACIÓN DEL RESTO

Más detalles

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ ELECTRÓNICA DIGITAL DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ IES TRINIDAD ARROYO DPTO. DE ELECTRÓNICA ÍNDICE ÍNDICE... 1 1. LIMITACIONES DE LOS CONTADORES ASÍNCRONOS... 2 2. CONTADORES SÍNCRONOS...

Más detalles

port@firmas V.2.3.1 Manual de Portafirmas V.2.3.1

port@firmas V.2.3.1 Manual de Portafirmas V.2.3.1 Manual de Portafirmas V.2.3.1 1 1.- Introducción 2.- Acceso 3.- Interfaz 4.- Bandejas de peticiones 5.- Etiquetas 6.- Búsquedas 7.- Petición de firma 8.- Redactar petición 9.- Firma 10.- Devolución de

Más detalles

Manual de usuario Versión: 1.3 Edición: 05/02/2015 1

Manual de usuario Versión: 1.3 Edición: 05/02/2015 1 Manual de usuario Versión: 1.3 Edición: 05/02/2015 1 Índice Formula Integration Manual de Usuario... 3 1. Introducción... 3 1.1. Funcionalidades... 3 2. Instalación... 3 2.1. Requisitos mínimos... 3 2.2.

Más detalles

GENERACIÓN DE ANTICIPOS DE CRÉDITO

GENERACIÓN DE ANTICIPOS DE CRÉDITO GENERACIÓN DE ANTICIPOS DE CRÉDITO 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de anticipos de crédito permite generar fácilmente órdenes para que la Caja anticipe el cobro de créditos

Más detalles

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid MANUAL DE EMPRESA Modo de entrar en ÍCARO Para comenzar a subir una oferta de empleo, el acceso es a través del siguiente enlace: http://icaro.uam.es A continuación, aparecerá la página de inicio de la

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 4. Servidor DNS 1 Índice Definición de Servidor DNS... 3 Instalación del Servidor DNS... 5 Configuración del Servidor DNS... 8 2 Definición de Servidor

Más detalles

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE ÍNDICE ACCESO A LA APLICACIÓN... 2 1.- HOMOLOGACIÓN DE CURSOS... 4 1.1.- INICIAR EXPEDIENTE... 4 1.2.- CONSULTA DE EXPEDIENTES... 13 1.3.- RENUNCIA A LA HOMOLOGACIÓN... 16 2.- MECÁNICA DE CURSOS... 19

Más detalles

Activación de un Escritorio Remoto

Activación de un Escritorio Remoto Activación de un Escritorio Remoto La activación de un Escritorio Remoto se realiza en dos fases, en la primera se habilita a un Usuario de un ordenador para que pueda admitir una conexión remota, la segunda

Más detalles

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos: UNIDAD 8 Presentaciones Reunión. (ITE. Banco de imágenes) as presentaciones son documentos formados por una sucesión de páginas, llamadas diapositivas, que transmiten información estructurada de manera

Más detalles

Manual de Instalación del Certificado ACA en Windows 8.1

Manual de Instalación del Certificado ACA en Windows 8.1 Manual de Instalación del Certificado ACA en Windows 8.1 1. Consideraciones previas: Antes de iniciar el proceso de instalación de nuestro certificado ACA, debemos tener claro cuales son las versiones

Más detalles

5.4. Manual de usuario

5.4. Manual de usuario 5.4. Manual de usuario En esta sección se procederá a explicar cada una de las posibles acciones que puede realizar un usuario, de forma que pueda utilizar todas las funcionalidades del simulador, sin

Más detalles

2_trabajar con calc I

2_trabajar con calc I Al igual que en las Tablas vistas en el procesador de texto, la interseccción de una columna y una fila se denomina Celda. Dentro de una celda, podemos encontrar diferentes tipos de datos: textos, números,

Más detalles

- 1 - ÍNDICE. PASO 3: Primero le hará falta elegir su lengua en esta pantalla:

- 1 - ÍNDICE. PASO 3: Primero le hará falta elegir su lengua en esta pantalla: PASO 3: Primero le hará falta elegir su lengua en esta pantalla: GUÍA DE INSTALACIÓN PASO A PASO DEL SOFTWARE PARA WINDOWS 7 - Número 3.2 Gracias por haber comprado este dispositivo Roadpilot. Esta guía

Más detalles

Manual de referencia de la tarjeta BASYS 2

Manual de referencia de la tarjeta BASYS 2 Universidad Politécnica de Madrid ETSI de Telecomunicación Departamento de Ingeniería Electrónica Circuitos Electrónicos (Plan 2010) Curso 2012-2013 Manual de referencia de la tarjeta BASYS 2 Álvaro de

Más detalles

Manual del Alumno de la plataforma de e-learning.

Manual del Alumno de la plataforma de e-learning. 2 Manual del Alumno de la Plataforma de E-learning 3 4 ÍNDICE 1. Página de Inicio...7 2. Opciones generales...8 2.1. Qué es el Campus...8 2.2. Nuestros Cursos...9 2.3. Cómo matricularme...9 2.4. Contactar...9

Más detalles

VideoSoftPHONE Active Contact

VideoSoftPHONE Active Contact VideoSoftPHONE Active Contact 1 ÍNDICE 1. CÓMO INSTALAR MI VIDEOSOFTPHONE SOFTWARE?... 1 1.1. REQUISITOS PREVIOS... 1 1.1.1. Requisitos del sistema... 1 1.1.2. Requisitos Software... 1 1.2. INSTALACIÓN...

Más detalles

1.4.1.2. Resumen... 1.4.2. ÁREA DE FACTURACIÓN::INFORMES::Pedidos...27 1.4.2.1. Detalle... 1.4.2.2. Resumen... 1.4.3. ÁREA DE

1.4.1.2. Resumen... 1.4.2. ÁREA DE FACTURACIÓN::INFORMES::Pedidos...27 1.4.2.1. Detalle... 1.4.2.2. Resumen... 1.4.3. ÁREA DE MANUAL DE USUARIO DE ABANQ 1 Índice de contenido 1 ÁREA DE FACTURACIÓN......4 1.1 ÁREA DE FACTURACIÓN::PRINCIPAL...4 1.1.1. ÁREA DE FACTURACIÓN::PRINCIPAL::EMPRESA...4 1.1.1.1. ÁREA DE FACTURACIÓN::PRINCIPAL::EMPRESA::General...4

Más detalles

ICARO MANUAL DE LA EMPRESA

ICARO MANUAL DE LA EMPRESA ICARO MANUAL DE LA EMPRESA 1. ENTRANDO EN ICARO Para acceder al Programa ICARO tendremos que entrar en http://icaro.ual.es Figura 1 A continuación os aparecerá la página de Inicio del aplicativo ICARO.

Más detalles

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS Página 1 de 20 INSTALACIÓ N A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc

Más detalles

ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas.

ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas. ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas. Sala de sistemas, Video proyector, Guías RECURSOS ACTIVIDADES PEDAGÓGICAS

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) JOOMLA! ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) Es necesario comentar que este manual ha sido diseñado en su mayor parte por comunidadjoomla.org. Este manual es una

Más detalles

Sistema para el control y tramitación de documentos SITA MSc. María de la Caridad Robledo Gómez y Ernesto García Fernández.

Sistema para el control y tramitación de documentos SITA MSc. María de la Caridad Robledo Gómez y Ernesto García Fernández. Sistema para el control y tramitación de documentos SITA MSc. María de la Caridad Robledo Gómez y Ernesto García Fernández. CITMATEL Ave 47 e/18 A y 20, Playa, Ciudad de La habana, CP 10300 Cuba. E mail:

Más detalles

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de cualquier modelo en el software Algor. La preparación de un modelo,

Más detalles

Tutorial de ModelSim PE Student Edition

Tutorial de ModelSim PE Student Edition Tutorial de ModelSim PE Student Edition Instalación Ir a http://portal.model.com/modelsim/downloads/license_agreement_form_gen.asp Rellenar los datos y selecionar Request Download Seleccionar el enlace

Más detalles

MANUAL DE USO DE LA APLICACIÓN

MANUAL DE USO DE LA APLICACIÓN MANUAL DE USO DE LA APLICACIÓN ÍNDICE 1. Acceso a la aplicación 2. Definición de funciones 3. Plantillas 4. Cómo crear una nueva encuesta 5. Cómo enviar una encuesta 6. Cómo copiar una encuesta 7. Cómo

Más detalles

CONTADORES. Definición. Diseño y analisis de un contador binario hacia arriba de 3 bits con flip-flops JK. Otros contadores típicos.

CONTADORES. Definición. Diseño y analisis de un contador binario hacia arriba de 3 bits con flip-flops JK. Otros contadores típicos. CONTADORES Definición Diseño y analisis de un contador binario hacia arriba de 3 bits con flip-flops JK. Otros contadores típicos Descripción VHDL Ejercicios Definición Un contador es un circuito digital

Más detalles

DESCRIPCION DEL SITEMA MASTER.

DESCRIPCION DEL SITEMA MASTER. DESCRIPCION DEL SITEMA MASTER. ESTRUCTURA. El sistema MASTER (Sistema Modular para Control Adaptativo en Tiempo Real) se ha implementado en base a un computador compatible PC-AT, dotado de una tarjeta

Más detalles

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático Programa de Almacenamiento y Recuperación de Datos Automático CONSEJERÍA DE EDUCACIÓN Dirección General de Participación e Innovación Educativa Centro de Gestión Avanzado de Centros TIC Fecha: 20/04/10

Más detalles

MANUAL DE USUARIO CONSEJO PUEBLA DE LECTURA A.C. Instituto Nacional de Astrofísica, Óptica y Electrónica. 01/Octubre/2009

MANUAL DE USUARIO CONSEJO PUEBLA DE LECTURA A.C. Instituto Nacional de Astrofísica, Óptica y Electrónica. 01/Octubre/2009 MANUAL DE USUARIO CONSEJO PUEBLA DE LECTURA A.C. Instituto Nacional de Astrofísica, Óptica y Electrónica 01/Octubre/2009 2 INDICE 1. Introducción (3) 2. Funcionalidades (3) 3. Seccion I (3) 3.1 Ingresando

Más detalles

Manual Ingreso Notas y Acta Electrónica

Manual Ingreso Notas y Acta Electrónica Manual Ingreso Notas y Acta Electrónica ÍNDICE ÍNDICE 2 I. INTRODUCCIÓN 3 II. CREAR LA ESTRUCTURA DE NOTAS PARCIALES (OPCIÓN NOTAS NORMALES) _ 4 III. CREAR LA ESTRUCTURA DE NOTA FINAL (OPCIÓN NOTAS CALCULADAS)

Más detalles

Es el listado de los productos que están ofertados en la página.

Es el listado de los productos que están ofertados en la página. 1 Productos Es el listado de los productos que están ofertados en la página. En la tabla de productos hay las siguientes columnas: Casilla de verificación: sirve para seleccionar uno o varios productos

Más detalles

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS INSTALACIÓN A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc al que le asignaremos

Más detalles

WINDOWS 2008 7: COPIAS DE SEGURIDAD

WINDOWS 2008 7: COPIAS DE SEGURIDAD 1.- INTRODUCCION: WINDOWS 2008 7: COPIAS DE SEGURIDAD Las copias de seguridad son un elemento fundamental para que el trabajo que realizamos se pueda proteger de aquellos problemas o desastres que pueden

Más detalles

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar

Más detalles

CIF-KM. GUÍA DE LOS PRIMEROS PASOS

CIF-KM. GUÍA DE LOS PRIMEROS PASOS CIF-KM. GUÍA DE LOS PRIMEROS PASOS Secciones 1. CONCEPTOS PREVIOS. 2. INSTALAR CIF-KM. 2.1 Descargar e instalar CIF-KM. 2.2 Configuración de CIF-KM. 2.3 Acceso externo al servidor de CIF-KM. 3. PRIMERA

Más detalles

Skype. Inguralde [Enero 2011]

Skype. Inguralde [Enero 2011] Inguralde [Enero 2011] 1. Introducción Skype es un software que permite al usuario que lo utiliza, formar parte de una gran red de telefonía por Internet. Eso quiere decir que con Skype instalado en un

Más detalles

Manual de ayuda para la presentación de solicitudes de evaluación vía telemática

Manual de ayuda para la presentación de solicitudes de evaluación vía telemática Manual de ayuda para la presentación de solicitudes de evaluación vía telemática Agencia de Calidad, Acreditación y Prospectiva de las Universidades de Madrid 2010 Índice: 1.- INTRODUCCIÓN DE DATOS PERSONALES

Más detalles

Conexión de GPS a Open CPN.

Conexión de GPS a Open CPN. Conexión de GPS a Open CPN. Los GPS pueden ser por Bluetooth, USB o Serie. Trasmiten los datos a través de un puerto serie o Puerto COM Los puertos COM son puertos de comunicación Serie; que puede ser

Más detalles

MANUAL DE USUARIO. Se deben seguir los siguientes pasos para la correcta instalación del módulo descargable:

MANUAL DE USUARIO. Se deben seguir los siguientes pasos para la correcta instalación del módulo descargable: MANUAL DE USUARIO La aplicación para la convocatoria Parques Científicos y Tecnológicos consta de un programa descargable más un módulo web. Mediante el módulo descargable, es posible cumplimentar todos

Más detalles

INDICE. 1. Introducción... 4. 2. El panel Entities view... 5. 3. El panel grafico... 6. 4. Barra de botones... 6. 4.1. Botones de Behavior...

INDICE. 1. Introducción... 4. 2. El panel Entities view... 5. 3. El panel grafico... 6. 4. Barra de botones... 6. 4.1. Botones de Behavior... MANUAL DE USUARIO INDICE 1. Introducción... 4 2. El panel Entities view... 5 3. El panel grafico... 6 4. Barra de botones... 6 4.1. Botones de Behavior... 7 4.2. Botones de In-agents... 8 4.3. Botones

Más detalles

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

Hacer clic sobre la figura, para extraer todos los registros o presionar la tecla F2.

Hacer clic sobre la figura, para extraer todos los registros o presionar la tecla F2. b) Adicionar grados Para llevar a cabo esta operación el usuario deberá realizar los siguientes pasos: Recuperar la información, para realizar esta operación el usuario puede hacerla de las siguientes

Más detalles

SMS Gestión. manual de uso

SMS Gestión. manual de uso SMS Gestión manual de uso índice qué es SMS Gestión 2 acceso al servicio 3 01 acceso con la clave de servicios de Orange 4 02 acceso personalizado 6 02.1 cómo personalizar su acceso a la aplicación 7 02.2

Más detalles

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER 2011 2012 COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER WWW.FAUBELL.COM vicente@faubell.com Hasta ahora hemos visto una pequeña introducción a la creación de las páginas web. No te preocupes por

Más detalles

MANUAL DE USUARIO FACTURACIÓN ELECTRÓNICA

MANUAL DE USUARIO FACTURACIÓN ELECTRÓNICA MANUAL DE USUARIO FACTURACIÓN ELECTRÓNICA Proveedores PLATAFORMA FACTURACIÓN ELECTRÓNICA PARA PROVEEDORES DE LA JUNTA DE COMUNIDADES DE CASTILLA LA MANCHA. Índice 1. INTRODUCCIÓN... 3 2. ACCESO A LA PLATAFORMA

Más detalles

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha 2006-08

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha 2006-08 PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet Revisión 1.1 Fecha 2006-08 Índice 1. Acceder 2. Menú 3. Gestión Básica 3.1 Añadir 3.2 Editar 3.3 Eliminar 3.4 Eliminación de registros

Más detalles

MANUAL DE USUARIO Y EJEMPLO DE UTILIZACIÓN HERRAMIENTA DLP-DELPHI LEARNING PACKAGE

MANUAL DE USUARIO Y EJEMPLO DE UTILIZACIÓN HERRAMIENTA DLP-DELPHI LEARNING PACKAGE MANUAL DE USUARIO Y EJEMPLO DE UTILIZACIÓN HERRAMIENTA DLP-DELPHI LEARNING PACKAGE PROFESOR: Creación y puesta en marcha de un proceso de aprendizaje Delphi: En esta fase el profesor debe realizar las

Más detalles

Microsoft Access proporciona dos métodos para crear una Base de datos.

Microsoft Access proporciona dos métodos para crear una Base de datos. Operaciones básicas con Base de datos Crear una Base de datos Microsoft Access proporciona dos métodos para crear una Base de datos. Se puede crear una base de datos en blanco y agregarle más tarde las

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

Guía de acceso a Meff por Terminal Server

Guía de acceso a Meff por Terminal Server Guía de acceso a Meff por Terminal Server Fecha:15 Marzo 2011 Versión: 1.02 Historia de Revisiones Versión Fecha Descripción 1.00 03/07/2009 Primera versión 1.01 13/08/2009 Incorporación dominio 1.02 15/03/2011

Más detalles

PRÁCTICA: LENGUAJE VHDL

PRÁCTICA: LENGUAJE VHDL PRÁCTICA: LENGUAJE Introducción Los lenguajes permiten manejar mejor grandes tamaños Los lenguajes son más flexibles que las tablas Los lenguajes son légibles por las máquinas más fácilmente que los gráficos

Más detalles

Creación de nuevos modelos a partir de otros ya existentes.

Creación de nuevos modelos a partir de otros ya existentes. Creación de nuevos modelos a partir de otros ya existentes. 1.- Introducción y definición. Proteus integra una librería con miles de modelos de componentes electrónicos listos para utilizar en la simulación

Más detalles

Trey-SAT Pag. 1. Manual de usuario

Trey-SAT Pag. 1. Manual de usuario Trey-SAT Pag. 1 Manual de usuario Trey-SAT Pag. 2 Modulo SAT : Servicio de asistencia técnica TREY-SAT es un potente módulo para el servicio de asistencia técnica, completamente integrado a la Gestión

Más detalles

1.- INTRODUCCIÓN 2.- PARÁMETROS

1.- INTRODUCCIÓN 2.- PARÁMETROS 1.- INTRODUCCIÓN Hemos diseñado una aplicación que facilite el envío a las entidades bancarias de las de cobro por domiciliación. La entrada de esta aplicación pueden ser, tanto ficheros cuyos formatos

Más detalles

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos

Más detalles

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online Guías _SGO Gestione administradores, usuarios y grupos de su empresa Sistema de Gestión Online Índice General 1. Parámetros Generales... 4 1.1 Qué es?... 4 1.2 Consumo por Cuentas... 6 1.3 Días Feriados...

Más detalles

CRM para ipad Manual para Usuario

CRM para ipad Manual para Usuario CRM para ipad Manual para Usuario Manual del CRM en el ipad para usuario. Contenido: Apartado 1 Concepto General. Visión general y concepto de Delpro(CRM). Apartado 2 Conexión y Sistema Delpro. Configuración

Más detalles

INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA

INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA TERMINAL SERVER TUTOR: JORGE CASTELLANOS MORFIN 19/02/2012 VILLA DE ALVARES, COLIMA Indice Introducción... 3 Objetivo... 3 Lista de Materiales... 3 Procedimiento...

Más detalles

Uso de Visual C++ Pre-Practica No. 3

Uso de Visual C++ Pre-Practica No. 3 Pre-Practica No. 3 Uso de Visual C++ Microsoft Visual C++ 2010 es una versión de Visual Studio específica para el lenguaje de programación C++. Es un entorno de desarrollo muy completo y profesional. Por

Más detalles

MANUAL DEL INSTALADOR

MANUAL DEL INSTALADOR MANUAL DEL INSTALADOR Índice Índice... 2 Instalación... 3 Extracción de archivos... 3 Actualización de los archivos de sistema... 3 Pantalla inicial... 4 Selección de la ruta de instalación... 4 Selección

Más detalles

Guía de instalación de la carpeta Datos de IslaWin

Guía de instalación de la carpeta Datos de IslaWin Guía de instalación de la carpeta Datos de IslaWin Para IslaWin Gestión CS, Classic o Pyme a partir de la revisión 7.00 (Revisión: 10/11/2011) Contenido Introducción... 3 Acerca de este documento... 3

Más detalles

APLICACIÓN DE ACCESO REMOTO PARA POCKET PC. MANUAL DE USUARIO (Release 1.42)

APLICACIÓN DE ACCESO REMOTO PARA POCKET PC. MANUAL DE USUARIO (Release 1.42) APLICACIÓN DE ACCESO REMOTO PARA POCKET PC MANUAL DE USUARIO () Índice INTRODUCCIÓN... 3 MANUAL INSTALACIÓN DEL SOFTWARE... 4 GUIA USUARIO... 5 Iniciar la Aplicación Control Remoto... 5 Bienvenido... 5

Más detalles

Edición de Ofertas Excel Manual de Usuario

Edición de Ofertas Excel Manual de Usuario Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE

Más detalles

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico) MANUAL DE AYUDA SAT Móvil (Movilidad del Servicio Técnico) Fecha última revisión: Abril 2015 INDICE DE CONTENIDOS INTRODUCCION SAT Móvil... 3 CONFIGURACIONES PREVIAS EN GOTELGEST.NET... 4 1. INSTALACIÓN

Más detalles

Diseño de actividades para el aula con Jclic Módulo 2: Generalidades sobre la creación de Proyectos Jclic

Diseño de actividades para el aula con Jclic Módulo 2: Generalidades sobre la creación de Proyectos Jclic Diseño de actividades para el aula con Jclic Módulo 2: Generalidades sobre la creación de Proyectos Jclic Índice Presentación del módulo... 2 Introducción..3 Creación de un nuevo proyecto... 3 Almacenar

Más detalles