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.
all 9 comments