x393  1.0
FPGAcodeforElphelNC393camera
simul_clk.v
Go to the documentation of this file.
1 
39 `timescale 1ns/1ps
40 
41 module simul_clk#(
42  parameter CLKIN_PERIOD = 5.0,
43  parameter MEMCLK_PERIOD = 5.0,
44  parameter FCLK0_PERIOD = 10.417,
45  parameter FCLK1_PERIOD = 0.0
46 )(
47  input rst,
48  output clk,
49  output memclk,
50  output [1:0] ffclk0,
51  output [1:0] ffclk1
52 );
53 
54  wire ffclk0_w;
55  wire ffclk1_w;
56  assign ffclk0 = {~ffclk0_w,ffclk0_w};
57  assign ffclk1 = {~ffclk1_w,ffclk1_w};
58  generate
59  if (CLKIN_PERIOD > 0.0)
60  simul_clk_single #(.PERIOD(CLKIN_PERIOD)) simul_clk_i (.rst(rst), .clk(clk));
61  else
62  assign clk = 0;
63  endgenerate
64 
65  generate
66  if (MEMCLK_PERIOD > 0.0)
67  simul_clk_single #(.PERIOD(MEMCLK_PERIOD)) simul_memclk_i (.rst(rst), .clk(memclk));
68  else
69  assign memclk = 0;
70  endgenerate
71 
72  generate
73  if (FCLK0_PERIOD > 0.0)
74  simul_clk_single #(.PERIOD(FCLK0_PERIOD)) simul_ffclk0_i (.rst(rst), .clk(ffclk0_w));
75  else
76  assign ffclk0_w = 0;
77  endgenerate
78 
79  generate
80  if (FCLK1_PERIOD > 0.0)
81  simul_clk_single #(.PERIOD(FCLK1_PERIOD)) simul_ffclk1_i (.rst(rst), .clk(ffclk1_w));
82  else
83  assign ffclk1_w = 0;
84  endgenerate
85 
86 endmodule
87 
89  parameter PERIOD = 1000.0
90  ) (
91  input rst,
92  output clk
93  );
94  reg clk_r = 0;
95  assign clk = clk_r;
96  always #(PERIOD/2) clk_r <= rst ? 1'b0: ~clk_r;
97 endmodule
9172CLKIN_PERIOD5.0
Definition: simul_clk.v:42
[1:0] 9179ffclk0
Definition: simul_clk.v:50
9181ffclk0_wwire
Definition: simul_clk.v:54
9173MEMCLK_PERIOD5.0
Definition: simul_clk.v:43
9175FCLK1_PERIOD0.0
Definition: simul_clk.v:45
9183PERIOD1000.0
Definition: simul_clk.v:89
9182ffclk1_wwire
Definition: simul_clk.v:55
[1:0] 9180ffclk1
Definition: simul_clk.v:51
simul_ffclk1_i simul_clk_single[generate]
Definition: simul_clk.v:81
9174FCLK0_PERIOD10.417
Definition: simul_clk.v:44