Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

Building a CPLD-based shield.


  • Please log in to reply
8 replies to this topic

#1 Spork

Spork

    Advanced Member

  • Members
  • PipPipPip
  • 105 posts

Posted 11 March 2012 - 06:22 AM

Hi all,

I've been working on a digital circuit that I was hoping to put onto a Netduino shield. It's not huge, but it does require the following:

   2x 74hc21 (4-in and)
   2x 74hc393 (counter)
   1x 74hc109 (flip flop)
   1x 74hc08 (2-in and)
   1x 74hc32 (2-in or)
   1x 74hc04 (inverter)
   1x MCP23017 (i2c expander)
   2x 3.5mm jacks
   9 capacitors

My morbid fear of SMDs continues, so I spec'ed it as using DIPs in Eagle. Then I realized that you can't really fit 9 DIPs on an Arduino shield (haven't yet found a Netduino shield for Eagle).

So, I went out onto the web looking for programmable logic. Finally stumbled across CPLD which seems to be what I was looking for. Here are my CLPD questions:

1) Why isn't it more popular among hobbyists? SparkFun, for example, seems to have nothing related to CLPD.
2) Anybody have any CPLD preferences they'd recommend?
3) I'm leaning toward this Xilinx on a 40 pin DIP breakout product. Any comments on it?

Should be simple to fit the MCP23017, the 40 pin Xilinx breakout, the jacks, and a couple caps on a shield, but let me know if you think I'm heading off in a bad direction.

#2 Nevyn

Nevyn

    Advanced Member

  • Members
  • PipPipPip
  • 1072 posts
  • LocationNorth Yorkshire, UK

Posted 11 March 2012 - 06:39 AM

3) I'm leaning toward this Xilinx on a 40 pin DIP breakout product. Any comments on it?

Can't comment on the Xilinx but are you aware of the Ubershield?

Regards,
Mark

To be or not to be = 0xFF

 

Blogging about Netduino, .NET, STM8S and STM32 and generally waffling on about life

Follow @nevynuk on Twitter


#3 Spork

Spork

    Advanced Member

  • Members
  • PipPipPip
  • 105 posts

Posted 11 March 2012 - 06:54 AM

Can't comment on the Xilinx but are you aware of the Ubershield?


Thanks for the pointer -- I'm definitely curious about any CPLD or FPGA option but, so far, CPLD seems more straight-forward to me.

#4 Zoot

Zoot

    Advanced Member

  • Members
  • PipPipPip
  • 31 posts

Posted 11 March 2012 - 12:47 PM



My morbid fear of SMDs continues, so I spec'ed it as using DIPs in Eagle. Then I realized that you can't really fit 9 DIPs on an Arduino shield (haven't yet found a Netduino shield for Eagle).

There is nothing to fear with SMDs. In fact they are easier to use. No drilling.

So, I went out onto the web looking for programmable logic. Finally stumbled across CPLD which seems to be what I was looking for. Here are my CLPD questions:

1) Why isn't it more popular among hobbyists? SparkFun, for example, seems to have nothing related to CLPD.
2) Anybody have any CPLD preferences they'd recommend?
3) I'm leaning toward this Xilinx on a 40 pin DIP breakout product. Any comments on it?

Should be simple to fit the MCP23017, the 40 pin Xilinx breakout, the jacks, and a couple caps on a shield, but let me know if you think I'm heading off in a bad direction.

CPLDs aren't very popular with hobbyists due to their complexity and difficulty of use.

I would recommend the Altera MAX series 7032S or 7064S. They are available in PLCC versions, which means that you can use through hole PLCC sockets, the software is free, and they are fairly easy to work with, both in design, and PCB implementation. I use them if I need a CPLD and don't feel like going SMD.

#5 Spork

Spork

    Advanced Member

  • Members
  • PipPipPip
  • 105 posts

Posted 11 March 2012 - 09:34 PM

