Introduccion A Diseño Con FPGA 2022

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 113

INTRODUCCION A DISEÑO CON

FPGA

JONY CARMONA
ECCI 2022
Que es una FPGA.
Una matriz de puertas programables o FPGA (del inglés field-programmable gate array), es un
dispositivo programable que contiene bloques de lógica cuya interconexión y funcionalidad puede
ser configurada, mediante un lenguaje de descripción especializado(VHDL(basado en ADA),
Verilog (Basado en C), esquemático). La lógica programable puede reproducir desde funciones
tan sencillas como las llevadas a cabo por una compuerta lógica o un sistema
combinacional, hasta complejos sistemas en un chip.

Las interconexiones pueden ser tan simples como una línea de interconexión directa entre dos
bloques o tan compleja como un multiprocesador.
Procesador vs FPGA.
Un procesador es un dispositivo complejo con un conjunto fijo de instrucciones. Cada una de
ellas está asociada a un hardware conectado de forma fija, y el programador no puede usar
más instrucciones que las definidas y configuradas por el fabricante. Por otra parte, la FPGA
no tiene nada conectado de forma fija, sino que está compuesta por una red con
conexiones que el usuario puede unir o romper, y que determinan el comportamiento lógico
del dispositivo a diseñar.

Cuando programamos un microprocesador, agrupamos una serie de instrucciones para su


ejecución secuencial o en serie. Por otra parte, cuando describimos lógica digital para una
FPGA, el circuito resultante contendrá múltiples señales que variarán al mismo tiempo, en una
especie de ejecución paralela.
Diseñando un componente.
A la hora de configurar una FPGA, el primer paso es el diseño del circuito, para lo que
se necesitan conocimientos de electrónica digital. A diferencia de la programación
software, es mucho más complicado empezar a desarrollar código si no se tiene clara
la arquitectura de la aplicación. Lo recomendable en este punto es hacer un diagrama
del circuito completo para ser conscientes de las múltiples señales que van a coexistir,
variar simultáneamente y de los resultados esperados de cada una ellas.
Lenguaje de descripción de hardware.
Un lenguaje de descripción de hardware es un lenguaje que utiliza expresiones estándar
basadas en texto o imágenes que reflejan la estructura de los circuitos electrónicos, es decir
hace posible que el diseñador de hardware pueda modelar y simular un circuito integrado
electrónico antes de que este sea construido físicamente eliminando la fase de prototipación de
componentes lo cual reduce los costos de diseño y producción. Este lenguaje no debe ser
confundido con un lenguaje de programación, en HDL se describe hardware mientras que en un
lenguaje de programación se dan instrucciones a un procesador.

Al igual que los lenguajes de programación tradicionales, la sintaxis y semántica incluyen


notaciones específicas que permiten su funcionalidad. A diferencia de los lenguajes de
programación, los lenguajes de descripción de hardware tienen una notación específica para el
tiempo, debido a que esta es una característica FUNDAMENTAL en los circuitos electrónicos
reales.

Los lenguajes HDL deben permitir la simulación, cuyos objetivos son: verificar que el diseño es
funcionalmente correcto, es decir, que se cumplan las especificaciones lógicas; y además que
se cumplan las especificaciones temporales; es decir que los tiempos de propagación a través
de las componentes y de los caminos que permiten la interconexión cumplan las
especificaciones de setup(ajuste) y hold(mantener) de los registros, en caso de sistemas
secuenciales sincrónicos.
Que es VHDL.

VHDL surge a principios de los '80 de


un proyecto DARPA (Departamento
de Defensa de los EE.UU.) llamado
VHSIC HDL –Very High Speed
Integrated Circuits Hardware
Description Lenguage (Lenguaje de
Descripción de hardware para
circuitos integrados de muy alta
velocidad),aparece como una
manera de describir circuitos
integrados simples hasta circuitos
integrados SOC (System On Chip), su
lenguaje esta basado en ADA.
Que es Verilog.
Verilog fue inventado por Phil Moorby en 1985 mientras trabajaba en Automated Integrated Design
Systems.El objetivo de Verilog era ser un lenguaje de modelado de hardware.

