Jump to content
  • 0

Combine microblaze with a top/verilog files


Jarl Gjessing

Question

I have made some verilog files, combined with a clockwizard to generate some fpga timing outputs.

These timings are controlled with some inputs that is to be controlled with the microblaze IP.

I've made the verilog files work perfectly, I can control them using IO26-IO27 and output on IO28-IO30 so I know that works.
I've also made a microblaze project that reads just fine from IO28-IO30 and writes to IO26-IO27, so I SHOULD be good to go.

Only problem is, that if I combine these two, I can only load one as a topfile and thereby only load one of them!?

So how do I program both the microblaze AND the verilog file to be run in parallel onto the FPGA?

 

Thanks in advance

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Would the right way be to. I.e. export the IP to a custom IP and then load it in the microblaze?

Or maybe the other way around, load the microblaze exported HDL in the top.v file? This one I have a really hard time understanding how I could do with the humongous inputs and outputs :-) 

Link to comment
Share on other sites

  • 0

Hey,

There are a couple of different options:

  1. You can potentially instantiate the microblaze HDL wrapper in your own sources - I haven't tried this before and you might run into some unexpected issues, and as you say, potentially lots of inputs and outputs to manage in the HDL.
  2. You can edit the generated HDL wrapper (making sure to turn off automatic updates) to instantiate your cores and wire them to ports and microblaze.
  3. You can add the top level of your sources to the microblaze block design as an RTL module (right-click on an empty part of the bd and "Add Module"), then wire up some ports and constrain them as before. This is easier than exporting to a custom IP. If you don't have strict requirements, you can control the module's ports from microblaze using various AXI IP like an AXI GPIO or an AXI FIFO (or if you do have stricter requirements, something like DMA, but that's more complex).

I personally would tend to prefer #3, but everyone has their own preferences.

Thanks,

Arthur

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...