problema de reloj

S

superheterodino

Guest
el problema es que he escrito el código para el diseño de mi y yo hemos realizado la simulación funcional.Ahora quiero fijar un objetivo XC2S50 para mi diseño.la cosa es que yo havent hecho este tipo de cosa antes.He Xilinx ISE 6.2 y sé cómo ejecutarlo.

mi diseño requiere de una entrada de reloj de 25MHz y una parte de ella requiere de un reloj de 400Hz.¿Cómo puedo conectar el reloj de 25MHz a mi FPGA y ¿Cómo puedo obtener el reloj de 400Hz?la hoja de datos menciona cerca de cuatro pines reloj GCK0-GCK3.¿Cómo se utilizan?y ¿cómo puedo obtener un reloj de 400 Hz de entrada un 25MHz (thats un factor de división de 62500 !!!!!)

¿Qué más necesita saber acerca de la aplicación de un diseño en el hardware??

uptil ahora ustedes se han dado cuenta de ver a mis entradas anteriores, que soy un noob total en este campo así que por favor ser suaves de mí!

 
Bueno, si usted puede utilizar un cristal exterior - sólo tiene que utilizar algo alrededor de esa frecuencia, y ou ify tienen un PLL en la FPGA, se puede dividir hacia abajo.De lo contrario, tendrá que dividir en el código RTL.

 
desde spartan2 es un dispositivo extremo inferior, me siento u no b capaz de generar de 400 Hz de 25 MHz que utiliza es dll clk interior.
para itz mejor el diseño de un contador de 16 bits de precisión para generar un factor de división de 62500, si ur otros requisitos lógicos son menos.
otra cosa, si u tiene un diseño bien acoplados, lo que no puede caber en el dispositivo,
entonces u no b capaces de adecuarse a este contador en el interior del dispositivo.
En ese caso, u conectar el 400 Hz como clk ext.

 
Renjith me puede dar ejemplo de código para el contador de 16 bits?

y una cosa más.He introducido el código en Xilinx ISE, pero el informe de síntesis me dice que no hay señal de reloj en mi diseño.¿Tengo que utilizar algunas palabras clave específicas para la señal de reloj.He tratado de leer la documentación de Xilinx ISE, pero más me confundió.alguien me puede guiar paso a paso el tiempo y decirme cómo es un pedazo de código implementado en un dispositivo de destino con Xilinx ISE?

Sé cómo trabajar con Modelsim pero sólo porque esta es la primera vez, soy la confusión que con Xilinx ISE.pero una vez que a través de IM con toda la confusión que la enfermedad esté en funcionamiento.

por favor ayuda !!!!!!!

 
Creo que va a ser seguro si se utiliza un contadores para generar esta velocidad de reloj de 400 Hz, esto se puede hacer por cascada "permitió contar con" contadores, cada contador permitirá a la lucha contra el siguiente, cuando el recuento de llegar a un valor, esto puede hacerse utilizando 4 contadores, cascada de la siguiente manera
dos contadores de hasta 25 bits
dos contadores uno cuenta a 5 y los otros cargos a 5,
por último, un circuito de FF alternar la salida de 400 Hz,
Yo prefiero que los contadores pequeño sea el primero los contadores de esta manera es más fiable

pero depende de la gatecount que el suministro de 400 Hz, usted puede incluso crear instancias de un bufg a la señal si el número de puertas es muy grande.Por supuesto, este circuito tendrá una diferencia de fase entre los 400 Hz y 25 Mhz

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sonreír" border="0" />
 
Superhet escribió:y una cosa más.
He introducido el código en Xilinx ISE, pero el informe de síntesis me dice que no hay señal de reloj en mi diseño.
¿Tengo que utilizar algunas palabras clave específicas para la señal de reloj.
 
Superhet escribió:

Renjith me puede dar ejemplo de código para el contador de 16 bits?

 
Ehm Renjith puedo conseguir algo en Verilog

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />

No tengo conocimiento de VHDL.

Thanx Sparc mucho por tu preocupación.He attatched el banco de pruebas que simula en Modelsim.mal darle una breve descripción de lo que quiero hacer.de todo el sistema consta de un 4-bit UART en la entrada, entonces una FIR, a continuación, un codificador de Hamming y luego una de 7-bit UART al final.la 4-bit UART trabaja en un baudios de 2400 y tiene palabras de 4 bits que se dan a la FIR.la salida de la FIR de nuevo de 4-bit.los datos filtrados se da en el codificador Hamming que codifica cada palabra de 4 bits en un 7-bit de palabra.entonces esta palabra de 7 bits se transmite en un baudios de 9600.

i dont la intención de hacer un producto de consumo o algo así.Im justo hacerlo con fines de aprendizaje.Se me ocurrió la idea después recibí una pequeña introducción a verilog y simulación con ModelSim.Ahora quiero ampliar mis conocimientos.

y una cosa más.i combinado en la FIR y el codificador Hamming en un módulo, porque ambos funcionan a 400 Hz, mientras que el transmisor y el receptor van desde el reloj principal 25MHz.y, además, la 4-bit doesnt UART tienen una parte de transmisión y de 7-bit UART doesnt tiene una parte receptora.Esto se hizo porque aún no ha quiero que para llevar a cabo esos propósitos específicos.usted se estará preguntando que por qué aún no ha hacer una UART único que hizo tanto en el receptor y el transmisor.thats bien porque quiero recibir palabras de 4 bits y transmitir palabras de 7-bit.