CPLDs aren't very popular with hobbyists due to their complexity and difficulty of use.

I dunno... I'm new to digital and CPLD doesn't look that complex or difficult and it seems like a big convenience to have a device that will basically do everything digital and is forgiving of design mistakes.

I would recommend the Altera MAX series 7032S or 7064S.

How about the EPM3064ALC44-10 as seen on the Amani 64 shield? Or the EPM240 as on the Amani GT shield? Haven't figured out the connectors on the Amani GT, but maybe I could put the MCP23017 on a daughter board, although I'm not sure how the i2c would get back to the Netduino through the Amani GT shield.

#6 Zoot

Zoot

    Advanced Member

  • Members
  • PipPipPip
  • 31 posts

Posted 17 March 2012 - 07:24 PM

I dunno... I'm new to digital and CPLD doesn't look that complex or difficult and it seems like a big convenience to have a device that will basically do everything digital and is forgiving of design mistakes.

I totally agree, but the biggest complaint that I've read from hobbyists is that they just don't "get" how CPLD's work because of the steep learning curve. I dunno, I have no trouble with it, but I do this for a living and I have a knack for digital. Sounds like you do too. The other problem is that most of the available chips are surface mount these days, and that puts off a lot of hobbyists as well.


How about the EPM3064ALC44-10 as seen on the Amani 64 shield? Or the EPM240 as on the Amani GT shield? Haven't figured out the connectors on the Amani GT, but maybe I could put the MCP23017 on a daughter board, although I'm not sure how the i2c would get back to the Netduino through the Amani GT shield.

Wow! That is a cool little item! I see one in my future. Thanks for the tip.

Have you thought about using a MCP23S17 with the SPI interface? Maybe that can be used with the Amani board?

#7 Spork

Spork

    Advanced Member

  • Members
  • PipPipPip
  • 105 posts

Posted 18 March 2012 - 01:33 AM

Wow! That is a cool little item! I see one in my future.

I've been talking to the guy who designed and sells the Amani and he's got me convinced that I can skip the MCP23017 and implement i2c in the CPLD along with the rest of my project. The idea seemed crazy, at first, but I've been reading up on i2c implementation and might actually try it. But I'd try the VHDL and Verilog implementations on www.OpenCores.org first, to see if I can modify them for my needs.

the biggest complaint that I've read from hobbyists is that they just don't "get" how CPLD's work because of the steep learning curve

There's some truth to that... I read a lot of FPGA and CPLD stuff before I finally realized that environments like Altera's Quartus II ($0) make it as simple as transcribing the design I had already drawn up in Eagle. Quartus has a library of 74-series components, so it really was very straight forward. I think it's safe to say that anybody who can fumble their way through a design based on 74 series logic can certainly do the same in Quartus for CLPDs or FPGAs.

#8 DrJaymz

DrJaymz

    Advanced Member

  • Members
  • PipPipPip
  • 42 posts

Posted 19 March 2012 - 09:39 PM

You could always argue that the netduino is a really big CPLD. I guess it depends on what you are trying to do and quite a lot can be implemented in software and I never cease to be amazed how ingenious some peoples solutions are. I guess most uses for the netduino are not concerned with outright speed but (in my case) out of lazyness. happy coding.

#9 Spork

Spork

    Advanced Member

  • Members
  • PipPipPip
  • 105 posts

Posted 16 April 2012 - 01:12 AM

You could always argue that the netduino is a really big CPLD.


No, I don't think that argument can be made. :) Seems to me that the distinguishing feature of CPLD or FPGA is that you're working the "bare metal", literally wiring together logic gates. Something like the Netduino builds many levels of helpful hard-wired and hard-coded abstractions and services on top of that (ARM7, NETMF, C#, etc), and you're forced (but usually very happy) to work through them.

CPLD lets me configure logic. Netduino lets me run software on hardwired logic. You can't say that the latter is a version of the former.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.