Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

26/03/2014 #1


Programacion en vhdl
necesito realizar un contador (codigo) en vhdl que me detecte los numeros primos del 2 al 9973 y que al momento de la simulacion me aparezcan en la variable de salida en forma binaria. Para el codigo seria de 14 bits (ya que son los necesarios para completar el 9973). Ademas de que cuente con un reset (sin importar el numero que vaya) y comience desde 2. Este codigo junto con otros se implementara en una FPGA.

Gracias por la ayuda. ...
26/03/2014 #2
Moderador general

Avatar de DOSMETROS

Es imprescindible que subas lo que llevás hecho-averiguado hasta ahora como para poder recibir ayuda.

Fijate si algo de aqui te sirve :

http://www.forosdeelectronica.com/bu...12j20963776j13
26/03/2014 #3


subo un codigo que hice, si compila pero no hace lo que deseo. Sería de gran ayuda si se pudiera orientarme
Imágenes Adjuntas
Tipo de Archivo: jpg IMG_0540.jpg (108,6 KB (Kilobytes), 27 visitas)
26/03/2014 #4
Moderador general

Avatar de DOSMETROS

Te sugiero que lo subas como texto , por si alguien lo quiere correr para probarlo
26/03/2014 #5

Avatar de chclau

Hola,

Si tuviera que elegir ejemplos de cosas que NO daria a un estudiante para hacer en VHDL, este seria el primero.

Para encontrar todos los numeros primos en un rango tengo que

1. definir dos como primo
2. explorar el numero siguiente, o sea, tres
3. como tres no es divisible por dos, lo incluyo en la tabla de primos
4. ahora exploro el cuatro, cuatro es divisible por dos, no es primo
etc.
Obviamente admite una simplificacion trivial que es la de explorar solo los numeros impares.

O sea que te piden hacer en VHDL, entre otras cosas, lo siguiente:
1. Dividir
2. generar y actualizar una tabla de numeros primos
3. y encima tiene que ser sintetizable en una FPGA!!!!!

y todo eso de un estudiante que no sabe ni siquiera como hacer un misero contador en VHDL??????????

Si te lo pidio un profesor, esta borracho. Si es por tu propia iniciativa, empeza por cosas mas simples.
Saludos
26/03/2014 #6


Si se a lo que te refieres brother... Eso que me explicaste, cualquier persona puede encontrarlo en internet. Un contador es sencillo de hacer, pero que el contador imprima los numeros primos, es ahi donde no supe implementar el algoritmo en vhdl. Un contador ascendente o cualquier otro tipo es relativamente mas sencillo... Es un proyecto, un profesor lo dejo... De cualquier forma gracias por tu aporte!
27/03/2014 #7

Avatar de chclau

Si buscaste por la internet habras visto que es casi imposible encontrar un algoritmo sintetizable para lo que pides.

Podrias explicar cual es la idea del algoritmo? Asi como lo escribiste esta mal, no puede haber un elsif para clk'event y otros elsif para otras cosas... eso no es sintetizable. La logica debe efectuarse en el bloque de reset o en el de clock, porque asi funciona un flip flop.

Y faltan muchas cosas mas, un lazo que explore los numeros, una tabla de primos... en fin, trata de explicar con palabras que querias lograr y tal vez pueda ayudarte
27/03/2014 #8


En lo único que pido ayuda es en la elaboración del algoritmo para detector de numeros primos... Todo lo demás en teoría sé hacerlo.
si pudieras ayudarme, basado en el diagrama de flujo siguiente a realizar en vhdl el codigo, en JAVA ya lo hice y si funciona correctamente, pero soy primerizo en vhdl y tengo desconocimiento en operadores, declaracion de variables entre otras cosas... Subo el diagrama y cualquier ayuda será bienvenida.

Saludos.
Imágenes Adjuntas
Tipo de Archivo: jpg 10150012_10203019683760733_952522304_n.jpg (12,2 KB (Kilobytes), 19 visitas)
27/03/2014 #9

Avatar de chclau

Una pregunta fundamental es si va a ser implementado en una FPGA (como pusiste), o no. Si NO va a ser implementado en una FPGA podes utilizar la funcion MOD y es (relativamente) simple. Si va a ser implementado en FPGA es relativamente complicado.

Aun asi, tenes que leer un poco bastante sobre como usar variables, array y for en VHDL. Si aprendiste JAVA, sabes como es. No hay atajos. Tenes que empezar por ejemplos simples para entender los complejos. Por eso te digo, hace un contador. Despues, un lazo que actualice n contadores, con lo que aplicaras for y arrays. Y de ahi seguimos hablando.

Suerte
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.