aignacio / ravenoc

RaveNoC is a configurable HDL NoC (Network-On-Chip) suitable for MPSoCs and different MP applications
MIT License
139 stars 32 forks source link

questions about regression test #19

Closed aisfyhhh closed 3 weeks ago

aisfyhhh commented 3 weeks ago

I am a beginner in NoC and I am more familiar with HDL languages. I downloaded the run_dir folder according to the Quickstart regression using Git Bash. I don't quite understand the purpose of the files in the folder. Are the files in the run_dir folder the results of the testbench execution? What do the suffixes coffee and vanilla represent? If I only want to learn the complete architecture of NoC, can I only focus on the src and tb folders?

fc2dfb3bc31d2cf409eb7901ade52bf
aignacio commented 3 weeks ago

Hey @aisfyhhh, pls check inline.

I am a beginner in NoC and I am more familiar with HDL languages. I downloaded the run_dir folder according to the Quickstart regression using Git Bash. I don't quite understand the purpose of the files in the folder. Are the files in the run_dir folder the results of the testbench execution?

These files are generated from the execution of all tests, within that you have the generated verilator executable model, the waveforms and some log files. If the test execution succeeded, you should have waveforms for all tests.

What do the suffixes coffee and vanilla represent? If I only want to learn the complete architecture of NoC, can I only focus on the src and tb folders?

The suffixes are some pre-defined configurations for the NoC, more info here. If you want to learn, I suggest checking the simple config (vanilla) waveforms and the RTL in src.

aisfyhhh commented 3 weeks ago

Hello, @aignacio, I have learned a lot from this project. But now I have two questions about the testbench. 1. After running the regression tests for the NoC, I got FF....F and the container cannot exit. Does the "F" mean the test failed, and the "." means the test passed? I noticed that some folders don't have dump.fst files in them. I haven't made any changes to the project's code, and I have provided the container with sufficient resources.

  1. After reading the readme file in the tb folder, can I assume that all the relevant waveforms for the latest_sim-starting log files are reflected in the same dump.fst file? My English is not very proficient, so I may not fully understand the meaning of the readme file. I uploaded the relevant pictures. Thanks for your help. 12253edd595430def4279fbe2a5f6a5 ac85ff5bed305b3882ca3e7b250d154
aignacio commented 3 weeks ago

Hey @aisfyhhh, I'm happy that you found this project useful!

  1. About the first question, you're correct . = test pass and F = test fail. It has been a while since I run the regression but I tried with my computer and I saw some Fs too, when I tried in a machine with more resources I had them all passing as you can check below. It took around 40 minutes to complete but I realized that when I was running in my small setup, docker was killing some jobs, not sure why honestly. I have attached the .fst in case you want to debug.
image

https://file.io/OCK7tKn1x2bb

  1. Yes, you can assume that, all logs should match the waveforms too, if there's a particular test you are not sure about what is doing or you are interested on changing it, try to run with the command below.
    ❯ docker run --rm --name ravenoc_run -v $(pwd):/ravenoc -w /ravenoc aignacio/ravenoc tox -- -rP -k test_ravenoc_basic.py