Con el incremento en el éxito de VHDL, Cadence decidió hacer el lenguaje abierto y disponible para
estandarización. Cadence transfirió Verilog al dominio público a través de Open Verilog International,
Verilog fue después enviado a la IEEE que lo convirtió en el estándar IEEE 1364-1995, habitualmente
referido como Verilog 95.

Extensiones a Verilog 95 fueron enviadas a la IEEE para cubrir las deficiencias que los usuarios habían
encontrado en el estándar original de Verilog. Estas extensiones se volvieron el estándar IEEE 1364-2001
conocido como Verilog 2001.

Verilog existe desde el año 1984, luego de varios años de uso se ha estandarizado y su última versión
es del año 2001. Es un lenguaje similar a pascal y C, y dentro de los HDL, además de las descripciones
abstractas permite representaciones en bajo nivel; es decir puede describir sistemas digitales en base
a compuertas, e incluso en base a transistores.

A diferencia del lenguaje C, Verilog tiene un preprocesador como C, y la mayoría de palabras


reservadas de control como "if", "while", etc, usa Begin/End en lugar de llaves para definir un bloque
de código y el concepto de tiempo, muy importante en un HDL, ítem que no se encuentra en C.
Para que sirve entonces HDL.
Con un lenguaje de descripción de hardware puedo modelar-diseñar SISTEMAS DIGITALES, luego
de tener estos modelos realizados entonces se podrá:

• Simular tanto en un compilador con simulador como programar un dispositivo que soporte este
tipo de modelos y verificar que su comportamiento real sea igual a que genera la simulación.

• Sintetizar con lo cual se genera un ruteo de como se deberían interconectar los elementos
internos que compondrán el circuito integrado que diseñamos, para posteriormente fabricarlo
físicamente.
Estilos de diseño.
A nivel de diseño se encuentran dos grandes familias:

Diseño Full Custom:

• Implicaría que el diseñador tenga conocimientos profundos de microelectrónica, diseñar todo


el circuito de principio a fin.
• Donde no hay restricción alguna al momento de ubicar ni rutear los diferentes módulos pues no
se utilizan elementos prefabricados ni prediseñados por fabricantes.
• Implica tiempos de desarrollo extensos.
• No se puede llegar a asegurar de primera mano que el comportamiento eléctrico que el
diseñador propuso sea el correcto
• Solo justificable cuando los costos pueden ser amortizados con grandes volúmenes de
producción altos o si el coste no es demasiado importante.

Diseño semi Custom existen ciertas restricciones al momento de ubicar los componentes y las rutas
de los módulos diseñados, teniendo en cuenta las restricciones mencionadas el diseño semi
custom se puede subdividir en:

Diseños basados en Celdas : Celdas Standard, Macroceldas.


Diseños basados en Arrays: Prefundidos, Precableados.
Estilos de diseño.
Diseño semi Custom.

• Existen ciertas restricciones al momento de ubicar los componentes y las rutas de los módulos
diseñados

• Tiempos de desarrollo cortos frente al diseño full custom

• Se puede asegurar el desempeño de los elementos pues ya los fabricantes en sus diseños y
posteriores fabricaciones aseguraron que el componente presenta el comportamiento
esperado.

• No se logra optimizar el tema de espacio y consumo energético al tener las limitaciones de


ruteo y ubicación de los componentes.

Teniendo en cuenta las restricciones mencionadas el diseño semi custom se puede subdividir en:

Diseños basados en Celdas : Celdas Standard, Macroceldas.


Diseños basados en Arrays: Prefundidos, Precableados.
Diseñando un componente.
Una vez definido el diagrama de bloques del componente que deseamos implementar
se deberá realizar un despiece de cada elemento que compone dicho diagrama, por
ejemplo que tiene internamente un multiplexor, como esta construido un sumador, que
compuertas necesito para realizar un restador, como trabajan los componentes internos
de un codificador o un decodificador, cuantas bits de entradas y salidas necesito para
construir mi componente.
Algunos componentes y su estructura interna.
Algunos componentes y su estructura interna.
ALTERA MAX 10.

