diff --git a/README.md b/README.md index d6b948ef..8810f26a 100644 --- a/README.md +++ b/README.md @@ -79,25 +79,6 @@ You may get the entire [FreePDK45 PDK here][FreePDK45]. If you are using [SCMOS], you should install [Magic] and [Netgen]. We have included the most recent SCN4M_SUBM design rules from [Qflow]. -## Docker Image - -**WARNING! Some OpenRAM dependency tools installed in the Docker image are out-of-date.** - -We have a pre-configured Ubuntu [Docker](https://www.docker.com/) image -available that has all tools installed for the [SCMOS] process. It is -available at [docker hub](https://hub.docker.com/r/vlsida/openram-ubuntu). -Please see -[our README.md](https://github.com/VLSIDA/openram-docker-images/blob/master/README.md) -for information on how to use this docker image. - -## Vagrant Image - -We have a pre-configured Ubuntu [Vagrant](https://www.vagrantup.com/) image -available that has all tools installed for the [SCMOS] process. -Please see -[our README.md](https://github.com/VLSIDA/openram-vagrant-image/blob/master/README.md) -for information on how to use this image. - # Basic Usage Once you have defined the environment, you can run OpenRAM from the command line @@ -142,7 +123,6 @@ python3 $OPENRAM_HOME/openram.py myconfig You can see all of the options for the configuration file in $OPENRAM\_HOME/options.py - # Unit Tests Regression testing performs a number of tests for all modules in OpenRAM. diff --git a/compiler/globals.py b/compiler/globals.py index 1fce6acd..968de520 100644 --- a/compiler/globals.py +++ b/compiler/globals.py @@ -19,7 +19,7 @@ import re import copy import importlib -VERSION = "1.1.7" +VERSION = "1.1.8" NAME = "OpenRAM v{}".format(VERSION) USAGE = "openram.py [options] \nUse -h for help.\n" @@ -295,6 +295,14 @@ def read_config(config_file, is_unit_test=True): dir_name = os.path.dirname(config_file) module_name = os.path.basename(config_file) + # Check that the module name adheres to Python's module naming conventions. + # This will assist the user in interpreting subsequent errors in loading + # the module. Valid Python module naming is described here: + # https://docs.python.org/3/reference/simple_stmts.html#the-import-statement + if not module_name.isidentifier(): + debug.error("Configuration file name is not a valid Python module name: " + "{0}. It should be a valid identifier.".format(module_name)) + # Prepend the path to avoid if we are using the example config sys.path.insert(0, dir_name) # Import the configuration file of which modules to use