stanfordvlsi / justag Goto Github PK
View Code? Open in Web Editor NEWA JTAG Register Map Generator
License: MIT License
A JTAG Register Map Generator
License: MIT License
I think it would be awesome if JusTAG could be installed from PyPI with something like pip install justag
.
If this interests you, there are a couple of sub-tasks:
justag
(like rtl
and verif
) into justag
, since that is the folder that will be installed by pip.*.svp
files), but I tend to use a top-level file called MANIFEST.in
like this example from anasymod:JustTAG.py
available as a script that can be called directly by the user (i.e., JustTAG
instead of python $JUSTAG_DIR/JustTAG.py
), you can use entry_points
in setup.py
like this example from anasymod:setup.py
> pip install twine
> python setup.py sdist
> twine upload dist/*
# first change setup.py to version 0.1.2
> git commit -am "release 0.1.2"
> git tag v0.1.2
> git push origin v0.1.2
> git push origin master
At the moment, the arguments given to JusTAG are identified as SystemVerilog packages vs. Markdown files based on the name of the parent directory (all
or reg
). I found this a bit non-intuitive when I started using JustTAG, since I didn't expect that the naming of the files paths would affect how they are processed (plus, it's nice to have flexibility to organize files based on project-specific preferences). As one possible solution, we could process ".v"/".sv" files as packages and "*.md" files are processed as Markdown.
Here's the associated code snippet dealing with file ID
Lines 19 to 28 in 58bd528
The tap
template allows the user to specify version[3:0]
(valid range 0 through 15), part[15:0]
(valid range 0 through 65535), and man_num[10:0]
(valid range 0 through 2047):
JusTAG/justag/rtl/digital/tap.svp
Lines 170 to 172 in a28512f
logic [31:0] id_code = {version, part, man_num, 1'b1};
It would be great it the user could optionally specify these parameters. This would allow them to do things like encode the git commit hash in the ID for debugging purposes. This feature could be exposed as optional command-line arguments (something like justag --version NNNN --part NNNN --man_num NNNN file1 file2 ...
).
Right now, it might be a little cumbersome to add these command-line options because sys.argv
is read directly:
Line 49 in a28512f
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.