sparcians / mavis Goto Github PK
View Code? Open in Web Editor NEWRISC-V Decoder
License: Apache License 2.0
RISC-V Decoder
License: Apache License 2.0
There is a new RISC-V extension being proposed called Zimop which supports "may-be-opertions". The proposed instructions are like NOPs but are allowed to be redefined by later extensions. See "Zimop" May-Be-Operations Extension, Version 0.1
I'd like to discuss the best way to support this extension in Mavis, since I am still learning how the internals of Mavis work.
I set up a test to see what would happen if two instructions were defined with the same stencil (where test
is a redefinition of a Zimop instruction) and I get this warning:
ALREADY A LEAF for stencil: 0xc5c04073, 'test' will alias to IFactory('mop.r.3'), stencil = 0xc5c04073
This could work if mop.r.3
was an alias to test
instead of the other way around since test
is a redefinition of mop.r.3
. I could force this behavior by making sure all "optional" instruction factories are added to the DTable last.
Another option would be to replace the Factory (leaf node) for mop.r.3
in the DTable with the Factory for test
. To support this, I would need to add a member to the Factory class to mark whether it is allowed to be overridden.
@david-murrell do you have a suggestion on which direction I should go? Or a better idea on how to support this new extension?
I found there is only rv64 isa set in json folder. I meet some rv32 instructions (c.jal) and it is fail to decode.
Do you have any plan to support rv32?
Is it a typo?
mavis/impl/forms/ExtractorDerived.h
Line 6 in 69e38df
The vector segment load/store definition seems to be missing inside this file, or is it somewhere else? Thanks.
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.