x393  1.0
FPGAcodeforElphelNC393camera
mcntrl_linear_rw Module Reference
Inheritance diagram for mcntrl_linear_rw:
Collaboration diagram for mcntrl_linear_rw:

Static Public Member Functions

Always Constructs

ALWAYS_282  ( mclk )
ALWAYS_283  ( mclk )
ALWAYS_284  ( mclk )
ALWAYS_285  ( mclk )
ALWAYS_286  ( mclk )

Public Attributes

Inputs

mrst  
mclk  
cmd_ad   [ 7 : 0 ]
cmd_stb  
status_start  
frame_start  
next_page  
suspend  
xfer_grant  
xfer_done  

Outputs

status_ad   [ 7 : 0 ]
status_rq  
frame_run  
frame_done  
frame_finished  
line_unfinished   [FRAME_HEIGHT_BITS - 1 : 0 ]
frame_number   [LAST_FRAME_BITS - 1 : 0 ]
xfer_want  
xfer_need  
xfer_reject  
xfer_start_rd  
xfer_start_wr  
xfer_bank   [ 2 : 0 ]
xfer_row   [ADDRESS_NUMBER - 1 : 0 ]
xfer_col   [COLADDR_NUMBER - 4 : 0 ]
xfer_num128   [NUM_XFER_BITS - 1 : 0 ]
xfer_partial  
xfer_page_rst_wr  
xfer_page_rst_rd  
xfer_skipped   reg
cmd_wrmem  

Parameters

ADDRESS_NUMBER   15
COLADDR_NUMBER   10
NUM_XFER_BITS   6
FRAME_WIDTH_BITS   13
FRAME_HEIGHT_BITS   16
LAST_FRAME_BITS   16
MCNTRL_SCANLINE_ADDR  'h120
MCNTRL_SCANLINE_MASK  'h7f0
MCNTRL_SCANLINE_MODE  'h0
MCNTRL_SCANLINE_STATUS_CNTRL  'h1
MCNTRL_SCANLINE_STARTADDR  'h2
MCNTRL_SCANLINE_FRAME_SIZE  'h3
MCNTRL_SCANLINE_FRAME_LAST  'h4
MCNTRL_SCANLINE_FRAME_FULL_WIDTH  'h5
MCNTRL_SCANLINE_WINDOW_WH  'h6
MCNTRL_SCANLINE_WINDOW_X0Y0  'h7
MCNTRL_SCANLINE_WINDOW_STARTXY  'h8
MCNTRL_SCANLINE_STATUS_REG_ADDR  'h4
MCNTRL_SCANLINE_PENDING_CNTR_BITS   2
MCNTRL_SCANLINE_FRAME_PAGE_RESET   1 'b0
MCONTR_LINTILE_NRESET   0
MCONTR_LINTILE_EN   1
MCONTR_LINTILE_WRITE   2
MCONTR_LINTILE_EXTRAPG   3
MCONTR_LINTILE_EXTRAPG_BITS   2
MCONTR_LINTILE_RST_FRAME   8
MCONTR_LINTILE_SINGLE   9
MCONTR_LINTILE_REPEAT   10
MCONTR_LINTILE_DIS_NEED   11
MCONTR_LINTILE_SKIP_LATE   12
NUM_RC_BURST_BITS  ADDRESS_NUMBER +COLADDR_NUMBER - 3
MPY_WIDTH  NUM_RC_BURST_BITS
PAR_MOD_LATENCY   9
EXTRA_BITS   [COLADDR_NUMBER - 3 -NUM_XFER_BITS - 1 : 0 ] 0

Signals

