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

NextPNR-nexus reports PCLKDIV primitive not supported on LICL-40 #1272

Open
polymerizedsage opened this issue Jan 9, 2024 · 3 comments
Open

Comments

@polymerizedsage
Copy link

When trying to synthesize a design for the LICL-40, NextPNR-nexus reports Cell type 'PCLKDIV' instantiated as 'U$$5' is not supported by this device. despite the primitive being listed on the Lattice/Radiant documentation and working properly when building using the Radiant toolchain.

The primitive is instantiated in Amaranth HDL as follows:

m.submodules += Instance("PCLKDIV", 
                                 p_DIV_PCLKDIV      = "X2",
                                 i_CLKIN            = clk48.i,
                                 i_LSRPDIV          = Const(0),
                                 o_CLKOUT           = clk_ser,
                                 )

Using yowasp-nextpnr-nexus 0.6.0.0.post445

@gatecat
Copy link
Member

gatecat commented Jan 10, 2024

Thanks for reporting, this primitive is currently missing in prjoxide, but I'll look into fixing it.

@slagernate
Copy link

Appears IDDRX4 is also not yet in prjxode, despite it working with the Lattice Radiant tool chain:

        def get_iddrx4(sclk, eclk, d, q0, q1, q2, q3, q4, q5, q6, q7):
            for bit in range(len(d)):
                m.submodules += Instance("IDDRX4",
                    i_SCLK=sclk,
                    i_ECLK=eclk,
                    i_RST=Const(0),
                    i_ALIGNWD=Const(0),
                    i_D=d[bit],
                    o_Q0=q0[bit],
                    o_Q1=q1[bit],
                    o_Q2=q2[bit],
                    o_Q3=q3[bit],
                    o_Q4=q4[bit],
                    o_Q5=q5[bit],
                    o_Q6=q6[bit],
                    o_Q7=q7[bit],
                )

results in:

ERROR: Cell type 'IDDRX4' instantiated as 'pin_xxx_0.U$1' is not supported by this device.

@whitequark
Copy link
Member

@slagernate If this is for Amaranth, please note that we are (temporarily) dropping all gearing ratios higher than 1:2 (DDR) for the 0.5 release.

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

4 participants