diff --git a/compiler/contact.py b/compiler/base/contact.py similarity index 100% rename from compiler/contact.py rename to compiler/base/contact.py diff --git a/compiler/design.py b/compiler/base/design.py similarity index 100% rename from compiler/design.py rename to compiler/base/design.py diff --git a/compiler/geometry.py b/compiler/base/geometry.py similarity index 100% rename from compiler/geometry.py rename to compiler/base/geometry.py diff --git a/compiler/hierarchy_layout.py b/compiler/base/hierarchy_layout.py similarity index 100% rename from compiler/hierarchy_layout.py rename to compiler/base/hierarchy_layout.py diff --git a/compiler/hierarchy_spice.py b/compiler/base/hierarchy_spice.py similarity index 100% rename from compiler/hierarchy_spice.py rename to compiler/base/hierarchy_spice.py diff --git a/compiler/path.py b/compiler/base/path.py similarity index 100% rename from compiler/path.py rename to compiler/base/path.py diff --git a/compiler/pin_layout.py b/compiler/base/pin_layout.py similarity index 100% rename from compiler/pin_layout.py rename to compiler/base/pin_layout.py diff --git a/compiler/vector.py b/compiler/base/vector.py similarity index 100% rename from compiler/vector.py rename to compiler/base/vector.py diff --git a/compiler/wire.py b/compiler/base/wire.py similarity index 100% rename from compiler/wire.py rename to compiler/base/wire.py diff --git a/compiler/globals.py b/compiler/globals.py index 975e22fb..90af6159 100644 --- a/compiler/globals.py +++ b/compiler/globals.py @@ -218,16 +218,13 @@ def setup_paths(): except: debug.error("$OPENRAM_HOME is not properly defined.",1) debug.check(os.path.isdir(OPENRAM_HOME),"$OPENRAM_HOME does not exist: {0}".format(OPENRAM_HOME)) - - debug.check(os.path.isdir(OPENRAM_HOME+"/gdsMill"), - "$OPENRAM_HOME/gdsMill does not exist: {0}".format(OPENRAM_HOME+"/gdsMill")) - sys.path.append("{0}/gdsMill".format(OPENRAM_HOME)) - debug.check(os.path.isdir(OPENRAM_HOME+"/tests"), - "$OPENRAM_HOME/tests does not exist: {0}".format(OPENRAM_HOME+"/tests")) - sys.path.append("{0}/tests".format(OPENRAM_HOME)) - debug.check(os.path.isdir(OPENRAM_HOME+"/router"), - "$OPENRAM_HOME/router does not exist: {0}".format(OPENRAM_HOME+"/router")) - sys.path.append("{0}/router".format(OPENRAM_HOME)) + + # Add all of the submodules to the python path + for subdir in ["gdsMill", "tests", "router", "modules", "layout", "pgates"]: + full_path = "{0}/{1}".format(OPENRAM_HOME,subdir) + debug.check(os.path.isdir(full_path), + "$OPENRAM_HOME/{0} does not exist: {1}".format(subdir,full_path)) + sys.path.append("{0}".format(full_path)) if not OPTS.openram_temp.endswith('/'): OPTS.openram_temp += "/" diff --git a/compiler/bank.py b/compiler/modules/bank.py similarity index 100% rename from compiler/bank.py rename to compiler/modules/bank.py diff --git a/compiler/bitcell.py b/compiler/modules/bitcell.py similarity index 100% rename from compiler/bitcell.py rename to compiler/modules/bitcell.py diff --git a/compiler/bitcell_array.py b/compiler/modules/bitcell_array.py similarity index 100% rename from compiler/bitcell_array.py rename to compiler/modules/bitcell_array.py diff --git a/compiler/control_logic.py b/compiler/modules/control_logic.py similarity index 100% rename from compiler/control_logic.py rename to compiler/modules/control_logic.py diff --git a/compiler/delay_chain.py b/compiler/modules/delay_chain.py similarity index 100% rename from compiler/delay_chain.py rename to compiler/modules/delay_chain.py diff --git a/compiler/hierarchical_decoder.py b/compiler/modules/hierarchical_decoder.py similarity index 100% rename from compiler/hierarchical_decoder.py rename to compiler/modules/hierarchical_decoder.py diff --git a/compiler/hierarchical_predecode.py b/compiler/modules/hierarchical_predecode.py similarity index 100% rename from compiler/hierarchical_predecode.py rename to compiler/modules/hierarchical_predecode.py diff --git a/compiler/hierarchical_predecode2x4.py b/compiler/modules/hierarchical_predecode2x4.py similarity index 100% rename from compiler/hierarchical_predecode2x4.py rename to compiler/modules/hierarchical_predecode2x4.py diff --git a/compiler/hierarchical_predecode3x8.py b/compiler/modules/hierarchical_predecode3x8.py similarity index 100% rename from compiler/hierarchical_predecode3x8.py rename to compiler/modules/hierarchical_predecode3x8.py diff --git a/compiler/ms_flop.py b/compiler/modules/ms_flop.py similarity index 100% rename from compiler/ms_flop.py rename to compiler/modules/ms_flop.py diff --git a/compiler/ms_flop_array.py b/compiler/modules/ms_flop_array.py similarity index 100% rename from compiler/ms_flop_array.py rename to compiler/modules/ms_flop_array.py diff --git a/compiler/precharge.py b/compiler/modules/precharge.py similarity index 100% rename from compiler/precharge.py rename to compiler/modules/precharge.py diff --git a/compiler/precharge_array.py b/compiler/modules/precharge_array.py similarity index 100% rename from compiler/precharge_array.py rename to compiler/modules/precharge_array.py diff --git a/compiler/replica_bitcell.py b/compiler/modules/replica_bitcell.py similarity index 100% rename from compiler/replica_bitcell.py rename to compiler/modules/replica_bitcell.py diff --git a/compiler/replica_bitline.py b/compiler/modules/replica_bitline.py similarity index 100% rename from compiler/replica_bitline.py rename to compiler/modules/replica_bitline.py diff --git a/compiler/sense_amp.py b/compiler/modules/sense_amp.py similarity index 100% rename from compiler/sense_amp.py rename to compiler/modules/sense_amp.py diff --git a/compiler/sense_amp_array.py b/compiler/modules/sense_amp_array.py similarity index 100% rename from compiler/sense_amp_array.py rename to compiler/modules/sense_amp_array.py diff --git a/compiler/single_level_column_mux.py b/compiler/modules/single_level_column_mux.py similarity index 100% rename from compiler/single_level_column_mux.py rename to compiler/modules/single_level_column_mux.py diff --git a/compiler/single_level_column_mux_array.py b/compiler/modules/single_level_column_mux_array.py similarity index 100% rename from compiler/single_level_column_mux_array.py rename to compiler/modules/single_level_column_mux_array.py diff --git a/compiler/tri_gate.py b/compiler/modules/tri_gate.py similarity index 100% rename from compiler/tri_gate.py rename to compiler/modules/tri_gate.py diff --git a/compiler/tri_gate_array.py b/compiler/modules/tri_gate_array.py similarity index 100% rename from compiler/tri_gate_array.py rename to compiler/modules/tri_gate_array.py diff --git a/compiler/wordline_driver.py b/compiler/modules/wordline_driver.py similarity index 100% rename from compiler/wordline_driver.py rename to compiler/modules/wordline_driver.py diff --git a/compiler/write_driver.py b/compiler/modules/write_driver.py similarity index 100% rename from compiler/write_driver.py rename to compiler/modules/write_driver.py diff --git a/compiler/write_driver_array.py b/compiler/modules/write_driver_array.py similarity index 100% rename from compiler/write_driver_array.py rename to compiler/modules/write_driver_array.py diff --git a/compiler/pgate.py b/compiler/pgates/pgate.py similarity index 100% rename from compiler/pgate.py rename to compiler/pgates/pgate.py diff --git a/compiler/pinv.py b/compiler/pgates/pinv.py similarity index 100% rename from compiler/pinv.py rename to compiler/pgates/pinv.py diff --git a/compiler/pnand2.py b/compiler/pgates/pnand2.py similarity index 100% rename from compiler/pnand2.py rename to compiler/pgates/pnand2.py diff --git a/compiler/pnand3.py b/compiler/pgates/pnand3.py similarity index 100% rename from compiler/pnand3.py rename to compiler/pgates/pnand3.py diff --git a/compiler/pnor2.py b/compiler/pgates/pnor2.py similarity index 100% rename from compiler/pnor2.py rename to compiler/pgates/pnor2.py diff --git a/compiler/ptx.py b/compiler/pgates/ptx.py similarity index 100% rename from compiler/ptx.py rename to compiler/pgates/ptx.py