reg[FRAME_WIDTH_BITS - 1 : 0 ]  curr_x
reg[FRAME_HEIGHT_BITS - 1 : 0 ]  curr_y
reg[FRAME_HEIGHT_BITS : 0 ]  next_y
reg[NUM_RC_BURST_BITS - 1 : 0 ]  line_start_addr
reg[FRAME_HEIGHT_BITS - 1 : 0 ]  frame_y
reg[FRAME_WIDTH_BITS - 1 : 0 ]  frame_x
reg[FRAME_HEIGHT_BITS - 4 : 0 ]  frame_y8_r
reg[FRAME_WIDTH_BITS : 0 ]  frame_full_width_r
reg[MPY_WIDTH - 1 : 0 ]  mul_rslt
reg[NUM_RC_BURST_BITS - 1 : 0 ]  start_addr_r
reg[ 3 * 3 - 1 : 0 ]  bank_reg
wire[FRAME_WIDTH_BITS +FRAME_HEIGHT_BITS - 3 : 0 ]  mul_rslt_w
reg[FRAME_WIDTH_BITS : 0 ]  row_left
reg  last_in_row
reg[COLADDR_NUMBER - 3 : 0 ]  mem_page_left
reg[COLADDR_NUMBER - 4 : 0 ]  line_start_page_left
reg[NUM_XFER_BITS : 0 ]  lim_by_xfer
wire[COLADDR_NUMBER - 3 : 0 ]  remainder_in_xfer
reg  continued_xfer
reg[NUM_XFER_BITS - 1 : 0 ]  leftover
reg[NUM_XFER_BITS : 0 ]  xfer_num128_r
wire  pgm_param_w
reg[ 2 : 0 ]  xfer_start_r
reg  xfer_start_rd_r
reg  xfer_start_wr_r
reg[PAR_MOD_LATENCY - 1 : 0 ]  par_mod_r
reg[PAR_MOD_LATENCY - 1 : 0 ]  recalc_r
wire  calc_valid
wire  chn_en
wire  chn_rst
reg  chn_rst_d
reg  xfer_page_rst_r
reg  xfer_page_rst_pos
reg  xfer_page_rst_neg
reg[ 2 : 0 ]  page_cntr
wire[ 1 : 0 ]  cmd_extra_pages
wire  skip_too_late
wire  disable_need
wire  repeat_frames
wire  single_frame_w
wire  rst_frame_num_w
reg  single_frame_r
reg[ 1 : 0 ]  rst_frame_num_r
reg  frame_en
reg  busy_r
reg  want_r
reg  need_r
reg  frame_done_r
reg  frame_finished_r
wire  last_in_row_w
wire  last_row_w
reg  last_block
reg[MCNTRL_SCANLINE_PENDING_CNTR_BITS - 1 : 0 ]  pending_xfers
reg[NUM_RC_BURST_BITS - 1 : 0 ]  row_col_r
reg[FRAME_HEIGHT_BITS - 1 : 0 ]  line_unfinished_relw_r
reg[FRAME_HEIGHT_BITS - 1 : 0 ]  line_unfinished_r
wire  pre_want
reg  pre_want_r1
wire[ 1 : 0 ]  status_data
wire[ 3 : 0 ]  cmd_a
wire[ 31 : 0 ]  cmd_data
wire  cmd_we
wire  set_mode_w
wire  set_status_w
wire  set_start_addr_w
wire  set_frame_size_w
wire  set_last_frame_w
wire  set_frame_width_w
wire  set_window_wh_w
wire  set_window_x0y0_w
wire  set_window_start_w
wire  lsw13_zero
wire  msw_zero
reg[ 12 : 0 ]  mode_reg
reg[NUM_RC_BURST_BITS - 1 : 0 ]  start_range_addr
reg[NUM_RC_BURST_BITS - 1 : 0 ]  frame_size
reg[LAST_FRAME_BITS - 1 : 0 ]  last_frame_number
reg[NUM_RC_BURST_BITS - 1 : 0 ]  start_addr
reg[NUM_RC_BURST_BITS - 1 : 0 ]  next_frame_start_addr
reg[LAST_FRAME_BITS - 1 : 0 ]  frame_number_cntr
reg[LAST_FRAME_BITS - 1 : 0 ]  frame_number_current
reg  is_last_frame
reg[ 4 : 0 ]  frame_start_r
reg[FRAME_WIDTH_BITS : 0 ]  frame_full_width
reg[FRAME_WIDTH_BITS : 0 ]  window_width
reg[FRAME_HEIGHT_BITS : 0 ]  window_height
reg[FRAME_WIDTH_BITS - 1 : 0 ]  window_x0
reg[FRAME_HEIGHT_BITS - 1 : 0 ]  window_y0
reg[FRAME_WIDTH_BITS - 1 : 0 ]  start_x
reg[FRAME_HEIGHT_BITS - 1 : 0 ]  start_y
reg  xfer_done_d
integer  i
wire  xfer_limited_by_mem_page
reg  xfer_limited_by_mem_page_r
wire  start_skip_w
reg  start_skip_r
reg  skip_run
reg  xfer_reject_r
reg  frame_start_pending
reg[ 1 : 0 ]  frame_start_pending_long
wire  xfer_done_skipped
wire  frame_start_delayed
wire  frame_start_mod
wire  start_not_partial

