What is a PLD/FPGA with serial or Ethernet port logic or block built in

I am looking for a chip with somekind of communication port inbuilt. I am slowly planning a system where some data is sent from a computer to be processed in the chip.

Processing data is probably easy, but I prefer not to make a serial port my self and an ethernet port is too much. But an Ethernet port would be very nice to have.

I would like to have a reasonably priced chip with low cost evaluation board. And I need as many outputs I can get. Some time ago I was told here about LCMXO2-1200ZE-B-EVN and others. It is a good kit/chip but it doesn't have serial port logic built in.

Reply to
LM
Loading thread data ...

Asynchronous serial ports are dead easy if you use a fixed baud rate.

They're so easy, in fact, that I can implement them successfully the first time!!

Here's some Verilog code that implements a basic NAAUART (Not At All Universal Asynchronous Receiver Transmitter). I last worked with it in

2004, and you're not paying a cent for it -- so don't expect much in the way of support. About all I can remember of it is that (a) it worked, (b), the clock rate was 25MHz, and (c) my favorite serial port setup is 115200, n, 1, so that's probably what this is. And -- I'm not an FPGA designer: I just play one on TV. So if anyone wants to critique it, don't think I'm going to be offended.

formatting link

--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
 Click to see the full signature
Reply to
Tim Wescott

The Xilinx Spartan 6 has an in-built Ethernet MAC block, and there are various development boards available:

formatting link

I have never used the Spartan 6, but have used the Ethernet MAC in a Virtex

There are many examples of serial port code on the Interwebs. The search keyword is UART.

--------------------------------------- Posted through

formatting link

Reply to
RCIngham

available:

formatting link

Are you sure that you do not mix this up with the built-in PCIe- endpoint? I think for Ethernet you need a soft IP-core?

Thomas

Reply to
Thomas Entner

available:

formatting link

Opps! Good spot - but I did say that I hadn't used Spartan 6. The transceiver I/O are compatible with Gigabit Ethernet, however.

Maybe PCIe will suit the OP better than Ethernet if (s)he can't afford the soft-core license.

--------------------------------------- Posted through

formatting link

Reply to
RCIngham

Heh. This will help of course. Thanks.

Serial port is a bit slow. Ethetnet port would be more flexible. Wlan, switches and so on.

What I know of PCIe it is only local, inside the computer. I planned to my device to be a separate box. Any license payment at this stage is too much. This is a bit of a hobby now and the millions of euros come later.

Thank you for answers so far Leif

Reply to
LM

Do you actually need an FPGA, or could a fast enough general purpose microprocessor cover your needs? You can really get a lot of horsepower for pennies these days in a micro, and it comes with peripherals for Ethernet/UARTS/whathaveyou already built in.

A lot of my designs use an FPGA together with an off-the-shelf micro, exactly so as not not have to worry about implementing things like Ethernet MACs in the FPGA.

--
Rob Gaddi, Highland Technology -- www.highlandtechnology.com
Email address domain is currently out of order.  See above to fix.
Reply to
Rob Gaddi

-- and, unless your Ethernet messaging is really low-level, boneheaded, and simplified, you're going to need a microprocessor to manage it anyway (no _way_ do you want to try to make an all-logic TCP/IP stack!). So you may as well get a micro that has on-board Ethernet (and serial, to boot).

Why didn't I think of that?

--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
 Click to see the full signature
Reply to
Tim Wescott

I recall reading an article on using ATA ports as real-time I/O. So if your box is close to, and dependent on, a computer, using a SATA port may be easy.

But it sounds so perverse that I suspect that the times when it is the best solution are few.

--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
 Click to see the full signature
Reply to
Tim Wescott

A lot depends on your concept of low cost and what you actually need. The LCMXO2 PLD is a relatively limited device and has it's slot in the CPLD and FPGA line up.

Our Pomaddie3

formatting link
board is based on Spartan-3 but it's a nice balance of cost / performance / I/O. That gets you 60 I/O with a simple USB serial port based on a FTDI FT232.

Our Drigmorn3

formatting link
is a possibility.

If you have more money a PCIe card like our (Raggedstone2

formatting link
gets you much more performance still with I/O.

We have some modules that will compliment Drigmorn and Raggedstone boards and other ranges. On Ethernet we have a 10/100 Phy and 10/100 SPI controller solutions already available. A 10/100/1000 Phy solution also coming soon as a module. It's on our testbech now. If you prefer USB we have a FT4232 solution coming as well as a nice easy reasonable performance interface.

John Adair Enterpoint Ltd.

Reply to
John Adair

(snip)

You might be able to do UDP/IP, though. TCP is enough harder that I would have to agree. That processor could be fairly simple, and implemented in an FPGA.

-- glen

Reply to
glen herrmannsfeldt

ay

you

).

Some microprocessors have Ethernet in them. And Ethernet is certainly easier to use with a microprocessor. But then, I plan drive each pin separately in a loop, and that is easier in VHDL. It is faster too. I may end up using a FTDI chip or some similar serial to Ethernet chip here with the FPGA chip. I can say that my Ethernet messaging is really simple, but then, that can be handled with an Ethernet to serial chip too.

