Re: [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: Patrick Doyle, balloon
Subject: Re: [Balloon] Getting Started with BalloonBoard
Hello Wookey,
Thanks for your quick response.

On Mon, Apr 11, 2011 at 2:39 PM, Wookey <> wrote:
> +++ Patrick Doyle [2011-04-11 12:49 -0400]:
>> Can anybody point me at a "Getting Started with BaloonBoard" resource?
>
> It sounds like you've found most of it. Exactly what is most
> appropriate depends on what you are trying to do. (fill up a new board
> with code vs. talk to a pre-programmed board with a serial port, vs.
> programming the ASIC)


Mostly I want to drop some existing Verilog code in the FPGA, write
some userland code to run on the processor, and test my ASIC.

>
> Cool, relatively few people have made serious use of the ASIC
> functionality, so any action on that front would be great.

Errr... so many random questions... so little time....

To what "ASIC functionality" are you referring?

Who are some of the (relatively few) people who have made serious use of it?

I'm basically hoping to test my own (custom designed, though not all
by myself) ASIC. Is there some other ASIC to which you are referring?

>> -- 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.
>
> There is this:
> http://balloonboard.org/hardware/300/Loon3_Manufacture_0V1.zip (from
> the 'Hardware' page) But I see that just specifies PH200_4WAY_RT anyway.


There is also this, which I should have looked at before I asked my question:

http://balloonboard.org/hardware/333/loon3v33_Final_PCB_Manufacture.zip

but it also specifies the PH200_4WAY_RT.

I'm waiting to hear back from iEndian regarding what would be included
in the box. If they already include the mating connector (with a DB-9
and a couple of banana plugs), then it doesn't really matter what the
part number is. If I have to buy the mating connector myself (and
attach a DB-9 and a couple of banana plugs), then I'd like to do that
in parallel with ordering the BalloonBoard, just because I get
impatient :-)

Regardless, it seems that what I'm really gonna need is a mating
connector that has some of the FPGA signals on it (along with power
and the RS-232 console port, and hopefully some sort of USB client or
OTG capability). I'll look at the schematics and see what I can find
there.

I'm anticipating the answer will be that the board ships with the
"Balloon3HoppyUSB" board
(http://www.balloonboard.org/balloonwiki/Balloon3HoppyUSB). But, from
the pictures, it seems that I will still need to come up with a
console cable somehow, and fairly shortly after that design my own
breakout board to attach to my ASIC test board (or include an
appropriate connector on the test board).

>> 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).
>
> Yes, that works, but there are complicated if's and buts about doing
> this on Windows as opposed to Linux (where it's easy). You used to
> have to rebuild the USB ethnet gadget with RNDIS support on for
> windows, and off for linux, but I _think_ that's sorted in latest
> kernels. I just can't remember if pxa270 limitation means it can;t
> take advantage of the fix.

When I get to that point, is this the list on which I should ask about
that sort of thing, or is there a better list?

Initially, if I can run a console based application that talks to my
ASIC, I'll be happy (more like ecstatic). Long term, running some
sort of VB application (or even, shudder, LabView), in Windows that
talks to the device over TCP/IP over USB, will be more in line with
what other folks in the group would want to see and be able to use.

>
>> 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?
>
> Part of it is used for flash access and the somosa bus and a few other
> bits of logic, so you do have to be a bit careful putting your own
> code in. However the board-support stuff is logically separated in the
> build system, so it's not hard to put inyour own dollop. The main
> limitation is actually available pins - you need to work out which
> bits of functionality you want to sacrifice. Normally the 16-odd pins
> of the samosa bus are a good target to dedicate to your private FPGA
> interface bits.


OK, this seems like a good place to ask... where can I learn more
about the "samosa" bus? I think I may have read somewhere that it is
similar (or identical to) the flash bus. But what is it intended to
be used for? Is it an industry standard? Or is it something specific
to BalloonBoards?


>
>> 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?
>
> In here: http://www.balloonboard.org/files/balloon3/distro/test-v0.1/docs/
>
> (under a different name - but I think one of those corresponds). And
> yes that was almost entirely undiscoverable. Those docs need linking
> from somewhere useful (and updating!)

ok, I'll take a whack at wiki whacking once I've looked through the
docs and guessed at some appropriate places to add them to the wiki.

>
>> -- 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
>
> There are snapshots in those
> http://www.balloonboard.org/files/balloon3/distro/
> dirs
> and 'latest' in
> http://balloonboard.org/trac/browser/balloon/trunk/package/vhdl


My copy of trunk/package/vhdl has only 3 files in it (Config.in.
vhdl.deps, and vhdl.mk). Perhaps I need to do a build in order for
that directory to get populated with more interesting files. I think
I'll try changing the wiki to point at the v1.0-stable location and
see if anybody notices/screams.

>> 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?
>
> There is a ledblinck example for using a GPIO directly off the board.
> For doing FPGA reality checks you need someone hardwarier than me. The
> 'wishbone.vhdl' stuff is intended as an example of putting in your own
> module, I beleive.

All right, I'll go look there. Thanks.

> Yep, that's how it's supposed to work. We've used the FPGA for
> on-board stuff and the samosa bus implementation, (and CJ put a 1980s
> arcade machine pacman implementation on it once (video essentially
> straight off the FPGA - very cool), but that's about it, and nothing
> much is documented on that front beyond what you've found (and those
> docs in the test-v0.1 release (whcih will help).


Hmmm... I would have avoided looking for stuff in a directory named
"test-v0.1" in favor of looking at stuff in an SVN repository named
"v1.0-stable". But I'll keep the test-v0.1 stuff in mind going
forward.

>
> So please ask lots of questions, then write down the answers in a 'how
> to use the FPGA page' :-)

I can't promise to do that, but I can promise to try to write a "how I
used the FPGA" page :-)

...Assuming things progress to the point that I actually get to use
the FPGA, of course :-)


Well, my train is pulling in now, so I should probably go.

Thanks again for the tips and pointers.

--wpd