Always questions about wishbone!!

Recommended Posts

Hi all,


Seems that I really do not understand :( and hopefully some great guru will explain.


I read carefully the small ZPU codenamed "ZpuQuadDec" which I found elsewhere in the Showcase section.


In the "zpuino_quadcounter" VHDL file there is the description of the wishbone in the "entity" part, and then further in the code, some of the wishbone bits or vectors are used.


Output of the decoder (direction of rotation) is written in the WB_DATA_O vector, and some other bits are used to control the flow.

I understand the logic of the VHDL code, but what I could not figure is how to retrieve in the "microprocessor" the WB_DATA_O value.


I read carefully the ZPUINO-1 book written by Alvie, but I was unable to understand the link between the wishbone and the GPIO port, which is where I suppose the data are read/written.


When you write a C code with the ARDUINO IDE, you use PPS and the other functions related to port definition, but this implies to define the pin you arec working with.

Here in the VHDL code, I did not find any mention of pin or the like.


May be I'm completely wrong, but the least I can say is that I'm lost :wacko: :wacko:


Could someone give me some explanation and/or a simple example ?


Thanks for your patience and help.

Share this post

Link to post
Share on other sites

Wishbone is an Open Source interconnection bus intended to be used inside FPGA’s. It is a standardized way to connect peripherals to soft processors, in theory any Wishbone peripheral should be able to connect to a soft processor that supports Wishbone.  It’s kind of like a computer’s ISA or PCI bus, but without any of the physical requirements. To learn more visit the Wikipedia page or the home of Wishbone – Opencores.com.


When you add a wishbone compatible peripheral to a wishbone compatible soft processer you are making that peripheral available in the soft processors IO space. So you can read or write to the wishbone peripheral by simply reading or writing to a memory location.


For examples of using wishbone look at the Papilio Schematic Library tutorials, I just released a new one last night:



Share this post

Link to post
Share on other sites

Wouah!!! Long reading with lot of interesting stuff!


I will try to go through this during the WE.

Thanks for help, and be assured tha

t i will annoy you another time B)

Share this post

Link to post
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