Commit 59985501 authored by Mikhail Karpenko's avatar Mikhail Karpenko
Browse files

Merge remote-tracking branch 'origin/framepars'

parents 659e1009 511172e8
Loading
Loading
Loading
Loading
+94 −39
Original line number Diff line number Diff line
[*]
[*] GTKWave Analyzer v3.3.66 (w)1999-2015 BSI
[*] Mon Sep 12 14:47:46 2016
[*] Wed Sep 14 19:28:33 2016
[*]
[dumpfile] "/home/eyesis/git/x393-neon/simulation/x393_dut-20160912080538929.fst"
[dumpfile_mtime] "Mon Sep 12 14:47:39 2016"
[dumpfile_size] 92122479
[dumpfile] "/home/eyesis/git/x393-neon/simulation/x393_dut-20160914091637595.fst"
[dumpfile_mtime] "Wed Sep 14 17:55:04 2016"
[dumpfile_size] 377060747
[savefile] "/home/eyesis/git/x393-neon/cocotb/x393_cocotb_02.sav"
[timestart] 95143150
[timestart] 43511100
[size] 1814 1171
[pos] 1936 23
*-13.913612 95182388 77654500 77716800 80133500 86987400 89448000 91674200 91801500 95195280 96480090 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
*-14.509074 43557388 77654500 77716800 80133500 86987400 89448000 91674200 91801500 95195280 96480090 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
[treeopen] x393_dut.
[treeopen] x393_dut.ddr3_i.ddr3_i.
[treeopen] x393_dut.simul_axi_master_wdata_i.
[treeopen] x393_dut.simul_saxi_gp0_wr_i.
[treeopen] x393_dut.x393_i.
[treeopen] x393_dut.x393_i.cmd_mux_i.
[treeopen] x393_dut.x393_i.compressor393_i.
[treeopen] x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].
[treeopen] x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.
[treeopen] x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.cmprs_frame_sync_i.
[treeopen] x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.cmprs_macroblock_buf_iface_i.
[treeopen] x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.cmprs_pixel_buf_iface_i.
[treeopen] x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.cmprs_status_i.
[treeopen] x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.
[treeopen] x393_dut.x393_i.compressor393_i.cmprs_channel_block[1].
[treeopen] x393_dut.x393_i.compressor393_i.cmprs_channel_block[1].jp_channel_i.
[treeopen] x393_dut.x393_i.compressor393_i.cmprs_channel_block[1].jp_channel_i.cmprs_frame_sync_i.
@@ -34,7 +36,6 @@
[treeopen] x393_dut.x393_i.compressor393_i.cmprs_channel_block[3].jp_channel_i.
[treeopen] x393_dut.x393_i.compressor393_i.cmprs_channel_block[3].jp_channel_i.cmprs_pixel_buf_iface_i.
[treeopen] x393_dut.x393_i.compressor393_i.genblk3.cmprs_afi0_mux_i.
[treeopen] x393_dut.x393_i.frame_sequencer_block[0].
[treeopen] x393_dut.x393_i.frame_sequencer_block[0].cmd_frame_sequencer_i.
[treeopen] x393_dut.x393_i.mcntrl393_i.memctrl16_i.
[treeopen] x393_dut.x393_i.mcntrl393_i.memctrl16_i.mcontr_sequencer_i.
@@ -2503,7 +2504,7 @@ x393_dut.x393_i.frame_num[15:0]
x393_dut.x393_i.frame_num_compressed[15:0]
@1000200
-frames
@800200
@c00200
-histgograms
@28
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.en
@@ -2531,7 +2532,7 @@ x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.gamma_hact
@22
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.gamma_pxd_out[7:0]
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.frame_num_seq[3:0]
@800200
@c00200
-sens_histogram_0
@22
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.hist_di[7:0]
@@ -2683,18 +2684,8 @@ x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.se
@28
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.we_even
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.we_odd
[color] 3
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_data_differ
[color] 2
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_addr_differ
[color] 3
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_1c_in
[color] 3
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_1c_out
@200
-
@22
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_rwaddr[8:0]
@c00022
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.hist_rwaddr_even[8:0]
@28
@@ -2779,8 +2770,6 @@ x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.se
@28
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.hist_re_even
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.hist_re_odd
(0)x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_re_even[2:0]
(0)x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_re_odd[2:0]
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.hist_dv
@22
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.hist_do[31:0]
@@ -2789,25 +2778,11 @@ x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.se
@28
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.hist_xfer_done_mclk
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.hist_xfer_busy
@8022
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_sum_even[31:0]
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_sum_odd[31:0]
@200
-other channels
@22
x393_dut.x393_i.sensors393_i.sensor_channel_block[1].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_sum_even[31:0]
x393_dut.x393_i.sensors393_i.sensor_channel_block[1].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_sum_odd[31:0]
@28
x393_dut.x393_i.sensors393_i.sensor_channel_block[1].sensor_channel_i.genblk1.sens_histogram_0_i.hist_dv
@22
x393_dut.x393_i.sensors393_i.sensor_channel_block[2].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_sum_even[31:0]
x393_dut.x393_i.sensors393_i.sensor_channel_block[2].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_sum_odd[31:0]
@28
x393_dut.x393_i.sensors393_i.sensor_channel_block[2].sensor_channel_i.genblk1.sens_histogram_0_i.hist_dv
@22
x393_dut.x393_i.sensors393_i.sensor_channel_block[3].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_sum_even[31:0]
x393_dut.x393_i.sensors393_i.sensor_channel_block[3].sensor_channel_i.genblk1.sens_histogram_0_i.dbg_sum_odd[31:0]
@28
x393_dut.x393_i.sensors393_i.sensor_channel_block[3].sensor_channel_i.genblk1.sens_histogram_0_i.hist_dv
@200
-
@@ -2816,14 +2791,14 @@ x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.se
@22
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.genblk1.sens_hist_ram_snglclk_32_i.data_out_b_w_odd[31:0]
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.genblk1.sens_hist_ram_snglclk_32_i.data_out_b_w_even[31:0]
@29
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.genblk1.sens_hist_ram_snglclk_32_i.re_even
@28
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.genblk1.sens_hist_ram_snglclk_32_i.re_even
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.genblk1.sens_hist_ram_snglclk_32_i.re_odd
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.genblk1.sens_hist_ram_snglclk_32_i.re_even_d
x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.genblk1.sens_histogram_0_i.genblk1.sens_hist_ram_snglclk_32_i.re_odd_d
@1000200
@1401200
-sens_histogram_0
@1000200
-chn0
@c00200
-histogram_saxi
@@ -2952,8 +2927,88 @@ x393_dut.simul_saxi_gp0_wr_i.waddr_i.next_fill[3:0]
-waddr
@1401200
-simul_saxi
@1000200
-histgograms
@800200
-tables_writes
@28
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.mclk
(2)x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.cmd_a[2:0]
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.set_tables_w
@22
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.cmd_data[31:0]
@28
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.tser_a_not_d
@22
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.tser_d[7:0]
@c00022
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.tser_sel[3:0]
@28
(0)x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.tser_sel[3:0]
(1)x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.tser_sel[3:0]
(2)x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.tser_sel[3:0]
(3)x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.tser_sel[3:0]
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.tser_qe
@1401200
-group_end
@800200
-quantizer0
@28
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.tser_ce
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.tser_qe
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.tser_a_not_d
@22
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.tser_d[7:0]
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.ta[22:0]
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.tdi[15:0]
@28
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.twce
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.twqe
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.tser_a_not_d
@22
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.tser_d[7:0]
@28
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.tser_ce
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.tser_qe
@22
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.ta[22:0]
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.tdi[15:0]
@28
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.twce
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.twqe
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.tsi[2:0]
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.pre_start
@800200
-cmprs_cmd_decode0
@28
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.cmprs_cmd_decode_i.frame_start
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.cmprs_cmd_decode_i.frame_start_xclk
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.cmprs_cmd_decode_i.cmprs_qpage_mclk[2:0]
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.cmprs_cmd_decode_i.cmprs_qpage[2:0]
@200
-
@1000200
-cmprs_cmd_decode0
@800200
-quant_table
@23
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.i_quant_table.waddr[9:0]
@22
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.i_quant_table.data_in[15:0]
@28
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.i_quant_table.we
@22
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.i_quant_table.raddr[9:0]
@28
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.i_quant_table.ren
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.i_quant_table.regen
@22
x393_dut.x393_i.compressor393_i.cmprs_channel_block[0].jp_channel_i.quantizer393_i.i_quant_table.data_out[15:0]
@200
-
@1000200
-quant_table
-quantizer0
-tables_writes
@200
-
-
+1 −0
Original line number Diff line number Diff line
@@ -147,6 +147,7 @@ class X393ExportC(object):
        txt += '    #define PARS_FRAMES       16             ///< Number of frames in a sequencer     TODO:// move it here from <uapi/elphel/c313a.h>\n'
        txt += '    #define PARS_FRAMES_MASK (PARS_FRAMES-1) ///< Maximal frame number (15 for NC393) TODO:// move it here from <uapi/elphel/c313a.h>\n'
        txt += '#endif\n'
        txt += 'typedef enum {TABLE_TYPE_QUANT,TABLE_TYPE_CORING,TABLE_TYPE_FOCUS,TABLE_TYPE_HUFFMAN} x393cmprs_tables_t; ///< compressor table type\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
