Error adding a TTA load/store instruction #249
Replies: 5 comments 3 replies
-
Hi, ProGe most likely fails, since you might have configured May I ask what is the motivation for adding the big endian memory operations? The base architecture definition file |
Beta Was this translation helpful? Give feedback.
-
Actually, I'm trying to make an example to learn from. I took a snippet of the Fibonacci algorithm #include<stdio.h> int main() {
} I'm wanting to create an custom ISA for following snippet: with help from the website https://godbolt.org/. I put the algorithm in C and configured the Compiler to be gcc 12.1.0. Which ended up generating the following assembly instruction
Now I'm trying to create a DAG that provides a description of the algorithm I selected. The big question is how to pass a memory address to the ldw or stw instruction. OP(stw,#temp,a); I was trying to use it like this but it's not working |
Beta Was this translation helpful? Give feedback.
-
Couple of comments:
|
Beta Was this translation helpful? Give feedback.
-
Right, I'm trying to understand how to use the DAG description and use of ast32 and al32. As I said, I have the following algorithm in C: int temp = a + b; I'm trying to create a description of the DAG, of this algorithm: One question, do you have a group on Discord to ask questions? |
Beta Was this translation helpful? Give feedback.
-
Designing a custom operation for this algorithm is tricky, since just based on this C example, you do not know whether you have I suppose the only approach for this is to assume they are in memory and take addresses of a and b as input to the operation chain. Then first load a and b using I want to stress that if you want to implement such custom operations that chain memory operations, you will find limited support for it in the toolset, and you will have to, at least, add hardware generation support for it. As for the Discord, we do not have such a live channel for support currently, and we lack the resources to provide live support for users for the time being. |
Beta Was this translation helpful? Give feedback.
-
I'm trying to add ldw and stw instruction in LSU. I'm using adf from start.adf, from the RISC-V Tutorial tutorial. I tried running the command "generateprocessor -o riscv-proc -t start.adf". The following error is returned:
generateprocessor -o riscv-proc -t start.adf
generateprocessor: FUGen.cc:1112: void FUGen::scheduleOperations(): Assertion `accessCycle >= 0 && "Failure likely due to mis-selected operation " "implementation"' failed.
Aborted (core dumped)
Beta Was this translation helpful? Give feedback.
All reactions