Commit Graph

12 Commits

Author SHA1 Message Date
Tim 'mithro' Ansell b626ca017d scripts/liberty: More aggressive ccsnoise filtering.
Fixes #77.

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-12 22:24:19 -07:00
Tim 'mithro' Ansell 73d129ef85 scripts/liberty: Fix indenting first value in list.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-12 22:24:08 -07:00
Tim 'mithro' Ansell ee77597986 api: Change the way liberty attributes are sorted.
Fixes #37, #40.

The `LIBERTY_ATTRIBUTE_ORDER` template is used to control the ordering
of the liberty attribute output.

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-06 06:36:13 -07:00
Tim 'mithro' Ansell 74273c4f0b api: Adding liberty file generator.
Generates liberty timing files from the included json timing data.

Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
2020-07-06 06:36:13 -07:00
Tim 'mithro' Ansell 45580cb998 api: Fix parsing cell name.
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-06 06:36:13 -07:00
Tim 'mithro' Ansell f25334442b api: Adding corners processing.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-06 06:36:13 -07:00
Christian Clauss cc2568a443
Undefined name: minor -> self.hash
[flake8](http://flake8.pycqa.org) testing of https://github.com/google/skywater-pdk on Python 3.8.3

$ __flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics__
```
./scripts/python-skywater-pdk/skywater_pdk/base.py:332:71: F821 undefined name 'minor'
        return (self.milestone, self.major, self.minor, self.commits, minor)
                                                                      ^
1     F821 undefined name 'minor'
1
```
https://flake8.pycqa.org/en/latest/user/error-codes.html

On the flake8 test selection, this PR does _not_ focus on "_style violations_" (the majority of flake8 error codes that [__psf/black__](https://github.com/psf/black) can autocorrect).  Instead these tests are focus on runtime safety and correctness:
* E9 tests are about Python syntax errors usually raised because flake8 can not build an Abstract Syntax Tree (AST).  Often these issues are a sign of unused code or code that has not been ported to Python 3.  These would be compile-time errors in a compiled language but in a dynamic language like Python they result in the script halting/crashing on the user.
* F63 tests are usually about the confusion between identity and equality in Python.  Use ==/!= to compare str, bytes, and int literals is the classic case.  These are areas where __a == b__ is True but __a is b__ is False (or vice versa).  Python >= 3.8 will raise SyntaxWarnings on these instances.
* F7 tests logic errors and syntax errors in type hints
* F82 tests are almost always _undefined names_ which are usually a sign of a typo, missing imports, or code that has not been ported to Python 3.  These also would be compile-time errors in a compiled language but in Python a __NameError__ is raised which will halt/crash the script on the user.
2020-07-02 21:39:19 +02:00
Tim 'mithro' Ansell 65fa885014 docs: Lots of improvements to the documentation.
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
2020-06-11 14:03:59 -07:00
Tim 'mithro' Ansell ce5576edff docs: Adding the Python API to output docs.
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
2020-06-11 14:03:54 -07:00
Tim 'mithro' Ansell 1d603e7875 scripts: Adding initial version of the python-skywater-pdk module.
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
2020-06-11 14:01:44 -07:00
Tim 'mithro' Ansell 8b323f8504 docs: Adding initial Sphinx doc structure.
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
2020-05-14 14:55:24 -07:00
Tim 'mithro' Ansell 8d719604ef docs: Generate README.rst to work around GitHub not rendering `.. include::` in rst files.
This work might look like extensive for just fixing a small issue like
the include rendering, but it will all be heavily reused by the
skywater-pdk scripts that will be released soon.

This commit;
 - Adds Makefile for creating a self contained conda environment under
   `env/conda`

 - Installs required Python dependencies into the environment (which is
   currently just the `rst_include` tool).

 - Has a Makefile to generate `README.rst` from `README.src.rst`

 - Has Travis CI run on repository and check that the `README.rst` file
   has been rebuilt and committed if any of the dependencies have
   change.

Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
2020-05-08 20:54:22 -07:00