Small Form factor FPGA/CPLD chip - Page 1
Forum section: electronics / general

author: man_marius
author_rank: Contributor
timestamp: October 23, 2018, 07:30:01 am
content: Hi everyoneI am working on a manchester decoding, I have the code running on a zybo board FPGA. I want to design a small standalone digital board stand that can run my VHDL. Can anyone recommend a small form factor FPGA/CPLD chip( preferably xilinx chip ) that I can download my code to.I have been researching on how to design an FPGA board, but it seems a lot of work. Most of the work done are for big FPGA chips while am looking for something with a lot less pins and logic gates cells

author: man_marius
author_rank: Contributor
timestamp: October 23, 2018, 08:23:01 am
content: I have found two small factor chips, a CPLD and an FPGA , there a bit overkill but I have no other choices. These areCoolRunner XC2C32 (CPLD)and Spartan 6 XA6SLX4 (FPGA) which one is better?

author: Berni
author_rank: Super Contributor
timestamp: October 23, 2018, 08:26:17 am
content: Sure something like this:https://www.digikey.com/product-detail/en/lattice-semiconductor-corporation/LCMXO2-1200ZE-1UWG25ITR1K/220-2125-1-ND/6568474Small FPGA with only 1280 cells and a tiny 0.4mm pitch BGA package including boot flash and operation from a single 3.3V rail. Tho more seriously you would probably consider using them in the 100 or 144 pin TQFP packages that are easy to hand solder.The IDE tools for Lattice are not as good as Xilinix however, but they are fine for simple tasks.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: October 23, 2018, 08:35:33 am
content: Quote from: man_marius on October 23, 2018, 08:23:01 amWhy do you think you have no other choices ?Between the two you have listed, there is a large jump !For very simple logic that is small, there is also SiLego.Do you want a low cost eval board, or a compact-package ?What package can you manage ? - there are small FPGA in QFN32 and QFN48 packages - try a Search in Digikey by package.

author: man_marius
author_rank: Contributor
timestamp: October 23, 2018, 08:54:19 am
content: I want a low cost one

author: Ice-Tea
author_rank: Super Contributor
timestamp: October 23, 2018, 10:30:20 am
content: Have a look at, per example, MAX10 or Lattice parts. They both have an option for very small packages. Downsider: to be able to route them you'll need stupid tight design rules which will limit your manufacturing options and make manufacturing more expensive.If they can be a bit bigger than that: look at small QFP packages as others have suggested as that will be easier to route and manufacture.

author: man_marius
author_rank: Contributor
timestamp: October 23, 2018, 12:02:27 pm
content: Quote from: Ice-Tea on October 23, 2018, 10:30:20 amI will just use a bigger one, routing rules are not my strong suite

author: TK
author_rank: Super Contributor
timestamp: October 23, 2018, 12:21:59 pm
content: Can't you implement Manchester encoding using a low cost microcontroller?

author: NorthGuy
author_rank: Super Contributor
timestamp: October 23, 2018, 01:19:20 pm
content: There are few logic cells inside newer PIC16s, which is enough for Manchester decoding:http://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en559942

author: Wiljan
author_rank: Regular Contributor
timestamp: October 23, 2018, 01:23:24 pm
content: Microsemi IGLOO nano FPGA you can get as small as 3x3 mmhttps://www.microsemi.com/product-directory/fpgas/1689-igloo#igloo-nano

author: man_marius
author_rank: Contributor
timestamp: October 23, 2018, 01:31:59 pm
content: Quote from: TK on October 23, 2018, 12:21:59 pmI can but the speed of the data is too high, the microcontroller will be too slow for those speed,The speed is 564.48kbit\s

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: October 23, 2018, 01:35:05 pm
content: Lattice XO2 has a couple of qfn32s, and a csp if you wnt stupidly small

author: Fred27
author_rank: Unknown
timestamp: October 23, 2018, 01:49:30 pm
content: What about the really cheap Coolrunner 2 CPLD boards you see on eBay? I think that not many pins have been broken out but it might do the job.Sorry - just re-read and saw you were after a chip alone. Nevermind. Might suit other use cases, so I'll leave this post here anyway.

