Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Some questions - New in CPLD & FPGA

Status
Not open for further replies.

atferrari

Well-Known Member
Most Helpful Member
decided to learnt about CPLD and FPGA and commenced to read "The design warrior's guide to FPGAs" by C. Maxwell. Clear and to the point.

Budget is a concern. Still considering costs for a starter kit, probably Coolrunner II from Xilinx. Yes it's a CPLD.

As a self taught hobbyist I don't like to waste my time and money as I did many times in the past.

My quyestions, which if possible, please reply in same order:

0 - Should I read something else before, on CPLDs?

1 - All what I will know about CPLD will be useful later with FPGAs? Am I not going to a dead end instead?

2 - Do you know of a cheaper (costwise) way to start with CPLD? If so, how advisable compared to Coolrunner II?

3 - Once I finished the manual what should be my next reasonable step?

4 - With the abstraction level that those languages seem to allow, how much detail do I need to go into for every "component" I need to implement? Honestly I forgot many details on flip flops, counters or shift registers but I think I still know well what they do and when I need them? (Well I hope it will be so...)

5 - Advices / comments on the above, appreciated.

Agustín Tomás
 
yes you should have basic knowledge of digital logic design. i mean boolean algebra, logic gates, sequential and combinational logic etc.

basically there are some differences between CPLDs and FPGAs. CPLDs are "coarse grain" devices and FPGAs are "fine grain" devices. FPGAs are RAM based and CPLDs are EEPROM based. and FPGAs can contain circuits with greater complexity as compared to CPLDs. FPGAs were basically a bridge between PLDs and ASICs. it combined the customizability of the PLDs with the complexity of ASICs. but these days FPGAs are equal to ASICs and there isnt much difference between FPGAs and ASICs.

i cant suggest you on a kit because i havent ever bought one. but just look around and im sure you will find something good

i hope that helps
 
atferrari said:
decided to learnt about CPLD and FPGA and commenced to read "The design warrior's guide to FPGAs" by C. Maxwell. Clear and to the point.

Budget is a concern. Still considering costs for a starter kit, probably Coolrunner II from Xilinx. Yes it's a CPLD.

As a self taught hobbyist I don't like to waste my time and money as I did many times in the past.

My quyestions, which if possible, please reply in same order:

0 - Should I read something else before, on CPLDs?

1 - All what I will know about CPLD will be useful later with FPGAs? Am I not going to a dead end instead?

2 - Do you know of a cheaper (costwise) way to start with CPLD? If so, how advisable compared to Coolrunner II?

3 - Once I finished the manual what should be my next reasonable step?

4 - With the abstraction level that those languages seem to allow, how much detail do I need to go into for every "component" I need to implement? Honestly I forgot many details on flip flops, counters or shift registers but I think I still know well what they do and when I need them? (Well I hope it will be so...)

5 - Advices / comments on the above, appreciated.

Agustín Tomás

0- understand their architecture, which to a large degree, will be vendor specific.

1- Not all you learn about CPLDs will be re-usable in FPGA world. The two have very different architectures. Whether or not you are headed down a dead end is up for you to decide.

2- Coolrunner II is good if you _REQUIRE_ the capabilities of it. Since you like xilinx, consider XC72xx family of CPLDs, less capability & smaller macro-cell counts than coolrunner but lots cheaper. Also consider using webpack dev tools. They are free.

3- After your understand the architecture of your logic parts, and you have a design, try and implement one! Do some experiments..

4- In most cases, you do not need to understand your design at the _GATE_ level but you will need to understand it at the component level. You need to understand this so you will be successful at interfacing the various parts of the design together. Also, kinda hard to describe hardware that needs to use flip-flops if you dont understand them. :)

5- My advise is first understand your intended design so you can choose the right part to do the job. If you over specify, you'll pay alot more for features you dont need/use and if you under specify, you'll struggle to make it work.

6- A good thing to keep in mind, FPGA's are register rich (gobs and gobs of flip-flops) whereas CPLD's dont have many relatively speaking. But CPLD's provide much more deterministic timing. You application should illustrate which one it needs. And generally, if choosing between the two, more complicated designs will be easier in FPGA's.

7- Consider micro controllers. These can be low cost and easy to program. This discussion centers around FPGA / CPLDs but I remind you consider other options that are altogether different.
 
To start off you should just download Xilinx's free Webpack ISE software. You can build your project and simulate circuits with no hardware needed. If you write HDL code the program will show you what gates and flipflops are generated in a nice schematic. The software will also show you your resource usage in your target device. Starting with just the software will let you eventually purchase a dev kit once you are familiar with the capabilities of the devices.

1) The knowledge you learn for CPLDs will translate well to FPGAs.

2) The spartan 3 is cheaper for higher density. If you are just doing small designs a CPLD should be fine.

3) Just load the free software and start simulating designs.

4) As with most languages the more detail you go into the more efficient your design will be. There is no problem starting off writing really abstract code. In fact people write really high level code for simulation because it simulates faster.

5) As I mentioned above just start working with the software and buy a device when you know what you need.
 
Thanks for replying

In fact, I am currently using micros.

There is a working NCO circuit built with 74LS parts that I would like to see implemented (and extended) with a CPLD.

Yes I will try the software fisrt. I will gain some knowledge taking out the pressure of deciding blindly.

Gracias.

Agustín Tomás
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top