Reloj de Aplicación en Verilog

A

abdullahkhan5

Guest
Estoy haciendo un proyecto en el que soy siempre utilizando un bloque en el que el uso de mensajería instantánea
siempre @ (reloj posedge)
Entonces, ¿dónde debo hacer para implementar este reloj desde im gonna han de sintetizar este código y ponerlo en FPGA, XC2S200 bordo, no se conoce su frecuencia ya sea de cristal.También tengo que generará otro contador que cuenta cada segundo y luego tengo que hacer algunos controles en base a cada segundo.

Si alguien puede proporcionar un código de ejemplo y tengo que poner en práctica que en el módulo, lo he dicho código de reloj para el estímulo, pero tengo que aplicar en mi código ...

Gracias de antemano

 
FPGAs ¿Tiene incorporada en las fuentes de reloj.Usted tiene que traer el reloj en un pin externo.Usted declara esto como un pin de puerto en el nivel superior del diseño y luego ejecutar a través de buffer de reloj mundial.La red después de que el tampón sería llamado "reloj" y luego se hace cargo de sintetizador de allí.

La frecuencia de reloj de entrada depende de la fuente de reloj conectado a la FPGA.Algunos FPGAs han PLL interno, DLL, o MCD que le permiten esta escala de frecuencia de entrada hacia arriba o hacia abajo dentro de ciertos límites.

 
¿Qué consejo tiene usted?Un consejo comercial probablemente incluye un oscilador de cristal con su frecuencia impreso en la parte superior.Usted también necesita saber qué pines FPGA se conecta al oscilador.Hora usuario de la Junta de manual.

El XC2S200 es un Xilinx Spartan-2.Que contiene varios archivos DLL como Banjo descrito.

Aquí hay un módulo sencillo que los insumos de 50 MHz, lo divide por 50 millones de dólares, y salidas un pulso por segundo.Usted podría utilizar el pulso para controlar las acciones de otros.Sintetiza fácilmente en Xilinx XST (parte de ISE).XST reconoce la entrada de reloj Verilog e inserta automáticamente el buffer de reloj mundial necesario para usted.
Código:

Top Module (CLK, onehertz);

CLK de entrada; / / atributo de clk síntesis PERIODO "50 MHz"

reg [25:0] count = 0;

salida onehertz reg = 0; / / un pulso por segundosiempre @ (clk posedge) comienzan

onehertz <= (count == 50000000-2);

cuenta <= onehertz?
0: cuenta 1;

final

endmodule
 
gracias banjo ... me lo ur tratando de decir ....
y gracias echo47 el código es muy útil

I really appreciate it

 
el código de trabajo, pero yo escribí el estímulo y cambia el valor de 50MHz a 2 para que después cada dos bordes reloj una sec se genera y en la generación de esta manera im 10 secs.pero el problema es que lo hace después de muchos bordes más de reloj que soy el 20 esperando que sea.¿Cuál es la razón para eso?

Por favor, dame ur email para que yo pueda enviar el código U

 
El "50 MHz" en la línea 2 no afecta el comportamiento de contar.Es un momento de síntesis Xilinx ISE restricción que dice el sintetizador para la ruta del diseño para que funcione de manera confiable hasta 50 Mhz.Usted debe cambiar este valor a su frecuencia de entrada de reloj.(Esta restricción no es necesario si ya se han especificado en otra parte en el proyecto de ISE).

El "50000000", en la línea 7 controla el comportamiento de contar.Usted debe cambiar este valor de acuerdo a su relación de división de frecuencia deseada.Por ejemplo, si su reloj es de 2 MHz, y su frecuencia de salida deseada es de 20 Hz, entonces usted debe cambiar 50000000 a 2000000/20 (o 100000).También sería una buena idea para cambiar el ancho de bits de contar el "" registro en consecuencia.

No entiendo tu frase sobre dos bordes del reloj, 10 segundos y 20 bordes del reloj.Perdón.

Si necesita ayuda con su código, es mejor para subir aquí (tal vez como un archivo zip adjunto) en lugar de correo electrónico, para que otras personas pueden ayudar a usted también.

 

Welcome to EDABoard.com

Sponsor

Back
Top