Skip to content
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

PLL numbers swapped for Bergen Board #10

Open
KyleM32767 opened this issue Oct 16, 2024 · 0 comments
Open

PLL numbers swapped for Bergen Board #10

KyleM32767 opened this issue Oct 16, 2024 · 0 comments

Comments

@KyleM32767
Copy link

On the CW310 Bergen Board, the numbers of the PLL outputs when calling target.pll methods do not correspond to the correct PLL output numbers. (i.e. calling target.pll.pll_outenable_set(True, 2) enables PLL output 1, and vice versa).

Looking at the schematic and constraint file, it seems like this is because the signals for PLL_CLK1 and PLL_CLK2 are on pins Y4 and Y1, respectively of the external PLL.

image

#####
# Input Clocks
#####

set_property -dict { PACKAGE_PIN  R22  IOSTANDARD   LVCMOS33 } [get_ports { PLL_CLK1 }]; #IO_L14P_T2_SRCC_13
set_property -dict { PACKAGE_PIN  N21  IOSTANDARD   LVCMOS33 } [get_ports { PLL_CLK2 }]; #IO_L12P_T1_MRCC_13

However the API assumes PLL_CLK1 is on pin Y1 and PLL_CLK2 is on Y4...

    def outputUpdateOutputs(self, outnum, pllsrc_new=None, pllenabled_new=None, pllslewrate_new=None):
        """Update the output pins with enabled/disabled, slew rate, etc"""
        outnum = self.swap_340_pllnum(outnum)
        # Map to output pins on CDCE906 Chip
        if outnum == 0:
            outpin = 0
            if pllsrc_new is None:
                src = self._pll0source
            else:
                src = pllsrc_new

            if src == 'PLL0':
                divsrc = 0
            elif src == 'PLL1':
                divsrc = 1
            elif src == 'PLL2':
                divsrc = 2
        elif outnum == 1:
            outpin = 1
            divsrc = 1
        elif outnum == 2:
            outpin = 4
            divsrc = 2

The CW305 is that way, which tells me this is just a mistake with the CW310 design.

image

TLDR: Switch the labels for PLL_CLK1 and PLL_CLK2 on the schematic and bergen.xdc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant