<d1b2>
<j4cbo> how can i instantiate an SB_RGB_DRV? this primitive needs to be connected directly to the I/O pins without an SB_IO, and i'm not sure how to prevent the SB_IO from being generated
<d1b2>
<j4cbo> i saw a discussion in #fpga from early 2020 that said "pass dir='-' to plat.getresource" but that doesn't seem to be allowed anymore (i get "Direction must be one of "i", "o", "oe", or "io", not '-'")
<d1b2>
<j4cbo> yeah, that's basically what i'm doing, and amaranth is happy but it produces Verilog that nextpnr can't deal with (because there's an SB_IO in the way)
<tpw_rules>
oh, i don't think i understood the question correctly then
<d1b2>
<j4cbo> SB_RGB_DRV is an ice40 primitive for some special constant-current pins; those pins can be associated with either the SB_RGB_DRV or an SB_IO, but not both
<tpw_rules>
so you don't want the resource machinery to automatically create an SB_IO
<d1b2>
<j4cbo> exactly
<d1b2>
<j4cbo> when i just use Instance("SB_RGB_DRV", ...) to instantiate it, Amaranth winds up connecting the output of the SB_RGB_DRV to the SB_IO's D_OUT_0, which can't be placed
<tpw_rules>
not sure how to do that then, sorry
<whitequark>
could you show the code you are using?