First look at the BeMicro CV-A9 FPGA board
ozpropdev
Posts: 2,792
Hi All
I had a quick play with my BeMicro CV/A9 board and thought I'd share the results.
I built a standard P1 with font,trig,log tables removed.
Hub was expanded to the maximum accepted by Quartus for this device.
1152K Hub Ram! (-4k rom)
I replaced then booter with a dedicated PASM memory test module which
verified the hub memory operation. Hopefully some tweaks can be made to the
spin interpreter to take advantage of the large hub space.
Here's the build results from Quartus.
Note how many ALM's are free for extra stuff.
Also here is some pinout diagrams for the two 40 pin headers to help with pin assignment.
Stay tuned!
I had a quick play with my BeMicro CV/A9 board and thought I'd share the results.
I built a standard P1 with font,trig,log tables removed.
Hub was expanded to the maximum accepted by Quartus for this device.
1152K Hub Ram! (-4k rom)
>map +------------------------------+ $000000: | | | 60k Hub RAM | $00EFFF: | | +------------------------------+ $00F000: | | | 4k Spin/Booter ROM | | booter2.hex | $00FFFF: | | +------------------------------+ $010000: | | | +1088k Extra Hub RAM | $11FFFF: | | +------------------------------+ >Sadly the SPIN interpreter fails with hub > 256K.
I replaced then booter with a dedicated PASM memory test module which
verified the hub memory operation. Hopefully some tweaks can be made to the
spin interpreter to take advantage of the large hub space.
Here's the build results from Quartus.
Quartus II 64-Bit Version 15.0.2 Build 153 07/15/2015 SJ Web Edition Family Cyclone V Device 5CEFA9F23C8 Logic utilization (in ALMs) 10,071 / 113,560 ( 9 % ) Total registers 6415 Total pins 74 / 224 ( 33 % ) Total block memory bits 9,568,256 / 12,492,800 ( 77 % )
Note how many ALM's are free for extra stuff.
Also here is some pinout diagrams for the two 40 pin headers to help with pin assignment.
Stay tuned!
Comments
Ray
I can't seem to find the time to play with my BeMicroCVA9 at this point.... but looking forward to doing so eventually.
I think that is the Spin equivalent of ia86 4GB - with a 16b word index, you will be limited to 256k. Going to 32 ( or 24 ) breaks that barrier, but then Spin code just got larger...
What could be interesting for a P1V would be a means of 16b relative indexes, which would
allow multiple Spin engines to run in different HUB areas.
Launch could be 32b based, but smaller 16b branches within that, would avoid the code-size jump.
===Jac
BTW Spin should fail above 64KB since the hub addresses are held as 16 bit references and are byte addresses.
But what would be nice here is say 2 cogs with 64KB Cog RAM
We could address most of the cog ram as private hub ram, with a small window reserved for the hub.
rdword x,y
rdlong y,y
Roger
I am wondering if Forth might be allowed to load the expanded Hubram and then use every bit of it.
After all, the actual code fits within the SPIN compliler boundaries. The extra RAM could just be accepted as empty dictionary capacity.
If so, it would certainly allow us all to explore the use of the new Hubram capacity while figuring out what to do with the Spin compiler.
I figured it was some sort of rollover issue as removing spin and using PASM only worked perfectly.
I will have another play with it all on the weekend.
Cheers
Brian
I guess I need to replicate the format for the CV_A2 as the BeMicro documentation forced me to dig through several different places. This is essentially what is on the schematic. That's why it is so useful.
SPIN working nicely accessing the 1152K hub now with no issues.
Thanks again for the tip. Saved me a lot of time tracking that down.
Cheers
Brian
Maybe I should get my CVA9 out of the box and actually fire it up. I have been trying to save it until I learned the basics and did all the foolish stuff on the CV_A2.
This certainly should allow one to have a very complete 3D CNC machine controller in a Propeller architecture, or a sophisticated 3D printer.
No problem. I thought it would be useful to mention it...
Roger.
Don't forget you can add another 32 I/O pins with PortB as well.
I went ahead an purchased the BeScope because it came with an adapter for that Edge Connector that will allow me to avoid buying the odd ball plug and and just create a printed circuit board that interfaces.
When I first went to Arrow, they were selling these adapters alone for more than the BeScope, but then they seems to have stopped selling them separately or at least not mentioning them with the BeMicroCV and BeMicroCVA9.
I purchased the BeScope simply because I got both. I AM UNCERTAIN THAT THIS OFFER WILL CONTINUE INDEFINITELY.
Thx
ALE,
Do you have redirections to the Wikispaces in your sig?
It is causing confusing for some users.
Okay, I had to do a bit of digging to find it... and I am uncertain that one can still buy it without buying BeScope bundle, but why would you?
I NOW THINK the device will NOT work unless it has a mated MALE Plug provided by ADI. But you may want to own one anyway and buying the BeScope to do so is a win. Analog Devices has a lot of daughter boards available at Arrow Electronics to use with the BeMicroCV and CVA9.
Take a good look at the photos in the link immediately below provided by Analog Devices.
http://wiki.analog.com/resources/eval/sdp/bemicro_sdp
And here are all the Analog Devices goodies that may plug in, or may NOT.
http://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-platforms/sdp.html#exallist
The device is called the BeMicro ADI interposer and not a true Analog Devices product.
But having taken delivery on a BeScope bundle, it certainly appears it might allow me to create and insert a printed circuit board as long as I get the size and spacing right. I can't be 100% sure at this point.
Here is the Arrow Electronic/BeMicro adware about it.
http://www.arrownac.com/solutions/bescope/
http://parts.arrow.com/item/detail/arrow-development-tools/adiinterposer#QFQn
It seems there are still 59 of them in stock at $50.00 USD, but the darned thing is included in the BeScope bundle at a total cost of $45.00 USD.
And to make the whole ordering more dramatic, the BeMicroCV is out-of-stock now and on a backorder status. I am very unsure that the BeScope will work with the BeMicroCVA9 (something I originally presumed it would).
+++++++++++++
Shopping these FPGA devices can be rather tricky... just too many i/o pins to chase down when you are first getting started.
Together with potatohead I moved the wikispace to my github account. Anybody has read acees and can get write access by just asking:
https://github.com/rosco-pc/propeller-wiki/wiki
I removed the sig.
It seems that they restrict one design scheme to one distribution channel. So when I go to Altera, they list only Arrow Electronics as distributor of the BeMicro devices.
++++++++
I was a bit disappointed that the ADI Interposer requires yet another oddball connector to connect with another board.
I took a look at the 80 pin edge connector and found that the 40-pin wide area is 25mm. So it seems the pitch is 0.625mm and a double sided edge connector would be required. if one could find the right connector for the card edge, that would open up the edge connector to any design one wished to attempt.
I tried searching the internet and found nothing. And anything close to the goal at Mouser or Digikey was expensive (over $10USD by a bit or a lot). Also, I have no designation for the male plug that Analog Devices uses. The 0.625mm pitch is not listed anywhere; either 0.600mm or 0.800mm are mentioned. There may be an 80-pin memory card plug that was adapted to use this edge connector, but I can find anything so far.
I strongly suspect that both connectors are not available to the general public in any fashion. That's a disappointment.
Still, the Analog Device daughter boards do offer some very sophisticated expansion that might free up the PinHeader_A and PinHeader_B for other uses. When using these daughter boards, some consideration must be made about what actual voltage is going to be used for all the logic as low voltage differential Tx and Rx are often used to gain a data bus with extremely high speed. And the low voltage differential Tx and Rx each require two pins, so speed is gained at the sacrifice of available i/o count.
So it seems that the ADI interposer is provided with BeScope to encourage one to buy the ADI daughter boards, and that is about all. There are ADC, DAC, video interfaces, and much more that might appeal to industrial or scientific instrumentation.
Rogloh has made a add on board for his Bemicro Max10 board that has the same edge connector.
I can't remember we he got them from.
See here
"For the high density connector I believe the Samtec part was this : MEC6-140-02-X-D-RA1." -- per Rogloh
http://www.newark.com/samtec/mec6-140-02-l-d-ra1/connector-card-edge-recepticle/dp/85T5569
http://parts.arrow.com/item/detail/samtec/mec6-140-02-l-d-ra1-tr#pp2n
Just having one of these protect the end of the board without actual connection to anything might be wise. I am currently using my ADI Interposer just to protect those 80 pins from contact with the outside world. A HECK OF A LOT BETTER THAN PAYING $50.00 USD. Or simply cover with electrical tape until you are really ready to use, then clean with solvent.
The use of the 80 pin Edge Card connector will allow an additional 57 general purpose i/o to be included in any project. I don't have a complete count of what the PinHeader_A and B offer to get a grand total.
The BeMicro and Analog Device literature offered a vague mention of an MEM 80 position edge connector. Perhaps a typo? The pitch is actually 0.635mm or 0.025inches and accepts 1.60mm thick cards (0.062").
https://www.samtec.com/technical-specifications/Default.aspx?SeriesMaster=MEC6-RA
I was hoping for a double ended device, but I guess Samtec figured out that they would just sell less by making those.... nothing available to butt two edge cards together.
Arrow isn't just a distributor of the BeMicro; they got it designed and manufactured for them by Zephyr Engineering, whose main business is Software-Defined Radios for amateur radio using Altera FPGAs.
I've been working on a little something-something this weekend so I can give those counts for all supported boards:
I'm considering adding a MEC6 breakout board (to IDC headers) to my design for the BeMicroCV-A9 because having only 12 pins of port B doesn't give me the warm-and-fuzzies.
See the attachment for what I have so far; there's no PCB design yet and this isn't done yet: some more headers are going to be added for connecting and for patching. In the final version, most things aren't going to be hard-wired: you'll be able to use jumpers and jumper wires to reconfigure how pins are used.
===Jac
Section 9 iii Change the configuration device to EPCQ256. I assumed that this was equivalent to the N25Q256A13EF8.
Section 9 viii Select Cyclone V and 5CEFA9.
The .jic file was then saved on the PC.
The .jic then downloaded OK using the programmer and the test program worked OK when the board power was removed and reapplied.
I'd can't seem to find much for under $100.00 USD, and those boards seem to demonstrate something like an Analog Devices ADC chip that might individually be purchased for less than $10.00USD.
Analog Devices seems to have all sorts of daughter boards for people with deep pockets. I guess they service university research labs and such.
So it does seem that creating an adapter that takes the 80pin edge connector and migrates it over to something useful (like two ribbon cable connectors) would seem to have some significant usefulness. If one could get a complete 80-pin edge card adapter for $50USD or less, it would seem to be competitively priced with the existing ADI Interposer. Provide some additional regulated power and include a reset button to add value.
===========
I am a little concerned with what Arrow is doing as the BeMicroCV is now a backorder item. Will they continue to offer these $50.00 USD gems?
The Max10 and the CVA9 are still in stock and also use the 80 pin edge connector.
The BeMicro series -- Max10, CV-A2, and CVA9 seem to be more generous with i/o that most lower cost FPGA devices. And it all centers around that 80-pin edge connector.
Can you elaborate on the programming procedure.
Are you using a JTAG plug or the USB-Blaster?
All my attempts to generate a .jic file for the EPCQ256 are met with errors.
As you stated earlier, information from Arrow is vague.
BTW
A quote from the Altera Wiki
Not a good sign
Cheers
Brian
I've updated the Wiki with my notes.
I'm using the on-board USB Blaster.
What exactly are the errors that you are getting when you try to generate a .jic file?