Module Instances

cmd_deser::cmd_deser_32bit_i   Module cmd_deser
status_generate::status_generate_i   Module status_generate

Detailed Description

Definition at line 42 of file mcntrl_linear_rw.v.

Member Function Documentation

ALWAYS_282 (   mclk  
)
Always Construct

Definition at line 266 of file mcntrl_linear_rw.v.

ALWAYS_283 (   mclk  
)
Always Construct

Definition at line 402 of file mcntrl_linear_rw.v.

ALWAYS_284 (   mclk  
)
Always Construct

Definition at line 449 of file mcntrl_linear_rw.v.

ALWAYS_285 (   mclk  
)
Always Construct

Definition at line 502 of file mcntrl_linear_rw.v.

ALWAYS_286 (   mclk  
)
Always Construct

Definition at line 593 of file mcntrl_linear_rw.v.

Member Data Documentation

ADDRESS_NUMBER 15
Parameter

Definition at line 43 of file mcntrl_linear_rw.v.

COLADDR_NUMBER 10
Parameter

Definition at line 44 of file mcntrl_linear_rw.v.

NUM_XFER_BITS 6
Parameter

Definition at line 45 of file mcntrl_linear_rw.v.

FRAME_WIDTH_BITS 13
Parameter

Definition at line 46 of file mcntrl_linear_rw.v.

FRAME_HEIGHT_BITS 16
Parameter

Definition at line 47 of file mcntrl_linear_rw.v.

LAST_FRAME_BITS 16
Parameter

Definition at line 48 of file mcntrl_linear_rw.v.

MCNTRL_SCANLINE_ADDR 'h120
Parameter

Definition at line 49 of file mcntrl_linear_rw.v.

MCNTRL_SCANLINE_MASK 'h7f0
Parameter

Definition at line 50 of file mcntrl_linear_rw.v.

MCNTRL_SCANLINE_MODE 'h0
Parameter

Definition at line 51 of file mcntrl_linear_rw.v.

Definition at line 52 of file mcntrl_linear_rw.v.

Definition at line 53 of file mcntrl_linear_rw.v.

Definition at line 54 of file mcntrl_linear_rw.v.

Definition at line 55 of file mcntrl_linear_rw.v.

Definition at line 56 of file mcntrl_linear_rw.v.

Definition at line 57 of file mcntrl_linear_rw.v.

Definition at line 58 of file mcntrl_linear_rw.v.

Definition at line 59 of file mcntrl_linear_rw.v.

Definition at line 63 of file mcntrl_linear_rw.v.

Definition at line 64 of file mcntrl_linear_rw.v.

Definition at line 68 of file mcntrl_linear_rw.v.

MCONTR_LINTILE_NRESET 0
Parameter

Definition at line 70 of file mcntrl_linear_rw.v.

MCONTR_LINTILE_EN 1
Parameter

Definition at line 71 of file mcntrl_linear_rw.v.

MCONTR_LINTILE_WRITE 2
Parameter

Definition at line 72 of file mcntrl_linear_rw.v.

Definition at line 73 of file mcntrl_linear_rw.v.

Definition at line 74 of file mcntrl_linear_rw.v.

