x393  1.0
FPGAcodeforElphelNC393camera
mcntrl_1kx32w.v
Go to the documentation of this file.
1 
40 `timescale 1ns/1ps
41 
43  input ext_clk,
44  input [ 9:0] ext_waddr, // external write address
45  input ext_we, // external write enable
46  input [31:0] ext_data_in, // data input
47 
48  input rclk, // mclk
49  input [1:0] rpage_in, // will register to wclk, input OK with mclk
50  input rpage_set, // set internal read page to rpage_in
51  input page_next, // advance to next page (and reset lower bits to 0)
52  output [1:0] page, // current inernal page
53  input rd, // read buffer tomemory, increment read address (regester enable will be delayed)
54  output [63:0] data_out // data out
55 
56 );
57  reg [1:0] page_r;
58  reg [6:0] raddr;
59  reg regen;
60  assign page=page_r;
61  always @ (posedge rclk) begin
62  regen <= rd;
63 
64  if (rpage_set) page_r <= rpage_in;
65  else if (page_next) page_r <= page_r+1;
66 
67  if (page_next || rpage_set) raddr <= 0;
68  else if (rd) raddr <= raddr+1;
69  end
71  .REGISTERS(1)
72  )ram_1kx32w_512x64r_i (
73  .rclk (rclk), // input
74  .raddr ({page_r,raddr}), // input[8:0]
75  .ren (rd), // input
76  .regen (regen), // input
77  .data_out (data_out), // output[63:0]
78  .wclk (ext_clk), // input
79  .waddr (ext_waddr), // input[9:0]
80  .we (ext_we), // input
81  .web (4'hf), // input[3:0]
82  .data_in (ext_data_in) // input[31:0]
83  );
84 endmodule
85 
5181raddrreg[6:0]
Definition: mcntrl_1kx32w.v:58
[63:0] 5179data_out
Definition: mcntrl_1kx32w.v:54
[1:0] 5174rpage_in
Definition: mcntrl_1kx32w.v:49
5180page_rreg[1:0]
Definition: mcntrl_1kx32w.v:57
[ 9:0] 5170ext_waddr
Definition: mcntrl_1kx32w.v:44
[1:0] 5177page
Definition: mcntrl_1kx32w.v:52
ram_1kx32w_512x64r_i ram_1kx32w_512x64r
Definition: mcntrl_1kx32w.v:70
[31:0] 5172ext_data_in
Definition: mcntrl_1kx32w.v:46