Loading includes/x393_simulation_parameters.vh +32 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,38 @@ `endif parameter FCLK1_PERIOD = 0.0, `ifdef LWIR parameter LWIR_DATA_FILE1 = "/data_ssd/nc393/elphel393/fpga-elphel/x393/input_data/pattern_160_120_14.dat", parameter LWIR_DATA_FILE2 = "/data_ssd/nc393/elphel393/fpga-elphel/x393/input_data/pattern_160_120_14.dat", parameter LWIR_DATA_FILE3 = "/data_ssd/nc393/elphel393/fpga-elphel/x393/input_data/pattern_160_120_14.dat", parameter LWIR_DATA_FILE4 = "/data_ssd/nc393/elphel393/fpga-elphel/x393/input_data/pattern_160_120_14.dat", parameter LWIR_WINDOW_WIDTH =160, parameter LWIR_WINDOW_HEIGHT =120, parameter LWIR_TELEMETRY = 2, parameter LWIR_FRAME_PERIOD =946969, parameter LWIR_FRAME_DELAY =100, parameter LWIR_MS_PERIOD = 25, // 1us instead of 1 ms parameter LWIR_TELEMETRY_REV = 16'h7654, // input[15:0] parameter LWIR_TELEMETRY_STATUS = 32'h137f1248, // input[31:0] parameter LWIR_TELEMETRY_SREV = 64'h0123456789abcdef, // input[63:0] parameter LWIR_TELEMETRY_TEMP_COUTS = 16'd59000, // input[15:0] parameter LWIR_TELEMETRY_TEMP_KELVIN = 16'd29500, // input[15:0] parameter LWIR_TELEMETRY_TEMP_LAST_KELVIN = 16'd29300, // input[15:0] parameter LWIR_TELEMETRY_TIME_LAST_MS = 32'h12345678, // input[31:0] parameter LWIR_TELEMETRY_AGC_ROI_TOP = 16'd0, // input[15:0] parameter LWIR_TELEMETRY_AGC_ROI_LEFT = 16'd0, // input[15:0] parameter LWIR_TELEMETRY_AGC_ROI_BOTTOM = 16'd119, // input[15:0] parameter LWIR_TELEMETRY_AGC_ROI_RIGHT = 16'd159, // input[15:0] parameter LWIR_TELEMETRY_AGC_HIGH = 16'd19200, // input[15:0] parameter LWIR_TELEMETRY_AGC_LOW = 16'd200, // input[15:0] parameter LWIR_TELEMETRY_VIDEO_FORMAT = 32'haaaa5555, // input[31:0] parameter LWIR_GPIO_IN = 4'b0000, `endif // parameter SENSOR12BITS_LLINE = 192, // 1664;// line duration in clocks // parameter SENSOR12BITS_NCOLS = 66, //58; //56; // 129; //128; //1288; // parameter SENSOR12BITS_NROWS = 18, // 16; // 1032; Loading x393_global.tcl +17 −4 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ # Filename: x393_global.tcl # Date:2016-03-28 # Author: Andrey Filippov # Description: Placementg constraints (selected by HISPI parameter in system_devines.vh) # Description: Placement constraints (selected by HISPI parameter in system_devines.vh) # # Copyright (c) 2016 Elphel, Inc. # x393_global.tcl is free software; you can redistribute it and/or modify Loading Loading @@ -34,6 +34,7 @@ cd ~/vdt/x393 set infile [open "system_defines.vh" r] set HISPI 0 set LWIR 0 while { [gets $infile line] >= 0 } { if { [regexp {(.*)`define(\s*)HISPI} $line matched prematch] } { if {[regexp "//" $prematch] != 0} { continue } Loading @@ -41,11 +42,23 @@ while { [gets $infile line] >= 0 } { break } } set LWIR 0 seek $infile 0 start while { [gets $infile line] >= 0 } { if { [regexp {(.*)`define(\s*)LWIRI} $line matched prematch] } { if {[regexp "//" $prematch] != 0} { continue } set LWIR 1 break } } close $infile if { $HISPI} { puts "using HISPI sensors" if { $LWIR} { puts "x393_global.tcl: using LWIR sensors" } elseif { $HISPI} { puts "x393_global.tcl: using HISPI sensors" } else { puts "using parallel sensors" puts "x393_global.tcl: using parallel sensors" } # Global constraints Loading x393_placement.tcl +151 −39 Original line number Diff line number Diff line Loading @@ -41,11 +41,23 @@ while { [gets $infile line] >= 0 } { break } } set LWIR 0 seek $infile 0 start while { [gets $infile line] >= 0 } { if { [regexp {(.*)`define(\s*)LWIRI} $line matched prematch] } { if {[regexp "//" $prematch] != 0} { continue } set LWIR 1 break } } close $infile if { $HISPI} { puts "using HISPI sensors" if { $LWIR} { puts "x393_placement.tcl: using LWIR sensors" } elseif { $HISPI} { puts "x393_placement.tcl: using HISPI sensors" } else { puts "using parallel sensors" puts "x393_placement.tcl: using parallel sensors" } #Placement constraints (I/O pads) set_property PACKAGE_PIN J4 [get_ports {SDRST}] Loading Loading @@ -127,6 +139,24 @@ set_property PACKAGE_PIN W13 [get_ports {ffclk1n}] # ================= Sensor port 0 ================= if { $LWIR } { set_property PACKAGE_PIN T10 [get_ports {sns1_dp40[0]}] set_property PACKAGE_PIN T9 [get_ports {sns1_dn40[0]}] set_property PACKAGE_PIN U10 [get_ports {sns1_dp40[1]}] set_property PACKAGE_PIN V10 [get_ports {sns1_dn40[1]}] set_property PACKAGE_PIN V8 [get_ports {sns1_dp40[2]}] set_property PACKAGE_PIN W8 [get_ports {sns1_dn40[2]}] set_property PACKAGE_PIN W9 [get_ports {sns1_dp40[3]}] set_property PACKAGE_PIN Y8 [get_ports {sns1_dn40[3]}] set_property PACKAGE_PIN AB9 [get_ports {sns1_dp40[4]}] set_property PACKAGE_PIN AB8 [get_ports {sns1_dn40[4]}] set_property PACKAGE_PIN AB13 [get_ports {sns1_dp5}] set_property PACKAGE_PIN AB12 [get_ports {sns1_dn5}] set_property PACKAGE_PIN AA12 [get_ports {sns1_dp76[6]}] set_property PACKAGE_PIN AA11 [get_ports {sns1_dn76[6]}] set_property PACKAGE_PIN W11 [get_ports {sns1_dp76[7]}] set_property PACKAGE_PIN W10 [get_ports {sns1_dn76[7]}] } elseif { $HISPI } { set_property PACKAGE_PIN T10 [get_ports {sns1_dp[0]}] set_property PACKAGE_PIN T9 [get_ports {sns1_dn[0]}] set_property PACKAGE_PIN U10 [get_ports {sns1_dp[1]}] Loading @@ -135,7 +165,6 @@ set_property PACKAGE_PIN V8 [get_ports {sns1_dp[2]}] set_property PACKAGE_PIN W8 [get_ports {sns1_dn[2]}] set_property PACKAGE_PIN W9 [get_ports {sns1_dp[3]}] set_property PACKAGE_PIN Y8 [get_ports {sns1_dn[3]}] if { $HISPI } { set_property PACKAGE_PIN AB9 [get_ports {sns1_dp74[4]}] set_property PACKAGE_PIN AB8 [get_ports {sns1_dn74[4]}] set_property PACKAGE_PIN AB13 [get_ports {sns1_dp74[5]}] Loading @@ -145,6 +174,14 @@ if { $HISPI } { set_property PACKAGE_PIN W11 [get_ports {sns1_dp74[7]}] set_property PACKAGE_PIN W10 [get_ports {sns1_dn74[7]}] } else { set_property PACKAGE_PIN T10 [get_ports {sns1_dp[0]}] set_property PACKAGE_PIN T9 [get_ports {sns1_dn[0]}] set_property PACKAGE_PIN U10 [get_ports {sns1_dp[1]}] set_property PACKAGE_PIN V10 [get_ports {sns1_dn[1]}] set_property PACKAGE_PIN V8 [get_ports {sns1_dp[2]}] set_property PACKAGE_PIN W8 [get_ports {sns1_dn[2]}] set_property PACKAGE_PIN W9 [get_ports {sns1_dp[3]}] set_property PACKAGE_PIN Y8 [get_ports {sns1_dn[3]}] set_property PACKAGE_PIN AB9 [get_ports {sns1_dp[4]}] set_property PACKAGE_PIN AB8 [get_ports {sns1_dn[4]}] set_property PACKAGE_PIN AB13 [get_ports {sns1_dp[5]}] Loading @@ -163,6 +200,24 @@ set_property PACKAGE_PIN U8 [get_ports {sns1_pg}] # ================= Sensor port 1 ================= if { $LWIR } { set_property PACKAGE_PIN U15 [get_ports {sns2_dp40[0]}] set_property PACKAGE_PIN U14 [get_ports {sns2_dn40[0]}] set_property PACKAGE_PIN V15 [get_ports {sns2_dp40[1]}] set_property PACKAGE_PIN W15 [get_ports {sns2_dn40[1]}] set_property PACKAGE_PIN U13 [get_ports {sns2_dp40[2]}] set_property PACKAGE_PIN V13 [get_ports {sns2_dn40[2]}] set_property PACKAGE_PIN V12 [get_ports {sns2_dp40[3]}] set_property PACKAGE_PIN V11 [get_ports {sns2_dn40[3]}] set_property PACKAGE_PIN AA17 [get_ports {sns2_dp40[4]}] set_property PACKAGE_PIN AB17 [get_ports {sns2_dn40[4]}] set_property PACKAGE_PIN AA15 [get_ports {sns2_dp5}] set_property PACKAGE_PIN AB15 [get_ports {sns2_dn5}] set_property PACKAGE_PIN AA14 [get_ports {sns2_dp76[6]}] set_property PACKAGE_PIN AB14 [get_ports {sns2_dn76[6]}] set_property PACKAGE_PIN Y14 [get_ports {sns2_dp76[7]}] set_property PACKAGE_PIN Y13 [get_ports {sns2_dn76[7]}] } elseif { $HISPI } { set_property PACKAGE_PIN U15 [get_ports {sns2_dp[0]}] set_property PACKAGE_PIN U14 [get_ports {sns2_dn[0]}] set_property PACKAGE_PIN V15 [get_ports {sns2_dp[1]}] Loading @@ -171,7 +226,6 @@ set_property PACKAGE_PIN U13 [get_ports {sns2_dp[2]}] set_property PACKAGE_PIN V13 [get_ports {sns2_dn[2]}] set_property PACKAGE_PIN V12 [get_ports {sns2_dp[3]}] set_property PACKAGE_PIN V11 [get_ports {sns2_dn[3]}] if { $HISPI } { set_property PACKAGE_PIN AA17 [get_ports {sns2_dp74[4]}] set_property PACKAGE_PIN AB17 [get_ports {sns2_dn74[4]}] set_property PACKAGE_PIN AA15 [get_ports {sns2_dp74[5]}] Loading @@ -181,6 +235,14 @@ if { $HISPI } { set_property PACKAGE_PIN Y14 [get_ports {sns2_dp74[7]}] set_property PACKAGE_PIN Y13 [get_ports {sns2_dn74[7]}] } else { set_property PACKAGE_PIN U15 [get_ports {sns2_dp[0]}] set_property PACKAGE_PIN U14 [get_ports {sns2_dn[0]}] set_property PACKAGE_PIN V15 [get_ports {sns2_dp[1]}] set_property PACKAGE_PIN W15 [get_ports {sns2_dn[1]}] set_property PACKAGE_PIN U13 [get_ports {sns2_dp[2]}] set_property PACKAGE_PIN V13 [get_ports {sns2_dn[2]}] set_property PACKAGE_PIN V12 [get_ports {sns2_dp[3]}] set_property PACKAGE_PIN V11 [get_ports {sns2_dn[3]}] set_property PACKAGE_PIN AA17 [get_ports {sns2_dp[4]}] set_property PACKAGE_PIN AB17 [get_ports {sns2_dn[4]}] set_property PACKAGE_PIN AA15 [get_ports {sns2_dp[5]}] Loading @@ -198,6 +260,24 @@ set_property PACKAGE_PIN V16 [get_ports {sns2_ctl}] set_property PACKAGE_PIN W16 [get_ports {sns2_pg}] # ================= Sensor port 2 ================= if { $LWIR } { set_property PACKAGE_PIN AA22 [get_ports {sns3_dp40[0]}] set_property PACKAGE_PIN AB22 [get_ports {sns3_dn40[0]}] set_property PACKAGE_PIN W21 [get_ports {sns3_dp40[1]}] set_property PACKAGE_PIN Y22 [get_ports {sns3_dn40[1]}] set_property PACKAGE_PIN V21 [get_ports {sns3_dp40[2]}] set_property PACKAGE_PIN V22 [get_ports {sns3_dn40[2]}] set_property PACKAGE_PIN W19 [get_ports {sns3_dp40[3]}] set_property PACKAGE_PIN W20 [get_ports {sns3_dn40[3]}] set_property PACKAGE_PIN N21 [get_ports {sns3_dp40[4]}] set_property PACKAGE_PIN N22 [get_ports {sns3_dn40[4]}] set_property PACKAGE_PIN R22 [get_ports {sns3_dp5}] set_property PACKAGE_PIN T22 [get_ports {sns3_dn5}] set_property PACKAGE_PIN P21 [get_ports {sns3_dp76[6]}] set_property PACKAGE_PIN R21 [get_ports {sns3_dn76[6]}] set_property PACKAGE_PIN T20 [get_ports {sns3_dp76[7]}] set_property PACKAGE_PIN U20 [get_ports {sns3_dn76[7]}] } elseif { $HISPI } { set_property PACKAGE_PIN AA22 [get_ports {sns3_dp[0]}] set_property PACKAGE_PIN AB22 [get_ports {sns3_dn[0]}] set_property PACKAGE_PIN W21 [get_ports {sns3_dp[1]}] Loading @@ -206,7 +286,6 @@ set_property PACKAGE_PIN V21 [get_ports {sns3_dp[2]}] set_property PACKAGE_PIN V22 [get_ports {sns3_dn[2]}] set_property PACKAGE_PIN W19 [get_ports {sns3_dp[3]}] set_property PACKAGE_PIN W20 [get_ports {sns3_dn[3]}] if { $HISPI } { set_property PACKAGE_PIN N21 [get_ports {sns3_dp74[4]}] set_property PACKAGE_PIN N22 [get_ports {sns3_dn74[4]}] set_property PACKAGE_PIN R22 [get_ports {sns3_dp74[5]}] Loading @@ -216,6 +295,14 @@ if { $HISPI } { set_property PACKAGE_PIN T20 [get_ports {sns3_dp74[7]}] set_property PACKAGE_PIN U20 [get_ports {sns3_dn74[7]}] } else { set_property PACKAGE_PIN AA22 [get_ports {sns3_dp[0]}] set_property PACKAGE_PIN AB22 [get_ports {sns3_dn[0]}] set_property PACKAGE_PIN W21 [get_ports {sns3_dp[1]}] set_property PACKAGE_PIN Y22 [get_ports {sns3_dn[1]}] set_property PACKAGE_PIN V21 [get_ports {sns3_dp[2]}] set_property PACKAGE_PIN V22 [get_ports {sns3_dn[2]}] set_property PACKAGE_PIN W19 [get_ports {sns3_dp[3]}] set_property PACKAGE_PIN W20 [get_ports {sns3_dn[3]}] set_property PACKAGE_PIN N21 [get_ports {sns3_dp[4]}] set_property PACKAGE_PIN N22 [get_ports {sns3_dn[4]}] set_property PACKAGE_PIN R22 [get_ports {sns3_dp[5]}] Loading @@ -233,6 +320,24 @@ set_property PACKAGE_PIN AA20 [get_ports {sns3_ctl}] set_property PACKAGE_PIN AB20 [get_ports {sns3_pg}] # ================= Sensor port 3 ================= if { $LWIR } { set_property PACKAGE_PIN V17 [get_ports {sns4_dp40[0]}] set_property PACKAGE_PIN W18 [get_ports {sns4_dn40[0]}] set_property PACKAGE_PIN Y19 [get_ports {sns4_dp40[1]}] set_property PACKAGE_PIN AA19 [get_ports {sns4_dn40[1]}] set_property PACKAGE_PIN U19 [get_ports {sns4_dp40[2]}] set_property PACKAGE_PIN V20 [get_ports {sns4_dn40[2]}] set_property PACKAGE_PIN U18 [get_ports {sns4_dp40[3]}] set_property PACKAGE_PIN V18 [get_ports {sns4_dn40[3]}] set_property PACKAGE_PIN P18 [get_ports {sns4_dp40[4]}] set_property PACKAGE_PIN P19 [get_ports {sns4_dn40[4]}] set_property PACKAGE_PIN N17 [get_ports {sns4_dp5}] set_property PACKAGE_PIN N18 [get_ports {sns4_dn5}] set_property PACKAGE_PIN N20 [get_ports {sns4_dp76[6]}] set_property PACKAGE_PIN P20 [get_ports {sns4_dn76[6]}] set_property PACKAGE_PIN R17 [get_ports {sns4_dp76[7]}] set_property PACKAGE_PIN R18 [get_ports {sns4_dn76[7]}] } elseif { $HISPI } { set_property PACKAGE_PIN V17 [get_ports {sns4_dp[0]}] set_property PACKAGE_PIN W18 [get_ports {sns4_dn[0]}] set_property PACKAGE_PIN Y19 [get_ports {sns4_dp[1]}] Loading @@ -241,7 +346,6 @@ set_property PACKAGE_PIN U19 [get_ports {sns4_dp[2]}] set_property PACKAGE_PIN V20 [get_ports {sns4_dn[2]}] set_property PACKAGE_PIN U18 [get_ports {sns4_dp[3]}] set_property PACKAGE_PIN V18 [get_ports {sns4_dn[3]}] if { $HISPI } { set_property PACKAGE_PIN P18 [get_ports {sns4_dp74[4]}] set_property PACKAGE_PIN P19 [get_ports {sns4_dn74[4]}] set_property PACKAGE_PIN N17 [get_ports {sns4_dp74[5]}] Loading @@ -251,6 +355,14 @@ if { $HISPI } { set_property PACKAGE_PIN R17 [get_ports {sns4_dp74[7]}] set_property PACKAGE_PIN R18 [get_ports {sns4_dn74[7]}] } else { set_property PACKAGE_PIN V17 [get_ports {sns4_dp[0]}] set_property PACKAGE_PIN W18 [get_ports {sns4_dn[0]}] set_property PACKAGE_PIN Y19 [get_ports {sns4_dp[1]}] set_property PACKAGE_PIN AA19 [get_ports {sns4_dn[1]}] set_property PACKAGE_PIN U19 [get_ports {sns4_dp[2]}] set_property PACKAGE_PIN V20 [get_ports {sns4_dn[2]}] set_property PACKAGE_PIN U18 [get_ports {sns4_dp[3]}] set_property PACKAGE_PIN V18 [get_ports {sns4_dn[3]}] set_property PACKAGE_PIN P18 [get_ports {sns4_dp[4]}] set_property PACKAGE_PIN P19 [get_ports {sns4_dn[4]}] set_property PACKAGE_PIN N17 [get_ports {sns4_dp[5]}] Loading x393_timing.tcl +15 −3 Original line number Diff line number Diff line Loading @@ -41,11 +41,23 @@ while { [gets $infile line] >= 0 } { break } } set LWIR 0 seek $infile 0 start while { [gets $infile line] >= 0 } { if { [regexp {(.*)`define(\s*)LWIRI} $line matched prematch] } { if {[regexp "//" $prematch] != 0} { continue } set LWIR 1 break } } close $infile if { $HISPI} { puts "using HISPI sensors" if { $LWIR} { puts "x393_timing.tcl: using LWIR sensors" } elseif { $HISPI} { puts "x393_timing.tcl: using HISPI sensors" } else { puts "using parallel sensors" puts "x393_timing.tcl: using parallel sensors" } Loading Loading
includes/x393_simulation_parameters.vh +32 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,38 @@ `endif parameter FCLK1_PERIOD = 0.0, `ifdef LWIR parameter LWIR_DATA_FILE1 = "/data_ssd/nc393/elphel393/fpga-elphel/x393/input_data/pattern_160_120_14.dat", parameter LWIR_DATA_FILE2 = "/data_ssd/nc393/elphel393/fpga-elphel/x393/input_data/pattern_160_120_14.dat", parameter LWIR_DATA_FILE3 = "/data_ssd/nc393/elphel393/fpga-elphel/x393/input_data/pattern_160_120_14.dat", parameter LWIR_DATA_FILE4 = "/data_ssd/nc393/elphel393/fpga-elphel/x393/input_data/pattern_160_120_14.dat", parameter LWIR_WINDOW_WIDTH =160, parameter LWIR_WINDOW_HEIGHT =120, parameter LWIR_TELEMETRY = 2, parameter LWIR_FRAME_PERIOD =946969, parameter LWIR_FRAME_DELAY =100, parameter LWIR_MS_PERIOD = 25, // 1us instead of 1 ms parameter LWIR_TELEMETRY_REV = 16'h7654, // input[15:0] parameter LWIR_TELEMETRY_STATUS = 32'h137f1248, // input[31:0] parameter LWIR_TELEMETRY_SREV = 64'h0123456789abcdef, // input[63:0] parameter LWIR_TELEMETRY_TEMP_COUTS = 16'd59000, // input[15:0] parameter LWIR_TELEMETRY_TEMP_KELVIN = 16'd29500, // input[15:0] parameter LWIR_TELEMETRY_TEMP_LAST_KELVIN = 16'd29300, // input[15:0] parameter LWIR_TELEMETRY_TIME_LAST_MS = 32'h12345678, // input[31:0] parameter LWIR_TELEMETRY_AGC_ROI_TOP = 16'd0, // input[15:0] parameter LWIR_TELEMETRY_AGC_ROI_LEFT = 16'd0, // input[15:0] parameter LWIR_TELEMETRY_AGC_ROI_BOTTOM = 16'd119, // input[15:0] parameter LWIR_TELEMETRY_AGC_ROI_RIGHT = 16'd159, // input[15:0] parameter LWIR_TELEMETRY_AGC_HIGH = 16'd19200, // input[15:0] parameter LWIR_TELEMETRY_AGC_LOW = 16'd200, // input[15:0] parameter LWIR_TELEMETRY_VIDEO_FORMAT = 32'haaaa5555, // input[31:0] parameter LWIR_GPIO_IN = 4'b0000, `endif // parameter SENSOR12BITS_LLINE = 192, // 1664;// line duration in clocks // parameter SENSOR12BITS_NCOLS = 66, //58; //56; // 129; //128; //1288; // parameter SENSOR12BITS_NROWS = 18, // 16; // 1032; Loading
x393_global.tcl +17 −4 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ # Filename: x393_global.tcl # Date:2016-03-28 # Author: Andrey Filippov # Description: Placementg constraints (selected by HISPI parameter in system_devines.vh) # Description: Placement constraints (selected by HISPI parameter in system_devines.vh) # # Copyright (c) 2016 Elphel, Inc. # x393_global.tcl is free software; you can redistribute it and/or modify Loading Loading @@ -34,6 +34,7 @@ cd ~/vdt/x393 set infile [open "system_defines.vh" r] set HISPI 0 set LWIR 0 while { [gets $infile line] >= 0 } { if { [regexp {(.*)`define(\s*)HISPI} $line matched prematch] } { if {[regexp "//" $prematch] != 0} { continue } Loading @@ -41,11 +42,23 @@ while { [gets $infile line] >= 0 } { break } } set LWIR 0 seek $infile 0 start while { [gets $infile line] >= 0 } { if { [regexp {(.*)`define(\s*)LWIRI} $line matched prematch] } { if {[regexp "//" $prematch] != 0} { continue } set LWIR 1 break } } close $infile if { $HISPI} { puts "using HISPI sensors" if { $LWIR} { puts "x393_global.tcl: using LWIR sensors" } elseif { $HISPI} { puts "x393_global.tcl: using HISPI sensors" } else { puts "using parallel sensors" puts "x393_global.tcl: using parallel sensors" } # Global constraints Loading
x393_placement.tcl +151 −39 Original line number Diff line number Diff line Loading @@ -41,11 +41,23 @@ while { [gets $infile line] >= 0 } { break } } set LWIR 0 seek $infile 0 start while { [gets $infile line] >= 0 } { if { [regexp {(.*)`define(\s*)LWIRI} $line matched prematch] } { if {[regexp "//" $prematch] != 0} { continue } set LWIR 1 break } } close $infile if { $HISPI} { puts "using HISPI sensors" if { $LWIR} { puts "x393_placement.tcl: using LWIR sensors" } elseif { $HISPI} { puts "x393_placement.tcl: using HISPI sensors" } else { puts "using parallel sensors" puts "x393_placement.tcl: using parallel sensors" } #Placement constraints (I/O pads) set_property PACKAGE_PIN J4 [get_ports {SDRST}] Loading Loading @@ -127,6 +139,24 @@ set_property PACKAGE_PIN W13 [get_ports {ffclk1n}] # ================= Sensor port 0 ================= if { $LWIR } { set_property PACKAGE_PIN T10 [get_ports {sns1_dp40[0]}] set_property PACKAGE_PIN T9 [get_ports {sns1_dn40[0]}] set_property PACKAGE_PIN U10 [get_ports {sns1_dp40[1]}] set_property PACKAGE_PIN V10 [get_ports {sns1_dn40[1]}] set_property PACKAGE_PIN V8 [get_ports {sns1_dp40[2]}] set_property PACKAGE_PIN W8 [get_ports {sns1_dn40[2]}] set_property PACKAGE_PIN W9 [get_ports {sns1_dp40[3]}] set_property PACKAGE_PIN Y8 [get_ports {sns1_dn40[3]}] set_property PACKAGE_PIN AB9 [get_ports {sns1_dp40[4]}] set_property PACKAGE_PIN AB8 [get_ports {sns1_dn40[4]}] set_property PACKAGE_PIN AB13 [get_ports {sns1_dp5}] set_property PACKAGE_PIN AB12 [get_ports {sns1_dn5}] set_property PACKAGE_PIN AA12 [get_ports {sns1_dp76[6]}] set_property PACKAGE_PIN AA11 [get_ports {sns1_dn76[6]}] set_property PACKAGE_PIN W11 [get_ports {sns1_dp76[7]}] set_property PACKAGE_PIN W10 [get_ports {sns1_dn76[7]}] } elseif { $HISPI } { set_property PACKAGE_PIN T10 [get_ports {sns1_dp[0]}] set_property PACKAGE_PIN T9 [get_ports {sns1_dn[0]}] set_property PACKAGE_PIN U10 [get_ports {sns1_dp[1]}] Loading @@ -135,7 +165,6 @@ set_property PACKAGE_PIN V8 [get_ports {sns1_dp[2]}] set_property PACKAGE_PIN W8 [get_ports {sns1_dn[2]}] set_property PACKAGE_PIN W9 [get_ports {sns1_dp[3]}] set_property PACKAGE_PIN Y8 [get_ports {sns1_dn[3]}] if { $HISPI } { set_property PACKAGE_PIN AB9 [get_ports {sns1_dp74[4]}] set_property PACKAGE_PIN AB8 [get_ports {sns1_dn74[4]}] set_property PACKAGE_PIN AB13 [get_ports {sns1_dp74[5]}] Loading @@ -145,6 +174,14 @@ if { $HISPI } { set_property PACKAGE_PIN W11 [get_ports {sns1_dp74[7]}] set_property PACKAGE_PIN W10 [get_ports {sns1_dn74[7]}] } else { set_property PACKAGE_PIN T10 [get_ports {sns1_dp[0]}] set_property PACKAGE_PIN T9 [get_ports {sns1_dn[0]}] set_property PACKAGE_PIN U10 [get_ports {sns1_dp[1]}] set_property PACKAGE_PIN V10 [get_ports {sns1_dn[1]}] set_property PACKAGE_PIN V8 [get_ports {sns1_dp[2]}] set_property PACKAGE_PIN W8 [get_ports {sns1_dn[2]}] set_property PACKAGE_PIN W9 [get_ports {sns1_dp[3]}] set_property PACKAGE_PIN Y8 [get_ports {sns1_dn[3]}] set_property PACKAGE_PIN AB9 [get_ports {sns1_dp[4]}] set_property PACKAGE_PIN AB8 [get_ports {sns1_dn[4]}] set_property PACKAGE_PIN AB13 [get_ports {sns1_dp[5]}] Loading @@ -163,6 +200,24 @@ set_property PACKAGE_PIN U8 [get_ports {sns1_pg}] # ================= Sensor port 1 ================= if { $LWIR } { set_property PACKAGE_PIN U15 [get_ports {sns2_dp40[0]}] set_property PACKAGE_PIN U14 [get_ports {sns2_dn40[0]}] set_property PACKAGE_PIN V15 [get_ports {sns2_dp40[1]}] set_property PACKAGE_PIN W15 [get_ports {sns2_dn40[1]}] set_property PACKAGE_PIN U13 [get_ports {sns2_dp40[2]}] set_property PACKAGE_PIN V13 [get_ports {sns2_dn40[2]}] set_property PACKAGE_PIN V12 [get_ports {sns2_dp40[3]}] set_property PACKAGE_PIN V11 [get_ports {sns2_dn40[3]}] set_property PACKAGE_PIN AA17 [get_ports {sns2_dp40[4]}] set_property PACKAGE_PIN AB17 [get_ports {sns2_dn40[4]}] set_property PACKAGE_PIN AA15 [get_ports {sns2_dp5}] set_property PACKAGE_PIN AB15 [get_ports {sns2_dn5}] set_property PACKAGE_PIN AA14 [get_ports {sns2_dp76[6]}] set_property PACKAGE_PIN AB14 [get_ports {sns2_dn76[6]}] set_property PACKAGE_PIN Y14 [get_ports {sns2_dp76[7]}] set_property PACKAGE_PIN Y13 [get_ports {sns2_dn76[7]}] } elseif { $HISPI } { set_property PACKAGE_PIN U15 [get_ports {sns2_dp[0]}] set_property PACKAGE_PIN U14 [get_ports {sns2_dn[0]}] set_property PACKAGE_PIN V15 [get_ports {sns2_dp[1]}] Loading @@ -171,7 +226,6 @@ set_property PACKAGE_PIN U13 [get_ports {sns2_dp[2]}] set_property PACKAGE_PIN V13 [get_ports {sns2_dn[2]}] set_property PACKAGE_PIN V12 [get_ports {sns2_dp[3]}] set_property PACKAGE_PIN V11 [get_ports {sns2_dn[3]}] if { $HISPI } { set_property PACKAGE_PIN AA17 [get_ports {sns2_dp74[4]}] set_property PACKAGE_PIN AB17 [get_ports {sns2_dn74[4]}] set_property PACKAGE_PIN AA15 [get_ports {sns2_dp74[5]}] Loading @@ -181,6 +235,14 @@ if { $HISPI } { set_property PACKAGE_PIN Y14 [get_ports {sns2_dp74[7]}] set_property PACKAGE_PIN Y13 [get_ports {sns2_dn74[7]}] } else { set_property PACKAGE_PIN U15 [get_ports {sns2_dp[0]}] set_property PACKAGE_PIN U14 [get_ports {sns2_dn[0]}] set_property PACKAGE_PIN V15 [get_ports {sns2_dp[1]}] set_property PACKAGE_PIN W15 [get_ports {sns2_dn[1]}] set_property PACKAGE_PIN U13 [get_ports {sns2_dp[2]}] set_property PACKAGE_PIN V13 [get_ports {sns2_dn[2]}] set_property PACKAGE_PIN V12 [get_ports {sns2_dp[3]}] set_property PACKAGE_PIN V11 [get_ports {sns2_dn[3]}] set_property PACKAGE_PIN AA17 [get_ports {sns2_dp[4]}] set_property PACKAGE_PIN AB17 [get_ports {sns2_dn[4]}] set_property PACKAGE_PIN AA15 [get_ports {sns2_dp[5]}] Loading @@ -198,6 +260,24 @@ set_property PACKAGE_PIN V16 [get_ports {sns2_ctl}] set_property PACKAGE_PIN W16 [get_ports {sns2_pg}] # ================= Sensor port 2 ================= if { $LWIR } { set_property PACKAGE_PIN AA22 [get_ports {sns3_dp40[0]}] set_property PACKAGE_PIN AB22 [get_ports {sns3_dn40[0]}] set_property PACKAGE_PIN W21 [get_ports {sns3_dp40[1]}] set_property PACKAGE_PIN Y22 [get_ports {sns3_dn40[1]}] set_property PACKAGE_PIN V21 [get_ports {sns3_dp40[2]}] set_property PACKAGE_PIN V22 [get_ports {sns3_dn40[2]}] set_property PACKAGE_PIN W19 [get_ports {sns3_dp40[3]}] set_property PACKAGE_PIN W20 [get_ports {sns3_dn40[3]}] set_property PACKAGE_PIN N21 [get_ports {sns3_dp40[4]}] set_property PACKAGE_PIN N22 [get_ports {sns3_dn40[4]}] set_property PACKAGE_PIN R22 [get_ports {sns3_dp5}] set_property PACKAGE_PIN T22 [get_ports {sns3_dn5}] set_property PACKAGE_PIN P21 [get_ports {sns3_dp76[6]}] set_property PACKAGE_PIN R21 [get_ports {sns3_dn76[6]}] set_property PACKAGE_PIN T20 [get_ports {sns3_dp76[7]}] set_property PACKAGE_PIN U20 [get_ports {sns3_dn76[7]}] } elseif { $HISPI } { set_property PACKAGE_PIN AA22 [get_ports {sns3_dp[0]}] set_property PACKAGE_PIN AB22 [get_ports {sns3_dn[0]}] set_property PACKAGE_PIN W21 [get_ports {sns3_dp[1]}] Loading @@ -206,7 +286,6 @@ set_property PACKAGE_PIN V21 [get_ports {sns3_dp[2]}] set_property PACKAGE_PIN V22 [get_ports {sns3_dn[2]}] set_property PACKAGE_PIN W19 [get_ports {sns3_dp[3]}] set_property PACKAGE_PIN W20 [get_ports {sns3_dn[3]}] if { $HISPI } { set_property PACKAGE_PIN N21 [get_ports {sns3_dp74[4]}] set_property PACKAGE_PIN N22 [get_ports {sns3_dn74[4]}] set_property PACKAGE_PIN R22 [get_ports {sns3_dp74[5]}] Loading @@ -216,6 +295,14 @@ if { $HISPI } { set_property PACKAGE_PIN T20 [get_ports {sns3_dp74[7]}] set_property PACKAGE_PIN U20 [get_ports {sns3_dn74[7]}] } else { set_property PACKAGE_PIN AA22 [get_ports {sns3_dp[0]}] set_property PACKAGE_PIN AB22 [get_ports {sns3_dn[0]}] set_property PACKAGE_PIN W21 [get_ports {sns3_dp[1]}] set_property PACKAGE_PIN Y22 [get_ports {sns3_dn[1]}] set_property PACKAGE_PIN V21 [get_ports {sns3_dp[2]}] set_property PACKAGE_PIN V22 [get_ports {sns3_dn[2]}] set_property PACKAGE_PIN W19 [get_ports {sns3_dp[3]}] set_property PACKAGE_PIN W20 [get_ports {sns3_dn[3]}] set_property PACKAGE_PIN N21 [get_ports {sns3_dp[4]}] set_property PACKAGE_PIN N22 [get_ports {sns3_dn[4]}] set_property PACKAGE_PIN R22 [get_ports {sns3_dp[5]}] Loading @@ -233,6 +320,24 @@ set_property PACKAGE_PIN AA20 [get_ports {sns3_ctl}] set_property PACKAGE_PIN AB20 [get_ports {sns3_pg}] # ================= Sensor port 3 ================= if { $LWIR } { set_property PACKAGE_PIN V17 [get_ports {sns4_dp40[0]}] set_property PACKAGE_PIN W18 [get_ports {sns4_dn40[0]}] set_property PACKAGE_PIN Y19 [get_ports {sns4_dp40[1]}] set_property PACKAGE_PIN AA19 [get_ports {sns4_dn40[1]}] set_property PACKAGE_PIN U19 [get_ports {sns4_dp40[2]}] set_property PACKAGE_PIN V20 [get_ports {sns4_dn40[2]}] set_property PACKAGE_PIN U18 [get_ports {sns4_dp40[3]}] set_property PACKAGE_PIN V18 [get_ports {sns4_dn40[3]}] set_property PACKAGE_PIN P18 [get_ports {sns4_dp40[4]}] set_property PACKAGE_PIN P19 [get_ports {sns4_dn40[4]}] set_property PACKAGE_PIN N17 [get_ports {sns4_dp5}] set_property PACKAGE_PIN N18 [get_ports {sns4_dn5}] set_property PACKAGE_PIN N20 [get_ports {sns4_dp76[6]}] set_property PACKAGE_PIN P20 [get_ports {sns4_dn76[6]}] set_property PACKAGE_PIN R17 [get_ports {sns4_dp76[7]}] set_property PACKAGE_PIN R18 [get_ports {sns4_dn76[7]}] } elseif { $HISPI } { set_property PACKAGE_PIN V17 [get_ports {sns4_dp[0]}] set_property PACKAGE_PIN W18 [get_ports {sns4_dn[0]}] set_property PACKAGE_PIN Y19 [get_ports {sns4_dp[1]}] Loading @@ -241,7 +346,6 @@ set_property PACKAGE_PIN U19 [get_ports {sns4_dp[2]}] set_property PACKAGE_PIN V20 [get_ports {sns4_dn[2]}] set_property PACKAGE_PIN U18 [get_ports {sns4_dp[3]}] set_property PACKAGE_PIN V18 [get_ports {sns4_dn[3]}] if { $HISPI } { set_property PACKAGE_PIN P18 [get_ports {sns4_dp74[4]}] set_property PACKAGE_PIN P19 [get_ports {sns4_dn74[4]}] set_property PACKAGE_PIN N17 [get_ports {sns4_dp74[5]}] Loading @@ -251,6 +355,14 @@ if { $HISPI } { set_property PACKAGE_PIN R17 [get_ports {sns4_dp74[7]}] set_property PACKAGE_PIN R18 [get_ports {sns4_dn74[7]}] } else { set_property PACKAGE_PIN V17 [get_ports {sns4_dp[0]}] set_property PACKAGE_PIN W18 [get_ports {sns4_dn[0]}] set_property PACKAGE_PIN Y19 [get_ports {sns4_dp[1]}] set_property PACKAGE_PIN AA19 [get_ports {sns4_dn[1]}] set_property PACKAGE_PIN U19 [get_ports {sns4_dp[2]}] set_property PACKAGE_PIN V20 [get_ports {sns4_dn[2]}] set_property PACKAGE_PIN U18 [get_ports {sns4_dp[3]}] set_property PACKAGE_PIN V18 [get_ports {sns4_dn[3]}] set_property PACKAGE_PIN P18 [get_ports {sns4_dp[4]}] set_property PACKAGE_PIN P19 [get_ports {sns4_dn[4]}] set_property PACKAGE_PIN N17 [get_ports {sns4_dp[5]}] Loading
x393_timing.tcl +15 −3 Original line number Diff line number Diff line Loading @@ -41,11 +41,23 @@ while { [gets $infile line] >= 0 } { break } } set LWIR 0 seek $infile 0 start while { [gets $infile line] >= 0 } { if { [regexp {(.*)`define(\s*)LWIRI} $line matched prematch] } { if {[regexp "//" $prematch] != 0} { continue } set LWIR 1 break } } close $infile if { $HISPI} { puts "using HISPI sensors" if { $LWIR} { puts "x393_timing.tcl: using LWIR sensors" } elseif { $HISPI} { puts "x393_timing.tcl: using HISPI sensors" } else { puts "using parallel sensors" puts "x393_timing.tcl: using parallel sensors" } Loading