Far, far from perfect.
John
Far, far from perfect.
John
On a sunny day (Sat, 06 Jun 2009 09:10:08 -0700) it happened John Larkin wrote in :
optical,
Yes, I know, I get mail from the FPGA companies advertising ever faster serial links..
Maybe I did get the setup wrong, I was under the impression you wanted to connect some embedded stuff with a FPGA in it to a PC with PCIe?
Does there not exist a PCIe card with a super fast serial link (perhaps optical) that you can plug in? And then have the FPGA do the other end of the link? You could then make your own protocol too.
optical,
links..
connect
That would just complicate life.
If we were doing volume stuff, we could go PCIe straight into the FPGA. But the engineering and the risk would be absurd, and we'd probably come out behind on dollars... the PLX chip is cheap, and lets us use a cheap/slow Spartan FPGA.
The PLX turns PCIe into a relatively simple parallel memory-bus sort of interface. We're planning to hop a short PCIe "riser" cable from the SBC to our custom board, straight into the PLX chip. After that, it's all slow (66 MHz) parallel stuff.
The PLX chip doesn't support configuring the FPGA (Gennum and others do) so we'll do that off to the side, from a printer port connector.
John
There are some changes in the driver model for the Linux kernel every now and then. A bit of a pain in the ass but unavoidable due to technological advances. The same happens with windows.
-- Failure does not prove something is impossible, failure simply indicates you are not using the right tools... "If it doesn\'t fit, use a bigger hammer!" --------------------------------------------------------------
Virtex6 and Spartan6T have built in PCIe end points (hard cores - let's hope they get the bugs out before shipping). This should give higher performance, and I'm expecting the Spartan6T ones to be cost competitive with external bridges.
Because they are hard cores, there will be well tested application notes and sample designs, which hopefully will reduce the risk somewhat.
This can also be done over USB using an FTDI chip, if you have a spare USB port available. You can use existing driver software if you copy the design of one of the JTAG programmers.
Regards, Allan
optical,
links..
connect
Consider the simplest possible computer interface, one that lets you read the level of a single TTL input.
CAMAC: Takes one SN7438
VME: Two chips, an MSI address comparator and a 7438.
ISA: ditto, maybe less. Actually, you could do it with one gate. And a single-line Basic program will print things like "The bit is HIGH", no drivers required.
PCI, USB, PCIe: simply not feasible to design the hardware from scratch (well, maybe PCI into an FPGA... maybe) and then you still need drivers.
Ditto programming in general. The days when a kid could hack a working interface into a PC, or write a simple starter program, are long gone. So the ones who do program start way up the abstraction stack and don't see clear to the bottom.
Every PC should have a general-purpose 16-bit parallel interface connector and a simple way to access it.
John
On a sunny day (Sat, 06 Jun 2009 11:20:49 -0700) it happened John Larkin wrote in :
Yes, there is the par port of course, I use that here. Very long time ago in the eighties, I did ISA cards, with I/O, lots of I/O...
Then there will be USB3, it is already here, the first controller chips are available. And there is gigabit Ethernet, it is actually simple to write the PC side for Ethernet in Linux (dunno about MS). The driver side is already done, you can do your stuff in user-space, as I have done here:
optical,
links..
connect
optical)
I did the same with a Virtes-E and PLX PCI bridge chip, some years back. There were no odds in messing with PCI.
Have you considered using Actel? I may go that way on my next design. Configuration is a PITA for a small design. If bleeding edge speed isn't needed there is no reason to go for an SRAM based FPGAs.
optical,
serial links..
connect
optical)
You forget the crucial ingredient here: The kids. The ones I know don't have much of a drive anymore to do stuff like that. They'd rather buy electronics. And oh, if has to be Bluetooth-enabled. Of course.
Yeah, it's all VHDL and stuff. I was quite shocked when several years ago I had to explain the most basic analog stuff in my circuits to a guy with a fresh M.S.E.E. The transistor-level side of things just was not there at all. That's ok, I'll gladly do that, but what happens when us old farts are, say, in our 80's?
Who's going to use it except you, me and a handful of others? That user percentage wouldn't even justify the cost for the rivets to mount the connectors.
-- Regards, Joerg http://www.analogconsultants.com/ "gmail" domain blocked because of excessive spam. Use another domain or send PM.
Ooh ooh, I know the answer!
It means more business for me. ;-)
Tim
-- Deep Friar: a very philosophical monk. Website: http://webpages.charter.net/dawill/tmoranwms
optical,
links..
connect
optical)
I guess that at some point the PCs will start to use IP internally to connect all the peripherals. PCI express offers backwards compatibility with PCI but under the hood PCI express behaves like a network. Because PCI express is serial it can be extended with a cable as well.
Anyway, in a short while USB3.0 will see the daylight. Some people already predicted USB 3.0 will replace PCI express and SATA. We'll propably see motherboards without expensions slots in a few years.
-- Failure does not prove something is impossible, failure simply indicates you are not using the right tools... "If it doesn\'t fit, use a bigger hammer!" --------------------------------------------------------------
Tim Williams a écrit :
But you're using way too much transistors...
-- Thanks, Fred.
snipped-for-privacy@puntnl.niks
Agilent
reboot....
in
optical,
Gee, doesn't your PC have gigabit Ethernet? How about SATA at 3Gb/s? Want still more? You can have 10G Ethernet, your choice between wire or optical, if you want. 3 Gb/s USB is coming within the year. Or isn't 16 lanes of PCIE enough? HyperTransport at 3GB/s is old hat as well.
PCI is quite viable in run-of-the-mill FPGAs these days, and if you aren't interested in performance (just that "read a single TTL input" you described), you can even get away with a mid-sized CPLD.
Low-speed (1.2Mbps) has even been done in dirt-cheap microcontrollers, e.g.,
But I agree with you in general that PCI, USB, and PCIe are typically a rather large step up the complexity scale from someone used to doing "inp/outp" or talking to a UART.
True, but it is still trivial to slap down, e.g., an FTDI chip that connects to USB on one side and has a regular RS-232-like serial output or 8-bit parallel data bus on the other side and start getting their software going.
And for a kid looking to get some experience, there are many dirt-cheap microcontroller-based starter boards available today, and many of those microcontrollers still have a bog-standard parallel address/data bus that can be used for simple I/O.
The BeBox guys agreed with you, having included a "GeekPort" on every machine they built:
---Joel
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.