Area, Utilization, Energy Consumption estimation for the RISCV Architecture. #265
Replies: 7 comments
-
The estimator utilizes information on some standard components (standard FUs, RFs, etc.) for a specific technology node. I am not sure how well it is able to estimate customized RISC-V processors as it does not have information of the hardware complexity of the customized FUs, or of the RISC-V specifc FUs for that matter. For now, the best option is to run your design through the EDA tool flow of your choice to acquire accurate information. As for the error you are experiencing, you can try opening your |
Beta Was this translation helpful? Give feedback.
-
Upon your suggestion, we solved the issue by changing the delay parameter of the control unit. As for the estimating utilization, I will then use a different EDA tool, Thank You for helping out. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
The RISC-V customization flow only supports custom operations that can follow the R-format (2 inputs 1 output). Multiply-add has three input operands so it cannot be mapped to this format. Even though multiply-add is somewhat of a special case as you usually want to use the same accumulation register for the target and accumulation operands. If you want to design such an ASIP with OpenASIP, you have to rely on the transport triggered architecture template that has high flexibility in terms of adressing modes. The error you are getting is due to the function unit only having 2 input ports but you are trying to map an operation with 3 input operands to the function unit. If you add a 3rd input port to the function unit, you should be able to proceed. However, hardware generation or compilation is not supported for the RISC-V target for such custom operations. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
If you want to simply evaluate the core, you can just synthesize the |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I am trying to implement matrix multiplication for RISCV for the matrix I used.
oacc-riscv -D_DEBUG -O0 -a start.adf --output-format=bin -o matmul256_base_size4.img matmul256_data_base.c matmul256_base.c
I have also seen that the multiplication was successful and found the latency values.
I wanted to know the Processor resource utilization and area consumption.
In the PDF manual, to estimate the processor, the Cost/Performance Estimator provides estimates of energy consumption, die area, and maximum clock rate estimate command.
estimate {-p [TPEF] -t [TraceDB]} ADF IDF
To use this command, IDF is required. So, in order to generate IDF, I used the command
prode start.adf
I have attached a picture of it.
Then saved the idf file as start_riscarchitecture_2.idf. Then, according to the manual, we need to use generateprocessor command
generateprocessor -i start_riscvarchitecture_2.idf -o riscv-proc_samearrayvalues_noprintf_MAvalues_idf -t start.adf.
However, I am facing errors, The error is,
Decoder generator supports the 4-stage transport pipeline of GCU with given options. The given machine has 3 stages.
Segmentation fault (core dumped)
I want to know how I can know the area, cost clock for RISCV architecture.
Is this the way to find the area, clock, and utilization? If so, can anyone please help with it.
Thank you for your time and for coming forward to help.
Beta Was this translation helpful? Give feedback.
All reactions