Welcome to CORE-V Wally Discussions #253
Replies: 27 comments 21 replies
-
looking over wally-tool-chain-install.sh and it is decidely Ubuntu in flavor. Is there a RHEL 8 modified version making use of dnf, *-devel, and RHEL 8 named versions of the libraries and tools needed? I realize some of these tools may need to be compiled from source on RHEL 8 if there's not an equivalent. Not looking to avoid the effort, just don't want to re-invent what may already be available. |
Beta Was this translation helpful? Give feedback.
-
Hi,
Thanks for the Email. Our version currently uses buildroot but I am sure it can be easily ported to other flavors. We had a desire to port a RTOS but have not done this one yet. All items should be contained in the repository and if you need any help, let us know. Take care.
All my best,
James
… On Aug 11, 2023, at 11:12 AM, burkettttt ***@***.***> wrote:
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe
looking over wally-tool-chain-install.sh and it is decidely Ubuntu in flavor. Is there a RHEL 8 modified version making use of dnf, *-devel, and RHEL 8 named versions of the libraries and tools needed? I realize some of these tools may need to be compiled from source on RHEL 8 if there's not an equivalent. Not looking to avoid the effort, just don't want to re-invent what may already be available.
Thanks for your time.
—
Reply to this email directly, view it on GitHub <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenhwgroup%2Fcvw%2Fdiscussions%2F253%23discussioncomment-6703384&data=05%7C01%7Cjames.stine%40okstate.edu%7C6ed2ae2e754747701d4d08db9a85d192%7C2a69c91de8494e34a230cdf8b27e1964%7C0%7C0%7C638273671758701939%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=kxYnv3s9ntVceGeJs6Ww61BtB%2BVoS1kCdwcxU3gD3DE%3D&reserved=0>, or unsubscribe <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFSIHPGCW35MTUKOUMOB6PDXUZKYHANCNFSM6AAAAAAXCVCCGI&data=05%7C01%7Cjames.stine%40okstate.edu%7C6ed2ae2e754747701d4d08db9a85d192%7C2a69c91de8494e34a230cdf8b27e1964%7C0%7C0%7C638273671758701939%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=tjG7ZMFLQcBDvpZzW9%2FWFuvpZxnp2SMDiLXaNT3P2Z0%3D&reserved=0>.
You are receiving this because you are subscribed to this thread.
|
Beta Was this translation helpful? Give feedback.
-
I think James answered with respect to booting buildroot Linux on the processor.
If the question is with respect to the development environment, we’ve had great difficulty getting Sail running reliably on RHEL and Sail is a required component of the riscof verification flow. The difficulties occurred even trying to build from source. Therefore we migrated to Ubuntu. If you are a RHEL and Sail whiz and can get them running reliably together, we’d be thrilled to add it.
David
… On Aug 11, 2023, at 9:57 AM, James E. Stine ***@***.***> wrote:
Hi,
Thanks for the Email. Our version currently uses buildroot but I am sure it can be easily ported to other flavors. We had a desire to port a RTOS but have not done this one yet. All items should be contained in the repository and if you need any help, let us know. Take care.
All my best,
James
> On Aug 11, 2023, at 11:12 AM, burkettttt ***@***.***> wrote:
>
> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe
>
> looking over wally-tool-chain-install.sh and it is decidely Ubuntu in flavor. Is there a RHEL 8 modified version making use of dnf, *-devel, and RHEL 8 named versions of the libraries and tools needed? I realize some of these tools may need to be compiled from source on RHEL 8 if there's not an equivalent. Not looking to avoid the effort, just don't want to re-invent what may already be available.
> Thanks for your time.
>
> —
> Reply to this email directly, view it on GitHub <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenhwgroup%2Fcvw%2Fdiscussions%2F253%23discussioncomment-6703384&data=05%7C01%7Cjames.stine%40okstate.edu%7C6ed2ae2e754747701d4d08db9a85d192%7C2a69c91de8494e34a230cdf8b27e1964%7C0%7C0%7C638273671758701939%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=kxYnv3s9ntVceGeJs6Ww61BtB%2BVoS1kCdwcxU3gD3DE%3D&reserved=0>, or unsubscribe <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFSIHPGCW35MTUKOUMOB6PDXUZKYHANCNFSM6AAAAAAXCVCCGI&data=05%7C01%7Cjames.stine%40okstate.edu%7C6ed2ae2e754747701d4d08db9a85d192%7C2a69c91de8494e34a230cdf8b27e1964%7C0%7C0%7C638273671758701939%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=tjG7ZMFLQcBDvpZzW9%2FWFuvpZxnp2SMDiLXaNT3P2Z0%3D&reserved=0>.
> You are receiving this because you are subscribed to this thread.
>
—
Reply to this email directly, view it on GitHub <#253 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AR4AA37PMN5YYTVS6N6XNFDXUZP7LANCNFSM6AAAAAAXCVCCGI>.
You are receiving this because you are subscribed to this thread.
|
Beta Was this translation helpful? Give feedback.
-
Getting everything running for CORE-V Wally is not trivial and seems to break in different ways on each system we’ve tried to use it on. I would be happy to support installing on Ubuntu, especially so I can improve the installation documentation with any difficulties specific to your systems.
Take a look at the Sail installation and consider attempting to install it on your RHEL system. It has given us and others a lot of grief on that platform. I’ve spoken with the developer, and there is no immediate plan for better support.
David Harris
… On Aug 16, 2023, at 1:42 PM, burkettttt ***@***.***> wrote:
Thanks to both of you for the replies. David is closer to what I was looking for. I know RHEL, but Sail is something brand new to me. Systems Administrator in classroom support, not a wiz outside of that. Had a request to see about loading CVW on the RHEL systems. There are some restricted lab systems running UBUNTU, but not once I admin. I'll pass along your reply David and see what the Faculty and TAs want to do going forward.
—
Reply to this email directly, view it on GitHub <#253 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AR4AA363XYU3OJJBF3C45YTXVUWD7ANCNFSM6AAAAAAXCVCCGI>.
You are receiving this because you commented.
|
Beta Was this translation helpful? Give feedback.
-
Hi, I am a final year Computer Engineering student with a keen interest in computer architecture. I came across a project titled 'CORE-V Wally Technology Readiness Level 5' in the LFX mentorship program and would like to contribute to it. My skills include C, Python, and SystemVerilog. Could you provide more details about this project, along with study materials, references, or any guides to help me get started? Jian De |
Beta Was this translation helpful? Give feedback.
-
Jian,
Nice to meet you. The project description has everything I know about the project right now. The Wally Git repository and RISC-V specifications might give you more of a sense of the project.
David Harris
… On Jan 9, 2024, at 9:33 AM, Jian De ***@***.***> wrote:
Hi,
I am a final year Computer Engineering student with a keen interest in computer architecture. I came across a project titled 'CORE-V Wally Technology Readiness Level 5 <https://mentorship.lfx.linuxfoundation.org/project/cc564a0f-72d5-4588-ad83-0e5bb0257df2>' in the LFX mentorship program and would like to contribute to it. My skills include C, Python, and SystemVerilog. Could you provide more details about this project, along with study materials, references, or any guides to help me get started?
Jian De
—
Reply to this email directly, view it on GitHub <#253 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AR4AA37NAW6UULIFRI45BETYNV5OZAVCNFSM6AAAAAAXCVCCGKVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DANRZG44DE>.
You are receiving this because you commented.
|
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
LSUHWSTRB is the HWSTRB signal from the LSU to the AHB port to control which bytes are written (for example, when doing a store halfword over a 64-bit interface). Wally is configurable to have a data cache or not (P.DCACHE_SUPPORTED). The logic to control HWSTRB is different in systems with and without a cache. Wally instantiates either ahbcacheinterface or ahbinterface, accordingly. |
Beta Was this translation helpful? Give feedback.
-
DCACHE_SUPPORTED is set in the config file.
There’s a lot going on here that will be documented in the textbook.
What is your application for Wally?
If you’re an individual looking to experiment with open hardware, it would be easiest to wait until the book comes out next year.
If you are part of an organization looking for a collaboration, let’s talk about how to support you before the book is available.
Feel free to email me directly at my Harvey Mudd College address.
David Harris
… On Apr 3, 2024, at 9:37 PM, Zoro210 ***@***.***> wrote:
Thank you for your response.
So, how will the core know if there is cache or not and how the HWSTRB will be selected based on with or without cache?
I didn't find any logic regarding this.
—
Reply to this email directly, view it on GitHub <#253 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AR4AA34GKYCVDZVZEU2V2BLY3TKJLAVCNFSM6AAAAAAXCVCCGKVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TAMBUG43TG>.
You are receiving this because you commented.
|
Beta Was this translation helpful? Give feedback.
-
Heyy for example: |
Beta Was this translation helpful? Give feedback.
-
XLEN is the RISC-V standard: 32 for RV32 or 64 for RV64 |
Beta Was this translation helpful? Give feedback.
-
Hello I have some doubt in the IEU's datapath file in line no 130, mux2 #(P.XLEN) divresultmuxW(MDUResultW, FIntDivResultW, IntDivW, MulDivResultW); here if I want to work on only MDU unit without FPU how can I control IntDivW ? it is internal variable in IEU right? is there any way of making it everytime low with respect to my case. in controller it is calculated like IntdivE = MDUE&funct3E[2]. after 2 stage same intdivE value is taken as IntdivW so everytime IntdivE is changing right? could you please clarify this for me. |
Beta Was this translation helpful? Give feedback.
-
Machine Mode Registers should not be read while the core is in Supervisor Mode or User Mode. However, based on the RTL, it appears that the Machine Mode Registers are being read in both User Mode and Supervisor Mode. I have been able to read Machine Mode registers such as MSTATUS, MEDELEG, MVENDORID, MISA, and MARCHID. Can you explain why this is happening? |
Beta Was this translation helpful? Give feedback.
-
@Prasadbindu This sounds like a bug. This should have caused IllegalCSRAccessM (see privileged/csr.sv) to rise and subsequently assert TrapM. I will investigate. |
Beta Was this translation helpful? Give feedback.
-
@Prasadbindu I am not able to reproduce the bug you are seeing. I used the following code to attempt to trigger the issue you described. However, CVW traps on the csr read of mstatus in the user_mode_entry section. The code first forces a switch to user mode then reads m mode registers.
The following code in privileged/csr.sv checks csr premissions and appears to be correct. Can you provide the code your causes the failure?
|
Beta Was this translation helpful? Give feedback.
-
I believe it is expected and harmless that you are receiving the CSR read value at the same time as a trap. The trap will flush the pipeline, preventing the read value from being written to the register file. The flush logic is outside the privileged module, so your UVM testbench will have no way of knowing about the flush.
… On May 22, 2024, at 7:36 AM, Prasadbindu ***@***.***> wrote:
We are also getting the trap and the cause, but we are additionally receiving the CSR read value, whether it is an expected behavior?
We are not verifying the entire Walley core SOC design; we are only verifying the privileged module using a UVM testbench. In the testbench, I am able to read the CSR values(along with trap) from S mode. The sequence is as follows:
Set mstatus.MPP to 01
Set the mideleg register
Call the mret instruction to enter S mode
Read mvendorid
Read marchid
—
Reply to this email directly, view it on GitHub <#253 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AR4AA32QICHCWK6AI2MHWB3ZDQVEPAVCNFSM6AAAAAAXCVCCGKVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TKMJWGY2DQ>.
You are receiving this because you commented.
|
Beta Was this translation helpful? Give feedback.
-
Hello, |
Beta Was this translation helpful? Give feedback.
-
Did you nan box the single precision numbers?
…On Thu, May 30, 2024 at 11:11 AM shriyan111 ***@***.***> wrote:
Hello,
Here im trying to verify both single precision and double precision ,
double precision is verified successfully but in single precision not a
number (NaN) signal is high every time ,is there any way of controlling
this?.
—
Reply to this email directly, view it on GitHub
<#253 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AR4AA35RN4YKPVIU3BGEHRTZE3UG7AVCNFSM6AAAAAAXCVCCGKVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TMMBTGQ4TK>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
You can try running your tests on spike or sail before running them on the
Wally verilog. That will help you avoid problems like this.
David
…On Thu, May 30, 2024 at 12:12 PM shriyan111 ***@***.***> wrote:
Oh! i didn't now its working.
Thank you.
—
Reply to this email directly, view it on GitHub
<#253 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AR4AA33YGS3ONI5I4FGUUO3ZE33QDAVCNFSM6AAAAAAXCVCCGKVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TMMBUGEYTG>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Hello, and i saw in cvw file 4096 instructions per way .each cache way requires 4096 instructions or more . |
Beta Was this translation helpful? Give feedback.
-
Hello, |
Beta Was this translation helpful? Give feedback.
-
After you installed the tools, did you run make? Did it give you any errors or warnings? It should invoke riscof and create files under tests/riscof/work. If it didn’t, you’ll need to troubleshoot why.
… On Jul 22, 2024, at 3:40 AM, Prasadbindu ***@***.***> wrote:
@ross144 <https://github.com/ross144> @MikeOpenHWGroup <https://github.com/MikeOpenHWGroup> As per your guidance I started with the SoC Verification. After Doing the setup we ran wsim rv32gc arch32i. I am getting the below error.
There is no work directory created under riscof
Error: Failed to open file "../../tests/riscof/work/rtscv-arch-test/rv321_m/1/src/add-01.S/ref/ref.elf.objdump.lab" for reading
Whether we need run other commands along with this or some other changes needs to be done. Kindly Guide us.
—
Reply to this email directly, view it on GitHub <#253 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AR4AA32M7NLS5VTF24RTRVLZNTORFAVCNFSM6AAAAAAXCVCCGKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTAMJRGM2DSMQ>.
You are receiving this because you commented.
|
Beta Was this translation helpful? Give feedback.
-
It says riscof: Command not found. You must not have installed riscof.
Did you go through all the steps in bin/wally-tool-chain-install.sh? Many RISC-V tools are fussy, and it’s safest on a new platform to enter the commands one by one and watch for errors and warnings.
What platform are you running on?
riscof depends on Sail, which is especially touchy to install, particularly on RedHat distros.
… On Jul 22, 2024, at 5:09 AM, Prasadbindu ***@***.***> wrote:
when we are running make command it is throwing the following error...
make riscof
make[1]: Entering directory '/home/mavenadmin/wally_core/cvw'
make -C sim
make[2]: Entering directory '/home/mavenadmin/wally_core/cvw/sim'
make -C ../tests/riscof/
make[3]: Entering directory '/home/mavenadmin/wally_core/cvw/tests/riscof'
mkdir -p ./riscof_work
mkdir -p ./work
mkdir -p ./work/riscv-arch-test
mkdir -p ./work/wally-riscv-arch-test
sed 's,{0},/home/mavenadmin/wally_core/cvw/tests/riscof,g;s,{1},32gc,g' config.ini > config32.ini
sed 's,{0},/home/mavenadmin/wally_core/cvw/tests/riscof,g;s,{1},64gc,g' config.ini > config64.ini
sed 's,{0},/home/mavenadmin/wally_core/cvw/tests/riscof,g;s,{1},32e,g' config.ini > config32e.ini
riscof run --work-dir=./riscof_work --config=config32.ini --suite=../../addins/riscv-arch-test/riscv-test-suite/ --env=../../addins/riscv-arch-test/riscv-test-suite/env --no-browser
make[3]: riscof: Command not found
make[3]: *** [Makefile:28: arch32] Error 127
make[3]: Leaving directory '/home/mavenadmin/wally_core/cvw/tests/riscof'
make[2]: *** [Makefile:121: riscoftests] Error 2
make[2]: Leaving directory '/home/mavenadmin/wally_core/cvw/sim'
make[1]: *** [Makefile:16: riscof] Error 2
make[1]: Leaving directory '/home/mavenadmin/wally_core/cvw'
make: *** [Makefile:8: all] Error 2
—
Reply to this email directly, view it on GitHub <#253 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AR4AA33PURPMDG4LBD3QZ73ZNTY6DAVCNFSM6AAAAAAXCVCCGKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTAMJRGQZDQNA>.
You are receiving this because you commented.
|
Beta Was this translation helpful? Give feedback.
-
Glad you were able to install the RISC-V tools. If there were any specific changes you had to make that you recorded, we’d appreciate hearing which OS/version you are running and exactly what you had to do. We are working on a more robust installation script that has been tested against more OS versions.
Unfortunately there is not formal documentation of the testbench and there won’t be anything elaborate in the near future.
The general principle is simple. The testbench reads an ELF that has been converted to hexadecimal (“elf.memfile”) format into memory. It generates a clock, applies reset, runs, and checks if the halting condition for that testbench is satisfied (such as a j self-loop at the end of riscv-arch-test), and reports the status.
There are many additional features in this testbench. For example, there are links to RVVI to run tests in lockstep with ImperasDV or collect functional coverage. There is a module to decode instructions to display them in waveforms for easier debugging. There is a riscvassertions module that checks for illegal combinations of configuration parameters. At the end of a sim, some data is in the cache rather than main memory, and there is a module that flushes the cache to main memory to simplify checking signatures for riscv-arch-test.
You won’t need any of these extra features in UVM. I would suggest that if the current testbench isn’t satisfactory for your needs, create a new one. Start with the basic features of putting a test in main memory, applying clock and reset, and checking for a termination condition appropriate to the specific program you are running. Then add your UVM features.
… On Jul 23, 2024, at 11:17 PM, AishwaryaPrabhu1 ***@***.***> wrote:
Thanks for your inputs. Earlier we have missed to run bin/wally-tool-chain-install.sh. Now we have executed each and every step in the script. Though initially we have faced some issues in some of the steps, we were able to fix and proceed further.
And now, we are able to use wsim and run simulations. But now we want to implement UVM based testbench for this SOC and explore how to add new testcases to verify the peripheral communication. It will be really helpful if there is any document or README file which explains how this testbench and various testcases are implemented and running. Please guide us in this regard.
—
Reply to this email directly, view it on GitHub <#253 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AR4AA33WGTR5HEEEDUAQGUTZN5BI3AVCNFSM6AAAAAAXCVCCGKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTAMJTGM3TCMA>.
You are receiving this because you commented.
|
Beta Was this translation helpful? Give feedback.
-
Hello!! |
Beta Was this translation helpful? Give feedback.
-
You’re trying to synthesize a RAM with 536870880 words. The RAM size is too big.
‘ram_ahb_0000000080000000_0000000007ffffff_0_883626'
You’ll need a configuration with a smaller RAM. Here is a synthesis command using the derived
syn_rv32e configuration, with less memory.
make synth DESIGN=wallypipelinedcore TECH=sky130 CONFIG=syn_rv32e FREQ=330
There’s a lot about this in Chapter 6, which is in production now and will be out in the spring. Synthesis is
very touchy. You’ll need to be a fairly sophisticated synthesis user to bring this all up without the documentation
from the book. If this is a personal project, I’d suggest waiting for the book in Spring 2025. If it’s something larger where
a collaboration would be sensible, please reach out to me by email to discuss sharing a draft earlier.
David Harris
… On Nov 6, 2024, at 1:53 AM, AishwaryaPrabhu1 ***@***.***> wrote:
Hello!!
We are getting the below error while doing the synthesis. Please guide us.
Screenshot.from.2024-11-06.12-11-14.png (view on web) <https://github.com/user-attachments/assets/08177405-5aae-48a4-bc8f-237406dc5374>
—
Reply to this email directly, view it on GitHub <#253 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AR4AA3YZDCN6UYWYQE5BB2DZ7HRLNAVCNFSM6AAAAAAXCVCCGKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTCMJWGQ3TIOI>.
You are receiving this because you commented.
|
Beta Was this translation helpful? Give feedback.
-
👋 Welcome!
We’re using Discussions as a place to connect with other members of our community. We hope that you:
build together 💪.
To get started, comment below with an introduction of yourself and tell us about what you do with this community.
Beta Was this translation helpful? Give feedback.
All reactions