Always questions about wishbone!!


F6EEQ

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.

Link to comment
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:

http://gadgetfactory.net/learn/2013/10/29/papilio-schematic-library-getting-started/

http://gadgetfactory.net/learn/2013/11/15/papilio-schematic-library-10-serial-ports/

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.