Página 1 de 1
Mirando la documentación de la placa hay sitio para un segundo oscilador ¿Es esto interesante?
Publicado: 25 Nov 2018, 00:20
por Subcritical
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:
Re: Mirando la documentación de la placa hay sitio para un segundo oscilador ¿Es esto interesante?
Publicado: 28 Nov 2018, 16:48
por Subcritical
¿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