#define X393_IRQ_NOP     0 
+102 −2
Original line number Diff line number Diff line
@@ -1052,6 +1052,10 @@ cd /usr/local/verilog/; test_mcntrl.py @hargs-after
specify_phys_memory
specify_window

r
read_control_register 0x431
read_control_register 0x430

#reset
write_cmd_frame_sequencer  0  1  2  0x600  0x5    #stop    compressor           `      
write_cmd_frame_sequencer  0  1  4  0x600  0x4    #reset   reset compressor            (+2)
@@ -1059,7 +1063,7 @@ write_cmd_frame_sequencer 0 1 4 0x6c0 0x1c48 # reset reset compressor memo
write_cmd_frame_sequencer  0  1  8  0x6c0  0x3d4b # enable run compressor memory       (+2)
write_cmd_frame_sequencer  0  1  8  0x600  0x7    # enable run compressor              (+0)


set_qtables all 0 80

set_rtc # maybe not needed as it can be set differently
camsync_setup 0xf # sensor mask - use local timestamps)
@@ -1087,7 +1091,7 @@ write_sensor_i2c 1 1 0 0x902d000d
#exposure 0x797 (default)
#write_sensor_i2c  1 1 0 0x90090797
#run compressors once (#1 - stop gracefully, 0 - reset, 2 - single, 3 - repetitive with sync to sensors)
set_qtables 1l 0 80
set_qtables 1 0 80
compressor_control 1 3
jpeg_write  "img.jpeg" 1 80

