Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Valued Contributor III
1,159 Views

BeMicro SDK USB connection to host

Does anyone know if you can connect from user space on the FPGA out to the host computer via the USB connection? On the block diagram, the arrow from the programmer to the FPGA goes one direction. I'm a hobbyist with professional VHDL and SOC design experience; but, for a home project, I don't necessarily want to go through the effort of connecting up the ethernet MAC to get started. Is there an alternative to the licensed Mobile DRAM controller? 30 days is generous, but for someone just looking to have fun, the IP core's cost is prohibitive. 

 

$79 is a great price tag for hobbyist entry, but the board appears to be designed for professionals with access to ethernet and the costly memory controller. Anyone's advise would be really helpful to know what I'm may be getting into!
0 Kudos
3 Replies
Highlighted
Valued Contributor III
11 Views

 

--- Quote Start ---  

Does anyone know if you can connect from user space on the FPGA out to the host computer via the USB connection?  

 

--- Quote End ---  

The BeMicro-SDK implements an Altera USB-Blaster for programming the FPGA via USB. This interface can be used to communicate with applications, but the resources Altera provides are a bit limited in my opinion. 

 

Here's what you can do; if you have a NIOS FPGA soft-core within the FPGA, then you can implement a JTAG-UART to communicate between the FPGA processor and your PC. However, rather than creating a Virtual COM Port on the PC so that you can use a regular UART, you have to use Altera's nios-terminal program. There are some DLLs that others have managed to get working too. Search the forum. Altera also has a component called a virtual JTAG interface (sld_virtual_jtag). This gives you direct control of logic within the FPGA via the JTAG interface. The software support on the host is again limited to Altera tools, eg., quartus_stp, however, you can write a Tcl server and then control your hardware remotely from other software. 

 

 

--- Quote Start ---  

 

Is there an alternative to the licensed Mobile DRAM controller? 30 days is generous, but for someone just looking to have fun, the IP core's cost is prohibitive. 

 

--- Quote End ---  

How hard is it to write your own? I looked at the data sheet, and it didn't look much more complex than an SDRAM controller. I just haven't had time to look into it more.  

 

 

--- Quote Start ---  

 

$79 is a great price tag for hobbyist entry, but the board appears to be designed for professionals with access to ethernet and the costly memory controller. Anyone's advise would be really helpful to know what I'm may be getting into! 

--- Quote End ---  

I have the BeMicro-SDK and the BeMicro. The BeMicro is a bit nicer with respect to communications in that it has a FTDI FT2232 for the USB interface, so you can access the board via a COM port. However, the USB-Blaster is some custom job written by Arrow, and I'm not sure that it works under anything by Windows XP 32-bit (and Linux). The other option that looks pretty nice is the Terasic DE0-nano. I suspect that has full support via Altera IP cores. 

 

Cheers, 

Dave
0 Kudos
Highlighted
Valued Contributor III
11 Views

Thanks! 

 

* JTAG-USB ... interesting approach! Seems like that would work fine for most applications, but not have great bandwidth. It's a little more complex of a design; with that level of effort, it may just be easier/more fun to get the Ethernet MAC working. 

 

* Not sure how difficult it would be to write my own Mobile DRAM controller; it's obviously not entirely trivial else they would be able to support a $7500 price tag. Anything is possible; it's just a matter of how much time/energy I'd want to invest into that vice my actual hobby goal. 

 

* The Terasic Nano also looks like a good option as well; the difference is the external connectivity. The BeMicro has a built-in Ethernet MAC, but the Nano has easily accessible GPIO headers. Sparkfun has both USB (FTDI chipset) and Ethernet (MAC or PHY chips) boards for about $35 each. With the Nano's easily accessible IO, it would be super easy to connect out on a link independent from the JTAG port. 

 

Thanks for the insight!
0 Kudos
Highlighted
Valued Contributor III
11 Views

 

--- Quote Start ---  

 

* JTAG-USB ... interesting approach! Seems like that would work fine for most applications, but not have great bandwidth. It's a little more complex of a design; with that level of effort, it may just be easier/more fun to get the Ethernet MAC working. 

 

--- Quote End ---  

The JTAG interface is very useful for hardware tests. But yes, its not exactly fast, so if your application requires a high host-to-FPGA bandwidth, its not going to work. 

 

 

--- Quote Start ---  

 

* Not sure how difficult it would be to write my own Mobile DRAM controller; it's obviously not entirely trivial else they would be able to support a $7500 price tag. Anything is possible; it's just a matter of how much time/energy I'd want to invest into that vice my actual hobby goal. 

 

--- Quote End ---  

Yep, exactly. I haven't yet had the desire to sit down and look at it either. 

 

 

--- Quote Start ---  

 

* The Terasic Nano also looks like a good option as well; the difference is the external connectivity. The BeMicro has a built-in Ethernet MAC, but the Nano has easily accessible GPIO headers. Sparkfun has both USB (FTDI chipset) and Ethernet (MAC or PHY chips) boards for about $35 each. With the Nano's easily accessible IO, it would be super easy to connect out on a link independent from the JTAG port. 

 

--- Quote End ---  

The 100-mil headers on the DE0-nano do make it a lot easier to interface to other boards. There is a breakout board for the 80-pin edge connector on the BeMicro and BeMicro-SDK, and a few peripheral boards from Hitex; I recall one with CAN and Ethernet. However, I think the DE0-nano and Sparkfun boards would be a good option. 

 

Before you buy the boards, add up the total cost, and compare it to the price of the Terasic DE2 boards. They're a little more expensive, but they have a few more communications options. They do have a USB controller on them, so you could create a better host-to-PC interface than the JTAG interface. 

 

Cheers, 

Dave
0 Kudos