When I studied VHDL, I heard that all larger devices have built in or optional logic block of common functions like Ethernet or some CPUs. And they are optimised so that you dont need to make them your self. One reason to my post is curiosity, I'd like to know what these larger devices are and what they cost.

I once read that ATA ports are old simplified ISA ports in disguise, programming them may anyway be hard when Windows and PCIe try their best to stop you.

This is interesting Leif

Reply to
LM

(snip, I wrote)

But what do you write to the ethernet? You need at least a TYPE (also called ethertype). UDP is a fairly simple header in front of the data. You also need ARP to make IP work, but you can fake that if needed, or use a simple state machine.

Usually it isn't so bad to have a processor (soft in the FPGA) do the harder parts like ARP, and otherwise directly write UDP to the ethernet chip.

-- glen

Reply to
glen herrmannsfeldt

Nope. There's scads of intellectual property ("soft core logic") that implements that sort of thing, and there's a few FPGAs that have processor cores embedded in them. But it's certainly not universal, and while I don't know for sure what the market shares are, I'd guess that

90% of the FPGAs that ship do so without dedicated processors, PCI, or other such hardware.

So - "built in", no. But "don't have to build it yourself" -- yes, sort of, but you often need to be pretty sharp and knowledgeable to get a chunk of IP working correctly with all the rest of your stuff on chip.

(I think there's even an ARM core that's designed to work on FPGAs these days).

PATA is a stripped-down ISA port. I'm really not up on what SATA is. I wouldn't expect that PCI is going to "get in the way", because by definition the PCI bus won't be active when you're doing ATA accesses.

You can count on having to have someone on your team who knows Windows drivers if you want to use one -- but that's a software problem.

--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
 Click to see the full signature
Reply to
Tim Wescott

My understanding with Ethernet is that you can choose an unused port and just send out raw Ethernet packets fairly easily -- but that's based on a throw-away comment made by someone I trust, in an otherwise unrelated conversation. So it's in my bucket of "worthwhile to check" notions, but it certainly doesn't belong in my bucket of "count on it" ideas.

Using an Ethernet soft core along with a processor soft core to handle a stack might work -- and might even come supported by an FPGA vendor. But by the time you get that much processing power into an FPGA I always start wondering if it isn't more wise to just put that much processing power _next to_ the FPGA, let the FPGA do the logic, and let the processor do the processing.

--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
 Click to see the full signature
Reply to
Tim Wescott

(snip)

Ethernet without IP doesn't have ports. There is ethertype, which identifies the protocol in use. (IP is X'0800') You could use an unused ethertype, or maybe one reserved for testing.

You could also put a UDP header on it with an unused UDP port. It is convenient toalso do ARP, but you could put a static ARP entry on some other host such that packets would be send to the right place, and a fixed ethernet MAC address in the FPGA for the destination. (For one-way communication, only one of those is needed.)

For fast transfer, you want the FPGA logic connected to the ethernet device as direct as possible. Then a processor to handle the less time sensitive tasks like ARP and routing.

-- glen

Reply to
glen herrmannsfeldt

d
a

but

a

=A0But

I think it is either a microcontroller with Ethernet, like Arduino, or a Ethernet chip.

What is a good, simple to use or easy to get running Ethernet chip. But I have to check Ethernet modules too. What I remember of them, they are like a virtual serial port. That could also work.

It was some years ago I studied VHDL. So It is quite possible that I miss heard or something, about those macro blocks. I checked also Open Cores some time ago. They are like a big software projects, it is difficult to know even where to start. Well that is what they are, they are big sw projects. It is faster and easier to do this with an other way.

Reply to
LM

MachXO2 has SPI and i2c ports.built in.

You really need to state some numbers, 'a bit slow' is not good enough.

Specify how fast it needs to be and how much data needs to be sent each way, and over what distance.

High speed serial is no slouch, you can get 12MBd Async easily, and more with sync protocols out of something like a FT2232H

The FT2232H and Ethernet are available as small modules, (one is even free on the MaxhXO2 boards..) so start with those, and pull them into the logic only if you really need to.

-jg

Reply to
Jim Granville

About speed and data.

Lets say about 640 bytes 10-50 times per second from PC to devices. More than this would always be better. Opposite direction is not critical. And distance, 3 feet minimum, more is better. I can test it with less, but it is not of much when ready.

This seems wise So speed of virtual serial port like FTchip is not limited to same way as physical RS232 port?

Reply to
LM

As in set by a legacy 1.8432MHz/16 Motherboard clock, no.

The FT2232H uses 120MHz and divides by 10, and a N/8 fraction It can do 12MBd/6MBd and fractions below 6MBd, and 12MBd sustained with largish packets ( >~ 600 bytes from memory), over the high speed USB link. (and faster in other modes, but serial is simple)

Reply to
Jim Granville

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.