@@ -1791,6 +1795,102 @@ jpeg_sim_multi 4
#write_cmd_frame_sequencer  0  1  4  0x6c0  0x1c49 # stop       compressor memory     (+0)
#write_cmd_frame_sequencer  0  1  6  0x6c0  0x3d4b # enable run compressor memory       (+2)

################## Simulate Parallel 8 ####################
./py393/test_mcntrl.py @py393/cocoargs  --simulated=localhost:7777
measure_all "*DI"
setup_all_sensors True None 0xf
set_sensor_io_ctl  all None None 1 # Set ARO low - check if it is still needed?
#just testing
set_gpio_ports  1 # enable software gpio pins - just for testing. Also needed for legacy i2c!
set_gpio_pins 0 1 # pin 0 low, pin 1 - high

set_sensor_histogram_window  0  0  4  4  25 21
set_sensor_histogram_window  1  0  4  4  41 21
set_sensor_histogram_window  2  0  4  4  25 41
set_sensor_histogram_window  3  0  4  4  41 41
r
read_control_register 0x430
read_control_register 0x431
write_cmd_frame_sequencer  0  1  2  0x600  0x48   # compressor q page = 1 // too late for frame 2
set_qtables 0 0 80
set_qtables 0 1 70

#irq coming, image not changing - yes
write_cmd_frame_sequencer  0  1  1 0x686 0x280005 #save 4 more lines than sensor has                                                                                                                                    
write_cmd_frame_sequencer  0  1  1 0x680 0x5507 #enable abort
#write_cmd_frame_sequencer  0  1  1 0x6c6 0x300006 #save 4 more lines that compressor has                                                                                                                                    

write_cmd_frame_sequencer  0  1  2  0x600  0x5    #stop    compressor           `      
write_cmd_frame_sequencer  0  1  2  0x680  0x5405 # stop  sensor memory         (+0) // sensor memory should be controlled first, (9 commands
write_cmd_frame_sequencer  0  1  2  0x6c0  0x5c49 # stop compressor memory      (+0)

