Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] The capability of CPLDs

Status
Not open for further replies.

mrinalmani

Advanced Member level 1
Advanced Member level 1
Joined
Oct 7, 2011
Messages
467
Helped
60
Reputation
121
Reaction score
59
Trophy points
1,318
Location
Delhi, India
Visit site
Activity points
5,348
Hello!
I have worked with microcontrollers for basic input/output and arithmetics.
I just learnt that the entry level CPLDs cost about the same as a mid range microcontroller. I do not know much about CPLDs. But before beginning, it would be worth if I had a rough estimate of the capabilities of a CPLD.

What to expect from a 32 macrocell CPLD?
Do all CPLDs with 32 macrocells have the same capability, apart from speed?
How much current can a CPLD port source/sink? 4mA to 5mA, juts like microcontrollers?
Do CPLDs have a clock?
Do they have memory, just like microcontrollers?
If we had to build a basic MCU with 10 to 15 instructions, would 32 macrocells be ok?
Datasheets specify the maximum operating frequency, which is surprisingly high, in hundreds of MHzs. Does it mean they can be configured as a basic MCU running at that speed?
 

Hi,


* you need one MC per counter bit
* you need one MC per shift register bit.
* you need one MC per flipflop
* You need one MC per output (if not the signal same as above)
* you need some additional MC for other logic

* but you can use a lot of combinatorial (AND and OR logic) terms per MC.


So don´t expect much complexity with a 32 MC CPLD
There is no way to replace a ucontroller with a 32 MC CPLD.

But is is more faster in calcualting than a ucontroller. It makes sense to use it together with a ucontroller.
...as address decoder, or for fast timing critical signals.
They are usually easy to use, fast, cheap and flexible to avoid a lot of glue logic.

********
If you want to replace a ucontroller look for FPGAs.

Klaus
 
With so small capacity, for simple states machine circuits can suffice. Would say that could be suitable just for logic designs on what even the smaller uC would be oversized.
 
The cheapest (1.3$ @ 100 units) FPGA that I found has 48 logic array blocks.
The cheapest (0.9$ @ 100 units) CPLD has 32 MC.
What to expect from this FPGA? How much more flexibility does it provide over its CPLD counterpart?
Speed of FPGA is not mentioned. What is generally faster for the same price. CPLD or FPGA?
Actually I need to control an HF + LF inverter. There are several designs based MCUs, I was wondering if a CPLD or FPGA could take over. I am running out of speed. M using an external 10MS/sec ADC and if I interface it with the MCU, its going to consume most of the MCU time.

Please share your opinion.
Thanks!
 

Since you already understand MCUs and very little about FPGAs and CPLDs then I advise you find a more powerful MCU and use that. If the project you are working on is more research like than product development (or the development schedule is lax and you can finish it whenever), then sure learn an entirely new tool chain and how to code your CPLD/FPGA in ABEL/VHDL/Verilog. If you are just controlling both the HF+LF inverterr and 10MS/sec ADC then you probably only need to implement a FSM in the CPLD or FPGA. If you have to process any of the data then you're probably better off using a MCU as 32 MC and 48LUT are probably not even close to enough resources to do much more than an FSM.

You need to step back and take a look at the architectural tradeoffs of the design for speed and control. Maybe the solution is a less powerful MCU for control and a small CPLD/FPGA for the ADC. Depending on what that CPLD/FPGA needs to do with the ADC could require you to examine the architectural tradeoffs in that part of the design.
 
If there is no need of a refined closed loop control such as PID for instance, but a simple On/Off, dead-time, shutdown, or even soft-start, although it is not my expertise area, I presume could even suffice, but recommend perform on simulator environment a validation test before select a device.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top