Jump to content
  • 0

MicroBlase is necessary for serial communication with PC


Tim.O

Question

4 answers to this question

Recommended Posts

@hep77,s

Microblaze is not required for serial communication.  I have many projects that I have built which use the serial port without using a Microblaze.  Indeed, you'll be able to use much more of your FPGA if you don't need to support the weight of the Microblaze.

That said, without the Microblaze processor, you won't have access to the C library.  You'll have to do your work instead in RTL.  Personally, I don't think that's a problem--I think it's a benefit of the approach.

Dan

Link to comment
Share on other sites

MicroBlaze or NIOS might be required if you are constrained to doing design using the Xilinx or Intel soft-processor centric IP. I haven't had the need for a soft-processor for a few decades; and I'd have used an ARM based FPGA it it were available. If you look through the Digilent Project Vault you'll see source code for connecting your FPGA design to a PC through a UART in quite a few of the posted projects.

The UART is the most trivial way to connect your FPGA design to a PC, except for the PC application if you are using Windows and C or C++. Python not only is easier but works on Linux or Windows.

There are other ways to pass data between your FPGA and a PC. Here are some of the ways that I do it.

  • Up to about 100KB/s using a USB UART
  • Up to 1 MB/s using an FT245R
  • Up to about 30 MB/s using the Digilent ADEPT DPTI on boards that support it
  • Up to about 45 MB/s using the FT232H, FT2232H
  • Streaming up to 350 MB/s using the Cypress FX3 USB 3.0 or FT60x USB 3.0
  • 2000 MB/s and higher using multiple lanes of PCIe Gen2 or Gen3

[edit] A few more methods failed to come to mind when I first wrote this list:

  • near 125 MB/s full duplex using 1 GbE PHY ( that's payload and no standard Ethernet packet types ). This involved a Cyclone V GT development board with 4 PCIe lanes and a 1 GbE PHY.
  • 900+ MB/s between Genesys2 boards using 4 mDP transceiver lanes with Aurora ( not really a PC connection here )

You will find any of these, except the UART, hard to do unless you learn how develop using the HDL source flow**.

All of the FPGA vendors support users who are happy to be confined to a playpen where what they can do is limited to a small selection of toys. Generally this involves using a soft-processor and IP which uses up way more resources than necessary. But, if you don't have big dreams, appears to make it all easy... until you want to make the toys do something different.

Thanks for the question because it reminds me that I've been meaning to post on the topic of breaking out of the playpen.

** Digilent does provide board design IP for the DPTI that is compatible with the MicroBlaze.

Link to comment
Share on other sites

Dear D@n

Thank you for your comment. 

>Microblaze is not required for serial communication.  I have many projects that ....

After I got this message, I started to look for how people are controlling uart without Microblaze, and I found several VHDL examples. And now, I'm controlling it without Microblaze.     

Link to comment
Share on other sites

Dear zygot

> MicroBlaze or NIOS might be required if you are constrained to doing design

Yes, for the time being, I do not need C libraries, So I removed Microblaze from my design. But, at some point, I would like to use C or python on FPGA, then, I will again start to use soft-processors.     

And that you for the nice summary showing possible measures to communicate with FPGA

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...