La placa de desarrollo ALTERA MAX 10 es componente de hardware que permite a los principiantes
adquirir experiencia en la construcción de circuitos digitales reales pues esta diseñada para
comprobar sobre componentes reales el desempeño de el hardware descrito en código usando los
lenguajes de programación propios de este tipo de sistemas.
PERIFERICOS ALTERA MAX 10.
Dispositivo FPGA:
MAX 10 10M50DAF484C7G la programmazione e La Configurazione: On-Board USB Blaster (Normale
Connetor USB tipo B
64 MB SDRAM,
16 bit bus datos
Sensor -> acelerometro
2x20 GPIO Conector (tension de operacion: 3.3 V)
Arduino Uno R3 Connetor,

interruptores/Pulsadores/Led´s/Display 7 segmentos
10 LEDs
10 Interruptores
2 Pulsadores
6 display 7-Segments
Volaje de alimentacion: 5V
Dimensiones:97.5mm * 80mm
ALTERA MAX 10 FAMILIAS.
INSTALANDO EL AMBIENTE DE DESARROLLO.

La compañia fabricante de la FPGA ALTERA MAX10 brinda a los propietarios de este tipo de
tecnologia las herramientas de software necesarias para su programacion, cabe reslatar que el uso
de componentes de este tipo para uso comercial implica el pago de un canon para INTEL, pero
para uso academico se brinda una herramienta ligera gratuita que pérmite a los estudiantes
conocer el entorno.
Quartus prime lite.

Para iniciar descargue e instale la version lite de quartus, esta puede encontrarse en el siguiente
enlace:

https://www.intel.com/content/www/us/en/software-kit/684216/intel-quartus-prime-lite-edition-
design-software-version-21-1-for-windows.html?
Quartus prime lite.

Ahora descargue los archivos adicionales, que permite tener el soporte del IDE descargado
anteriormente para la FPGA a usar:

https://www.intel.com/content/www/us/en/software-kit/684216/intel-quartus-prime-lite-edition-
design-software-version-21-1-for-windows.html?
Quartus prime lite.

Ahora descargue los drivers para la instalacion de la tarjeta

https://www.terasic.com.tw/wiki/File:Usb_blaster_q16.1.zip
Quartus prime lite.
Quartus prime lite.

Seleccione la ubicación
deseada para la
instalación, se recomienda
una dirección cercana a la
raíz del disco duro; tenga
presente que en este
mismo folder deberá
instalar todos los aplicativos
que se requieren para
interactuar con la FPGA.
Quartus prime lite.
Quartus prime lite.

El proceso de instalación podrá


tardar algunos minutos, el mismo
dependerá de las características
del equipo de computo donde se
realice el proceso.
Quartus prime lite.

Si mantiene las opciones por defecto


deberá tener conectada la FPGA a su
equipo para que se instalen los drivers
correspondientes de no ser asi se
arrojara un mensaje de error.
Quartus prime lite.
Quartus prime lite.
Una vez finalizada la instalación configure el programa instalado para que se
ejecute como administrador, dando click derecho sobre el icono creado y
seleccionando la opción Propiedades, y luego en la opción Compatibilidad
marque la casilla Ejecutar este programa como administrador.
Quartus prime lite.
Ahora al ejecutar el programa saldrá en pantalla lo siguiente:

Seleccione la opción Run y luego de click en OK, el


programa debería iniciar de manera automática si
no es asi debe abrir el administrador de tareas
buscar la aplicación quartus y finalizar la tarea.
Quartus prime lite.
Para corroborar que el proceso de instalación fue correcto al abrir quartus
seleccione la opción, Tools –Install devices:
Quartus prime lite.
Quartus prime lite.

Busque la carpeta donde tiene


alojados los archivos descargados de
los links anteriores, y establezca esta
ruta como el punto de búsqueda.
Quartus prime lite.

Si selecciono la ruta correcta se


deberá desplegar esta interface,
ahora deben estar seleccionadas las
opciones Quartus PrimeLite Edition,
Devices,MAX 10 FPGA,ModelSim Intel
FPGA Starter Edition, si alguna de
estas no esta seleccionada,
sleccionela y de click en next.

NOTAS:
1. NO seleccione la ipcion ModelSim
Intel FPGA Edition, esta no es una
opción gratuita.
2. Si las opciones descritas ya están
seleccionadas de click en
cancelar y luego en la opción yes.
Quartus prime lite.
Quartus prime lite.

Con la tarjeta conectada busque el administrador de dispositivos de Windows, donde


se deberá mostrar un componente que no cuenta con los drivers para su
funcionamiento, sleccionelo de click derecho sobre este y luego seleccione la opción
Actualizar controlador, luego buscar controladores en este equipo y ahora seleccione
la carpeta donde descomprimio los drivers.
Quartus prime lite.
Quartus prime lite.
Quartus prime lite.
Quartus prime lite.

Una vez instalados


todos los
componentes
necesarios es
momento de iniciar en
el mundo de la
emulación de circuitos
electrónicos usando
FPGA.
Quartus prime lite.
Para dar inicio conozcamos un poco el entorno de Quartus, la interface oficial de
Intel para el manejo de sus FPGA.

La interface esta dividida en 7 partes:

1 Barra de menú principal


2 Barra de herramientas principal( contiene atajos a las funcionalidades mas
comunes del entorno)
3 Explorador de proyecto (ofrece 5 diferentes vistas del proyecto dentro de las cuales
están hierarchy, files, design units, IP components, revisions)
4 Lista de tareas de quartus
5 panel de mensajes
6 Catalogo IP
7 Ventana principal “home screen”
Quartus prime lite.
Quartus prime lite.
Para crear un proyecto nuevo en quartus siga los siguientes pasos, seleccione
New Project wizard
Quartus prime lite.
Seleccione la ubicación donde almacenara su proyecto.

NOTA: se recomienda crear un nuevo folder por cada proyecto que se cree.
Quartus prime lite.
Seleccione la ubicación donde almacenara su proyecto y asigne un nombre a
su proyecto, se recomienda que las ubicación del proyecto sea próxima a la raíz
del disco duro para evitar problemas al sintetizar.

NOTA: se recomienda crear un nuevo folder por cada proyecto que se cree.
Quartus prime lite.
Se puede crear un proyecto vacío o tomar archivos ya construidos y que hacen
parte de las herramientas que brinda Intel para el desarrollo de proyectos, pero
si va a trabajar con estos es recomendable que conozca su contenido pues de
no ser así podría tener problemas en el momento de trabajar su proyecto.
Quartus prime lite.
En esta ventana se pueden agregar diseños previamente creados por usted y
que puedan ser útiles para el desarrollo actual, si en el desarrollo de su proyecto
requiere agregar archivos puede hacerlo no es solo en este punto donde se
pueden adicionar.
Quartus prime lite.
Este es un paso clave en el proyecto pues aquí se selecciona la FPGA con la que se
trabajara, para nuestro caso la universidad cuenta con FPGA´s de la familia DE10-Lite
MAX 10 y Cyclone IV, este tutorial esta basado en el uso de la MAX10.
Quartus prime lite.
Si desea agregar otros entornos de diseño EDA que pueda usar quartus para síntesis y
simulación en este punto se puede llevar a cabo de no ser necesario de click en
siguiente.
Quartus prime lite.
Se muestra un resumen de la configuración seleccionada para el proyecto creado,
verifique que los parámetros configurados correspondan a las características requeridas
para su desarrollo y de click en finish.
Quartus prime lite.
Una vez creado su proyecto se mostrara una interface como la de la imagen donde se
vera en el navegador del proyecto el nombre que asigno en la configuración
anteriormente ejecutada.
Quartus prime lite.
Se recomienda hacer un ajuste en el numero de nucleos que usara su computador
para sintetizar el diseño a enviar a la FPGA, pues por defecto solo se usa un nucleo y
cuando los diseños son muy robustos el tiempo de sintonización podría ser muy extenso.
Quartus prime lite.
Una vez creado el proyecto es momento de empezar a desarrollar el contenido del
mismo para ello se tiene 2 opciones .
Quartus prime lite.
En este punto se debe seleccionar el tipo de lenguaje a usar para esta primera fase
usaremos diseños esquemáticos, mas adelante se usara VHDL y/o verilog.
Quartus prime lite.
En esta interface se agregara el diseño esquemático que se va a implementar sobre la
FPGA, ahora antes de iniciar se debe guardar este nuevo documento que hara parte
del proyecto creado.
Quartus prime lite.
Quartus prime lite.
Una vez guardado el nombre del documento creado se mostrara en la interface.
Quartus prime lite.
Para agregar un símbolo a nuestro esquemático se tiene tres opciones

La tercera opción es dar doble click izquierdo sobre la ventana de diseño


Quartus prime lite.
Ahora la barra del nuevo documento esquemático tiene varios símbolos, la
funcionalidad de estos es:

Conexión simple entre componentes


Desanclar la ventana de diseño

Conexión bus de datos entre componentes

Herramienta de selección
Conduit conexion bus

Zoom Conexión simple entre componentes diagonal

Conexión bus de datos entre componentes diagonal


Desplazar la pantalla de diseño

Conduit conexion bus diagonal


Agregar texto al esquemático.

Agregar figura de cuadrado al diseño


Agregar un nuevo símbolo al esquemático

Agregar figura de elipse al diseño


Agregar pines (entradas, salidas, bidireccionales)

Agregar línea al diseño

Agregar bloque optimizable


Agregar figura de arco al diseño
Quartus prime lite.
Cuando se selecciona por cualquiera de los métodos la opción de agregar
componente se abre la siguiente ventana en la cual debemos desplegar los submenús
hasta llegar para este primer ejemplo hasta las primitivas
Quartus prime lite.
En este ejemplo crearemos un diseño para encender 4 leds usando la frecuencia de
reloj del sistema, divisores de frecuencia a partir de modulos PLL del set de IP catalog; lo
primero es añadir las entradas y salidas del sistema (entradas-> frecuencia de reloj-
salidas-> leds)
Quartus prime lite.
Para agregar y cambiar el nombre a las entradas y salidas,
desde el icono “Agregar pines (entradas, salidas,
bidireccionales)”, seleccione el tipo de pin según la
necesidad y para agregar al diseño solo basta con dar click
sobre la ventana de trabajo, si quiere dejar de agregar
componentes del mismo tipo presione la tecla esc

Para cambiar el nombre de un pin de


click derecho sobre el pin que desea
modificar y seleccione la opción
properties
Quartus prime lite.

Para agregar el divisor de frecuencia en la sección “IP


Catalog” escriba ALT , para agregarlo al diseño de doble
clik sobre la opción ALTPLL, y en la ventana que aparece en
pantalla asigne un nombre al modulo y de click en ok
Quartus prime lite.

Cambie la frecuencia por 50.000Mhz


Quartus prime lite.

Deshabilite los campos “Create an


“areset” input to asynchronously reset
the pll” (reinicio asíncrono) y “created
“locked” outpu”( crear salida
bloqueante).

Después de esta pantalla avance hasta


la pantalla 3 “Output clocks” sin
realizar cambios dando click en el
botón next.
Quartus prime lite.

Cambie el clock división factor por 50,


lo cual generara una nueva señal de
reloj de 1Mhz.
Quartus prime lite.

Avance hasta la ventana 5 “summary”,


y seleccione la opción “Quartus prime
symbol file” y finalmente presione finish;
al hacer esto aparecerá una venta
donde se indaga si desea agregar al
nuevo componente a su proyecto.
Quartus prime lite.

Para agregar el nuevo componente creado a


su diseño de click en el atajo Agregar un nuevo
símbolo al esquemático
Quartus prime lite.

Interconecte el componente usando conexión


simple entre componentes.
Quartus prime lite.

Ahora vamos a crear un contador


usando ip catalog, escriba la palabra
counter y seleccione la opción
LPM_COUNTER
Quartus prime lite.

Cambie el valor de 5 por 32 bits, que


serán los conteos que realizara el
contador que vamos a implementar;
luiego de click en next sin realizar mas
cambios hasta la ventana 3 “summary”.
Quartus prime lite.

Seleccione la opción “Quartus prime


symbol file” y de click en finish.
Quartus prime lite.

Como el contador tiene 32 salidas las


mismas van conectadas a través de un
bus de datos, para ello seleccione la
opción Conexión bus de datos entre
componentes, luego de click derecho
sobre la misma seleccione propiedades
y asigne un nombre como el de la
imagen, este tipo de notación hace
referencia aun listado de
componentes.(contador[31..0]).
Quartus prime lite.

Asigne los nombres de las conexiones de los leds que se relacionan con las salidas del
contador
Quartus prime lite.

Para verificar las conexiones y el diseño


se puede hacer una análisis mediante
la herramienta “ analysis & Elaboration”,
si todo esta correcto en la ventana de
mensajes deberá aparecer el mensaje
Info (12128): Elaborating entity
"divisor50_altpll" for hierarchy
"divisor50:inst|altpll:altpll_component|di
visor50_altpll:auto_generated"
Info: Quartus Prime Analysis &
Elaboration was successful. 0 errors, 1
warning
Quartus prime lite.

Nota: verifique todos los mensajes generados, si encuentra warnings trate de corregirlos para evitar
problemas con la construcción de su proyecto.
Quartus prime lite.

Si el proyecto no presenta errores es momento de asignar los pines reales de su FPGA al diseño,
para ello puede hacerlo de dos maneras.
Quartus prime lite.

Se abrirá una ventana de este tipo donde aparecerán las entradas y salidas del sistema.
Quartus prime lite.
Si desea agregar el pin planner a la ventana de trabajo puede dar click en el botón attach
window.
Quartus prime lite.
Si desea agregar el pin planner a la ventana de trabajo puede dar click en el botón attach
window.
Pinout DE10-Lite.
Pinout DE10-Lite.
Pinout DE10-Lite.
Pinout DE10-Lite.
Pinout DE10-Lite.
Pinout DE10-Lite.
Pinout DE10-Lite.
Pinout DE10-Lite.
Pinout DE10-Lite.
Pinout DE10-Lite.
Pinout DE10-Lite.
Pinout DE10-Lite.

Al asignar todos los pines cierre la ventana y continúe con su diseño.


Implementado sobre la FPGA.

Ahora busque la opción análisis & Synthesis que verificara la relación entre su diseño y los pines
asignados en el paso anterior; si todo resulta bien el prtoceso se cargara al 100%.
Implementado sobre la FPGA.

Ahora busque la opción filter (place & router) este verificara todas las rutas de conexión; para un
diseño de un sistema que requiere el uso de un reloj tener rutas de conexión con diferentes
longitudes resulta critico, pues se presentas desfases entre las señales que hacen que el sistema
no sea 100% confiable, esto se ve reflejado en el warning (Critical Warning (332012): Synopsys
Design Constraints File file not found: 'proyectobasico.sdc'. A Synopsys Design Constraints File is
required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not
properly optimize the design.)
Implementado sobre la FPGA.
Implementado sobre la FPGA.
Implementado sobre la FPGA.

Para solucionar este problema al usar relojes se debe agregar un nuevo componente al diseño.
Implementado sobre la FPGA.
Una vez creado guarde el archivo con el mismo nombre del proyecto, si usted decide asignar
otro nombre entonces tendrá que ir a ajustes y agregar el archivo SDC (Synopsys Design
Constraints) en el proyecto.
Implementado sobre la FPGA.
Todas las relaciones de tiempo involucran un reloj, por lo cual se agregara un reloj
para hacer análisis comportamental.
Implementado sobre la FPGA.

El nombre del reloj corresponde al mismo nombre del pin de reloj de entrada del
sistema creado al igual que el target.
Implementado sobre la FPGA.
Implementado sobre la FPGA.
Implementado sobre la FPGA.
Doble click en la opción Compile Design para sintetizar el proyecto completo

Al agregar el analizador de tiempo el warning de synopsys desaparace.


Implementado sobre la FPGA.
Es momento de programar la FPGA con el diseño construido y verificar su
comportamiento; existen diferentes formas de abriri el progrqamador desde la
interface principal:

1) Presionando el botón de atajo programmer

2) En el menú Tools-> programmer


Implementado sobre la FPGA.
3) Presionando program device ubicado en la ventaqna de tareas
Implementado sobre la FPGA.
Implementado sobre la FPGA.
Implementado sobre la FPGA.
Implementado sobre la FPGA.

Presione
autodetect para
verificar el
hardware
conectado
Implementado sobre la FPGA.

Click para
habilitar el botón
change file
Implementado sobre la FPGA.

Click para
habilitar el botón
change file
Implementado sobre la FPGA.

Seleccione el
archivo con
extensión sof y de
click en open
Implementado sobre la FPGA.

Habilite la opción
Program/Configure,
esto habilitara el
botón Start.
Implementado sobre la FPGA.

En este momento el
código esta
corriendo sobre la
FPGA.
Implementado sobre la FPGA.

Al cerrar la ventana
se pregunta si se
desean guardar los
cambios realizados
al proyecto,
presione yes.

También podría gustarte