Another XMM Board - PropXMM-SFE-1MB
jazzed
Posts: 11,803
Hi. You might never guess that I've been working on yet another XMM board [noparse]:)[/noparse]
Board Features
All prices are preliminary and subject to change without notice and do not account for incentive discounts.
Attached are pictures of the board in the enclosure and the 2 COG XMM 3.6MB/s driver.
Also attached is a 1 COG XMM driver which is about the same speed for reads, but slower for writes.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
Post Edited (jazzed) : 6/26/2009 9:37:35 PM GMT
Board Features
-
P0-11 1MB of 10ns to 15ns SRAM accessible at 3.6MB/s raw read/write (or better).
P12-15 reserved for SDIO interface to either uSD or the Olimex ENC ethernet breakout.
P16-23 reserved for either VGA or TV (P20-23) and free user pins (P16-19).
P24-25 MiniDin6 for Mouse or other two wire +5VDC powered device.
P26-27 MiniDin6 for Keyboard or other two +5VDC wire powered device.
P28-29 EEPROM DIP8 socket - P28 also connected to SRAM write enable.
P30-31 Prop-plug Connection - P30 also has 0.125" speaker jack.
The board dimensions are compatible with the $10 Sparkfun black plastic enclosure.
-
PropBoxXMM + TV + VGA + uSD Card ... $180.00
PropBoxXMM + TV + uSD Card ... $170.00
PropBox + TV + VGA + uSD Card ... $160.00
PropBox + TV + uSD Card ... $140.00
PropBoxXMM FAB only ... $40.00
PropBoxXMM + TV (no case, no uSD card) ... $120.00
PropBoxXMM + TV + VGA (no case, no uSD card) ... $130.00
A Parallax PropPlug is required for programming.
External cables and power supply are not included.
Take out $10 for assemblies without 2G uSD card.
Take out $15 for assemblies without SparkFun Enclosure.
Add $10 for pre-cut enclosure faceplate. Enclosure faceplate will not be assembled or milled.
All enclosures require milling for uSD push-push access and speaker jack connection.
Enclosures for VGA assemblies require milling and extra labor is included in assembly prices.
All prices are preliminary and subject to change without notice and do not account for incentive discounts.
Attached are pictures of the board in the enclosure and the 2 COG XMM 3.6MB/s driver.
Also attached is a 1 COG XMM driver which is about the same speed for reads, but slower for writes.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
Post Edited (jazzed) : 6/26/2009 9:37:35 PM GMT
Comments
I presume you have 2-3 latches for the address lines or are you using a CPLD?
I think there is a nice translucent blue version sparkfun case that would be nice.
XMM
===
There is no doubt that the differing versions of XMM will be slower than hub ram access, but it opens up access to large programs that may not necessarily require the full speed of the prop, but do require its intelligent peripherals by using other cogs. There is no doubt that all these XMM versions will make an impact on the applications of the prop.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
It's 2.125 clocked/latched chips [noparse]:)[/noparse] I put off the CPLD thingy for the time being.
The clear SFE Case looks pretty cool but is $12 a pop www.sparkfun.com/commerce/product_info.php?products_id=8632
The black SFE case is $10 a pop (higher than I remember) www.sparkfun.com/commerce/product_info.php?products_id=8601
I need to take another picture, and I'm working on a 1 COG driver that's around 3.2MB/s.
Will post these later.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
my 6.250MHz custom Crystals now available - run your Propeller at 100MHz!
Las - Large model assembler for the Propeller (alpha version released)
Largos - a feature full nano operating system for the Propeller
www.mikronauts.com - a new blog about microcontrollers
Damn - I wish I designed hardware - you guys have all the fun!
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
I saw your post [noparse]:)[/noparse] Don't be shy. I was just thinking the next new board I do will be a latched 32 bit wide data bus straight from Propeller and clock-latched address with memory mapped perpherials and a second Propeller just for fun [noparse]:)[/noparse] First level device access using upper bits in the address phase from Propeller for command signalling will be monitored and acted upon by a small CPLD (or the secondary Propeller) and latches. A second level Bridge device will allow connections to other peripherals via a large address and data bus (think in terms of 100's of MB of SDRAM) and whatever can be connected to remaining pins on the secondary Propeller. ... Now where's that thread you started where I suggested a 20MB/s XMM bus is possible?
@Bill and @Ross, thanks guys. Now back to·my XMM C demo.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
Looks nice in a box. Yeah $10-$12 is a bit steep, but you don't have to put it in a box, but it sure is nice to be able to do so.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
if I would like to use it with SD-card, VGA, mouse, and keyboard there are no pins left for other things
except maybe P28-29 with I2C-IO-expanders
So I'm asking what kind of applications can be done with no IO-pins left for sensors or actuators ?
best regards
Stefan
Wading through the Xilinx tutorial, it struck me that a parallel load, up down counter can easily be implimented on CPLD.
Take for example the code below. Can write a 16 bit address for random access and inc or dec the counter for sequencial access by clocking a single Pin X times.
What are your thoughts ?
-- Company:
-- Engineer:
--
-- Create Date:··· 11:58:26 06/25/2009
-- Design Name:··· Prop CXTERM
-- Module Name:··· pcpld - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity CXTREME_CPLD is
··· port( Number: in std_logic_vector(0 to 15);
··Clock: in std_logic;
··Load: in std_logic;
··Reset: in std_logic;
··Direction: in std_logic;
··Output: out std_logic_vector(0 to 15) );
·
end CXTREME_CPLD;
architecture Behavioral of CXTREME_CPLD is
signal temp: std_logic_vector(0 to 15);
begin
--I don't know why I have to include 'temp' but I get a warning otherwise?
·· process(Clock,Reset,Load,Direction,temp)
·· begin
····· if Reset='1' then
········ temp <= "0000000000000000";
····· elsif ( Clock'event and Clock='1') then
·· if Load='1' then
····· temp <= Number;
·· elsif (Load='0' and Direction='0') then
····· temp <= temp + 1;
·· elsif (Load='0' and Direction='1') then
····· temp <= temp - 1;
·· end if;
····· end if; Output <= temp;
·· end process;
end Behavioral;
Regards
Ron
Post Edited (Ron Sutcliffe) : 6/25/2009 7:42:39 AM GMT
It is possible to share I/O pins across multiple devices.
As an example, I reasoned I could add an sdcard to a board
that has no free pins, but that has an LCD shared with I2C bus.
regards peter
@Ron, The function sounds a lot like the HX512K CPLD. Instead of having to spend Propeller instructions sending a clock, it seems to me that anyone could load a down counter and use a free running clock. I assume you've also looked at the CPLD discussion in the 6.6MB/s thread. That looks like VHDL which I never bothered to learn but except for some of the horse designed by committe stuff, I can get the functions ... looks a lot like Verilog in many ways. I always thought Spin was influenced by Verilog/VHDL.
@StefanL38, there are 4 pins free if TV is used instead of VGA. I was thinking about a hand-held game console using QVGA or TV, a tiny joystick instead of mouse and some action buttons or accelerometer instead of keyboard. The DIN-6 connectors very conveniently have +5V like all mouse/keyboards, but I've never heard of anyone on this forum using a DIN-6 for connecting a GPS or other devices. Something to consider.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
-OE Sorry I didn't know what you were doing to warn you. I fell into that trap with my TriBlade
Yes, I am using the Hirose microSD from DigiKey HR1941CT-ND. It is fairly easy to hand solder as the pins are exposed. Don't forget to not place any tracks under parts of the socket as it could short
I also found the CUI smt audio jack 4 conductors (for TV and audio using iPod video standard pinout so you can buy RCA cables cheap from eBay) DigiKey CP-43514SJCT-ND, VGA DigiKey 609-2802-ND, PS2 DigiKey CP-4060-ND, miniUSB DigiKey WM17115-ND, RCA (TV) DigiKey CP-1403-ND, Power Sw DigiKey 679-1854-ND, Pwr Connector 2.1mm DigiKey CP-202A-ND (we use 2.5mm in Australia). Some of these are smt and some are t/hole. Hope this helps
Would be great for everyone to use the same parts where possible
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
Post Edited (Cluso99) : 6/25/2009 9:15:47 AM GMT
The counter is basically loads just like the 16bit latch, but it can also be incremented and decremented from an additional CLK pulse To provide faster addressing of a block.
Yes you are right HX512K without the 8bit bottle neck. Umm ...Maybe I should set up a post increment mode......more to think about
I do like the little prop in a box, really neat. There will be lots of interest in it I'm sure.
Ron
Funny you are using the same audio jack as me; I figured I could mount the smaller circumferance device in the same pads if necessary for iPhone head-seats. The one on the board has an extra pin on the back and there must be 10K of those at ACE around the block.
I too was attracted to the exposed Hirose uSD pins, and from the looks of of the loops on this prototype board (could not find a ready made eagle body), that was a good decision [noparse]:)[/noparse]
@Ron, glad you like "prop in a box" [noparse]:)[/noparse] An enclosure is almost always the hardest thing to find (at a reasonable price) except for cell-phones (search "housing" on ebay for examples ... lots of cool stuff there in Hong Kong). Post-increment is not very useful to me since you have to strobe something to make it work. I would rather just say "give me N bytes on t schedule" and then suck up the bytes with a wrbyte loop (or other collection mechanism like a long string of self-modified words).
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
Post Edited (jazzed) : 6/25/2009 5:44:29 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Which flavour of Xilinx chip were you aiming at ?
I am just about to start experimenting with some XC9532s, which I had lying about. I have made the PIII cable interface, an elaborated XC board, a bit like Leon's, and a few input switches and output LEDs. XC9572s would fit as well but 144s and up, would req another board.
Also which is better VDHL, or Verilog (for a beginner). Most of the written stuff I have here is Verilog. I was originally aiming to bolt them onto Z80s, but the prop would not escape.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Style and grace : Nil point
If I decide to sell any assemblies, preliminary "list prices" for "PropBox" are mentioned in the top of thread post.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
Post Edited (jazzed) : 6/26/2009 5:59:04 AM GMT
Well I have only just started playing with Xilinx Coolrunner, so I am no expert. I have been working through the VHDL Tutorials. I am thinking in terms of XCR3064XL.
There is plenty of resources to do the job, but I am thinking that Dram is so inexpensive the cost of a $10 CLPD is not so important. The more I play with this Coolrunner the more I like it.
Regards
Ron
Yes, but the clock should generated by a Propeller pin so it can be a good multiple of crystal frequency and gated, etc... if necessary.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
Well, in any event the only way to get great data rates with low interface pin counts will be with a CPLD (serial data rates are nice but not great). But even with a CPLD there is number crunching to do before actual transactions happen.
Meanwhile, If no one is interested in the product based on the list above, then this is a dead duck. I'll finish the XMM C demo to see if it's worth anything, but I'm out of time for now [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
Anyway, you cold probably drive a 41lV16100B Dram with 21 pins directly from the Prop, without external latches. We are all paddling own own
canoe at the moment [noparse]:)[/noparse]
@Kuroneko any thoughts on using Dram and CPLD to emulate Sram, could be cost effective
Ron
Post Edited (Ron Sutcliffe) : 6/26/2009 2:55:40 AM GMT
Wait till the smoke clears from UPEW. There's so much stuff going on at the moment that it's really hard to figure out where it's all going - but good designs will always sell.
The C demo would be a good selling point (not trying to self-promote here, since I presume you mean using your XMM extensions to ICCPROP). It just seems to me that most of the XMM boards currently under development are either being used to support various processor emulators, or to support C programming. Or did you have another application area in mind for your board?
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
It is obvious, there is a lot of interest with 2·items...
It is easy to tell this from the number of posts and views.
There are·3 or 4·very specific applications for External memory...
As long as it does not break your bank, every effort is worthwhile. I have no doubts my solution is correct for emulation and PropOS because random access to bytes is paramount and so is speed, particularly in emulation. However, other solutions such as yours are likely to be·better for sequential long access. There of course will be refinements. The RamBlade circuit (be it over 1 or 2 pcbs is irrelevant) is second generation and is manifestly simple, cheap and fast for what it is intended to do. It is just how to "package" the circuit which has to be refined for maximum benefit to others.
FWIW There are about 25 TriBlade pcbs out there.· It didn't cost me too many $$ other that time, and I really enjoyed designing and discussing it. · I cannot really gauge the interest in the RamBlade or it's module version, but I will still do it for fun.
When I get some time (after RamBlade, etc) I think I may·resurect my faster Spin Interpreter to use XMM.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
My main goal with XMM is to execute LMM C programs using as few Propeller pins as possible.
Someone pointed out that having only 20 free Propeller pins is still not enough though [noparse]:)[/noparse] oh well.
I'm considering a multi-propeller variant solution as I previously articulated in a response to Ron.
Haven't drilled into the gory details yet, but the idea keeps bubbling back up.
The idea of the same number of transactions for any data type width is a goal.
Interface transactions might be doable with 5 instructions for read.
The idea of a 256MB or 512MB linear address space is also very attractive [noparse]:)[/noparse]
@RossH, BTW I am very serious about providing drivers for use with Catalina.
I'm just challenged by time and the amount of work to do right now.
At least the board I'm developing has a 128KB EEPROM for EMM/XMM and uSD adapter [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
Post Edited (jazzed) : 6/26/2009 2:42:27 PM GMT
I throw things at you, because I know it will be given serious consideration.
There would be·not many new C uses without your on going support. They would have thrown in the towel a
long time ago.
Take break, play golf and spend some time in the 19TH
Regards
Post Edited (Ron Sutcliffe) : 6/26/2009 6:13:10 AM GMT