author: NorthGuy
author_rank: Super Contributor
timestamp: October 23, 2018, 01:53:20 pm
content: Quote from: man_marius on October 23, 2018, 01:31:59 pmWhat makes you think that?

author: TK
author_rank: Super Contributor
timestamp: October 23, 2018, 02:11:00 pm
content: It looks like Microchip is making AVR chips with Configurable Logic Cell, price for the ATTINY is around $0.50 for a single device purchase:https://www.microchip.com/design-centers/8-bit/peripherals/core-independent/configurable-logic-cell

author: mark03
author_rank: Frequent Contributor
timestamp: October 23, 2018, 03:53:36 pm
content: Lattice ice40 in QFN48:https://www.digikey.com/products/en/integrated-circuits-ics/embedded-fpgas-field-programmable-gate-array/696?k=ice40&k=&pkeyword=ice40&s=56089&sf=1&FV=ffe002b8%2Cffecb034%2Cffecb6ba%2Cffecdb19%2C401134%2C401926&quantity=&ColumnSort=0&page=1&pageSize=25

author: SiliconWizard
author_rank: Super Contributor
timestamp: October 23, 2018, 04:39:02 pm
content: We have no clue about the requirements/size of your design.If a small FPGA is what you're after, I second the iCE40 series. Very cheap, small and still powerful.

author: TimCambridge
author_rank: Regular Contributor
timestamp: October 23, 2018, 06:01:01 pm
content: Quote from: Berni on October 23, 2018, 08:26:17 amCaution, ZE parts are 1.2V. You may mean 1200HC, though they don't come in the 0.4mm BGA package.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: October 23, 2018, 11:36:16 pm
content: Quote from: man_marius on October 23, 2018, 08:54:19 amThat is hopelessly vague. You have not definedhowmuch Logic needs to embed, or what 'low cost' means to you.Quote from: man_marius on October 23, 2018, 01:31:59 pmIfallyou need is Manchester encoding, the Config Logic Cells that are in Microchip/SiLabs newer MCUs will manage that.If that CLU is not enough, the ATF16V8BQL (20p 8MC) ATF22V10CQZ (24p, 10MC) SPLDs can manage quite complex bit-encodes, and they come in easy to use packages.This forum even has useful links...https://www.eevblog.com/forum/microcontrollers/current-inexpensive-programmer-for-22v10_s-16v8_s/http://www.autoelectric.cn/en/tl866_main.htmlThe TL866II looks to have recently added the ATF22V10CQZ

author: Berni
author_rank: Super Contributor
timestamp: October 24, 2018, 05:10:34 am
content: Quote from: TimCambridge on October 23, 2018, 06:01:01 pmAh yeah forgot that Lattice gotcha. FPGAs in general tend to have a lot of hidden quirks to watch out for. But with lattice you generally don't want to use the small BGA chips anyway because they are a living hell to make a PCB for (Microvias or via in pad costs a damn fortune to manufacture without massive volumes)You probably want the QFN packages if you are going for size and don't already have a fancy high density PCB already. At lattice all the big pitch BGAs are also high pin count so they are just as big as the TQFP ones.

author: Wiljan
author_rank: Regular Contributor
timestamp: October 24, 2018, 09:16:38 am
content: 1$ Lattice iCE40LP384 QFN-32 approx 3x3 mmhttps://www.mouser.dk/ProductDetail/Lattice/ICE40LP384-SG32?qs=sGAEpiMZZMvoScKlWpK8TL%252bgFSEuQN4VdFjNK1Xc3%2fw%3d

