input[7:0]cmd_ad,// byte-serial command address/data (up to 6 bytes: AL-AH-D0-D1-D2-D3
inputcmd_stb,// strobe (with first byte) for the command a/d
output[7:0]status_ad,// status address/data - up to 5 bytes: A - {seq,status[1:0]} - status[2:9] - status[10:17] - status[18:25]
outputstatus_rq,// input request to send status downstream
inputstatus_start,// Acknowledge of the first status packet byte (address)
// Buffer interfaces
inputxfer_reset_page_rd_chn0,// from mcntrl_tiled_rw (
inputbuf_wpage_nxt_chn0,// advance to next page memory interface writes to
inputbuf_we_chn0,// @!mclk write buffer from memory, increment write
input[63:0]buf_din_chn0,// data out
inputpage_ready_chn0,// single mclk (posedge)
outputnext_page_chn0,// single mclk (posedge): Done with the page in the buffer, memory controller may read more data
inputxfer_reset_page_rd_chn1,// from mcntrl_tiled_rw (
inputbuf_wpage_nxt_chn1,// advance to next page memory interface writes to
inputbuf_we_chn1,// @!mclk write buffer from memory, increment write
input[63:0]buf_din_chn1,// data out
inputpage_ready_chn1,// single mclk (posedge)
outputnext_page_chn1,// single mclk (posedge): Done with the page in the buffer, memory controller may read more data
inputxfer_reset_page_rd_chn2,// from mcntrl_tiled_rw (
inputbuf_wpage_nxt_chn2,// advance to next page memory interface writes to
inputbuf_we_chn2,// @!mclk write buffer from memory, increment write
input[63:0]buf_din_chn2,// data out
inputpage_ready_chn2,// single mclk (posedge)
outputnext_page_chn2,// single mclk (posedge): Done with the page in the buffer, memory controller may read more data
inputxfer_reset_page_rd_chn3,// from mcntrl_tiled_rw (
inputbuf_wpage_nxt_chn3,// advance to next page memory interface writes to
inputbuf_we_chn3,// @!mclk write buffer from memory, increment write
input[63:0]buf_din_chn3,// data out
inputpage_ready_chn3,// single mclk (posedge)
outputnext_page_chn3,// single mclk (posedge): Done with the page in the buffer, memory controller may read more data
// statistics data was not used in late nc353
// input dccout, //enable output of DC and HF components for brightness/color/focus adjustments
// input [2:0] hfc_sel, // [2:0] (for autofocus) only components with both spacial frequencies higher than specified will be added
// output statistics_dv,
// output [15:0] statistics_do,
// Timestamp messages (@mclk) - combine to a single ts_data?
inputts_pre_stb_chn0,// @mclk - 1 cycle before receiving 8 bytes of timestamp data
input[7:0]ts_data_chn0,// timestamp data (s0,s1,s2,s3,us0,us1,us2,us3==0)
inputts_pre_stb_chn1,// @mclk - 1 cycle before receiving 8 bytes of timestamp data
input[7:0]ts_data_chn1,// timestamp data (s0,s1,s2,s3,us0,us1,us2,us3==0)
inputts_pre_stb_chn2,// @mclk - 1 cycle before receiving 8 bytes of timestamp data
input[7:0]ts_data_chn2,// timestamp data (s0,s1,s2,s3,us0,us1,us2,us3==0)
inputts_pre_stb_chn3,// @mclk - 1 cycle before receiving 8 bytes of timestamp data
input[7:0]ts_data_chn3,// timestamp data (s0,s1,s2,s3,us0,us1,us2,us3==0)
// Outputs for interrupts generation
outputeof_written_mclk_chn0,
outputstuffer_done_mclk_chn0,
outputeof_written_mclk_chn1,
outputstuffer_done_mclk_chn1,
outputeof_written_mclk_chn2,
outputstuffer_done_mclk_chn2,
outputeof_written_mclk_chn3,
outputstuffer_done_mclk_chn3,
// frame input synchronization
inputvsync_late_chn0,// delayed start of frame, @xclk. In 353 it was 16 lines after VACT active
// source channel should already start, some delay give time for sequencer commands
// that should arrive before it
inputvsync_late_chn1,
inputvsync_late_chn2,
inputvsync_late_chn3,
// master (sensor) with slave (compressor) synchronization I/Os
outputframe_start_dst_chn0,// @mclk - trigger receive (tiledc) memory channel (it will take care of single/repetitive
// these output either follows vsync_late (reclocks it) or generated in non-bonded mode
// (compress from memory)
input[FRAME_HEIGHT_BITS-1:0]line_unfinished_src_chn0,// number of the current (unfinished ) line, in the source (sensor) channel (RELATIVE TO FRAME, NOT WINDOW?)
input[LAST_FRAME_BITS-1:0]frame_number_src_chn0,// current frame number (for multi-frame ranges) in the source (sensor) channel
inputframe_done_src_chn0,// single-cycle pulse when the full frame (window) was transferred to/from DDR3 memory
// frame_done_src is later than line_unfinished_src/ frame_number_src changes
// Used withe a single-frame buffers
input[FRAME_HEIGHT_BITS-1:0]line_unfinished_dst_chn0,// number of the current (unfinished ) line in this (compressor) channel
input[LAST_FRAME_BITS-1:0]frame_number_dst_chn0,// current frame number (for multi-frame ranges) in this (compressor channel
inputframe_done_dst_chn0,// single-cycle pulse when the full frame (window) was transferred to/from DDR3 memory
// use as 'eot_real' in 353
outputsuspend_chn0,// suspend reading data for this channel - waiting for the source data
)axibram_write_i(//SuppressThisWarning ISExst Output port <bram_wstb> of the instance <axibram_write_i> is unconnected or connected to loadless signal.