Loading cocotb/x393_cocotb_03.sav +56 −10 Original line number Diff line number Diff line [*] [*] GTKWave Analyzer v3.3.66 (w)1999-2015 BSI [*] Thu Oct 27 01:40:51 2016 [*] Sat Oct 29 21:44:32 2016 [*] [dumpfile] "/home/eyesis/git/x393-neon/simulation/x393_dut-20161026180017757.fst" [dumpfile_mtime] "Thu Oct 27 01:39:08 2016" [dumpfile_size] 418439836 [dumpfile] "/home/eyesis/git/x393-neon/simulation/x393_dut-20161028224636205.fst" [dumpfile_mtime] "Sat Oct 29 06:54:57 2016" [dumpfile_size] 487758287 [savefile] "/home/eyesis/git/x393-neon/cocotb/x393_cocotb_03.sav" [timestart] 0 [size] 1814 1171 [pos] 0 0 *-27.006804 350100000 53094051 136169617 216213845 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 *-25.418884 64300000 53094051 136169617 426878253 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 [treeopen] x393_dut. [treeopen] x393_dut.simul_sensor12bits_2_i. [treeopen] x393_dut.simul_sensor12bits_3_i. Loading @@ -25,10 +25,14 @@ [treeopen] x393_dut.x393_i.event_logger_i.i_logger_arbiter. [treeopen] x393_dut.x393_i.event_logger_i.i_nmea_decoder. [treeopen] x393_dut.x393_i.event_logger_i.i_rs232_rcv. [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.mult_saxi_wr_i.mult_saxi_wr_pointers_i. [treeopen] x393_dut.x393_i.sensors393_i. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[0]. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[1].sensor_channel_i. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[1].sensor_channel_i.sens_sync_i. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[2]. Loading @@ -41,7 +45,7 @@ [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[3].sensor_channel_i.sens_sync_i. [treeopen] x393_dut.x393_i.timing393_i. [treeopen] x393_dut.x393_i.timing393_i.camsync393_i. [sst_width] 282 [sst_width] 307 [signals_width] 319 [sst_expanded] 1 [sst_vpaned_height] 486 Loading Loading @@ -1907,9 +1911,9 @@ x393_dut.x393_i.timing393_i.camsync393_i.trigger_condition x393_dut.x393_i.timing393_i.camsync393_i.trigger_condition_filtered @22 x393_dut.x393_i.timing393_i.camsync393_i.input_pattern[9:0] @c00023 @c00022 x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] @29 @28 (0)x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] (1)x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] (2)x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] Loading @@ -1920,15 +1924,57 @@ x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] (7)x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] (8)x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] (9)x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] @1401201 @1401200 -group_end @1001200 -group_end -group_end -group_end @1000200 -camsync_ext_int @800200 -sequencers_0 -cmd_frame_seq0 @28 x393_dut.x393_i.frame_sequencer_block[0].cmd_frame_sequencer_i.frame_sync @22 x393_dut.x393_i.frame_sequencer_block[0].cmd_frame_sequencer_i.frame_no[3:0] @1000200 -cmd_frame_seq0 @800200 -i2c_seq_0 @28 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.frame_sync x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.req_clr @c00028 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.wpage0_inc[1:0] @28 (0)x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.wpage0_inc[1:0] (1)x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.wpage0_inc[1:0] @1401200 -group_end @28 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.sync_to_seq @29 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.sync_to_eof @22 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.frame_num_seq[3:0] x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.frame_num[3:0] @28 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.eof_mclk x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.use_eof @1000200 -i2c_seq_0 @800200 -sensor_channel0 @200 - @28 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.eof_mclk x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.eof_out x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.eof_out_r @1000200 -camsync_ext_int -sensor_channel0 -sequencers_0 [pattern_trace] 1 [pattern_trace] 0 fpga_version.vh +3 −2 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ * contains all the components and scripts required to completely simulate it * with at least one of the Free Software programs. */ parameter FPGA_VERSION = 32'h039300c3; //parallel - fixing timestamps parameter FPGA_VERSION = 32'h039300c4; //parallel - option to use EOF for i2c sequencer timing met, 79.66% // parameter FPGA_VERSION = 32'h039300c3; //parallel - fixing timestamps -0.209/47, 79.86% // parameter FPGA_VERSION = 32'h039300c2; //parallel - external sync for Eyesis -0.160/71 79.84% // parameter FPGA_VERSION = 32'h039300c1; //parallel - modified after troubleshooting simulation -0.069/41, 79.90 % // parameter FPGA_VERSION = 32'h039300c0; //parallel - changing LOGGER_PAGE_IMU 3->0 (how it was in 353) -0.044/16, 79.59% Loading includes/x393_parameters.vh +1 −0 Original line number Diff line number Diff line Loading @@ -386,6 +386,7 @@ parameter SENSI2C_CMD_RUN = 13, // [13:12]3 - run i2c, 2 - stop i2c (needed before software i2c), 1,0 - no change to run state parameter SENSI2C_CMD_RUN_PBITS = 1, parameter SENSI2C_CMD_USE_EOF = 8, // [9:8] - 0: advance sequencer at SOF, 1 - advance sequencer at EOF parameter SENSI2C_CMD_SOFT_SDA = 6, // [7:6] - SDA software control: 0 - nop, 1 - low, 2 - active high, 3 - float parameter SENSI2C_CMD_SOFT_SCL = 4, // [5:4] - SCL software control: 0 - nop, 1 - low, 2 - active high, 3 - float Loading py393/x393_export_c.py +1 −0 Original line number Diff line number Diff line Loading @@ -1900,6 +1900,7 @@ class X393ExportC(object): dw.append(("soft_scl", vrlg.SENSI2C_CMD_SOFT_SCL, 2,0, "Control SCL pin (when stopped): 0 - nop, 1 - low, 2 - high (driven), 3 - float ")) dw.append(("soft_sda", vrlg.SENSI2C_CMD_SOFT_SDA, 2,0, "Control SDA pin (when stopped): 0 - nop, 1 - low, 2 - high (driven), 3 - float ")) dw.append(("eof_not_sof", vrlg.SENSI2C_CMD_USE_EOF, 2,0, "Advance I2C sequencer: 0 - SOF, 1 - EOF")) dw.append(("cmd_run", vrlg.SENSI2C_CMD_RUN-1, 2,0, "Sequencer run/stop control: 0,1 - nop, 2 - stop, 3 - run ")) dw.append(("reset", vrlg.SENSI2C_CMD_RESET, 1,0, "Sequencer reset all FIFO (takes 16 clock pulses), also - stops i2c until run command")) Loading py393/x393_jpeg.py +4 −0 Original line number Diff line number Diff line Loading @@ -2280,6 +2280,10 @@ jpeg_sim_multi 8 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? #use EOF instead of SOF for i2c sequencer advance set_sensor_i2c_command all False None None None None None None True #just testing set_gpio_ports 1 1 # enable software gpio pins and porta (camsync) set_gpio_pins 0 1 # pin 0 low, pin 1 - high Loading Loading
cocotb/x393_cocotb_03.sav +56 −10 Original line number Diff line number Diff line [*] [*] GTKWave Analyzer v3.3.66 (w)1999-2015 BSI [*] Thu Oct 27 01:40:51 2016 [*] Sat Oct 29 21:44:32 2016 [*] [dumpfile] "/home/eyesis/git/x393-neon/simulation/x393_dut-20161026180017757.fst" [dumpfile_mtime] "Thu Oct 27 01:39:08 2016" [dumpfile_size] 418439836 [dumpfile] "/home/eyesis/git/x393-neon/simulation/x393_dut-20161028224636205.fst" [dumpfile_mtime] "Sat Oct 29 06:54:57 2016" [dumpfile_size] 487758287 [savefile] "/home/eyesis/git/x393-neon/cocotb/x393_cocotb_03.sav" [timestart] 0 [size] 1814 1171 [pos] 0 0 *-27.006804 350100000 53094051 136169617 216213845 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 *-25.418884 64300000 53094051 136169617 426878253 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 [treeopen] x393_dut. [treeopen] x393_dut.simul_sensor12bits_2_i. [treeopen] x393_dut.simul_sensor12bits_3_i. Loading @@ -25,10 +25,14 @@ [treeopen] x393_dut.x393_i.event_logger_i.i_logger_arbiter. [treeopen] x393_dut.x393_i.event_logger_i.i_nmea_decoder. [treeopen] x393_dut.x393_i.event_logger_i.i_rs232_rcv. [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.mult_saxi_wr_i.mult_saxi_wr_pointers_i. [treeopen] x393_dut.x393_i.sensors393_i. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[0]. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[1].sensor_channel_i. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[1].sensor_channel_i.sens_sync_i. [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[2]. Loading @@ -41,7 +45,7 @@ [treeopen] x393_dut.x393_i.sensors393_i.sensor_channel_block[3].sensor_channel_i.sens_sync_i. [treeopen] x393_dut.x393_i.timing393_i. [treeopen] x393_dut.x393_i.timing393_i.camsync393_i. [sst_width] 282 [sst_width] 307 [signals_width] 319 [sst_expanded] 1 [sst_vpaned_height] 486 Loading Loading @@ -1907,9 +1911,9 @@ x393_dut.x393_i.timing393_i.camsync393_i.trigger_condition x393_dut.x393_i.timing393_i.camsync393_i.trigger_condition_filtered @22 x393_dut.x393_i.timing393_i.camsync393_i.input_pattern[9:0] @c00023 @c00022 x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] @29 @28 (0)x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] (1)x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] (2)x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] Loading @@ -1920,15 +1924,57 @@ x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] (7)x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] (8)x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] (9)x393_dut.x393_i.timing393_i.camsync393_i.input_use[9:0] @1401201 @1401200 -group_end @1001200 -group_end -group_end -group_end @1000200 -camsync_ext_int @800200 -sequencers_0 -cmd_frame_seq0 @28 x393_dut.x393_i.frame_sequencer_block[0].cmd_frame_sequencer_i.frame_sync @22 x393_dut.x393_i.frame_sequencer_block[0].cmd_frame_sequencer_i.frame_no[3:0] @1000200 -cmd_frame_seq0 @800200 -i2c_seq_0 @28 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.frame_sync x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.req_clr @c00028 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.wpage0_inc[1:0] @28 (0)x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.wpage0_inc[1:0] (1)x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.wpage0_inc[1:0] @1401200 -group_end @28 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.sync_to_seq @29 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.sync_to_eof @22 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.frame_num_seq[3:0] x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.frame_num[3:0] @28 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.eof_mclk x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.sensor_i2c_io_i.sensor_i2c_i.use_eof @1000200 -i2c_seq_0 @800200 -sensor_channel0 @200 - @28 x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.eof_mclk x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.eof_out x393_dut.x393_i.sensors393_i.sensor_channel_block[0].sensor_channel_i.eof_out_r @1000200 -camsync_ext_int -sensor_channel0 -sequencers_0 [pattern_trace] 1 [pattern_trace] 0
fpga_version.vh +3 −2 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ * contains all the components and scripts required to completely simulate it * with at least one of the Free Software programs. */ parameter FPGA_VERSION = 32'h039300c3; //parallel - fixing timestamps parameter FPGA_VERSION = 32'h039300c4; //parallel - option to use EOF for i2c sequencer timing met, 79.66% // parameter FPGA_VERSION = 32'h039300c3; //parallel - fixing timestamps -0.209/47, 79.86% // parameter FPGA_VERSION = 32'h039300c2; //parallel - external sync for Eyesis -0.160/71 79.84% // parameter FPGA_VERSION = 32'h039300c1; //parallel - modified after troubleshooting simulation -0.069/41, 79.90 % // parameter FPGA_VERSION = 32'h039300c0; //parallel - changing LOGGER_PAGE_IMU 3->0 (how it was in 353) -0.044/16, 79.59% Loading
includes/x393_parameters.vh +1 −0 Original line number Diff line number Diff line Loading @@ -386,6 +386,7 @@ parameter SENSI2C_CMD_RUN = 13, // [13:12]3 - run i2c, 2 - stop i2c (needed before software i2c), 1,0 - no change to run state parameter SENSI2C_CMD_RUN_PBITS = 1, parameter SENSI2C_CMD_USE_EOF = 8, // [9:8] - 0: advance sequencer at SOF, 1 - advance sequencer at EOF parameter SENSI2C_CMD_SOFT_SDA = 6, // [7:6] - SDA software control: 0 - nop, 1 - low, 2 - active high, 3 - float parameter SENSI2C_CMD_SOFT_SCL = 4, // [5:4] - SCL software control: 0 - nop, 1 - low, 2 - active high, 3 - float Loading
py393/x393_export_c.py +1 −0 Original line number Diff line number Diff line Loading @@ -1900,6 +1900,7 @@ class X393ExportC(object): dw.append(("soft_scl", vrlg.SENSI2C_CMD_SOFT_SCL, 2,0, "Control SCL pin (when stopped): 0 - nop, 1 - low, 2 - high (driven), 3 - float ")) dw.append(("soft_sda", vrlg.SENSI2C_CMD_SOFT_SDA, 2,0, "Control SDA pin (when stopped): 0 - nop, 1 - low, 2 - high (driven), 3 - float ")) dw.append(("eof_not_sof", vrlg.SENSI2C_CMD_USE_EOF, 2,0, "Advance I2C sequencer: 0 - SOF, 1 - EOF")) dw.append(("cmd_run", vrlg.SENSI2C_CMD_RUN-1, 2,0, "Sequencer run/stop control: 0,1 - nop, 2 - stop, 3 - run ")) dw.append(("reset", vrlg.SENSI2C_CMD_RESET, 1,0, "Sequencer reset all FIFO (takes 16 clock pulses), also - stops i2c until run command")) Loading
py393/x393_jpeg.py +4 −0 Original line number Diff line number Diff line Loading @@ -2280,6 +2280,10 @@ jpeg_sim_multi 8 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? #use EOF instead of SOF for i2c sequencer advance set_sensor_i2c_command all False None None None None None None True #just testing set_gpio_ports 1 1 # enable software gpio pins and porta (camsync) set_gpio_pins 0 1 # pin 0 low, pin 1 - high Loading