cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
bots633
Visitor
Visitor
576 Views
Registered: ‎09-11-2019

How to run an existing processor on an fpga?

Hello, I want to run the picorv32 core on the nexys a7 100t. I tried to put some instructions in the memory on the processor and run a constraint file. The instructor said that this is a very primitive way and I should install the processor on the BRAM (I don't remember that exactly), then I should be able to run a software on the fpga to try the processor. I found that I can run the makefile from the existing project on vivado somehow but I don't get it. Anyway I just want to know if I have an existing github repo for a processor how to run it on an fpga?

0 Kudos
2 Replies
dgisselq
Scholar
Scholar
560 Views
Registered: ‎05-21-2015

@bots633,

You can find an "existing github repo" for a picorv32 processor using a Lattice Versa board here.

To make this work with the Nexys A7, you'll want to adjust the flash settings, and perhaps remove the GbE controller.  (The GbE design originally came from a Nexys Video, but I think the Nexys A7 has 100M ethernet IIRC.)

As implemented, it's not the fastest processor on the market.  The biggest problems I had was keeping the memory pipeline filled.  As a result, even though the PicoRV can handle one instruction every 3 clocks, the design takes another 35 clocks or so to read the next instruction from the flash.  If you want something faster, you'd want to move from the flash memory to SDRAM, and add a cache--some things that aren't present in most PicoRV distro's.  Still, booting up a flash based image is a good start, and something that will likely get you closer to your eventual goal.

Dan

 

0 Kudos
bots633
Visitor
Visitor
528 Views
Registered: ‎09-11-2019

@dgisselq 

Sir, could you please recommend some source for me about how to use make files with vivado. I don't think you got my point. I already got the repo I need but I don't know how run it on the fpga (firmare ...etc).

0 Kudos