Espero que entiendas lo que estoy diciendo.porque se parece a mí como si im just babbling

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />Lo sentimos, pero es necesario iniciar sesión para ver este archivo adjunto

 
Hola Superhet,
He intentado sintetizar el diseño ur ISE7.1 a mi lado, y la síntesis está muy bien.También se muestra la frecuencia de CLK, clk2, baud_clk.La herramienta se entiende para 2 relojes global de 4.Puedo facilitar los resultados de síntesis, si U Want.No he realizado ninguna simulación.Intenta instalar todos los parches.Además, puede cambiar a U ISE7.1, como la Web edición puede ser donloaded desde el sitio de Xilinx.

 
He Xilinx ISE 6.2.01i y tengo los mismos resultados que usted consiguió.Yo también he hecho la aplicación, el lugar y la ruta y generado el archivo de programación.Pero no quiero clk2 para ser manejado por un reloj externo.Quiero que sea expulsado de CLK.para eso sería necesario un divisor de reloj y lo necesito en Verilog.

La enfermedad esté esperando su respuesta

 
feel_on_on si sólo desplazarse unos pocos puestos por encima de usted encontrará la descripción y el código de mi proyecto.

 
relojes generados por los contadores de lógica interna no son aceptables en el PLD, u puede pasar por alto esto, pero su uso será muy limitado si thats porque cada declaración como por ejemplo:
if (generated_clk'event y generated_clk = '1 ')

será interpretar "generated_clk" para ser un pin de entrada de reloj mundial.

, entonces aquí hay algunos puntos para poner en cuenta en el desarrollo interno de los relojes de control

1-que se colocará sólo solo en los procesos de la lista senstivity.
2-ya que se colocará sola U puede utilizar el cambio de nivel del reloj para sincronizar el sistema ya que los procesos se inicia cuando un cambio de nivel suceder.aquí es cómo generar a 400Hz reloj:

el reloj 25MH tiene un ciclo de reloj de 40ns, y los 400 Hz tiene un ciclo de reloj de
2500000ns, eso significa que cada ciclo de reloj contiene 400Hz
= 2500000ns/40ns 62500 ciclo de la 25MH, así u hará un contador de 16 bits
que tiene un número máximo de 65.536 cuentas, y hacer un proceso de aumento de la
contador de acuerdo con el reloj 25MH y comprobar si se llegó a la cuenta 62500, o si no lo hizo la señal alterna representan los 400Hz, si no lo
siga como está,

buena suerte.

NOTA: NO HAY BLOQUES DLL en SPARTAN 2, que prevén igualmente DIVISOR DE FRECUENCIA, PERO SON Limitid y costumbre de trabajo en caso de UR, tratar de mirar más adelante.

 
can u say me diffrence entre el cierre de $ Flip flop? ...

 
Sí, un flip flop es EDGE disparado, mientras que un pestillo se activa en el nivel y no en el borde (ascendente o descendente)http://www.allaboutcircuits.com/vol_6/chpt_7/5.html

 
Superhet escribió:

i dont wanna clk2 para ser manejado por un reloj externo.
Quiero que sea expulsado de CLK.
para eso sería necesario un divisor de reloj y lo necesito en Verilog.La enfermedad esté esperando su respuesta
 
Aquí está otra manera.I evitar el uso de restablecer siempre que sea posible.Esto funciona en Modelsim y XST.Esto podría simplificarse si no te importa alrededor del 50% ciclo de trabajo.

Código:

Top Module (CLK, clkout);

divisor parámetro = 25000000 / 400 / / debe ser un número par

CLK de entrada;

reg [15:0] count = 0;

salida clkout reg = 0;siempre @ (clk posedge) comienzan

count <= count == (divider / 2 - 1)?
0: count 1;

clkout <= clkout (cuenta == 0);

final

endmodule
 
En primer lugar, echo47, ModelSim me da un error que está a la espera "," cerca de "=".pero de todos modos que fue el más simple código que vio en esta búsqueda de la mejor división de código de reloj.

Sparc, el divisor de reloj de obras purrrrfect!

He attatched los códigos de verilog tanto para la simulación ModelSim y Xilinx y una pequeña presentación del proyecto.i hope you guys like it.y por favor dar sus comentarios
Lo sentimos, pero es necesario iniciar sesión para ver este archivo adjunto

 
Error Modelsim?Hmmm - He estado utilizando esta característica desde hace años.No puede ser legal Verilog, pero seguro que es una extensión interesante proporcionado por Modelsim y XST.Estoy corriendo Modelsim SE 6.0d e ISE 6.3i y ISE 7.1i.

 
im usando ModelSim 5.4 bis

pero he visto esta práctica en el libro "Verilog HDL-Guía Digital de Diseño y Síntesis".Me gusta esta manera también, pero quizás es porque soy utilizando una versión anterior de ModelSim, me sale este error.

 

Welcome to EDABoard.com

Sponsor

Back
Top