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

Sliderules: A dynamic ISA reference table #329

Draft
wants to merge 64 commits into
base: master
Choose a base branch
from

Commits on Nov 22, 2024

  1. Prevent release-based Github Actions from running on forks

    Since release-based actions currently require @mortbopet's account
    details, these actions automatically fail when run on forks. These have
    been prevented in this commit by adding a conditional that runs them
    only for @mortbopet's repo.
    
    This could be expanded in the future so that forks can use their own
    account info to create releases.
    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    001f3a1 View commit details
    Browse the repository at this point in the history
  2. Remove unnecessary conditionals

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    addf38c View commit details
    Browse the repository at this point in the history
  3. Add initial Qt Designer layout for sliderules tab

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    78f9fb3 View commit details
    Browse the repository at this point in the history
  4. Create template table model for instruction decoding

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    05e0b12 View commit details
    Browse the repository at this point in the history
  5. Add encoding table

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    fbbb97d View commit details
    Browse the repository at this point in the history
  6. Fill table with instruction names and extension origin

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    83cadb0 View commit details
    Browse the repository at this point in the history
  7. Try to generate initial parts of the encoding table

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    1265307 View commit details
    Browse the repository at this point in the history
  8. Fix column resizing and disable filter input

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    34f8eee View commit details
    Browse the repository at this point in the history
  9. Fix column sizes and add some spans

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    c4296ba View commit details
    Browse the repository at this point in the history
  10. Generate field names for sliderules encoding table

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    b74f213 View commit details
    Browse the repository at this point in the history
  11. Set opcode bits in the table and mark them with the color red

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    34a0148 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    0adf51b View commit details
    Browse the repository at this point in the history
  13. Add fields to bitfields

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    7b178a6 View commit details
    Browse the repository at this point in the history
  14. Fix immediates intersecting with zeroes

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    d80852f View commit details
    Browse the repository at this point in the history
  15. Fix BitRangeSet fold expression

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    9c8720d View commit details
    Browse the repository at this point in the history
  16. Give fields shortened names if only using one column

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    bbc2441 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    c7622c9 View commit details
    Browse the repository at this point in the history
  18. Add splitter between encodings and decodings

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    fd2dc6c View commit details
    Browse the repository at this point in the history
  19. Fix spanning issues

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    d629d2b View commit details
    Browse the repository at this point in the history
  20. Move instruction instances from Assembler into ISAInfoBase

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    fd2b947 View commit details
    Browse the repository at this point in the history
  21. Quick refactor

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    4b838ce View commit details
    Browse the repository at this point in the history
  22. Further reduce ISAInfo instantiations by caching all accesses

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    bc08d20 View commit details
    Browse the repository at this point in the history
  23. Show instructions from all supported extensions in sliderules

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    acf0526 View commit details
    Browse the repository at this point in the history
  24. Add descriptions to RISC-V instructions and sliderules table

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    8e07d48 View commit details
    Browse the repository at this point in the history
  25. Add long description for tooltip when hovering over description

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    0911bf3 View commit details
    Browse the repository at this point in the history
  26. Fix rebase

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    b2e1197 View commit details
    Browse the repository at this point in the history
  27. Refactor (simplify) encoding table

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    bf6d481 View commit details
    Browse the repository at this point in the history
  28. Stretch description column

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    604c337 View commit details
    Browse the repository at this point in the history
  29. Add rows for encoding constructed immediates

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    d9377e3 View commit details
    Browse the repository at this point in the history
  30. Add some TODO comments

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    e2fd626 View commit details
    Browse the repository at this point in the history
  31. Add UI selectors for ISA and register width

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    144b4ae View commit details
    Browse the repository at this point in the history
  32. Add ISA options to combo boxes

    The selection doesn't change anything in the encoding table yet.
    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    eca786d View commit details
    Browse the repository at this point in the history
  33. Change grouping of ISA selectors

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    6580ffe View commit details
    Browse the repository at this point in the history
  34. Got ISA filtering working properly

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    7e5e682 View commit details
    Browse the repository at this point in the history
  35. Add main ISA extension selector

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    677a9f7 View commit details
    Browse the repository at this point in the history
  36. Get main extensions selector working

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    eb4f94d View commit details
    Browse the repository at this point in the history
  37. Fix encoding table column stretching when changing ISA options

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    3cd268b View commit details
    Browse the repository at this point in the history
  38. Quick refactor

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    4d5d5df View commit details
    Browse the repository at this point in the history
  39. Add UI element for selecting multiple extensions

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    380600b View commit details
    Browse the repository at this point in the history
  40. Fix rows being hidden when they shouldn't be

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    2a4f304 View commit details
    Browse the repository at this point in the history
  41. Remove "Explanation" column

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    df7bb6f View commit details
    Browse the repository at this point in the history
  42. Rewrite parts of the EncodingModel

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    fec7547 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    4a59ee5 View commit details
    Browse the repository at this point in the history
  44. Get encoding table filters working again (mostly)

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    507aff7 View commit details
    Browse the repository at this point in the history
  45. Get main extension selector working (mostly)

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    5e96781 View commit details
    Browse the repository at this point in the history
  46. Remove some unused code

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    5364305 View commit details
    Browse the repository at this point in the history
  47. Get all current filters working properly

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    382e8a0 View commit details
    Browse the repository at this point in the history
  48. Add checkboxes for selecting additional extensions

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    6696b0b View commit details
    Browse the repository at this point in the history
  49. Remove blank extension from MIPS ISAInfo

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    4f7af16 View commit details
    Browse the repository at this point in the history
  50. Show in UI how many instructions are shown/filtered

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    58e30a0 View commit details
    Browse the repository at this point in the history
  51. Only reset the register width selector when changing ISA families

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    30c3406 View commit details
    Browse the repository at this point in the history
  52. Fix clang-format

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    c13a65a View commit details
    Browse the repository at this point in the history
  53. Separate encoding model (data) from encoding view (UI)

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    45e230a View commit details
    Browse the repository at this point in the history
  54. Start reworking UI after learning more about Qt

    The sliderules tab will now use two "models" that contains encoding
    and decoding data. Custom Qt widgets and the Qt signal/slot mechanism
    will be used for all data/filter updates.
    
    For example, a signal that is emitted when the encoding table's ISA
    family is changed is connected only to a slot in the encoding model. The
    model would then emit its own signal that is connected to any UI slot
    that needs to display the changed data. This flow of `User Interaction ->
    Model Update -> UI Update` will ensure there are no recursive loops in the
    signal/slot connection tree.
    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    e4ec45f View commit details
    Browse the repository at this point in the history
  55. Add back ISA register width selector

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    1f6b9db View commit details
    Browse the repository at this point in the history
  56. Working on flow of data between Qt widgets and models

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    4cf3016 View commit details
    Browse the repository at this point in the history
  57. Redo again

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    204bbde View commit details
    Browse the repository at this point in the history
  58. Get sliderules filters working

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    fed3aaa View commit details
    Browse the repository at this point in the history
  59. Start Qt model from scratch

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    77fc57d View commit details
    Browse the repository at this point in the history
  60. Remove complex code to start with a simple example

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    b195e71 View commit details
    Browse the repository at this point in the history
  61. Get a working model for a QTreeView

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    c716784 View commit details
    Browse the repository at this point in the history
  62. Add first signal and slot for ISAInstructionsModel

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    029052c View commit details
    Browse the repository at this point in the history
  63. Connect signals/slots so that ISA filters work properly

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    a68278c View commit details
    Browse the repository at this point in the history
  64. Update extension filters when model changes

    raccog authored and Ryan Cohen committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    7e0a3ac View commit details
    Browse the repository at this point in the history