Mirando la documentación de la placa hay sitio para un segundo oscilador ¿Es esto interesante?

Dónde poder conseguir la placa, cómo construirla tu mismo, reparaciones, modificaciones, proyectos derivados

Moderador: jepalza

Responder
Avatar de Usuario
Subcritical
Spartan 3
Mensajes: 225
Registrado: 24 Ago 2018, 14:52

Mirando la documentación de la placa hay sitio para un segundo oscilador ¿Es esto interesante?

Mensaje por Subcritical » 25 Nov 2018, 00:20

En el documento que se titula "how to use core board.doc" aparece en la página 4 indicado que la placa dispone de soldaduras para un segundo reloj en el PIN_M2.

Cita:

Código: Seleccionar todo

Have other don.t solder(PIN_M2), you can use a
5X7 volume Crystal oscillator solder on.
¿Disponer de un segundo reloj de una frecuencia especial? ¿Sería importante o ayudaría?

Citado fichero:
how to use core board.zip
(1014.51 KiB) Descargado 404 veces

Avatar de Usuario
Subcritical
Spartan 3
Mensajes: 225
Registrado: 24 Ago 2018, 14:52

Re: Mirando la documentación de la placa hay sitio para un segundo oscilador ¿Es esto interesante?

Mensaje por Subcritical » 28 Nov 2018, 16:48

¿Modificando este código en verilog se podría detectar si esta presente un reloj en placa?

Código: Seleccionar todo

module clk_detect(/*AUTOARG*/
   // Outputs
   clk_ok, 
   // Inputs
   sys_clk, reset_n, clk_in
   );
   input sys_clk, reset_n, clk_in;
   output      clk_ok;

   reg [8:0]   count_clk_in;
   reg [7:0]   count_sys_clk;
   reg         cy_count_clk_in_r, cy_count_clk_in_rr;
  
   wire        reset_cnt = ~cy_count_clk_in_rr &  cy_count_clk_in_r;

   assign      clk_ok = ~count_sys_clk[7];

   always@(posedge clk_in or negedge reset_n) begin
      if (!reset_n)
        count_clk_in <= 0;
      else
        count_clk_in <= count_clk_in + 1'b1;
   end
   
   // double flop synchronizer for clk_in counter carry!
   always @(posedge sys_clk or negedge reset_n) begin
      if (!reset_n) begin
         cy_count_clk_in_r <= 1'b0;
         cy_count_clk_in_rr <= 1'b0;
      end else begin
         cy_count_clk_in_r <= count_clk_in[8];
         cy_count_clk_in_rr <= cy_count_clk_in_r;
      end
   end
// retriggerable monoshot!      
   always @(posedge sys_clk or negedge reset_n) begin
      if (!reset_n) begin
         count_sys_clk <= 0;
      end else begin
         if (reset_cnt)
           count_sys_clk <= 0;
         else if (!count_sys_clk[7]) 
           count_sys_clk <= count_sys_clk + 1'b1;
      end
   end 
endmodule // clk_detect

Responder

Volver a “Hardware”