Commit Graph

34 Commits

Author SHA1 Message Date
Grzegorz Latosinski 064b239319 generate-resources: fixed path to skywater_pdk
Signed-off-by: Grzegorz Latosinski <glatosinski@antmicro.com>
2020-12-01 12:46:35 +01:00
Grzegorz Latosinski 5d374bcf17 generate-resources: renamed generate-resources-rst.py to generate_resources_rst.py
Signed-off-by: Grzegorz Latosinski <glatosinski@antmicro.com>
2020-12-01 12:45:23 +01:00
Grzegorz Latosinski c4ed34efb0 generate-resources: moved the RST template to a separate file
Signed-off-by: Grzegorz Latosinski <glatosinski@antmicro.com>
2020-12-01 12:45:23 +01:00
Grzegorz Latosinski c5371b8074 generate-resources: used Jinja template to form resources.rst
Signed-off-by: Grzegorz Latosinski <glatosinski@antmicro.com>
2020-12-01 12:45:23 +01:00
Grzegorz Latosinski 8b9ca965d4 docs: generate-resources: added starting spreadsheet from A1, fixed arguments
Signed-off-by: Grzegorz Latosinski <glatosinski@antmicro.com>
2020-12-01 12:45:23 +01:00
Grzegorz Latosinski 0f7c7f4200 docs: generate-resources: Added parsing courses and LinkedIn links
Signed-off-by: Grzegorz Latosinski <glatosinski@antmicro.com>
2020-12-01 12:45:23 +01:00
Grzegorz Latosinski a42352270f docs: generate-resources: Simplified calls to spreadsheet
Signed-off-by: Grzegorz Latosinski <glatosinski@antmicro.com>
2020-12-01 12:45:23 +01:00
Grzegorz Latosinski 79268a5982 docs: generate-resources: Changed using Spreadsheet API to using exported spreadsheets
Signed-off-by: Grzegorz Latosinski <glatosinski@antmicro.com>
2020-12-01 12:45:23 +01:00
Grzegorz Latosinski fe8bfb63a1 docs: generate-resources: Added initial resources generator from spreadsheet
Signed-off-by: Grzegorz Latosinski <glatosinski@antmicro.com>
2020-12-01 12:45:23 +01:00
Tim 'mithro' Ansell 7e0b9790e2 infra: Convert Makefile to use SymbiFlow's make-env setup.
Use https://github.com/SymbiFlow/make-env to set up the conda
environment correctly.

Fixes #46.

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-11-24 08:16:13 -08:00
Ethan Mahintorabi db23cfaa59 scripts/liberty: Adds output directory customization
Adds the output flags -o and --output_directory to control the output of the liberty files.
2020-10-14 10:58:49 -07:00
Kane York b263195330
Add 'make submodules' to download standard cell libraries 2020-07-27 00:36:20 -07:00
Tim 'mithro' Ansell d91e88682f scripts/liberty: Support fixed statetable output.
The statetable values where fixed in the `.lib.json` files.

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-20 16:42:34 -07:00
Tim 'mithro' Ansell d7a58ea703 scripts/liberty: Support new comma only syntax.
Syntax before;
```
comp_attribute blah,blah
```

Syntax after;
```
comp_attribute,blah,blah
```

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-20 16:42:34 -07:00
Tim 'mithro' Ansell e14136b064 scripts/liberty: Fail if doctests fail.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-20 16:42:34 -07:00
Tim 'mithro' Ansell 3e9068dbf1 scripts/liberty: Small whitespace fix.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-20 16:42:34 -07:00
Tim 'mithro' Ansell 296ef2066e scripts/liberty: Rework how attribute types are discovered.
* Add functions for producing different types of values into liberty
   output (plus doctests for them).
 * Respect the type given by a `define()` statement.

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-15 07:04:50 -07:00
Tim 'mithro' Ansell c9d0c8131f script/liberty: Slightly nicer debug output.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-15 07:04:50 -07:00
Tim 'mithro' Ansell b70d1a51ad scripts/liberty: Make the `clk_width` attribute a string.
Fixes #69.

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-15 07:04:50 -07:00
Tim 'mithro' Ansell c9a704335e timing/liberty: Also check for ccsnoise on buses.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-14 19:32:27 -07:00
Tim 'mithro' Ansell 463f2fd6aa scripts/liberty: Second attempt at filtering all ccsnoise data.
Fixes #77.

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-14 18:12:28 -07:00
Tim 'mithro' Ansell 15f6966a94 scripts/liberty: Adding a `--debug` option.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-07-14 12:51:58 -07:00
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