write_cmd_frame_sequencer  0  1  3 0x686 0x240005 # correct lines                                                                                                   
write_cmd_frame_sequencer  0  1  3  0x680  0x5507 # run sensor memory           (+1) Can not be 0

write_cmd_frame_sequencer  0  1  4 0x686 0x280005 #save 4 more lines than sensor has                                                                                                                                    
write_cmd_frame_sequencer  0  1  4 0x6c6 0x300006 #save more lines than compressor needs (sensor provides)                                                                                                                                    
write_cmd_frame_sequencer  0  1  4  0x6c0  0x7d4b # run compressor memory       (+2)
write_cmd_frame_sequencer  0  1  4  0x600  0x7    # run compressor              (+0)

write_cmd_frame_sequencer  0  1  1  0x600  0x48   # compressor q page = 1
write_cmd_frame_sequencer  0  1  4  0x600  0x40   # compressor q page = 0

read_control_register 0x431
read_control_register 0x430

#testing histograms
write_control_register 0x409 0xc0


#sequencer test
#ctrl_cmd_frame_sequencer  <num_sensor>  <reset=False>  <start=False>  <stop=False>
ctrl_cmd_frame_sequencer   0  0  1  0
write_cmd_frame_sequencer  0  1  1  0x700  0x6
write_cmd_frame_sequencer  0  1  1  0x700  0x9
write_cmd_frame_sequencer  0  1  1  0x700  0xa0
write_cmd_frame_sequencer  0  1  1  0x700  0x50
write_cmd_frame_sequencer  0  0  3  0x700  0xa000
write_cmd_frame_sequencer  0  1  0  0x700  0x90
write_cmd_frame_sequencer  0  0  2  0x700  0xe00
write_cmd_frame_sequencer  0  0  3  0x700  0xa
write_cmd_frame_sequencer  0  0  2  0x700  0x6
write_cmd_frame_sequencer  0  0  2  0x700  0x9
write_cmd_frame_sequencer  0  0  2  0x700  0x60
write_cmd_frame_sequencer  0  0  2  0x700  0x90
write_cmd_frame_sequencer  0  0  2  0x700  0x600
write_cmd_frame_sequencer  0  0  2  0x700  0x900
r
read_status 0x21
r
#set_sensor_io_dly_hispi all 0x48 0x68 0x68 0x68 0x68
#set_sensor_io_ctl all None None None None None 1 None # load all delays?
compressor_control  all  None  None  None None None  2
compressor_interrupt_control all clr
compressor_interrupt_control all en
compressor_control  all  3
r
read_status 0x21
r
jpeg_sim_multi 4
r
read_status 0x21
r
jpeg_sim_multi 3
r
read_status 0x21
r


write_cmd_frame_sequencer  0  1  1 0x686 0x240005 # correct lines                                                                                                   
write_cmd_frame_sequencer  0  1  1 0x6c6 0x200006 # correct lines                                                                                                                                    
write_cmd_frame_sequencer  0  1  1  0x680  0x5507 # run sensor memory, update frame#, reset buffers
write_cmd_frame_sequencer  0  1  1  0x6c0  0x7d4b # run compressor memory
write_cmd_frame_sequencer  0  1  1  0x600  0x7    # run compressor

jpeg_sim_multi 4
jpeg_sim_multi 4
jpeg_sim_multi 4



################## Serial ####################
+6 −1
Original line number Diff line number Diff line
@@ -2256,7 +2256,12 @@ class X393SensCmprs(object):
                for j in range (merge_num):
                    d |=  data[2* i + j] << (j * (32 // merge_num))   
                data32.append(d)
        t_addr = (t_num << 24) + index* len(data32)
        '''
        t_addr[23:0] is in BYTES (so *4)
        '''        
        t_addr = (t_num << 24) + index* len(data32) * 4
        print("name: %s, merge_num=%d, t_num=%d, len(data32)=%d, index=%d, t_addr=0x%x"%
              (item['name'], merge_num, t_num, len(data32), index,t_addr))
        self.x393_axi_tasks.write_control_register(reg_addr + 1, t_addr)
        for d in data32:
            self.x393_axi_tasks.write_control_register(reg_addr, d)
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@
 * with at least one of the Free Software programs.
 */
`timescale 1ns/1ps

// Table address is BYTE address
module  table_ad_receive #(
    parameter MODE_16_BITS = 1,
    parameter NUM_CHN = 1
Loading