Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21147 Discussions

MAX10 10M04 - Not enough logic elements to use the ADC block?

James44
Novice
1,767 Views

Hi - I'm new to FPGA programming. I'm using the MAX10 10M04SAE144I7G on a board I made. I've gotten as far as programming it to blink LEDs and read pushbuttons now I'm trying to read an analog signal through an ADC pin.

From Intel's online tutorials to setup the ADC I used Quartus Platform Designer and created a block symbol file with the following components, modular ADC core Intel FPGA IP, ALTPLL Intel FPGA IP and JTAG to Avalon Master Bridge. When I go back to Quartus, load in the block symbol file and compile it says "Can't fit design in device". The total logic elements used says 7,432 when the 10M04 only has 4,032 logic elements available.

Is there a way to reduce the amount of logic elements that the ADC block uses?

What's the most simple way to read 1 analog input that uses the least amount of logic elements? Any simple vhdl code examples would be very helpful.

 

Thank you

Labels (1)
0 Kudos
1 Solution
ShengN_Intel
Employee
1,593 Views

Hi,


Try to set the bdf file adc4.bdf to other name.


Thanks,

Regards,

Sheng


View solution in original post

0 Kudos
9 Replies
FvM
Honored Contributor I
1,733 Views
The basic ADC block needs about 480 LE, less than 1/8 of 10M04 capacity. It's apparently not the ADC IP as such but other stuff that's consuming the logic resources in your design.
0 Kudos
James44
Novice
1,723 Views

Thanks for your response @FvM 

 

I've attached the vhdl code generated by the Platform Designer and all the submodules associated with it.

Is it possible the Platform Designer is incorporating too many submodules? 

Are there sections of it I can delete?

 

Thanks again

0 Kudos
ShengN_Intel
Employee
1,695 Views

Hi,


May I know which design example tutorials file you're following?


Thanks,

Regards,

Sheng


0 Kudos
ShengN_Intel
Employee
1,672 Views

Hi,


The high LE consumptions is because of enabling the Debug Path in Modular ADC core. May check the tutorial video link provided which had been used about 4640 LEs far exceeded the limit of 4,032 LEs.

If disabling the Debug Path, the LE consumptions will be reduced to about 1k+


Thanks,

Regards,

Sheng


0 Kudos
James44
Novice
1,639 Views

Ok thanks. I just regenerated a new .bdf file without the debug path but now I'm having troubles compiling because of these messages:

 

Error (12181): Top-level entity "adc4" is ambiguous
Error (12180): Instance could be entity "adc4" in file adc4/synthesis/adc4.vhd compiled in library adc4
Error (12180): Instance could be entity "adc4" in file adc4.bdf compiled in library work

Error (12153): Can't elaborate top-level user hierarchy

 

What file is supposed to be set to the Top- level entity?

 

Thanks 

0 Kudos
ShengN_Intel
Employee
1,594 Views

Hi,


Try to set the bdf file adc4.bdf to other name.


Thanks,

Regards,

Sheng


0 Kudos
James44
Novice
1,538 Views

Thank you so much @ShengN_Intel 

 

Both of those solutions fixed the problem. The .bdf file looks like it has to be a different name than the .qip file.

 

Also disabling the debug path and compiling now only uses 1,102 logic elements.

 

Thank you

0 Kudos
givememessage
New Contributor II
1,577 Views

10M04SAE144I7G $18, contact: jack@aceicc.com

0 Kudos
Reply