Hi everyone. This is my first post on Lemmy. I'm a senior Computer Engineering student. And I'm working on my senior design project with my friends.

  • BACKGROUND INFO

My friends have basically near 0 hardware knowledge but are willing to work. I have more experience with computer architecture and digital electronics but still I never made something as complex as this before.

The project is a comparison between hardware solutions to image processing. We will implement 3 types of hardware to process live (or pre recorded) video and output it to vga. Then compare their efficieny.

First one is a CPU core (will implement in system verilog which I have some experience with thank god). It will support RV32IM instructions and my friend will write an assembly program to control it.

Second one is an extension to the first CPU core.

Third one will be a specialized hardware for this purpose.

We have 2.5 months to complete half of the project and the other parts will be completed in next semester.

  • ACTUAL QUESTION

So my plan is to create the CPU and measure its performance in these months and leave the other parts for next semester.

I'm planning on creating a 5 stage pipelined in order CPU. I also want to use wishbone since it's easier. But I have a problem.

First is the fact that videos take up a lot of space and we don't have enough RAM (Basys 3). We can buy an Arty S7 50 for it's DDR3 but the controller for it is AXI. I don't have time to learn AXI and I could not find any open source bridges that would work between that and WB B3.

One other option might be to send and process the video from an external camera or my laptop. But how can I make this work? USB is not nearly fast enough for 640x480 24fps.

Note: We won't use any AI in this project. So the time is more crucial.

Any tips? Should we buy a new board or will streaming work? Maybe we can use ethernet port? Idk.

Thanks.

you are viewing a single comment's thread
view the rest of the comments
[–] 5 points 8 hours ago (1 child)

Honestly, I’d probably just focus on getting the CPU working first, especially since you only have 2.5 months 😭😭😭😭 Have you thought about using individual frames instead of streaming the whole video? Maybe starting with a lower resolution or grayscale would make things easier, at least for testing the CPU and seeing how it performs. Ethernet could be an option too, but I feel like setting all that up might end up being another headache 🫠. I’d stick with the Basys 3 for now and see how far you can get before buying another board. You can always upgrade later if you really need to. Also, the project sounds pretty cool! Would love to see how the CPU compares to the dedicated hardware once it’s done 😭💯

  • source
  • hideshow 1 child comment
  • [–] [S] 2 points 8 hours ago

    Lol yeah it's a tight deadline. I made CPUs before but they were small projects for my custom ISA (which has like 10 instructions) and they didn't have a bus interconnect.

    This is a huge step up but could be a learning experience. I will definetly post it once it's done (hopefully).

  • source
  • parent