Definition at line 75 of file mcntrl_linear_rw.v.

MCONTR_LINTILE_SINGLE 9
Parameter

Definition at line 76 of file mcntrl_linear_rw.v.

MCONTR_LINTILE_REPEAT 10
Parameter

Definition at line 77 of file mcntrl_linear_rw.v.

Definition at line 78 of file mcntrl_linear_rw.v.

Definition at line 79 of file mcntrl_linear_rw.v.

mrst
Input

Definition at line 81 of file mcntrl_linear_rw.v.

mclk
Input

Definition at line 82 of file mcntrl_linear_rw.v.

cmd_ad [ 7 : 0 ]
Input

Definition at line 84 of file mcntrl_linear_rw.v.

cmd_stb
Input

Definition at line 85 of file mcntrl_linear_rw.v.

status_ad [ 7 : 0 ]
Output

Definition at line 87 of file mcntrl_linear_rw.v.

status_rq
Output

Definition at line 88 of file mcntrl_linear_rw.v.

status_start
Input

Definition at line 89 of file mcntrl_linear_rw.v.

frame_start
Input

Definition at line 91 of file mcntrl_linear_rw.v.

frame_run
Output

Definition at line 92 of file mcntrl_linear_rw.v.

next_page
Input

Definition at line 93 of file mcntrl_linear_rw.v.

frame_done
Output

Definition at line 95 of file mcntrl_linear_rw.v.

Definition at line 96 of file mcntrl_linear_rw.v.

Definition at line 99 of file mcntrl_linear_rw.v.

suspend
Input

Definition at line 100 of file mcntrl_linear_rw.v.

frame_number [LAST_FRAME_BITS - 1 : 0 ]
Output

Definition at line 101 of file mcntrl_linear_rw.v.

xfer_want
Output

Definition at line 102 of file mcntrl_linear_rw.v.

xfer_need
Output

Definition at line 103 of file mcntrl_linear_rw.v.

xfer_grant
Input

Definition at line 104 of file mcntrl_linear_rw.v.

xfer_reject
Output

Definition at line 105 of file mcntrl_linear_rw.v.

xfer_start_rd
Output

Definition at line 106 of file mcntrl_linear_rw.v.

xfer_start_wr
Output

Definition at line 107 of file mcntrl_linear_rw.v.

xfer_bank [ 2 : 0 ]
Output

Definition at line 108 of file mcntrl_linear_rw.v.

xfer_row [ADDRESS_NUMBER - 1 : 0 ]
Output

Definition at line 109 of file mcntrl_linear_rw.v.

xfer_col [COLADDR_NUMBER - 4 : 0 ]
Output

Definition at line 110 of file mcntrl_linear_rw.v.

xfer_num128 [NUM_XFER_BITS - 1 : 0 ]
Output

Definition at line 111 of file mcntrl_linear_rw.v.

xfer_partial
Output

Definition at line 112 of file mcntrl_linear_rw.v.

xfer_done
Input

Definition at line 113 of file mcntrl_linear_rw.v.

Definition at line 114 of file mcntrl_linear_rw.v.

Definition at line 115 of file mcntrl_linear_rw.v.

xfer_skipped reg
Output

Definition at line 116 of file mcntrl_linear_rw.v.

cmd_wrmem
Output

Definition at line 117 of file mcntrl_linear_rw.v.

Definition at line 123 of file mcntrl_linear_rw.v.

Definition at line 124 of file mcntrl_linear_rw.v.

PAR_MOD_LATENCY 9
Parameter

Definition at line 125 of file mcntrl_linear_rw.v.

curr_x
Signal

Definition at line 126 of file mcntrl_linear_rw.v.

curr_y
Signal

Definition at line 127 of file mcntrl_linear_rw.v.

next_y
Signal

Definition at line 128 of file mcntrl_linear_rw.v.

Definition at line 129 of file mcntrl_linear_rw.v.

frame_y
Signal

Definition at line 137 of file mcntrl_linear_rw.v.

frame_x
Signal

Definition at line 138 of file mcntrl_linear_rw.v.

