Want to get started with CPLDs

  • Thread starter saad87
  • Start date
In summary, the author is considering whether to learn VHDL or Verilog, and is also confused about which development kit to get. He recommends getting the free version of the development kit and reading and programming it, and warns against driving the Preset and Reset of FFs. He recommends starting small and learning a language before going into more complex design.
  • #1
saad87
85
0
I want to get started with programming CPLDs. However, I'm confused about which development kit to get? I have about $200 to spend. I feel that Altera has slightly better software - their Web version is free, it seems. So I'm mostly interested in that but have my options open.

I'm also wondering weather I should initially learn VHDL or Verilog? I've found a great book, titled Digital Design with CPLD Applications and VHDL. I'm finding the book easy to understand and this is important to me as I have very little experience with HDLs. But I did take a course in Handel-C for FPGAs when in school - though I'm not sure how helpful that will be.

Any suggestions on how to get started would be appreciated.
 
Engineering news on Phys.org
  • #2
Most jobs I saw asked for VHDL at the time, I would go with VHDL or whatever more popular now as I have not been in the job market for 6 years. I used to be very good with AHDL and Quartas 6 years ago, but I did not see much demand of this at the time.

To get started, I got the free version and start reading and programming! It is very easy, it's like any programming languages PLUS simple digital electronics like FF, gates etc. Only thing you have to watch out is not to drive the Preset and Reset of FFs with a combinatorary signal ( From a multiple input gates that input from different sources.) as glitch will cause problems. This is the most common mistakes even from experience engineers that work with CPLDs. I had to trouble shoot for my engineer and even a contractor. The problem occur very infrequently and is very hard to pin point.

Start small and then go into modular design just like programming. If you know any language, you can learn it in like two to three weeks. Easy.
 
Last edited:
  • #3
Yes. Learning the language doesn't seem to be a difficult task. I have experience in programming C and Objective-C.

What I'm really confused about is the development kits.
 
  • #4
saad87 said:
Yes. Learning the language doesn't seem to be a difficult task. I have experience in programming C and Objective-C.

What I'm really confused about is the development kits.

Get the one that has more jobs, don't try to save money. This is no time to worry about who is cheaper. It is not going to help you if you get the Altera development kit and learn everything and the jobs call for VHDL! I had no choice at the time because the place I worked for use Altera and AHDL. Let the market determine which way you go.

Yes learning is very easy, just remember the Preset and reset I talked about. That is such a common mistake and is so deadly. You ALWAYS need to qualify ( waste one DFF to clock the combinatory signal through to deglitch it) the signal for the Preset and Reset. CPLD is not exactly like programming, it is hardware. Also I did a lot of timing and propagation analysis because it is actually hardware that has real time delay. They do have setup and hold time requirement so you have to do propagation calculation when you do programming.
 

1. What is a CPLD?

A CPLD (Complex Programmable Logic Device) is a type of electronic chip that contains programmable logic blocks, programmable interconnects, and input/output blocks. It is used for implementing digital logic circuits and can be programmed and reprogrammed multiple times.

2. What are the benefits of using CPLDs?

CPLDs offer several advantages, including low power consumption, high speed operation, and the ability to implement complex logic functions. They also have a smaller form factor compared to other programmable logic devices, making them suitable for applications with limited space.

3. How do I get started with CPLDs?

To get started with CPLDs, you will need a development board, CPLD programming software, and a computer with a USB or parallel port. You can also find online tutorials and guides to help you learn the basics of CPLD programming.

4. What type of projects can I use CPLDs for?

CPLDs are commonly used in projects that require high-speed data processing, such as digital signal processing, motor control, and communication systems. They can also be used for implementing custom logic functions in various electronic devices.

5. Are there any limitations I should be aware of when using CPLDs?

Some limitations to consider when using CPLDs include limited resources (logic blocks, input/output pins), slower speed compared to FPGAs, and the need for specialized programming software. It is important to carefully plan and optimize your design to make the most of the available resources in a CPLD.

Similar threads

  • Electrical Engineering
Replies
1
Views
1K
Replies
1
Views
3K
  • Electrical Engineering
Replies
7
Views
3K
  • Science and Math Textbooks
Replies
5
Views
817
  • Science and Math Textbooks
Replies
5
Views
1K
  • Mechanical Engineering
Replies
3
Views
177
Replies
4
Views
190
  • Electrical Engineering
Replies
6
Views
2K
  • Electrical Engineering
Replies
16
Views
17K
Replies
4
Views
3K
Back
Top