Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improved readme #282

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Open

improved readme #282

wants to merge 12 commits into from

Conversation

Myrausman
Copy link
Member

Improved README:

The following changes were made to the riscv-opcodes README file to enhance the overall readability and clarity, making it more approachable for both new and experienced contributors:

  1. Enhanced Section Organization:

    • Clear Table of Contents added at the beginning for easy navigation, including key sections such as Project Structure, File Naming Policy, Encoding Syntax, and Usage.
  2. Improved Project Structure Clarity:

    • The project structure is now visually represented using a directory tree. This simplifies understanding the role of each file in the repository.
  3. File Naming Policy Explanation:

    • The section on file naming conventions for instruction encodings is reorganized for improved clarity. The file naming rules now explicitly explain the format for rv_x, rv32_x, rv64_x, rv_x_y, and unratified/.
  4. Detailed Encoding Syntax:

    • The Encoding Syntax section was expanded to include more specific examples and structured explanations of regular instructions, pseudo instructions, and imported instructions. This makes it easier for contributors to grasp the instruction format and syntax.
    • Bit encoding types and operators are also described in detail, with examples, for a better understanding of how the encoding works.
  5. Clear Workflow for parse.py:

    • A new section outlining the flow of the parse.py script was added, including a breakdown of the different phases (regular instructions, pseudo instructions, imported instructions) and the checks performed in each phase. This improves understanding of how the script processes instructions and generates artifacts.
  6. Artifact Generation Process:

    • Added clearer, step-by-step instructions on how to generate specific artifacts (like C, Chisel, LaTeX, etc.) using the parse.py script and the Makefile. This helps users understand the full scope of available artifacts and how to produce them.
    • The prerequisites for generating these artifacts are now specified, along with explicit command examples to ensure users can run the script with ease.
  7. Simplified Debugging Instructions:

    • Instructions for enabling debug logging in parse.py have been made more prominent, helping users troubleshoot issues more effectively.
  8. Contribution Guidelines:

    • The section on contributing to the repository has been expanded with clear steps for creating a pull request (PR) and ensuring that all tests pass before submitting changes.


If you only want a specific artifact you can use one or more of the following targets : `c`, `rust`, `chisel`, `sverilog`, `latex`
To generate specific artifacts, use one or more of the following targets:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Myrausman can we add a short text explaining how to set those options?

Copy link
Contributor

@rpsene rpsene left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Myrausman take a look a the 2 initial comments.

git apply ../op.patch
../op.patch:381: trailing whitespace.

  1. Create the Extension File:
    warning: 1 line adds whitespace errors.

@Myrausman
Copy link
Member Author

Hi @rpsene, I've added an example for setting options and I'm using trunk for formatting—please let me know if the changes look good or if you'd prefer a different format.

Myrausman and others added 12 commits November 14, 2024 20:28
Signed-off-by: Myrausman <[email protected]>
Signed-off-by: Myrausman <[email protected]>
Signed-off-by: Myrausman <[email protected]>
Signed-off-by: Myrausman <[email protected]>
* Added test cases for shared_utils

Signed-off-by: Aditya Mohan <[email protected]>

* Added definition for logging an error shared_utils.py

Signed-off-by: Jay Dev Jha <[email protected]>

* Pre-commit fixes for shared_utils.py

Signed-off-by: Jay Dev Jha <[email protected]>

* pyright fixes for test.py

Signed-off-by: Jay Dev Jha <[email protected]>

* Minor changes to shared_utils.py

Signed-off-by: Jay Dev Jha <[email protected]>

* Updated test.py

Signed-off-by: Jay Dev Jha <[email protected]>

---------

Signed-off-by: Aditya Mohan <[email protected]>
Signed-off-by: Jay Dev Jha <[email protected]>
Co-authored-by: Jay Dev Jha <[email protected]>
* Refactor GitHub Actions workflow to support multiple Python versions

Signed-off-by: Myrausman <[email protected]>

* CI improvements

* MInor update python-app.yml

Signed-off-by: Jay Dev Jha <[email protected]>

---------

Signed-off-by: Myrausman <[email protected]>
Signed-off-by: Jay Dev Jha <[email protected]>
Co-authored-by: Jay Dev Jha <[email protected]>
* Added test cases for shared_utils

Signed-off-by: Aditya Mohan <[email protected]>

* Added definition for logging an error shared_utils.py

Signed-off-by: Jay Dev Jha <[email protected]>

* Pre-commit fixes for shared_utils.py

Signed-off-by: Jay Dev Jha <[email protected]>

* pyright fixes for test.py

Signed-off-by: Jay Dev Jha <[email protected]>

* Minor changes to shared_utils.py

Signed-off-by: Jay Dev Jha <[email protected]>

* Updated test.py

Signed-off-by: Jay Dev Jha <[email protected]>

---------

Signed-off-by: Aditya Mohan <[email protected]>
Signed-off-by: Jay Dev Jha <[email protected]>
Co-authored-by: Jay Dev Jha <[email protected]>
* Refactor GitHub Actions workflow to support multiple Python versions

Signed-off-by: Myrausman <[email protected]>

* CI improvements

* MInor update python-app.yml

Signed-off-by: Jay Dev Jha <[email protected]>

---------

Signed-off-by: Myrausman <[email protected]>
Signed-off-by: Jay Dev Jha <[email protected]>
Co-authored-by: Jay Dev Jha <[email protected]>
* Remove wildcard imports

Use explicit imports rather than wildcards. This is more maintainable.

* Enable Pylint in CI and fix its errors

The main fixes were:

* Specify encoding for all file opens. By default it depends on environment variables which is bad.
* Use `with` to open files. Otherwise they don't necessarily get closed.

There were also a few minor things like using `enumerate`, not using objects as default arguments, etc. In some cases I slightly refactored the code.
* Refactor GitHub Actions workflow to support multiple Python versions

Signed-off-by: Myrausman <[email protected]>

* CI improvements

* MInor update python-app.yml

Signed-off-by: Jay Dev Jha <[email protected]>

---------

Signed-off-by: Myrausman <[email protected]>
Signed-off-by: Jay Dev Jha <[email protected]>
Co-authored-by: Jay Dev Jha <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants