Loading includes/x393_parameters.vh +8 −5 Original line number Original line Diff line number Diff line Loading @@ -355,11 +355,14 @@ parameter SENSOR_CTRL_RADDR = 0, // relative to SENSOR_GROUP_ADDR parameter SENSOR_CTRL_RADDR = 0, // relative to SENSOR_GROUP_ADDR parameter SENSOR_CTRL_ADDR_MASK = 'h7ff, // parameter SENSOR_CTRL_ADDR_MASK = 'h7ff, // // bits of the SENSOR mode register // bits of the SENSOR mode register parameter SENSOR_MODE_WIDTH = 10, parameter SENSOR_HIST_EN_BITS = 0, // 0..3 1 - enable histogram modules, disable after processing the started frame parameter SENSOR_HIST_EN_BITS = 0, // 0..3 1 - enable histogram modules, disable after processing the started frame parameter SENSOR_HIST_NRST_BITS = 4, // 0 - immediately reset all histogram modules parameter SENSOR_HIST_NRST_BITS = 4, // 0 - immediately reset all histogram modules parameter SENSOR_CHN_EN_BIT = 8, // 1 - this enable channel parameter SENSOR_HIST_BITS_SET = 8, // 1 - set bits 0..7 (en and nrst) parameter SENSOR_16BIT_BIT = 9, // 0 - 8 bpp mode, 1 - 16 bpp (bypass gamma). Gamma-processed data is still used for histograms parameter SENSOR_CHN_EN_BIT = 9, // 1 - this enable channel parameter SENSOR_CHN_EN_BIT_SET = 10, // set SENSOR_CHN_EN_BIT bit parameter SENSOR_16BIT_BIT = 11, // 0 - 8 bpp mode, 1 - 16 bpp (bypass gamma). Gamma-processed data is still used for histograms parameter SENSOR_16BIT_BIT_SET = 12, // set 8/16 bit mode // parameter SENSOR_MODE_WIDTH = 13, parameter SENSI2C_CTRL_RADDR = 2, // 302..'h303 parameter SENSI2C_CTRL_RADDR = 2, // 302..'h303 parameter SENSI2C_CTRL_MASK = 'h7fe, parameter SENSI2C_CTRL_MASK = 'h7fe, Loading memctrl/mcntrl_tiled_rw.v +1 −1 Original line number Original line Diff line number Diff line Loading @@ -244,7 +244,7 @@ module mcntrl_tiled_rw#( reg [4:0] frame_start_r; // increased length to have time from line_unfinished to suspend (external) reg [4:0] frame_start_r; // increased length to have time from line_unfinished to suspend (external) // reg rst_frame_num_d; // reg rst_frame_num_d; reg [MAX_TILE_WIDTH:0] tile_cols; // full number of columns in a tile reg [MAX_TILE_WIDTH:0] tile_cols; // full number of columns in a tile (in bursts?) // reg [MAX_TILE_HEIGHT:0] tile_rows; // full number of rows in a tile // reg [MAX_TILE_HEIGHT:0] tile_rows; // full number of rows in a tile // reg [MAX_TILE_HEIGHT-1:0] tile_rows; // full number of rows in a tile // reg [MAX_TILE_HEIGHT-1:0] tile_rows; // full number of rows in a tile reg [MAX_TILE_HEIGHT:0] tile_rows; // full number of rows in a tile reg [MAX_TILE_HEIGHT:0] tile_rows; // full number of rows in a tile Loading py393/vrlg.py +14 −8 Original line number Original line Diff line number Diff line Loading @@ -128,6 +128,7 @@ CLK_STATUS_REG_ADDR__TYPE = str MCONTR_TOP_16BIT_STATUS_CNTRL__TYPE = str MCONTR_TOP_16BIT_STATUS_CNTRL__TYPE = str HIST_SAXI_ADDR_MASK = int HIST_SAXI_ADDR_MASK = int CONTROL_RBACK_ADDR_MASK = int CONTROL_RBACK_ADDR_MASK = int SENSOR_CHN_EN_BIT_SET__RAW = str CMPRS_CBIT_QBANK__TYPE = str CMPRS_CBIT_QBANK__TYPE = str CLKOUT_DIV_PCLK__RAW = str CLKOUT_DIV_PCLK__RAW = str SENS_GAMMA_CTRL__RAW = str SENS_GAMMA_CTRL__RAW = str Loading Loading @@ -313,7 +314,7 @@ MULTICLK_MULT = int SENS_LENS_POST_SCALE_MASK = int SENS_LENS_POST_SCALE_MASK = int MEMCLK_PERIOD = float MEMCLK_PERIOD = float BUF_IPCLK2X_SENS1__RAW = str BUF_IPCLK2X_SENS1__RAW = str SENSOR_MODE_WIDTH__RAW = str HISTOGRAM_WIDTH__RAW = str SENS_LENS_FAT0_OUT_MASK = int SENS_LENS_FAT0_OUT_MASK = int SENS_SYNC_MULT__TYPE = str SENS_SYNC_MULT__TYPE = str NUM_CYCLES_27__RAW = str NUM_CYCLES_27__RAW = str Loading Loading @@ -439,7 +440,7 @@ MULT_SAXI_CNTRL_STATUS__TYPE = str CMPRS_FRMT_MBRM1_BITS__RAW = str CMPRS_FRMT_MBRM1_BITS__RAW = str SCANLINE_EXTRA_PAGES = int SCANLINE_EXTRA_PAGES = int LD_DLY_LANE1_ODELAY__RAW = str LD_DLY_LANE1_ODELAY__RAW = str LOGGER_CONF_EN_BITS__RAW = str SENSOR_CHN_EN_BIT_SET__TYPE = str SENS_CTRL_IGNORE_EMBED__TYPE = str SENS_CTRL_IGNORE_EMBED__TYPE = str SENS_LENS_FAT0_IN_MASK__TYPE = str SENS_LENS_FAT0_IN_MASK__TYPE = str RSEL = int RSEL = int Loading Loading @@ -561,6 +562,7 @@ SENSOR_FIFO_DELAY__RAW = str DLY_SET = int DLY_SET = int CMDFRAMESEQ_CTRL__TYPE = str CMDFRAMESEQ_CTRL__TYPE = str HISPI_FIFO_DEPTH__RAW = str HISPI_FIFO_DEPTH__RAW = str SENSOR_HIST_BITS_SET__RAW = str NUM_CYCLES_12 = int NUM_CYCLES_12 = int MCNTRL_SCANLINE_FRAME_PAGE_RESET__TYPE = str MCNTRL_SCANLINE_FRAME_PAGE_RESET__TYPE = str MCNTRL_TILED_CHN2_ADDR__TYPE = str MCNTRL_TILED_CHN2_ADDR__TYPE = str Loading Loading @@ -591,6 +593,7 @@ NUM_CYCLES_16 = int NUM_CYCLES_15 = int NUM_CYCLES_15 = int NUM_CYCLES_21__TYPE = str NUM_CYCLES_21__TYPE = str CMPRS_CBIT_BAYER = int CMPRS_CBIT_BAYER = int LOGGER_CONF_EN_BITS__RAW = str SLEW_CLK__TYPE = str SLEW_CLK__TYPE = str MCONTR_PHY_0BIT_DLY_SET = int MCONTR_PHY_0BIT_DLY_SET = int HISPI_DIFF_TERM__TYPE = str HISPI_DIFF_TERM__TYPE = str Loading Loading @@ -631,6 +634,7 @@ RTC_ADDR = int MCLK_PHASE__RAW = str MCLK_PHASE__RAW = str SENSIO_RADDR__TYPE = str SENSIO_RADDR__TYPE = str CLKFBOUT_MULT_PCLK__TYPE = str CLKFBOUT_MULT_PCLK__TYPE = str VERBOSE__TYPE = str CLK_ADDR__TYPE = str CLK_ADDR__TYPE = str CMPRS_FORMAT = int CMPRS_FORMAT = int SENSIO_STATUS_REG_REL = int SENSIO_STATUS_REG_REL = int Loading Loading @@ -999,7 +1003,7 @@ HISTOGRAM_ADDR_MASK = int MCONTR_BUF2_RD_ADDR__RAW = str MCONTR_BUF2_RD_ADDR__RAW = str MCONTR_TOP_16BIT_ADDR_MASK__RAW = str MCONTR_TOP_16BIT_ADDR_MASK__RAW = str MULTICLK_DIV_DLYREF__RAW = str MULTICLK_DIV_DLYREF__RAW = str VERBOSE__TYPE = str MCNTRL_PS_EN_RST__RAW = str BUF_CLK1X_PCLK__TYPE = str BUF_CLK1X_PCLK__TYPE = str MULT_SAXI_BSLOG1__RAW = str MULT_SAXI_BSLOG1__RAW = str CLKFBOUT_MULT_PCLK__RAW = str CLKFBOUT_MULT_PCLK__RAW = str Loading Loading @@ -1227,7 +1231,6 @@ PXD_IBUF_LOW_PWR__RAW = str PXD_DRIVE = int PXD_DRIVE = int MULT_SAXI_BSLOG2__RAW = str MULT_SAXI_BSLOG2__RAW = str CLK_CNTRL__TYPE = str CLK_CNTRL__TYPE = str HISTOGRAM_WIDTH__RAW = str GPIO_MASK__RAW = str GPIO_MASK__RAW = str DFLT_REFRESH_ADDR__TYPE = str DFLT_REFRESH_ADDR__TYPE = str SENS_GAMMA_MODE_REPET__TYPE = str SENS_GAMMA_MODE_REPET__TYPE = str Loading Loading @@ -1298,7 +1301,6 @@ FFCLK1_IOSTANDARD__RAW = str CMD_DONE_BIT__TYPE = str CMD_DONE_BIT__TYPE = str SENSOR_DATA_WIDTH__TYPE = str SENSOR_DATA_WIDTH__TYPE = str SENS_LENS_SCALES__RAW = str SENS_LENS_SCALES__RAW = str SENSOR_MODE_WIDTH = int RTC_BITC_PREDIV__RAW = str RTC_BITC_PREDIV__RAW = str CMPRS_CORING_BITS__TYPE = str CMPRS_CORING_BITS__TYPE = str STATUS_DEPTH__TYPE = str STATUS_DEPTH__TYPE = str Loading Loading @@ -1531,7 +1533,6 @@ MULT_SAXI_IRQLEN_MASK__TYPE = str PICKLE__TYPE = str PICKLE__TYPE = str SENSI2C_TBL_NBWR__RAW = str SENSI2C_TBL_NBWR__RAW = str TABLE_FOCUS_INDEX__RAW = str TABLE_FOCUS_INDEX__RAW = str SENSOR_MODE_WIDTH__TYPE = str MCONTR_LINTILE_WRITE__RAW = str MCONTR_LINTILE_WRITE__RAW = str MCNTRL_TILED_CHN2_ADDR__RAW = str MCNTRL_TILED_CHN2_ADDR__RAW = str CMPRS_CONTROL_REG__TYPE = str CMPRS_CONTROL_REG__TYPE = str Loading Loading @@ -1678,6 +1679,7 @@ HIST_SAXI_MODE_ADDR_MASK__RAW = str FFCLK1_IBUF_LOW_PWR__TYPE = str FFCLK1_IBUF_LOW_PWR__TYPE = str SENSOR12BITS_NVLO__TYPE = str SENSOR12BITS_NVLO__TYPE = str MCONTR_LINTILE_EXTRAPG__TYPE = str MCONTR_LINTILE_EXTRAPG__TYPE = str CAMSYNC_SNDEN_BIT__TYPE = str NUM_CYCLES_06__TYPE = str NUM_CYCLES_06__TYPE = str SCANLINE_STARTX__RAW = str SCANLINE_STARTX__RAW = str SLEW_DQS__RAW = str SLEW_DQS__RAW = str Loading @@ -1695,6 +1697,7 @@ CLK_PHASE__TYPE = str SENSOR_16BIT_BIT = int SENSOR_16BIT_BIT = int SENSIO_DELAYS__TYPE = str SENSIO_DELAYS__TYPE = str SENS_CTRL_EXT_CLK__RAW = str SENS_CTRL_EXT_CLK__RAW = str SENSOR_CHN_EN_BIT_SET = int WOI_HEIGHT = int WOI_HEIGHT = int LOGGER_PAGE_GPS__TYPE = str LOGGER_PAGE_GPS__TYPE = str T_REFI = int T_REFI = int Loading @@ -1721,7 +1724,7 @@ SENSI2C_CMD_SOFT_SDA = int SENSI2C_CMD_TAND = int SENSI2C_CMD_TAND = int CMPRS_AFIMUX_SA_LEN = int CMPRS_AFIMUX_SA_LEN = int SENS_CTRL_QUADRANTS_EN__TYPE = str SENS_CTRL_QUADRANTS_EN__TYPE = str MCNTRL_PS_EN_RST__RAW = str SENSOR_16BIT_BIT_SET__RAW = str HISPI_IFD_DELAY_VALUE__TYPE = str HISPI_IFD_DELAY_VALUE__TYPE = str CMPRS_CBIT_BAYER_BITS__RAW = str CMPRS_CBIT_BAYER_BITS__RAW = str MULTICLK_BUF_AXIHP__TYPE = str MULTICLK_BUF_AXIHP__TYPE = str Loading Loading @@ -1816,6 +1819,7 @@ MCONTR_PHY_16BIT_ADDR__RAW = str SENS_CTRL_MRST__RAW = str SENS_CTRL_MRST__RAW = str SENS_GAMMA_HEIGHT2__TYPE = str SENS_GAMMA_HEIGHT2__TYPE = str IPCLK2X_PHASE__TYPE = str IPCLK2X_PHASE__TYPE = str SENSOR_HIST_BITS_SET = int MCNTRL_SCANLINE_CHN1_ADDR = int MCNTRL_SCANLINE_CHN1_ADDR = int MULT_SAXI_HALF_BRAM_IN = int MULT_SAXI_HALF_BRAM_IN = int CMDFRAMESEQ_ADDR_INC__RAW = str CMDFRAMESEQ_ADDR_INC__RAW = str Loading @@ -1835,7 +1839,7 @@ CMPRS_GROUP_ADDR__RAW = str SENS_LENS_AX__RAW = str SENS_LENS_AX__RAW = str CMPRS_JP4DIFF__RAW = str CMPRS_JP4DIFF__RAW = str SENS_SS_MODE__RAW = str SENS_SS_MODE__RAW = str CAMSYNC_SNDEN_BIT__TYPE = str SENSOR_16BIT_BIT_SET__TYPE = str DEBUG_CMD_LATENCY__RAW = str DEBUG_CMD_LATENCY__RAW = str CMPRS_CBIT_CMODE__TYPE = str CMPRS_CBIT_CMODE__TYPE = str LOGGER_STATUS_MASK = int LOGGER_STATUS_MASK = int Loading Loading @@ -2080,6 +2084,7 @@ CMPRS_MONO16 = int REF_JITTER1 = float REF_JITTER1 = float SENSI2C_TBL_DLY = int SENSI2C_TBL_DLY = int SENSIO_STATUS__RAW = str SENSIO_STATUS__RAW = str SENSOR_16BIT_BIT_SET = int MCONTR_LINTILE_DIS_NEED = int MCONTR_LINTILE_DIS_NEED = int SENS_LENS_BX_MASK = int SENS_LENS_BX_MASK = int HISPI_FIFO_START__RAW = str HISPI_FIFO_START__RAW = str Loading Loading @@ -2150,6 +2155,7 @@ MCONTR_PHY_0BIT_DLY_SET__RAW = str NUM_CYCLES_11__RAW = str NUM_CYCLES_11__RAW = str FFCLK1_CAPACITANCE__RAW = str FFCLK1_CAPACITANCE__RAW = str SENSI2C_DRIVE__RAW = str SENSI2C_DRIVE__RAW = str SENSOR_HIST_BITS_SET__TYPE = str CMPRS_CBIT_CMODE_MONO1__TYPE = str CMPRS_CBIT_CMODE_MONO1__TYPE = str SENS_LENS_C = int SENS_LENS_C = int SENSOR_CTRL_ADDR_MASK__RAW = str SENSOR_CTRL_ADDR_MASK__RAW = str Loading py393/x393_export_c.py +4 −2 Original line number Original line Diff line number Diff line Loading @@ -147,7 +147,7 @@ class X393ExportC(object): txt += ' #define PARS_FRAMES 16 ///< Number of frames in a sequencer TODO:// move it here from <elphel/c313a.h>\n' txt += ' #define PARS_FRAMES 16 ///< Number of frames in a sequencer TODO:// move it here from <elphel/c313a.h>\n' txt += ' #define PARS_FRAMES_MASK (PARS_FRAMES-1) ///< Maximal frame number (15 for NC393) TODO:// move it here from <elphel/c313a.h>\n' txt += ' #define PARS_FRAMES_MASK (PARS_FRAMES-1) ///< Maximal frame number (15 for NC393) TODO:// move it here from <elphel/c313a.h>\n' txt += '#endif\n' txt += '#endif\n' txt += 'typedef enum {DIRECT,ABSOLUTE,RELATIVE} x393cmd_t; ///< How to apply command - directly or through the command sequencer\n' txt += 'typedef enum {DIRECT,ABSOLUTE,RELATIVE,ASAP} x393cmd_t; ///< How to apply command - directly or through the command sequencer\n' txt += """// IRQ commands applicable to several targets txt += """// IRQ commands applicable to several targets #define X393_IRQ_NOP 0 #define X393_IRQ_NOP 0 #define X393_IRQ_RESET 1 #define X393_IRQ_RESET 1 Loading Loading @@ -935,7 +935,6 @@ class X393ExportC(object): (("X393_CMPRS_CBIT_CMODE_JP4DIFFHDRDIV2","",vrlg.CMPRS_CBIT_CMODE_JP4DIFFHDRDIV2,0,None, None, "", "jp4, 4 blocks, differential, hdr,divide by 2")), (("X393_CMPRS_CBIT_CMODE_JP4DIFFHDRDIV2","",vrlg.CMPRS_CBIT_CMODE_JP4DIFFHDRDIV2,0,None, None, "", "jp4, 4 blocks, differential, hdr,divide by 2")), (("X393_CMPRS_CBIT_CMODE_MONO1", "", vrlg.CMPRS_CBIT_CMODE_MONO1 , 0, None, None, "", "Mono JPEG (not yet implemented)")), (("X393_CMPRS_CBIT_CMODE_MONO1", "", vrlg.CMPRS_CBIT_CMODE_MONO1 , 0, None, None, "", "Mono JPEG (not yet implemented)")), (("X393_CMPRS_CBIT_CMODE_MONO4", "", vrlg.CMPRS_CBIT_CMODE_MONO4 , 0, None, None, "", "Mono, 4 blocks (2x2 macroblocks)")), (("X393_CMPRS_CBIT_CMODE_MONO4", "", vrlg.CMPRS_CBIT_CMODE_MONO4 , 0, None, None, "", "Mono, 4 blocks (2x2 macroblocks)")), (("X393_CMPRS_CBIT_CMODE_JPEG18", "", vrlg.CMPRS_CBIT_CMODE_JPEG18 , 0, None, None, "", "Color 4:2:0")), (("X393_CMPRS_CBIT_FRAMES_SINGLE", "", vrlg.CMPRS_CBIT_FRAMES_SINGLE , 0, None, None, "", "Use single-frame buffer")), (("X393_CMPRS_CBIT_FRAMES_SINGLE", "", vrlg.CMPRS_CBIT_FRAMES_SINGLE , 0, None, None, "", "Use single-frame buffer")), (("X393_CMPRS_CBIT_FRAMES_MULTI", "", 1 , 0, None, None, "", "Use multi-frame buffer"))] (("X393_CMPRS_CBIT_FRAMES_MULTI", "", 1 , 0, None, None, "", "Use multi-frame buffer"))] Loading Loading @@ -1898,8 +1897,11 @@ class X393ExportC(object): dw=[] dw=[] dw.append(("hist_en", vrlg.SENSOR_HIST_EN_BITS, 4,15, "Enable subchannel histogram modules (may be less than 4)")) dw.append(("hist_en", vrlg.SENSOR_HIST_EN_BITS, 4,15, "Enable subchannel histogram modules (may be less than 4)")) dw.append(("hist_nrst", vrlg.SENSOR_HIST_NRST_BITS, 4,15, "Reset off for histograms subchannels (may be less than 4)")) dw.append(("hist_nrst", vrlg.SENSOR_HIST_NRST_BITS, 4,15, "Reset off for histograms subchannels (may be less than 4)")) dw.append(("hist_set", vrlg.SENSOR_HIST_BITS_SET, 1, 0, "Apply values in hist_en and hist_nrst fields (0 - ignore)")) dw.append(("chn_en", vrlg.SENSOR_CHN_EN_BIT, 1, 1, "Enable this sensor channel")) dw.append(("chn_en", vrlg.SENSOR_CHN_EN_BIT, 1, 1, "Enable this sensor channel")) dw.append(("chn_en_set", vrlg.SENSOR_CHN_EN_BIT_SET, 1, 1, "Apply chn_en value (0 - ignore)")) dw.append(("bit16", vrlg.SENSOR_16BIT_BIT, 1, 0, "0 - 8 bpp mode, 1 - 16 bpp (bypass gamma). Gamma-processed data is still used for histograms")) dw.append(("bit16", vrlg.SENSOR_16BIT_BIT, 1, 0, "0 - 8 bpp mode, 1 - 16 bpp (bypass gamma). Gamma-processed data is still used for histograms")) dw.append(("bit16_set", vrlg.SENSOR_16BIT_BIT_SET, 1, 0, "Apply bit16 value (0 - ignore)")) return dw return dw def _enc_sens_sync_mult(self): def _enc_sens_sync_mult(self): Loading py393/x393_sens_cmprs.py +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1129,7 +1129,7 @@ class X393SensCmprs(object): tile_margin = 0 # 18x18 instead of 16x16 tile_margin = 0 # 18x18 instead of 16x16 tile_width = 4 tile_width = 4 # extra_pages = (0,1)[(compressor_left_margin % 16) != 0] # memory access block border does not cut macroblocks # extra_pages = (0,1)[(compressor_left_margin % 16) != 0] # memory access block border does not cut macroblocks extra_pages = 1 # just testing extra_pages = 1 # just testing, 0 should be OK here tile_vstep = 16 tile_vstep = 16 tile_height = tile_vstep + tile_margin tile_height = tile_vstep + tile_margin Loading Loading
includes/x393_parameters.vh +8 −5 Original line number Original line Diff line number Diff line Loading @@ -355,11 +355,14 @@ parameter SENSOR_CTRL_RADDR = 0, // relative to SENSOR_GROUP_ADDR parameter SENSOR_CTRL_RADDR = 0, // relative to SENSOR_GROUP_ADDR parameter SENSOR_CTRL_ADDR_MASK = 'h7ff, // parameter SENSOR_CTRL_ADDR_MASK = 'h7ff, // // bits of the SENSOR mode register // bits of the SENSOR mode register parameter SENSOR_MODE_WIDTH = 10, parameter SENSOR_HIST_EN_BITS = 0, // 0..3 1 - enable histogram modules, disable after processing the started frame parameter SENSOR_HIST_EN_BITS = 0, // 0..3 1 - enable histogram modules, disable after processing the started frame parameter SENSOR_HIST_NRST_BITS = 4, // 0 - immediately reset all histogram modules parameter SENSOR_HIST_NRST_BITS = 4, // 0 - immediately reset all histogram modules parameter SENSOR_CHN_EN_BIT = 8, // 1 - this enable channel parameter SENSOR_HIST_BITS_SET = 8, // 1 - set bits 0..7 (en and nrst) parameter SENSOR_16BIT_BIT = 9, // 0 - 8 bpp mode, 1 - 16 bpp (bypass gamma). Gamma-processed data is still used for histograms parameter SENSOR_CHN_EN_BIT = 9, // 1 - this enable channel parameter SENSOR_CHN_EN_BIT_SET = 10, // set SENSOR_CHN_EN_BIT bit parameter SENSOR_16BIT_BIT = 11, // 0 - 8 bpp mode, 1 - 16 bpp (bypass gamma). Gamma-processed data is still used for histograms parameter SENSOR_16BIT_BIT_SET = 12, // set 8/16 bit mode // parameter SENSOR_MODE_WIDTH = 13, parameter SENSI2C_CTRL_RADDR = 2, // 302..'h303 parameter SENSI2C_CTRL_RADDR = 2, // 302..'h303 parameter SENSI2C_CTRL_MASK = 'h7fe, parameter SENSI2C_CTRL_MASK = 'h7fe, Loading
memctrl/mcntrl_tiled_rw.v +1 −1 Original line number Original line Diff line number Diff line Loading @@ -244,7 +244,7 @@ module mcntrl_tiled_rw#( reg [4:0] frame_start_r; // increased length to have time from line_unfinished to suspend (external) reg [4:0] frame_start_r; // increased length to have time from line_unfinished to suspend (external) // reg rst_frame_num_d; // reg rst_frame_num_d; reg [MAX_TILE_WIDTH:0] tile_cols; // full number of columns in a tile reg [MAX_TILE_WIDTH:0] tile_cols; // full number of columns in a tile (in bursts?) // reg [MAX_TILE_HEIGHT:0] tile_rows; // full number of rows in a tile // reg [MAX_TILE_HEIGHT:0] tile_rows; // full number of rows in a tile // reg [MAX_TILE_HEIGHT-1:0] tile_rows; // full number of rows in a tile // reg [MAX_TILE_HEIGHT-1:0] tile_rows; // full number of rows in a tile reg [MAX_TILE_HEIGHT:0] tile_rows; // full number of rows in a tile reg [MAX_TILE_HEIGHT:0] tile_rows; // full number of rows in a tile Loading
py393/vrlg.py +14 −8 Original line number Original line Diff line number Diff line Loading @@ -128,6 +128,7 @@ CLK_STATUS_REG_ADDR__TYPE = str MCONTR_TOP_16BIT_STATUS_CNTRL__TYPE = str MCONTR_TOP_16BIT_STATUS_CNTRL__TYPE = str HIST_SAXI_ADDR_MASK = int HIST_SAXI_ADDR_MASK = int CONTROL_RBACK_ADDR_MASK = int CONTROL_RBACK_ADDR_MASK = int SENSOR_CHN_EN_BIT_SET__RAW = str CMPRS_CBIT_QBANK__TYPE = str CMPRS_CBIT_QBANK__TYPE = str CLKOUT_DIV_PCLK__RAW = str CLKOUT_DIV_PCLK__RAW = str SENS_GAMMA_CTRL__RAW = str SENS_GAMMA_CTRL__RAW = str Loading Loading @@ -313,7 +314,7 @@ MULTICLK_MULT = int SENS_LENS_POST_SCALE_MASK = int SENS_LENS_POST_SCALE_MASK = int MEMCLK_PERIOD = float MEMCLK_PERIOD = float BUF_IPCLK2X_SENS1__RAW = str BUF_IPCLK2X_SENS1__RAW = str SENSOR_MODE_WIDTH__RAW = str HISTOGRAM_WIDTH__RAW = str SENS_LENS_FAT0_OUT_MASK = int SENS_LENS_FAT0_OUT_MASK = int SENS_SYNC_MULT__TYPE = str SENS_SYNC_MULT__TYPE = str NUM_CYCLES_27__RAW = str NUM_CYCLES_27__RAW = str Loading Loading @@ -439,7 +440,7 @@ MULT_SAXI_CNTRL_STATUS__TYPE = str CMPRS_FRMT_MBRM1_BITS__RAW = str CMPRS_FRMT_MBRM1_BITS__RAW = str SCANLINE_EXTRA_PAGES = int SCANLINE_EXTRA_PAGES = int LD_DLY_LANE1_ODELAY__RAW = str LD_DLY_LANE1_ODELAY__RAW = str LOGGER_CONF_EN_BITS__RAW = str SENSOR_CHN_EN_BIT_SET__TYPE = str SENS_CTRL_IGNORE_EMBED__TYPE = str SENS_CTRL_IGNORE_EMBED__TYPE = str SENS_LENS_FAT0_IN_MASK__TYPE = str SENS_LENS_FAT0_IN_MASK__TYPE = str RSEL = int RSEL = int Loading Loading @@ -561,6 +562,7 @@ SENSOR_FIFO_DELAY__RAW = str DLY_SET = int DLY_SET = int CMDFRAMESEQ_CTRL__TYPE = str CMDFRAMESEQ_CTRL__TYPE = str HISPI_FIFO_DEPTH__RAW = str HISPI_FIFO_DEPTH__RAW = str SENSOR_HIST_BITS_SET__RAW = str NUM_CYCLES_12 = int NUM_CYCLES_12 = int MCNTRL_SCANLINE_FRAME_PAGE_RESET__TYPE = str MCNTRL_SCANLINE_FRAME_PAGE_RESET__TYPE = str MCNTRL_TILED_CHN2_ADDR__TYPE = str MCNTRL_TILED_CHN2_ADDR__TYPE = str Loading Loading @@ -591,6 +593,7 @@ NUM_CYCLES_16 = int NUM_CYCLES_15 = int NUM_CYCLES_15 = int NUM_CYCLES_21__TYPE = str NUM_CYCLES_21__TYPE = str CMPRS_CBIT_BAYER = int CMPRS_CBIT_BAYER = int LOGGER_CONF_EN_BITS__RAW = str SLEW_CLK__TYPE = str SLEW_CLK__TYPE = str MCONTR_PHY_0BIT_DLY_SET = int MCONTR_PHY_0BIT_DLY_SET = int HISPI_DIFF_TERM__TYPE = str HISPI_DIFF_TERM__TYPE = str Loading Loading @@ -631,6 +634,7 @@ RTC_ADDR = int MCLK_PHASE__RAW = str MCLK_PHASE__RAW = str SENSIO_RADDR__TYPE = str SENSIO_RADDR__TYPE = str CLKFBOUT_MULT_PCLK__TYPE = str CLKFBOUT_MULT_PCLK__TYPE = str VERBOSE__TYPE = str CLK_ADDR__TYPE = str CLK_ADDR__TYPE = str CMPRS_FORMAT = int CMPRS_FORMAT = int SENSIO_STATUS_REG_REL = int SENSIO_STATUS_REG_REL = int Loading Loading @@ -999,7 +1003,7 @@ HISTOGRAM_ADDR_MASK = int MCONTR_BUF2_RD_ADDR__RAW = str MCONTR_BUF2_RD_ADDR__RAW = str MCONTR_TOP_16BIT_ADDR_MASK__RAW = str MCONTR_TOP_16BIT_ADDR_MASK__RAW = str MULTICLK_DIV_DLYREF__RAW = str MULTICLK_DIV_DLYREF__RAW = str VERBOSE__TYPE = str MCNTRL_PS_EN_RST__RAW = str BUF_CLK1X_PCLK__TYPE = str BUF_CLK1X_PCLK__TYPE = str MULT_SAXI_BSLOG1__RAW = str MULT_SAXI_BSLOG1__RAW = str CLKFBOUT_MULT_PCLK__RAW = str CLKFBOUT_MULT_PCLK__RAW = str Loading Loading @@ -1227,7 +1231,6 @@ PXD_IBUF_LOW_PWR__RAW = str PXD_DRIVE = int PXD_DRIVE = int MULT_SAXI_BSLOG2__RAW = str MULT_SAXI_BSLOG2__RAW = str CLK_CNTRL__TYPE = str CLK_CNTRL__TYPE = str HISTOGRAM_WIDTH__RAW = str GPIO_MASK__RAW = str GPIO_MASK__RAW = str DFLT_REFRESH_ADDR__TYPE = str DFLT_REFRESH_ADDR__TYPE = str SENS_GAMMA_MODE_REPET__TYPE = str SENS_GAMMA_MODE_REPET__TYPE = str Loading Loading @@ -1298,7 +1301,6 @@ FFCLK1_IOSTANDARD__RAW = str CMD_DONE_BIT__TYPE = str CMD_DONE_BIT__TYPE = str SENSOR_DATA_WIDTH__TYPE = str SENSOR_DATA_WIDTH__TYPE = str SENS_LENS_SCALES__RAW = str SENS_LENS_SCALES__RAW = str SENSOR_MODE_WIDTH = int RTC_BITC_PREDIV__RAW = str RTC_BITC_PREDIV__RAW = str CMPRS_CORING_BITS__TYPE = str CMPRS_CORING_BITS__TYPE = str STATUS_DEPTH__TYPE = str STATUS_DEPTH__TYPE = str Loading Loading @@ -1531,7 +1533,6 @@ MULT_SAXI_IRQLEN_MASK__TYPE = str PICKLE__TYPE = str PICKLE__TYPE = str SENSI2C_TBL_NBWR__RAW = str SENSI2C_TBL_NBWR__RAW = str TABLE_FOCUS_INDEX__RAW = str TABLE_FOCUS_INDEX__RAW = str SENSOR_MODE_WIDTH__TYPE = str MCONTR_LINTILE_WRITE__RAW = str MCONTR_LINTILE_WRITE__RAW = str MCNTRL_TILED_CHN2_ADDR__RAW = str MCNTRL_TILED_CHN2_ADDR__RAW = str CMPRS_CONTROL_REG__TYPE = str CMPRS_CONTROL_REG__TYPE = str Loading Loading @@ -1678,6 +1679,7 @@ HIST_SAXI_MODE_ADDR_MASK__RAW = str FFCLK1_IBUF_LOW_PWR__TYPE = str FFCLK1_IBUF_LOW_PWR__TYPE = str SENSOR12BITS_NVLO__TYPE = str SENSOR12BITS_NVLO__TYPE = str MCONTR_LINTILE_EXTRAPG__TYPE = str MCONTR_LINTILE_EXTRAPG__TYPE = str CAMSYNC_SNDEN_BIT__TYPE = str NUM_CYCLES_06__TYPE = str NUM_CYCLES_06__TYPE = str SCANLINE_STARTX__RAW = str SCANLINE_STARTX__RAW = str SLEW_DQS__RAW = str SLEW_DQS__RAW = str Loading @@ -1695,6 +1697,7 @@ CLK_PHASE__TYPE = str SENSOR_16BIT_BIT = int SENSOR_16BIT_BIT = int SENSIO_DELAYS__TYPE = str SENSIO_DELAYS__TYPE = str SENS_CTRL_EXT_CLK__RAW = str SENS_CTRL_EXT_CLK__RAW = str SENSOR_CHN_EN_BIT_SET = int WOI_HEIGHT = int WOI_HEIGHT = int LOGGER_PAGE_GPS__TYPE = str LOGGER_PAGE_GPS__TYPE = str T_REFI = int T_REFI = int Loading @@ -1721,7 +1724,7 @@ SENSI2C_CMD_SOFT_SDA = int SENSI2C_CMD_TAND = int SENSI2C_CMD_TAND = int CMPRS_AFIMUX_SA_LEN = int CMPRS_AFIMUX_SA_LEN = int SENS_CTRL_QUADRANTS_EN__TYPE = str SENS_CTRL_QUADRANTS_EN__TYPE = str MCNTRL_PS_EN_RST__RAW = str SENSOR_16BIT_BIT_SET__RAW = str HISPI_IFD_DELAY_VALUE__TYPE = str HISPI_IFD_DELAY_VALUE__TYPE = str CMPRS_CBIT_BAYER_BITS__RAW = str CMPRS_CBIT_BAYER_BITS__RAW = str MULTICLK_BUF_AXIHP__TYPE = str MULTICLK_BUF_AXIHP__TYPE = str Loading Loading @@ -1816,6 +1819,7 @@ MCONTR_PHY_16BIT_ADDR__RAW = str SENS_CTRL_MRST__RAW = str SENS_CTRL_MRST__RAW = str SENS_GAMMA_HEIGHT2__TYPE = str SENS_GAMMA_HEIGHT2__TYPE = str IPCLK2X_PHASE__TYPE = str IPCLK2X_PHASE__TYPE = str SENSOR_HIST_BITS_SET = int MCNTRL_SCANLINE_CHN1_ADDR = int MCNTRL_SCANLINE_CHN1_ADDR = int MULT_SAXI_HALF_BRAM_IN = int MULT_SAXI_HALF_BRAM_IN = int CMDFRAMESEQ_ADDR_INC__RAW = str CMDFRAMESEQ_ADDR_INC__RAW = str Loading @@ -1835,7 +1839,7 @@ CMPRS_GROUP_ADDR__RAW = str SENS_LENS_AX__RAW = str SENS_LENS_AX__RAW = str CMPRS_JP4DIFF__RAW = str CMPRS_JP4DIFF__RAW = str SENS_SS_MODE__RAW = str SENS_SS_MODE__RAW = str CAMSYNC_SNDEN_BIT__TYPE = str SENSOR_16BIT_BIT_SET__TYPE = str DEBUG_CMD_LATENCY__RAW = str DEBUG_CMD_LATENCY__RAW = str CMPRS_CBIT_CMODE__TYPE = str CMPRS_CBIT_CMODE__TYPE = str LOGGER_STATUS_MASK = int LOGGER_STATUS_MASK = int Loading Loading @@ -2080,6 +2084,7 @@ CMPRS_MONO16 = int REF_JITTER1 = float REF_JITTER1 = float SENSI2C_TBL_DLY = int SENSI2C_TBL_DLY = int SENSIO_STATUS__RAW = str SENSIO_STATUS__RAW = str SENSOR_16BIT_BIT_SET = int MCONTR_LINTILE_DIS_NEED = int MCONTR_LINTILE_DIS_NEED = int SENS_LENS_BX_MASK = int SENS_LENS_BX_MASK = int HISPI_FIFO_START__RAW = str HISPI_FIFO_START__RAW = str Loading Loading @@ -2150,6 +2155,7 @@ MCONTR_PHY_0BIT_DLY_SET__RAW = str NUM_CYCLES_11__RAW = str NUM_CYCLES_11__RAW = str FFCLK1_CAPACITANCE__RAW = str FFCLK1_CAPACITANCE__RAW = str SENSI2C_DRIVE__RAW = str SENSI2C_DRIVE__RAW = str SENSOR_HIST_BITS_SET__TYPE = str CMPRS_CBIT_CMODE_MONO1__TYPE = str CMPRS_CBIT_CMODE_MONO1__TYPE = str SENS_LENS_C = int SENS_LENS_C = int SENSOR_CTRL_ADDR_MASK__RAW = str SENSOR_CTRL_ADDR_MASK__RAW = str Loading
py393/x393_export_c.py +4 −2 Original line number Original line Diff line number Diff line Loading @@ -147,7 +147,7 @@ class X393ExportC(object): txt += ' #define PARS_FRAMES 16 ///< Number of frames in a sequencer TODO:// move it here from <elphel/c313a.h>\n' txt += ' #define PARS_FRAMES 16 ///< Number of frames in a sequencer TODO:// move it here from <elphel/c313a.h>\n' txt += ' #define PARS_FRAMES_MASK (PARS_FRAMES-1) ///< Maximal frame number (15 for NC393) TODO:// move it here from <elphel/c313a.h>\n' txt += ' #define PARS_FRAMES_MASK (PARS_FRAMES-1) ///< Maximal frame number (15 for NC393) TODO:// move it here from <elphel/c313a.h>\n' txt += '#endif\n' txt += '#endif\n' txt += 'typedef enum {DIRECT,ABSOLUTE,RELATIVE} x393cmd_t; ///< How to apply command - directly or through the command sequencer\n' txt += 'typedef enum {DIRECT,ABSOLUTE,RELATIVE,ASAP} x393cmd_t; ///< How to apply command - directly or through the command sequencer\n' txt += """// IRQ commands applicable to several targets txt += """// IRQ commands applicable to several targets #define X393_IRQ_NOP 0 #define X393_IRQ_NOP 0 #define X393_IRQ_RESET 1 #define X393_IRQ_RESET 1 Loading Loading @@ -935,7 +935,6 @@ class X393ExportC(object): (("X393_CMPRS_CBIT_CMODE_JP4DIFFHDRDIV2","",vrlg.CMPRS_CBIT_CMODE_JP4DIFFHDRDIV2,0,None, None, "", "jp4, 4 blocks, differential, hdr,divide by 2")), (("X393_CMPRS_CBIT_CMODE_JP4DIFFHDRDIV2","",vrlg.CMPRS_CBIT_CMODE_JP4DIFFHDRDIV2,0,None, None, "", "jp4, 4 blocks, differential, hdr,divide by 2")), (("X393_CMPRS_CBIT_CMODE_MONO1", "", vrlg.CMPRS_CBIT_CMODE_MONO1 , 0, None, None, "", "Mono JPEG (not yet implemented)")), (("X393_CMPRS_CBIT_CMODE_MONO1", "", vrlg.CMPRS_CBIT_CMODE_MONO1 , 0, None, None, "", "Mono JPEG (not yet implemented)")), (("X393_CMPRS_CBIT_CMODE_MONO4", "", vrlg.CMPRS_CBIT_CMODE_MONO4 , 0, None, None, "", "Mono, 4 blocks (2x2 macroblocks)")), (("X393_CMPRS_CBIT_CMODE_MONO4", "", vrlg.CMPRS_CBIT_CMODE_MONO4 , 0, None, None, "", "Mono, 4 blocks (2x2 macroblocks)")), (("X393_CMPRS_CBIT_CMODE_JPEG18", "", vrlg.CMPRS_CBIT_CMODE_JPEG18 , 0, None, None, "", "Color 4:2:0")), (("X393_CMPRS_CBIT_FRAMES_SINGLE", "", vrlg.CMPRS_CBIT_FRAMES_SINGLE , 0, None, None, "", "Use single-frame buffer")), (("X393_CMPRS_CBIT_FRAMES_SINGLE", "", vrlg.CMPRS_CBIT_FRAMES_SINGLE , 0, None, None, "", "Use single-frame buffer")), (("X393_CMPRS_CBIT_FRAMES_MULTI", "", 1 , 0, None, None, "", "Use multi-frame buffer"))] (("X393_CMPRS_CBIT_FRAMES_MULTI", "", 1 , 0, None, None, "", "Use multi-frame buffer"))] Loading Loading @@ -1898,8 +1897,11 @@ class X393ExportC(object): dw=[] dw=[] dw.append(("hist_en", vrlg.SENSOR_HIST_EN_BITS, 4,15, "Enable subchannel histogram modules (may be less than 4)")) dw.append(("hist_en", vrlg.SENSOR_HIST_EN_BITS, 4,15, "Enable subchannel histogram modules (may be less than 4)")) dw.append(("hist_nrst", vrlg.SENSOR_HIST_NRST_BITS, 4,15, "Reset off for histograms subchannels (may be less than 4)")) dw.append(("hist_nrst", vrlg.SENSOR_HIST_NRST_BITS, 4,15, "Reset off for histograms subchannels (may be less than 4)")) dw.append(("hist_set", vrlg.SENSOR_HIST_BITS_SET, 1, 0, "Apply values in hist_en and hist_nrst fields (0 - ignore)")) dw.append(("chn_en", vrlg.SENSOR_CHN_EN_BIT, 1, 1, "Enable this sensor channel")) dw.append(("chn_en", vrlg.SENSOR_CHN_EN_BIT, 1, 1, "Enable this sensor channel")) dw.append(("chn_en_set", vrlg.SENSOR_CHN_EN_BIT_SET, 1, 1, "Apply chn_en value (0 - ignore)")) dw.append(("bit16", vrlg.SENSOR_16BIT_BIT, 1, 0, "0 - 8 bpp mode, 1 - 16 bpp (bypass gamma). Gamma-processed data is still used for histograms")) dw.append(("bit16", vrlg.SENSOR_16BIT_BIT, 1, 0, "0 - 8 bpp mode, 1 - 16 bpp (bypass gamma). Gamma-processed data is still used for histograms")) dw.append(("bit16_set", vrlg.SENSOR_16BIT_BIT_SET, 1, 0, "Apply bit16 value (0 - ignore)")) return dw return dw def _enc_sens_sync_mult(self): def _enc_sens_sync_mult(self): Loading
py393/x393_sens_cmprs.py +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1129,7 +1129,7 @@ class X393SensCmprs(object): tile_margin = 0 # 18x18 instead of 16x16 tile_margin = 0 # 18x18 instead of 16x16 tile_width = 4 tile_width = 4 # extra_pages = (0,1)[(compressor_left_margin % 16) != 0] # memory access block border does not cut macroblocks # extra_pages = (0,1)[(compressor_left_margin % 16) != 0] # memory access block border does not cut macroblocks extra_pages = 1 # just testing extra_pages = 1 # just testing, 0 should be OK here tile_vstep = 16 tile_vstep = 16 tile_height = tile_vstep + tile_margin tile_height = tile_vstep + tile_margin Loading