# 
# Synthesis run script generated by Vivado
# 

namespace eval rt {
    variable rc
}
set rt::rc [catch {
  uplevel #0 {
    set ::env(BUILTIN_SYNTH) true
    source $::env(HRT_TCL_PATH)/rtSynthPrep.tcl
    rt::HARTNDb_startJobStats
    set rt::cmdEcho 0
    rt::set_parameter writeXmsg true
    rt::set_parameter enableParallelHelperSpawn true
    set ::env(RT_TMP) "./.Xil/Vivado-2594208-685a421e500f/realtime/tmp"
    if { [ info exists ::env(RT_TMP) ] } {
      file mkdir $::env(RT_TMP)
    }

    rt::delete_design

    rt::set_parameter datapathDensePacking false
    set rt::partid xc7a100tcsg324-1
     file delete -force synth_hints.os

    set rt::multiChipSynthesisFlow false
    source $::env(SYNTH_COMMON)/common.tcl
    set rt::defaultWorkLibName xil_defaultlib
    rt::set_parameter defaultVhdlWorkLib xil_defaultlib

    rt::set_parameter loadVhdl2008Libs false
    rt::set_parameter loadVhdl2019Libs false
    rt::set_parameter deferParseUntilElab true
    rt::set_parameter sortHdlCommandLine true
    # Skipping read_* RTL commands because this is post-elab optimize flow
    set rt::useElabCache true
    if {$rt::useElabCache == false} {
      rt::read_verilog -sv -include /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core {
      /eda/processor_ci/rtl/e203_hbirdv2.sv
      /eda/processor-ci-controller/modules/uart.sv
      /eda/processor_ci/internal/ahblite_to_wishbone.sv
      /eda/processor_ci/internal/axi4_to_wishbone.sv
      /eda/processor_ci/internal/axi4lite_to_wishbone.sv
      /eda/processor-ci-controller/rtl/fifo.sv
      /eda/processor-ci-controller/rtl/reset.sv
      /eda/processor-ci-controller/rtl/clk_divider.sv
      /eda/processor-ci-controller/rtl/memory.sv
      /eda/processor-ci-controller/rtl/interpreter.sv
      /eda/processor-ci-controller/rtl/controller.sv
      /eda/processor-ci-controller/rtl/timer.sv
      /eda/processor_ci/internal/fpga_top.sv
    }
      rt::read_verilog -include /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core {
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/config.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_biu.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_clk_ctrl.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_clkgate.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_core.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_cpu.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_cpu_top.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_defines.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_dtcm_ctrl.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_dtcm_ram.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_extend_csr.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_alu.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_alu_bjp.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_alu_csrctrl.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_alu_dpath.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_alu_lsuagu.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_alu_muldiv.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_alu_rglr.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_branchslv.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_commit.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_csr.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_decode.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_disp.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_excp.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_longpwbck.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_nice.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_oitf.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_regfile.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_exu_wbck.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_ifu.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_ifu_ifetch.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_ifu_ift2icb.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_ifu_litebpu.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_ifu_minidec.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_irq_sync.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_itcm_ctrl.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_itcm_ram.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_lsu.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_lsu_ctrl.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_reset_ctrl.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/core/e203_srams.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/general/sirv_1cyc_sram_ctrl.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/general/sirv_gnrl_bufs.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/general/sirv_gnrl_dffs.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/general/sirv_gnrl_icbs.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/general/sirv_gnrl_ram.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/general/sirv_gnrl_xchecker.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/general/sirv_sim_ram.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/general/sirv_sram_icb_ctrl.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/subsys/e203_subsys_clint.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/subsys/e203_subsys_gfcm.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/subsys/e203_subsys_hclkgen.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/subsys/e203_subsys_hclkgen_rstsync.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/subsys/e203_subsys_main.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/subsys/e203_subsys_mems.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/subsys/e203_subsys_nice_core.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/subsys/e203_subsys_perips.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/subsys/e203_subsys_plic.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/subsys/e203_subsys_pll.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/subsys/e203_subsys_pllclkdiv.v
      /var/jenkins_home/workspace/e203_hbirdv2/e203_hbirdv2/rtl/e203/subsys/e203_subsys_top.v
      /eda/processor-ci-controller/modules/UART/rtl/uart_rx.v
      /eda/processor-ci-controller/modules/UART/rtl/uart_tx.v
    }
      rt::filesetChecksum
    }
    rt::set_parameter usePostFindUniquification true
    set rt::SDCFileList ./.Xil/Vivado-2594208-685a421e500f/realtime/fpga_top_synth.xdc
    rt::sdcChecksum
    set rt::top fpga_top
    rt::set_parameter enableIncremental true
    rt::set_parameter markDebugPreservationLevel "enable"
    set rt::reportTiming false
    rt::set_parameter elaborateOnly false
    rt::set_parameter elaborateRtl false
    rt::set_parameter eliminateRedundantBitOperator true
    rt::set_parameter dataflowBusHighlighting false
    rt::set_parameter generateDataflowBusNetlist false
    rt::set_parameter dataFlowViewInElab false
    rt::set_parameter busViewFixBrokenConnections false
    rt::set_parameter elaborateRtlOnlyFlow false
    rt::set_parameter writeBlackboxInterface true
    rt::set_parameter ramStyle auto
    rt::set_parameter merge_flipflops true
# MODE: 
    rt::set_parameter webTalkPath {./.Xil/Vivado-2594208-685a421e500f/wt}
    rt::set_parameter synthDebugLog false
    rt::set_parameter printModuleName false
    rt::set_parameter enableSplitFlowPath "./.Xil/Vivado-2594208-685a421e500f/"
    set ok_to_delete_rt_tmp true 
    if { [rt::get_parameter parallelDebug] } { 
       set ok_to_delete_rt_tmp false 
    } 
    if {$rt::useElabCache == false} {
        set oldMIITMVal [rt::get_parameter maxInputIncreaseToMerge]; rt::set_parameter maxInputIncreaseToMerge 1000
        set oldCDPCRL [rt::get_parameter createDfgPartConstrRecurLimit]; rt::set_parameter createDfgPartConstrRecurLimit 1
        $rt::db readXRFFile
      rt::run_synthesis -module $rt::top
        rt::set_parameter maxInputIncreaseToMerge $oldMIITMVal
        rt::set_parameter createDfgPartConstrRecurLimit $oldCDPCRL
    }

    set rt::flowresult [ source $::env(SYNTH_COMMON)/flow.tcl ]
    rt::HARTNDb_stopJobStats
    rt::HARTNDb_reportJobStats "Synthesis Optimization Runtime"
    rt::HARTNDb_stopSystemStats
    if { $rt::flowresult == 1 } { return -code error }


  set hsKey [rt::get_parameter helper_shm_key] 
  if { $hsKey != "" && [info exists ::env(BUILTIN_SYNTH)] && [rt::get_parameter enableParallelHelperSpawn] } { 
     $rt::db killSynthHelper $hsKey
  } 
  rt::set_parameter helper_shm_key "" 
    if { [ info exists ::env(RT_TMP) ] } {
      if { [info exists ok_to_delete_rt_tmp] && $ok_to_delete_rt_tmp } { 
        file delete -force $::env(RT_TMP)
      }
    }

    source $::env(HRT_TCL_PATH)/rtSynthCleanup.tcl
  } ; #end uplevel
} rt::result]

if { $rt::rc } {
  $rt::db resetHdlParse
  set hsKey [rt::get_parameter helper_shm_key] 
  if { $hsKey != "" && [info exists ::env(BUILTIN_SYNTH)] && [rt::get_parameter enableParallelHelperSpawn] } { 
     $rt::db killSynthHelper $hsKey
  } 
  source $::env(HRT_TCL_PATH)/rtSynthCleanup.tcl
  return -code "error" $rt::result
}
