x393  1.0
FPGAcodeforElphelNC393camera
drp_other_registers.v
Go to the documentation of this file.
1 
26 `timescale 1ns/1ps
27 
29  parameter DRP_ABITS = 8,
30  parameter DRP_REG0 = 8,
31  parameter DRP_REG1 = 9,
32  parameter DRP_REG2 = 10,
33  parameter DRP_REG3 = 11
34 )(
35  input drp_rst,
36  input drp_clk,
37  input drp_en, // @aclk strobes drp_ad
38  input drp_we,
39  input [DRP_ABITS-1:0] drp_addr,
40  input [15:0] drp_di,
41  output reg drp_rdy,
42  output reg [15:0] drp_do,
43  output [15:0] drp_register0,
44  output [15:0] drp_register1,
45  output [15:0] drp_register2,
46  output [15:0] drp_register3
47 );
48 
49  reg [DRP_ABITS-1:0] drp_addr_r;
50  reg drp_wr_r;
51  reg [ 1:0] drp_rd_r;
52  reg [15:0] drp_di_r;
61 
62  reg [15:0] drp_register0_r;
63  reg [15:0] drp_register1_r;
64  reg [15:0] drp_register2_r;
65  reg [15:0] drp_register3_r;
66 
71 
72  // DRP interface
73  always @ (posedge drp_clk) begin
75  drp_wr_r <= drp_we && drp_en;
76  drp_rd_r <= {drp_rd_r[0],~drp_we & drp_en};
77  drp_di_r <= drp_di;
78 
87 
88  drp_rdy <= drp_wr_r || drp_rd_r[1];
89  drp_do <= ({16{drp_reg0_get}} & drp_register0_r) |
90  ({16{drp_reg1_get}} & drp_register1_r) |
91  ({16{drp_reg2_get}} & drp_register2_r) |
92  ({16{drp_reg3_get}} & drp_register3_r);
93 
94  if (drp_rst) drp_register0_r <= 0;
96 
97  if (drp_rst) drp_register1_r <= 0;
99 
100  if (drp_rst) drp_register2_r <= 0;
102 
103  if (drp_rst) drp_register3_r <= 0;
105 
106  end
107 
108 endmodule
109 
[DRP_ABITS-1:0] 14631drp_addr
14639drp_addr_rreg[DRP_ABITS-1:0]