Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic 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.

Register Log in

CPLD of what Macro Cell size need to be used

Status
Not open for further replies.

embeddedlover

Full Member level 5
Joined
Aug 10, 2007
Messages
279
Helped
46
Reputation
92
Reaction score
38
Trophy points
1,308
Activity points
3,155
I have one application where i need to use CPLD as a bridge between I2C and UART.

Can anyone suggest how to proceed and what macro cell size of CPLD need to be used?
 

lucbra

Advanced Member level 2
Joined
Oct 30, 2003
Messages
514
Helped
73
Reputation
146
Reaction score
63
Trophy points
1,308
Location
Belgium
Activity points
3,251
you mean how may logic you will consume. There is only one answer to that:
write the function, target a CPLD and implement.
I2C master - 160MC
I2 slave - 60MC
UART - typical a function implemented in an FPGA

Do you really need a CPLD? Flash based FPGA can keep the function non-volatile

BTW: Lattice's latest CPLD (called MachXO2) contains a hard coded I2C interface. It's just a matter of a couple of hours work to get the UART up and running
 
Last edited:

embeddedlover

Full Member level 5
Joined
Aug 10, 2007
Messages
279
Helped
46
Reputation
92
Reaction score
38
Trophy points
1,308
Activity points
3,155
Do you really need a CPLD? Flash based FPGA can keep the function non-volatile
As per my knowledge, CPLD is also non-volatile as it is based on EEPROM...
Even it has faster I/O response, that is why it can be used for control applications.



Can i also know how many MC required for implementing UART (simple TX, RX enough)?
Is it really necessary to go for FPGA? Can't we manage with CPLD?
Is there any thumb rule to determine how many macro cells a particular logic consumes?
 

FvM

Super Moderator
Staff member
Joined
Jan 22, 2008
Messages
47,666
Helped
14,078
Reputation
28,413
Reaction score
12,742
Trophy points
1,393
Location
Bochum, Germany
Activity points
276,928
You can expect 50 to 100 macro cells for the UART, depending on baud rate generator requirements etc.

The most simple way to know the exact resource usage is to write the behavioral code and synthesize it.

You also didn't tell a word about the intended bridge functionality. But the overall design size is obviously approaching 200 macro cells or somewhat more. I agree, that a flash based FPGA should be considered. Some devices marketed as CPLD are actually non-volatile FPGAs, e.g. Altera MAX II family.

Speed differences between FPGA and CPLD won't count for an UART or I2C design anyway.
 

lucbra

Advanced Member level 2
Joined
Oct 30, 2003
Messages
514
Helped
73
Reputation
146
Reaction score
63
Trophy points
1,308
Location
Belgium
Activity points
3,251
I agree with FvM - speed doesn't count with the intended speed requirements.

CPLDs are however more considered for small control applications, with a fixed desired pin-to-pin delay (in the order of magnitude of 2.5 ...10ns). If that's the plan - or if your company rules dictate a CPLD architecture, then go for this solution. Otherwise pls consider a small FPGA - you will be by far less expensive. (big E²PROM CPLDs tend to cost a lot)
 

embeddedlover

Full Member level 5
Joined
Aug 10, 2007
Messages
279
Helped
46
Reputation
92
Reaction score
38
Trophy points
1,308
Activity points
3,155
You also didn't tell a word about the intended bridge functionality
I have a UART on one side and I2C on the other...wanted to use the device as protocol converter.

I was of the thinking upto know that CPLD costs much less than FPGA...
I also didn't get the use of volatile CPLDs....
 

FvM

Super Moderator
Staff member
Joined
Jan 22, 2008
Messages
47,666
Helped
14,078
Reputation
28,413
Reaction score
12,742
Trophy points
1,393
Location
Bochum, Germany
Activity points
276,928
I was of the thinking upto know that CPLD costs much less than FPGA...
Not much less with 256 or more macro cells.
I also didn't get the use of volatile CPLDs....
Nothing has said about volatile CPLD. In fact, they don't exist.
 

lucbra

Advanced Member level 2
Joined
Oct 30, 2003
Messages
514
Helped
73
Reputation
146
Reaction score
63
Trophy points
1,308
Location
Belgium
Activity points
3,251
Low volume cost for a CPLD is around $1.50..$2.00 per 32MC. This means that for the 256MC (that's the minimum that you will need) $12..$16. If you look at online shops, you will find much higher prices.

I assume you can buy quite a lot of FPGA for this money..

In my opinion, you only have flash based (like MaxII, MaxV, MachXO, MachXO2 and others ) and E² based CPLDs (EPM7000, EPM3000, LC4K, Coolrunner2)
 

embeddedlover

Full Member level 5
Joined
Aug 10, 2007
Messages
279
Helped
46
Reputation
92
Reaction score
38
Trophy points
1,308
Activity points
3,155
Information was very much helpful....

@FvM, LUCBRA
Can we discuss more on CPLDs and FPGA?
We shall go into basics and discuss if you are interested.
I am totally new to this...
 

lucbra

Advanced Member level 2
Joined
Oct 30, 2003
Messages
514
Helped
73
Reputation
146
Reaction score
63
Trophy points
1,308
Location
Belgium
Activity points
3,251
Information was very much helpful....

@FvM, LUCBRA
Can we discuss more on CPLDs and FPGA?
We shall go into basics and discuss if you are interested.
I am totally new to this...
OK - but maybe you can start a new thread.
 
Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top