frame_y8_r
Signal

Definition at line 139 of file mcntrl_linear_rw.v.

Definition at line 140 of file mcntrl_linear_rw.v.

mul_rslt
Signal

Definition at line 141 of file mcntrl_linear_rw.v.

start_addr_r
Signal

Definition at line 142 of file mcntrl_linear_rw.v.

bank_reg
Signal

Definition at line 144 of file mcntrl_linear_rw.v.

mul_rslt_w
Signal

Definition at line 145 of file mcntrl_linear_rw.v.

row_left
Signal

Definition at line 146 of file mcntrl_linear_rw.v.

last_in_row
Signal

Definition at line 147 of file mcntrl_linear_rw.v.

mem_page_left
Signal

Definition at line 148 of file mcntrl_linear_rw.v.

Definition at line 149 of file mcntrl_linear_rw.v.

lim_by_xfer
Signal

Definition at line 150 of file mcntrl_linear_rw.v.

Definition at line 152 of file mcntrl_linear_rw.v.

Definition at line 153 of file mcntrl_linear_rw.v.

leftover
Signal

Definition at line 154 of file mcntrl_linear_rw.v.

xfer_num128_r
Signal

Definition at line 158 of file mcntrl_linear_rw.v.

pgm_param_w
Signal

Definition at line 160 of file mcntrl_linear_rw.v.

xfer_start_r
Signal

Definition at line 161 of file mcntrl_linear_rw.v.

Definition at line 162 of file mcntrl_linear_rw.v.

Definition at line 163 of file mcntrl_linear_rw.v.

par_mod_r
Signal

Definition at line 164 of file mcntrl_linear_rw.v.

recalc_r
Signal

Definition at line 165 of file mcntrl_linear_rw.v.

calc_valid
Signal

Definition at line 167 of file mcntrl_linear_rw.v.

chn_en
Signal

Definition at line 168 of file mcntrl_linear_rw.v.

chn_rst
Signal

Definition at line 169 of file mcntrl_linear_rw.v.

chn_rst_d
Signal

Definition at line 170 of file mcntrl_linear_rw.v.

Definition at line 172 of file mcntrl_linear_rw.v.

Definition at line 173 of file mcntrl_linear_rw.v.

Definition at line 174 of file mcntrl_linear_rw.v.

page_cntr
Signal

Definition at line 176 of file mcntrl_linear_rw.v.

Definition at line 179 of file mcntrl_linear_rw.v.

skip_too_late
Signal

Definition at line 180 of file mcntrl_linear_rw.v.

disable_need
Signal

Definition at line 181 of file mcntrl_linear_rw.v.

repeat_frames
Signal

Definition at line 182 of file mcntrl_linear_rw.v.

Definition at line 183 of file mcntrl_linear_rw.v.

Definition at line 184 of file mcntrl_linear_rw.v.

Definition at line 185 of file mcntrl_linear_rw.v.

Definition at line 186 of file mcntrl_linear_rw.v.

frame_en
Signal

Definition at line 187 of file mcntrl_linear_rw.v.

busy_r
Signal

Definition at line 189 of file mcntrl_linear_rw.v.

want_r
Signal

Definition at line 190 of file mcntrl_linear_rw.v.

need_r
Signal

Definition at line 191 of file mcntrl_linear_rw.v.

frame_done_r
Signal

Definition at line 192 of file mcntrl_linear_rw.v.

Definition at line 193 of file mcntrl_linear_rw.v.

last_in_row_w
Signal

Definition at line 194 of file mcntrl_linear_rw.v.

last_row_w
Signal

Definition at line 195 of file mcntrl_linear_rw.v.

last_block
Signal

Definition at line 197 of file mcntrl_linear_rw.v.

pending_xfers
Signal

Definition at line 198 of file mcntrl_linear_rw.v.

row_col_r
Signal

Definition at line 199 of file mcntrl_linear_rw.v.

Definition at line 201 of file mcntrl_linear_rw.v.

Definition at line 202 of file mcntrl_linear_rw.v.

pre_want
Signal

