[Balloon] Getting Started with BalloonBoard

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Patrick Doyle
Date:  
To: balloon
Subject: [Balloon] Getting Started with BalloonBoard
Can anybody point me at a "Getting Started with BaloonBoard" resource?

As background, I would like to use a BalloonBoard as a testbench to
control a custom ASIC. I have a pile o' Verilog code that I use
currently in simulation for testing the ASIC. I would like to drop
that code into an FPGA and control it with an external processor. I
would also like to talk to that external processor from some desktop
(or laptop) PC.

If I were to design this test board my self, I would put an FPGA next
to an embedded processor (such as a PXA270, or an OMAP). Gee, that
sounds a lot like a BalloonBoard. :-)

I've poked around the wiki a bit and have learned a few things.

1) It seems that I can plug into J14, apply power & ground, and talk
serially to the board.
-- as an aside, http://www.balloonboard.org/balloonwiki/Software
states that I need to apply power via "the main molex connector
J10,..." I believe that should be "J14" (at least according to the
schematics).

-- as another aside, is the BOM for the BalloonBoard online anywhere?
It would be much simpler for me to look up J14 on the BOM and find the
mating connector at Digikey than it would be to try to guess what
"PH200_4WAY_RT" means.

-- as yet another aside, for any security folks who happen to be
monitoring this email, "BOM" refers to "Bill of Materials", and not
homophones that might come to mind when pronouncing it out loud. I'm
not even going to touch "Pinko connector" here.

2) It would be nicer if I could plug a USB cable into the board, plug
the other end into a PC and speak TCP/IP to the board from a random
Windows based PC. Does the USB OTG or USB client work well enough to
do this? Does Windows support this (via USB "gadget" or some other
other mechanism).

3) It just dawned on me yesterday that the FPGA on the board might be
required for correct operation of the board and that I may not be able
to program it with my own arbitrarily custom code. Can I put
arbitrarily custom code in the FPGA?

4) I read in 1.0-stable/vhdl/README:

You are strongly urged to read "L3 Hardware" before altering these files

    where would I find the "L3 Hardware" document?


-- BTW, http://www.balloonboard.org/balloonwiki/BalloonFPGA says that
the FPGA code can be found at:

$ svn checkout svn://www.balloonboard.org/balloon/trunk/vhdl/ balloonboard-vhdl

    Some spelunking suggests that it might really live at:


$ svn checkout svn://www.balloonboard.org/balloon/balloon/tags/1.0-stable/vhdl

I'm happy to sign up for a wiki account and make these changes as I
find them. Is there some sort of review process that will ensure that
I don't change them incorrectly and thus direct people in the wrong
direction?

5) Assuming I can place my own code in the FPGA, can anybody point me
at an example of using the FPGA to do something simple, say blink an
LED or something, by running code in userland on the processor,
communicating with the FPGA via a device driver (perhaps even
something as simple as opening /dev/mem and writing to registers via a
memory mapped interface)? What if I wanted something a little more
complex than that with interrupt generated events?

Thanks for any tips and pointers folks can give me. I am asking all
of this in the spirit of "If I don't ask, I won't find out" and not in
the spirit of "can you do this for me". If I designed the board
myself, I'd have to do all of this myself. If other folks have done
this already and it's just a matter of finding the right pages in the
wiki showing what they've done, I'm glad to stand upon the shoulders
of giants and learn from them/you.

Thanks.

--wpd