aignacio / ravenoc

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

Design of flit fifo of RaveNoC Router using Block RAM for area optimization in FPGA platform #10

Closed madhumita-mukherjee closed 1 year ago

madhumita-mukherjee commented 2 years ago

Hi Anderson,

I was exploring the RaveNoC Router for the implementation in FPGA domain, as I thought that RaveNoC router is more suited for ASIC design purpose. I have attempted to optimize LUT counts through design of Block RAM for fifo. This design will help for Xilinx FPGA implementation. I have made both the design configurable using generate statement. I am giving the link for the code and the snapshot of synthesis for both the design. Further, I am attaching the simulation waveform for block RAM fifo. Here the Block RAM has 2 clock cycle read latency. Could you please review the code and the results and let me know your feedback.

Thanks, Madhumita Mukherjee.

code link: https://github.com/madhumita-mukherjee/RaveNoC-router.git

device_utilization_BRAM_fifo device_utilization_of_original_Rave_fifo simulation_of_BRAM_fifo

aignacio commented 2 years ago

Hey @madhumita-mukherjee, thanks for your contribution, I have been quite busy lately but for sure I'll take a look and if that works in the regression I can consider adding as a parameter for sure. Have you tried running the regression set of tests considering such design?

madhumita-mukherjee commented 2 years ago

Hi Anderson,

Thanks for your response. As you have indicated, I have to run regression test. So is it required to run the full set of regression tests, or can I run only "test_ravenoc_basic" and "test_all_buffers" considering that my changes are related to the design of flit fifo.

Regards Madhumita.

aignacio commented 1 year ago

Hey @madhumita-mukherjee for every change, independently of number/type of changes the full regression needs to pass in order to embedded this change.

madhumita-mukherjee commented 1 year ago

Hi Anderson, Thanks for the response. I will set the proper environment using cocotb and Verilator to perform the full regression test. As I have done simulation using Vivado only.

Regards Madhumita

aignacio commented 1 year ago

@madhumita-mukherjee please also consider adding this option as a define here that we can either enable or disable too.

madhumita-mukherjee commented 1 year ago

Hi Anderson,

I have tried to set environment using Verilator and Cocotb for the performing the regression test "test_all_buffers". I have successfully run some programs in Verilator. But in case of Cocotb, i am not comfortable with this tool. I have installed it and tried small test code to run, but i can't able to do it. If possible please help me to run a sample code in cocotb using Verilator as the simulator.

Regards, Madhumita

aignacio commented 1 year ago

Hey @madhumita-mukherjee , please try to start with this https://github.com/aignacio/ravenoc#-quickstart-regression, it'll run all the regression tests, you need to consider that the tests were written in python using cocotb framework and they cover most of use cases and different corners, unfortunately I don't plan to have the test methodology due to the overhead added to this task. Cocotb will call verilator in the bkg to run the tests described in the folder tb

madhumita-mukherjee commented 1 year ago

Hi Anderson,

Thanks for the help. I will do accordingly and step by step as you have described.

Regards, Madhumita

madhumitamukherjee commented 1 year ago

Hi Anderson,

I have tried to start with the quickstart-regression. It is showing the comment as : "Unable to find image locally". Please help to solve this issue...

Regards, Madhumita

docker_issue2

aignacio commented 1 year ago

Please run the command as mentioned in the getting started, this docker image needs to be pulled from the internet once it's available on docker repository with the name aignacio/ravenoc.

madhumitamukherjee commented 1 year ago

Hi Anderson,

I have run the command and now I am getting the image. Next, tox config file not found.

Regards, Madhumita

docker_pic1

aignacio commented 1 year ago

It seems that you're not running inside the repository folder. First enter in the folder then run this command.

On Thu, Dec 15, 2022, 06:51 madhumitamukherjee @.***> wrote:

Hi Anderson,

I have run the command and now I am getting the image. Next, tox config file not found.

Regards, Madhumita

[image: docker_pic1] https://user-images.githubusercontent.com/78219119/207791303-0865bb68-5acb-4e2d-bd53-000c5725770a.png

— Reply to this email directly, view it on GitHub https://github.com/aignacio/ravenoc/issues/10#issuecomment-1352631389, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNWXTAS6UHUFL5CCKJUFS3WNK5WBANCNFSM6AAAAAAR3REBOU . You are receiving this because you commented.Message ID: @.***>

madhumitamukherjee commented 1 year ago

Hi Anderson,

My test setup are ready now. I have done the quick- regression test. The error that I am getting is Assertion Error.

Regards, Madhumita

Screenshot_rave_regression1

aignacio commented 1 year ago

Hey @madhumitamukherjee, you need to take a look at the logs/.fst and debug. =)