element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
FPGA
  • Technologies
  • More
FPGA
Forum Right size FPGA
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 9 replies
  • Answers 1 answer
  • Subscribers 558 subscribers
  • Views 1032 views
  • Users 0 members are here
Related

Right size FPGA

mconners
mconners over 11 years ago

Hi everyone,

 

I had a looked at schematic calling for discrete components to allow a RasPi to interface to a SainSmart 3.2 LCD.

 

The design consisted of 3 74HCT4094's, and 1 74HCT404 counter.

 

Schematic here : http://i0.wp.com/ozzmaker.com/wp-content/uploads/2013/10/sainsmartschematicV2.png

 

I didn't have the discrete's laying around, but I did have one of these: http://www.amazon.com/EP2C5T144-Altera-Cyclone-Development-Board/dp/B007YDTTEY/ref=sr_1_1?ie=UTF8&qid=1399140473&sr=8-1&keywords=altera+cyclone+ii

 

I had been wanting to bone up on FPGA design/implementation as the last time I messed with programmable logic was in the early 90's using ABEL on some small cypress(I think) chips. I had brief exposure to XILINX parts, they were fairly new at the time, and before long I moved off to do software full time and left my hardware days in the dust. Until recently. But now it's a hobby.

 

I basically created 2 components in verilog, a 5 bit up counter, and a 24 bit serial shift buffer, wired up the internal gozintas to gozoutas. My design works, I tested it with an O'scope and logic analyzer. Given specific inputs, I get the ouputs I want. I know you can do some of that in simulation, but I didn't bother for right now.

 

Anyway, my question is, this FPGA is obviously way more than I need for this design.

 

The Quartus compiler output is as follows:

 

Family                             ; Cyclone II                               ;

; Device                             ; EP2C5T144C8                              ;

; Timing Models                      ; Final                                    ;

; Total logic elements               ; 59 / 4,608 ( 1 % )                       ;

;     Total combinational functions  ; 11 / 4,608 ( < 1 % )                     ;

;     Dedicated logic registers      ; 54 / 4,608 ( 1 % )                       ;

; Total registers                    ; 54                                       ;

; Total pins                         ; 28 / 89 ( 31 % )                         ;

; Total virtual pins                 ; 0                                        ;

; Total memory bits                  ; 0 / 119,808 ( 0 % )                      ;

; Embedded Multiplier 9-bit elements ; 0 / 26 ( 0 % )                           ;

; Total PLLs                         ; 0 / 2 ( 0 % )   

 

Does anyone know if there is a utility in Quartus, or anywhere else for that matter,  that can look at my design an suggest a proper sized part? I'm not beholden to Altera or Quartus, but at the moment it is what I have the most recent experience with. I'd consider other tools.

 

I can build this with cheap discretes, but if there is a single chip programmable solution that is inexpensive, I could save board real estate, reduce external complexity, yadda, yadda, yadda...

 

The only thing on this chip that I am making any significant use of is pin count, and I could reduce that to about 25 if necessary.

 

I appreciate your consideration,

 

Mike

  • Sign in to reply
  • Cancel