Definition at line 204 of file mcntrl_linear_rw.v.

pre_want_r1
Signal

Definition at line 205 of file mcntrl_linear_rw.v.

status_data
Signal

Definition at line 206 of file mcntrl_linear_rw.v.

cmd_a
Signal

Definition at line 207 of file mcntrl_linear_rw.v.

cmd_data
Signal

Definition at line 208 of file mcntrl_linear_rw.v.

cmd_we
Signal

Definition at line 209 of file mcntrl_linear_rw.v.

set_mode_w
Signal

Definition at line 211 of file mcntrl_linear_rw.v.

set_status_w
Signal

Definition at line 212 of file mcntrl_linear_rw.v.

Definition at line 213 of file mcntrl_linear_rw.v.

Definition at line 214 of file mcntrl_linear_rw.v.

Definition at line 215 of file mcntrl_linear_rw.v.

Definition at line 216 of file mcntrl_linear_rw.v.

Definition at line 217 of file mcntrl_linear_rw.v.

Definition at line 218 of file mcntrl_linear_rw.v.

Definition at line 219 of file mcntrl_linear_rw.v.

lsw13_zero
Signal

Definition at line 220 of file mcntrl_linear_rw.v.

msw_zero
Signal

Definition at line 221 of file mcntrl_linear_rw.v.

mode_reg
Signal

Definition at line 224 of file mcntrl_linear_rw.v.

Definition at line 226 of file mcntrl_linear_rw.v.

frame_size
Signal

Definition at line 227 of file mcntrl_linear_rw.v.

Definition at line 228 of file mcntrl_linear_rw.v.

start_addr
Signal

Definition at line 229 of file mcntrl_linear_rw.v.

Definition at line 230 of file mcntrl_linear_rw.v.

Definition at line 231 of file mcntrl_linear_rw.v.

Definition at line 232 of file mcntrl_linear_rw.v.

is_last_frame
Signal

Definition at line 234 of file mcntrl_linear_rw.v.

frame_start_r
Signal

Definition at line 236 of file mcntrl_linear_rw.v.

Definition at line 238 of file mcntrl_linear_rw.v.

window_width
Signal

Definition at line 241 of file mcntrl_linear_rw.v.

window_height
Signal

Definition at line 242 of file mcntrl_linear_rw.v.

window_x0
Signal

Definition at line 243 of file mcntrl_linear_rw.v.

window_y0
Signal

Definition at line 244 of file mcntrl_linear_rw.v.

start_x
Signal

Definition at line 245 of file mcntrl_linear_rw.v.

start_y
Signal

Definition at line 246 of file mcntrl_linear_rw.v.

xfer_done_d
Signal

Definition at line 247 of file mcntrl_linear_rw.v.

EXTRA_BITS 0
Parameter

Definition at line 378 of file mcntrl_linear_rw.v.

i
Signal

Definition at line 381 of file mcntrl_linear_rw.v.

Definition at line 382 of file mcntrl_linear_rw.v.

Definition at line 383 of file mcntrl_linear_rw.v.

start_skip_w
Signal

Definition at line 389 of file mcntrl_linear_rw.v.

start_skip_r
Signal

Definition at line 390 of file mcntrl_linear_rw.v.

skip_run
Signal

Definition at line 391 of file mcntrl_linear_rw.v.

xfer_reject_r
Signal

Definition at line 392 of file mcntrl_linear_rw.v.

Definition at line 393 of file mcntrl_linear_rw.v.

Definition at line 394 of file mcntrl_linear_rw.v.

Definition at line 395 of file mcntrl_linear_rw.v.

Definition at line 397 of file mcntrl_linear_rw.v.

Definition at line 398 of file mcntrl_linear_rw.v.

Definition at line 499 of file mcntrl_linear_rw.v.

cmd_deser cmd_deser_32bit_i
Module Instance

Definition at line 596 of file mcntrl_linear_rw.v.

status_generate status_generate_i
Module Instance

Definition at line 622 of file mcntrl_linear_rw.v.


The documentation for this Module was generated from the following files: