mikrobus-upduino icon indicating copy to clipboard operation
mikrobus-upduino copied to clipboard

The max frequency for this core

Open La-Nausee opened this issue 5 years ago • 3 comments

Hi!

In your design, the default frequency is 12MHz. Now, I'm trying to increase the frequency. For example, set the internal oscillator's divider to 0x01, this means set the core to 24MHz. However, the core doesn't work. At the beginning, I doubt that it is caused by flash clock. I check that but there is no anything wrong. So, my question is, what's the maxium frequency this core can reach? And What is the main factor that has an important fluence on the maxium frequency?

La-Nausee avatar Mar 03 '19 12:03 La-Nausee

Note that if you change frequency, you would also need to update line https://github.com/mmicko/mikrobus-upduino/blob/master/src/picosoc/firmware.c#L573 since that is right now 12,000,000 / 9600 , so change of frequency will make this number double, to keep same boud rate. Note also that upduino2 is maybe not that stable at 24MHz so it could be that at the end it does not work.

mmicko avatar Mar 03 '19 13:03 mmicko

mmicko Thanks for your reply! Acctually, I have updated the buadrate setting in my test. For theoritically verification I test the core in iCE40 UltraPlus Breakout Board. It also doesn't work. According to datasheet, iCE40 UP can work maxium up to 133MHz and in your reply you mentioned upduino2 may be not so stable at 24MHz. Would you please explain more about this?

La-Nausee avatar Mar 03 '19 14:03 La-Nausee

I searched this issue about the max frequency. The reason may be this:

The frequency is determined by the longest combinatorial paths between 2 FF in the design.

La-Nausee avatar Mar 03 '19 14:03 La-Nausee