author: chiplukes
author_rank: Newbie
timestamp: October 24, 2018, 05:07:41 pm
content: About 5 years ago I did something very similar to what you are describing. I used a PIC 16F1508 with the CLC blocks used for the manchester encoding. Communications to/from this PIC were running at 1Mbps. The design used assembly and I had to optimize the receive and transmit ISR sections to get that data rate, but overall it worked quite well.You can do a lot with these sub-dollar PICs.Otherwise, I would look at Lattice FPGAs as others have suggested. Open source toolchains exist for some of their FPGAs.You may want to check out this project:https://tinyfpga.com/

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: October 24, 2018, 10:31:14 pm
content: Pic32mm in qfn24 may also.be worth a look

author: FrankBuss
author_rank: Unknown
timestamp: October 25, 2018, 01:13:45 am
content: I think Lattice has the smallest and cheapest FPGAs, like the ICE40LP640-SWG16TR50, which is only 1,4 mm x 1,5 mm, but has still 640 logic cells, more than enough for Manchester decoding. But might be difficult to route and to solder. For Xilinx you could use a XC9572XL-10VQG44C. Much bigger, 10 mm x 10 mm, but can be even hand soldered, and works with 3.3 V (the Lattice part needs 1.2 V). You should try first if your design fits in it.

author: forrestc
author_rank: Unknown
timestamp: October 26, 2018, 09:09:39 am
content: Quote from: man_marius on October 23, 2018, 01:31:59 pmTake a look at Microchip Appnote AN1470. Shows you how to do manchester decoding using the CLC and NCO peripherals in a PIC16F1509 processor. $1.12USD in singles. Just eyeballing the appnote, it looks like you should be able to clock this particular processor fast enough to do the decode. Note that the CLC and NCO peripherals are 'Core Independent Peripherals' which means once the processor sets it up, they run without any help from the CPU. So at the bare minimum you should be able to do the decode itself.There are also other processors with more or less of various resources that also include the CLC and NCO peripherals. So depending on what you want to do with the data afterwards, you might find a processor which will do everything including the decode for you.There are other documents/appnotes for encoding if you need that side as well.In searching for that Appnote, I note that several other microcontroller manufacturers have similar peripherals, can't vouch for any of them though...

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: October 27, 2018, 04:38:09 pm
content: Decoding is trickier than encoding as you need to.either phaselock to the manchester clockrate or oversample. Capture peripherals can be very useful though, 564k is probably doable on a pic8 at 32MHz

author: NorthGuy
author_rank: Super Contributor
timestamp: October 27, 2018, 05:50:09 pm
content: Quote from: mikeselectricstuff on October 27, 2018, 04:38:09 pmI think if you don't use logic cells and do it in traditional MCU way using Input Capture (called CPP on PIC16/18), you still can do it on PIC16.If you only sample rising edges, you can reconstruct the data (provided you had some locking sequence before the packed) - the distance between edges will be 1 clock or 1.5 clocks - that's all you need to know. Thus you have roughly 2 us to enter the interrupt, process data, and leave the interrupt. All you need to figure out if the distance between pulses was 1 or 1.5 clocks. Comparing to 1.25 will do the trick. Then you append your data accordingly and transmit it out (say by sending through SPIBUF).1 clock is roughly 2 us, 16 cycles on PIC16F1*, less 4 cycles for interrupt entry/exit. 12 cycles should be enough to subtract two numbers and compare the difference to 10 (1.25 cycles) and then record the data bits and write SPIBUF if needed.On PIC16F1454 you would have 20 cycles, and that is plenty to decode everything and store the byte in the USB buffer, leaving few cycles to spare for the USB engine to send data to PC.On PIC18, you get 28 cycles, but you may need to do some context saving/restoring. It is actually more than you need. So, you can get another CPP running and detect falling edges. This will let you do auto-locking and error detection.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: October 28, 2018, 08:08:18 am
content: Quote from: man_marius on October 23, 2018, 07:30:01 amThis link shows thatManchester Decodecan be done with a monostable and a flipflop.https://www.allaboutcircuits.com/technical-articles/how-to-decode-manchester-encoded-data-using-hardware/You need to be able to set your RX to 564.48kHz, or half that, depending on what your speed referred to (edge rate or data rate).