-
Notifications
You must be signed in to change notification settings - Fork 78
GW5A. Implement PLLs. #388
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Support for all six PLLs in the GW5A-25 chip has been added. All seven outputs with individual output frequency settings are supported. Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
apycula/bslib.py
Outdated
slot_size = ba[3] | ||
#print("Slot size:", slot_size) | ||
slot_bitmap = [] | ||
i = 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i
is not really needed?
apycula/chipdb.py
Outdated
|
||
# GW5A PLLs do not use the main grid, but are located in so-called slots, so it | ||
# makes sense to use the extra_func mechanism for their arbitrary placement. | ||
# Slots (the name is taken from the ceiling) are bit cells of different widths |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably better to use phrase like "name is chosen arbitrarily".
apycula/chipdb.py
Outdated
# There is one interesting catch here: the hardware has one | ||
# physical wire as a PLL output, which acts as both a logic | ||
# and clock signal (let's say F0 and MPLL0CLKOUT0). But if | ||
# we make a Himabechel node out of them, only one wire will |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo: Himabechel
apycula/gowin_pack.py
Outdated
if attr.startswith('A_DYN_PE') and attr[-3:] == 'SEL': | ||
pll_attrs[attr] = val | ||
continue | ||
if attr.startswith('A_DE') and attr[-3:] == 'EN': |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't it be [-2:]
?
One PLL is used to generate seven different frequencies. Since it is impossible to obtain less than 6.25 MHz at the output, the result will have to be viewed on a logic analyzer rather than on LEDs. Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
Support for all six PLLs in the GW5A-25 chip has been added.
All seven outputs with individual output frequency settings are supported.