Top Replies

  • mconners
    mconners over 11 years ago in reply to johnbeetem +1
    I moved your answer from helpful to correct after doing a little research. Seems I can get those xilinx chips for about $3.50 each (the little ones) and it seems like it may do the job. I'm dl'ing the…
  • mconners
    mconners over 11 years ago in reply to mconners +1
    After reading your replies, while I was waiting for ISE to download, I played around with Quartus and found the Max3000 series of cplds. After selecting that and allowing it to pick a part for me, I ended…
  • johnbeetem
    0 johnbeetem over 11 years ago

    Hi Mike,

     

    Most of my experience is with Xilinx.  On their tools, you can select a part family rather than a specific part, and I think it it will automatically choose the one that fits.  I do FPGA design professionally, so I've developed a decent amount of experience for getting a ball-park figure of which part will fit.  Then I design the logic, synthesize it, and make sure it fits with plenty of room for changes.  I also try to select several parts with the same package and pinout so that if the design needs a lot more logic we can switch to the larger part without PCB changes.

     

    For a small amount of logic, I'd suggest looking at the Guzunty Pi board, which uses a 72-macrocell Xilinx XC9572XL.  This CPLD has been around a long time but IMO is still a nice, cheap part for small amounts of logic.  The 9572XL and its smaller brother the 9536XL are the only CPLDs I know of that you can still get in a PLCC package (50 mil pin pitch).  They are really easy to solder, and you can get sockets with 0.1" pin spacing, and even use wire-wrap image.  The Guzunty Pi is actually available in kit form, with all through-hole parts.  It plugs into a Raspberry Pi.

     

    For a little larger, the Silicon Blue parts from Lattice are pretty attractive: iCE40 series.  I haven't tried them myself, but they look like a great part for small-to-medium amounts of logic with built-in configuration memory.

     

    For even larger, the Xilinx Spartan-3E and Spartan-3A are quite nice.  I just acquired a Papilio One board for US$38 with Xilinx XC3S250E, equivalent to an ASIC with approx 250K gates.  It's probably around the same capabilities as your Cyclone II part.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
  • mconners
    0 mconners over 11 years ago in reply to johnbeetem

    Hi John,

    John Beetem wrote:

    On their tools, you can select a part family rather than a specific part, and I think it it will automatically choose the one that fits.

     

    I think that you can do that with the Altera tools as well, as I said I just happened to have one of these lying around. But after creating the design and compiling it seemed like a massive under use of the chip.

     

    I had fun doing it though. Desiging an fpga with a purpose in mind is infinitely more educational than doing the hello world tutorials. So I learned quite a bit, made some mistakes (the best teacher), but just got curious to see if there was an automated tool for sizing.

     

    For the moment I was just going to wire it up breadboard style. I don't know if I still have my wire wrap gun image But I was considering sending out to seeedstudio or something to get a board (or 10) made, I know there are others that would like this interface.

     

    If there were a small 3 or 4 dollar part that I could burn this into, I'd definitely consider it over the discrete components. But as it stands this cyclone ii chip is about $14 each in small quantities, and I can get all the discretes in the $5 range. Probably cheaper if i buy enough for qty 10 boards.

     

    Thanks for the answer, I value your experience and opinion.

     

    Mike

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • mconners
    0 mconners over 11 years ago in reply to johnbeetem

    I moved your answer from helpful to correct after doing a little research. Seems I can get those xilinx chips for about $3.50 each (the little ones) and it seems like it may do the job. I'm dl'ing the ISE and will make sure my design will fit on those chips. I'm assuming the ISE is the right tool as opposed to the vivado suite. If I'm wrong let me know, if you know. Thanks again for your help John.

     

     

    Mike

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 11 years ago in reply to mconners

    Hi Mike,

     

    Yes, ISE is the correct software package. By the way, there is the 'coolrunner-II' family too, which is surface-mount only, but has the benefit of handling level conversion too, e.g. 5V<->3.3V (don't know if the other CPLD families do that). They are about the same price I think.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • mconners
    0 mconners over 11 years ago in reply to shabaz

    Thanks shabaz,

     

    I'm thinking I can even program these with the bus pirate so I don't have to buy another programmer.

     

    Mike

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • mconners
    0 mconners over 11 years ago in reply to shabaz

    Also, I don't mind surface mount. Since I got my handy hot air and soldering station.

     

    Mike

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 11 years ago in reply to mconners

    Hi Mike,

     

    Also, if you have a BBB or an RPI, then that will do it too. The code to do it with a BBB is here but the RPI would work with a few changes in the I/O area.

     

    Cheers,

     

    Shabaz.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • mconners
    0 mconners over 11 years ago in reply to shabaz

    Cool, I have both. that's good to know.

     

     

    Mike

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • mconners
    0 mconners over 11 years ago in reply to mconners

    After reading your replies, while I was waiting for ISE to download, I played around with Quartus and found the Max3000 series of cplds.

     

    After selecting that and allowing it to pick a part for me, I ended up with a sub $3 part that should meet my needs.

     

    The fitter reserved the JTAG pins, and my design had a few extra pins, but at the end of the day I used all but 6 pins and ~85% of the available logic.

     

    So it is a much better fit. Thanks for referring me to the Xilinx XC chips John, after reading the data sheets on those it helped me find a similar Altera series.

     

    Now I will have my choice of using my usb-blasters or the BBB for programming.

     

    Thanks again guys.

     

    Mike

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube