x393  1.0
FPGAcodeforElphelNC393camera
status_router8.v
Go to the documentation of this file.
1 
39 `timescale 1ns/1ps
40 
42  input rst,
43  input clk,
44  input srst, // @ posedge clk
45  // 4 input channels
46  input [7:0] db_in0,
47  input rq_in0,
48  output start_in0, // only for the first cycle, combinatorial
49  input [7:0] db_in1,
50  input rq_in1,
51  output start_in1, // only for the first cycle, combinatorial
52  input [7:0] db_in2,
53  input rq_in2,
54  output start_in2, // only for the first cycle, combinatorial
55  input [7:0] db_in3,
56  input rq_in3,
57  output start_in3, // only for the first cycle, combinatorial
58  input [7:0] db_in4,
59  input rq_in4,
60  output start_in4, // only for the first cycle, combinatorial
61  input [7:0] db_in5,
62  input rq_in5,
63  output start_in5, // only for the first cycle, combinatorial
64  input [7:0] db_in6,
65  input rq_in6,
66  output start_in6, // only for the first cycle, combinatorial
67  input [7:0] db_in7,
68  input rq_in7,
69  output start_in7, // only for the first cycle, combinatorial
70  // output (multiplexed) channel
71  output [7:0] db_out,
72  output rq_out,
73  input start_out // only for the first cycle, combinatorial
74 );
75 //TODO: now just uses 3 of status_router2 (tree) - maybe make a dedicated 4-input one?
76  wire [7:0] db_int [1:0];
77  wire [1:0] rq_int;
78  wire [1:0] start_int; // only for the first cycle, combinatorial
79 
81  .FIFO_TYPE ("ONE_CYCLE") //= "ONE_CYCLE" // higher latency, but easier timing - use on some levels (others - default "ONE_CYCLE")
82  ) status_router2_top_i (
83  .rst (rst), // input
84  .clk (clk), // input
85  .srst (srst), // input
86  .db_in0 (db_int[0]), // input[7:0]
87  .rq_in0 (rq_int[0]), // input
88  .start_in0 (start_int[0]), // output
89  .db_in1 (db_int[1]), // input[7:0]
90  .rq_in1 (rq_int[1]), // input
91  .start_in1 (start_int[1]), // output
92  .db_out (db_out), // output[7:0]
93  .rq_out (rq_out), // output
94  .start_out (start_out) // input
95  );
96 
97  status_router4 status_router4_0123_i (
98  .rst (rst), // input
99  .clk (clk), // input
100  .srst (srst), // input
101  .db_in0 (db_in0), // input[7:0]
102  .rq_in0 (rq_in0), // input
103  .start_in0 (start_in0), // output
104  .db_in1 (db_in1), // input[7:0]
105  .rq_in1 (rq_in1), // input
106  .start_in1 (start_in1), // output
107  .db_in2 (db_in2), // input[7:0]
108  .rq_in2 (rq_in2), // input
109  .start_in2 (start_in2), // output
110  .db_in3 (db_in3), // input[7:0]
111  .rq_in3 (rq_in3), // input
112  .start_in3 (start_in3), // output
113  .db_out (db_int[0]), // output[7:0]
114  .rq_out (rq_int[0]), // output
115  .start_out (start_int[0]) // input
116  );
117 
118  status_router4 status_router4_4567_i (
119  .rst (rst), // input
120  .clk (clk), // input
121  .srst (srst), // input
122  .db_in0 (db_in4), // input[7:0]
123  .rq_in0 (rq_in4), // input
124  .start_in0 (start_in4), // output
125  .db_in1 (db_in5), // input[7:0]
126  .rq_in1 (rq_in5), // input
127  .start_in1 (start_in5), // output
128  .db_in2 (db_in6), // input[7:0]
129  .rq_in2 (rq_in6), // input
130  .start_in2 (start_in6), // output
131  .db_in3 (db_in7), // input[7:0]
132  .rq_in3 (rq_in7), // input
133  .start_in3 (start_in7), // output
134  .db_out (db_int[1]), // output[7:0]
135  .rq_out (rq_int[1]), // output
136  .start_out (start_int[1]) // input
137  );
138 
139 endmodule
140 
[7:0] 11026db_in7
11034start_intwire[1:0]
[7:0] 11011db_in2
[7:0] 10990db_in2
11033rq_intwire[1:0]
[7:0] 10984db_in0
[7:0] 11005db_in0
[7:0] 11023db_in6
[7:0] 10996db_out
[7:0] 11020db_in5
[7:0] 11014db_in3
[7:0] 10954db_in0
[7:0] 10993db_in3
[7:0] 11017db_in4
[7:0] 10960db_out
[7:0] 11008db_in1
[7:0] 11029db_out
[7:0] 10987db_in1
status_router2_top_i status_router2
[1:0] 11032db_intwire[7:0]
status_router4_4567_i status_router4
[7:0] 10957db_in1