https://github.com/augustunderground/pyal
Python parser for MCNC benchmark netlists
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.3%) to scientific vocabulary
Keywords
Repository
Python parser for MCNC benchmark netlists
Basic Info
- Host: GitHub
- Owner: AugustUnderground
- License: mit
- Language: Python
- Default Branch: master
- Homepage: https://augustunderground.github.io/pyal
- Size: 33.2 KB
Statistics
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
PYAL
A quick and dirty parser for an even dirtier language. YAL is the language used to describe the MCNC benchmark netlist circuits. See the YAL documentation for further details.
Dependencies
pyparsingpyaml
Usage
The example/example.yal is taken from the
YAL documentation.
Module:
```python import yal
modules = yal.read('./example/example.yal') ```
See the API documentation for more information.
CLI:
$ yal2yaml ./example/example.yal > ./exmaple/example.yaml
$ cat ./example/example.yal | yal2yaml > ./example/example.yaml
If the the set of *.yal files comprising the MCNC data set are in a folder
called mcnc they can be converted to *.yaml like so:
sh
for y in ./mcnc/*.yal; do yal2yaml $y > "${y%.yal}.yaml"; done
Installation
From git with pip:
$ pip install git+https://github.com/augustunderground/pyal.git
From source with pip:
$ git clone https://github.com/augustunderground/pyal.git
$ cd pyal
$ pip install . --use-feature=in-tree-build
Grammar
Due to the conflicting defintions of the YAL grammar a slightly revised version is used here:
modulename ::= [a-zA-Z0-9_]+ ;
moduletype ::= "STANDARD" | "PAD" | "GENERAL" | "PARENT" | "FEEDTHROUGH" ;
width ::= [0-9]+ ;
height ::= [0-9]+ ;
signalname ::= [a-zA-Z0-9_]+ ;
terminaltype ::= "I" | "O" | "B" | "PI" | "PO" | "PB" | "F" | "PWR" | "GND" ;
side ::= "BOTTOM" | "RIGHT" | "TOP" | "LEFT" ;
layer ::= "PDIFF" | "NDIFF" | "POLY" | "METAL1" | "METAL2" ;
xposition ::= -?[0-9]+ ;
yposition ::= -?[0-9]+ ;
position ::= -?[0-9]+ ;
instancename ::= [a-zA-Z0-9_]+ ;
xlocation ::= -?[0-9]+ ;
ylocation ::= -?[0-9]+ ;
current ::= -?[0-9]+(\.[0-9]+)? ;
voltage ::= -?[0-9]+(\.[0-9]+)? ;
maximumlength ::= [0-9]+ ;
reflection ::= "RFLNONE" | "RFLY" ;
rotation ::= "ROT0" | "ROT90" | "ROT180" | "ROT270" ;
dimension ::= x y ;
dimensions ::= dimension+ ;
x ::= -?[0-9]+ ;
y ::= -?[0-9]+ ;
io ::= signalname terminaltype ( xposition yposition [ width layer ]
| side position [ width layer ] )
[ "CURRENT" current ] [ "VOLTAGE" voltage ] ;
ios ::= (io ';')+ ;
network ::= instancename modulename signalname (net+) ;
networks ::= (network ';')+ ;
net ::= [a-zA-Z0-9_]+ ;
placement ::= instancename xlocation ylocation [reflection] [rotation] ;
placements ::= (placement ';')+ ;
critnet ::= signalname maximumlength ;
critnets ::= (critnet ';')+ ;
module ::= 'MODULE' modulename ';'
'TYPE' moduletype ';'
'DIMENSIONS' dimensions ';'
'IOLIST;'
ios
'ENDIOLIST;'
'NETWORK'
networks
'ENDNETWORK;'
['PLACEMENT'
placements
'ENDPLACEMENT;']
['CRITICALNETS;'
critnets
'ENDCRITICALNETS;']
'ENDMODULE;' ;
Owner
- Name: ynk
- Login: AugustUnderground
- Kind: user
- Location: Innsmouth
- Company: @electronics-and-drives
- Website: https://augustunderground.github.io/
- Repositories: 12
- Profile: https://github.com/AugustUnderground
PhD Student at Reutlingen University
GitHub Events
Total
- Watch event: 3
Last Year
- Watch event: 3
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- pyaml *
- pyparsing *