whitequark[cis] changed the topic of #amaranth-lang to: Amaranth hardware definition language · weekly meetings: Amaranth each Mon 1700 UTC, Amaranth SoC each Fri 1700 UTC · play https://amaranth-lang.org/play/ · code https://github.com/amaranth-lang · logs https://libera.catirclogs.org/amaranth-lang · Matrix #amaranth-lang:matrix.org
<_whitenotifier-4> [amaranth] jorolf opened issue #1608: Boolean value instead of signal width is written to rtlil - https://github.com/amaranth-lang/amaranth/issues/1608
<_whitenotifier-4> [amaranth] whitequark commented on issue #1608: Boolean value instead of signal width is written to rtlil - https://github.com/amaranth-lang/amaranth/issues/1608#issuecomment-2986117522
<_whitenotifier-4> [amaranth] whitequark commented on issue #1608: Boolean value instead of signal width is written to rtlil - https://github.com/amaranth-lang/amaranth/issues/1608#issuecomment-2986129809
bob_twinkles has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
bob_twinkles has joined #amaranth-lang
Raito_Bezarius has quit [Ping timeout: 248 seconds]
Raito_Bezarius has joined #amaranth-lang
Degi has quit [Ping timeout: 260 seconds]
Degi has joined #amaranth-lang
_whitelogger has joined #amaranth-lang
frgo has quit [Read error: Connection reset by peer]
frgo has joined #amaranth-lang
<_whitenotifier-4> [amaranth] rroohhh opened pull request #1609: hdl._ast.Shape: cast width to int - https://github.com/amaranth-lang/amaranth/pull/1609
V has quit [Ping timeout: 265 seconds]
RobTaylor[m] has joined #amaranth-lang
<RobTaylor[m]> random question just because there are smart experienced people here... if you've had experience doing PCB design for BGAs, what do you find are the the best pinout features that make life easier?
<whitequark[cis]> ask azonenberg, he had a thread on this just a few days ago
Stas[m]1 has joined #amaranth-lang
<Stas[m]1> I have not done BGA myself, but used his videos for PCB design
<Stas[m]1> here he deals with a lot of BGA layout, as he is hooking up ddr2 to a fpga
<Stas[m]1> There is a whole video series where he builds the board
<Stas[m]1> There were interesting tips like, leaving vias open on the other side for probing
<zyp[m]> I can't say I have a lot of experience with BGA layouts, but I've done some, and the nicest ones are the FPGAs since you're very free to pinswap signals to reduce the number of signal crossings you need in the layout
<zyp[m]> for the non-FPGAs, it tends to vary how sanely they've grouped related signals so they can be routed together
<zyp[m]> I've seen BGAs where memory interfaces are nicely grouped in a corner and I've seen BGAs where memory interface pins are all over the place
<zyp[m]> if I were designing a BGA pinout, I'd also think about which «ring» each signal ends up in, since that puts constraints on which layers they'll be fanned out in, and it's often preferrable to have related signals fanned out in the same layer since they'll be going the same way and may then cross an unrelated group of signals fanned out in another layer
<_whitenotifier-4> [amaranth] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-1609-916791022cb9cf96a552756d0e00efe2a4b16aba - https://github.com/amaranth-lang/amaranth
<_whitenotifier-4> [amaranth] whitequark commented on pull request #1606: Update document for `ResetSynchronizer` - https://github.com/amaranth-lang/amaranth/pull/1606#issuecomment-2988964415
<_whitenotifier-4> [amaranth-lang/amaranth] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±1] https://github.com/amaranth-lang/amaranth/compare/916791022cb9...fa493208b6f1
<_whitenotifier-4> [amaranth-lang/amaranth] rroohhh fa49320 - hdl._ast.Shape: cast width to int
<_whitenotifier-4> [amaranth] whitequark closed pull request #1609: hdl._ast.Shape: cast width to int - https://github.com/amaranth-lang/amaranth/pull/1609
<_whitenotifier-4> [amaranth] whitequark closed issue #1608: Boolean value instead of signal width is written to rtlil - https://github.com/amaranth-lang/amaranth/issues/1608
<_whitenotifier-4> [amaranth] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-1609-916791022cb9cf96a552756d0e00efe2a4b16aba - https://github.com/amaranth-lang/amaranth
<_whitenotifier-4> [amaranth-lang/amaranth-lang.github.io] whitequark pushed 1 commit to main [+0/-0/±35] https://github.com/amaranth-lang/amaranth-lang.github.io/compare/0856ab9702c0...731c6cbd6fb3
<_whitenotifier-4> [amaranth-lang/amaranth-lang.github.io] github-merge-queue[bot] 731c6cb - Deploying to main from @ amaranth-lang/amaranth@fa493208b6f1af998764d76b028aa1202f048555 🚀
<RobTaylor[m]> <whitequark[cis]> "ask azonenberg, he had a..." <- Good idea :)
<RobTaylor[m]> <Stas[m]1> "I have not done BGA myself..." <- thank you!
<_whitenotifier-4> [amaranth] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-1606-fa493208b6f1af998764d76b028aa1202f048555 - https://github.com/amaranth-lang/amaranth
<RobTaylor[m]> <zyp[m]> "for the non-FPGAs, it tends to..." <- yep, i was thinking this. currently trying to figure out a basic algo for a nice way to group them..
<zyp[m]> what size and pitch of BGA is this for?
<RobTaylor[m]> <zyp[m]> "if I were designing a BGA pinout..." <- oh thats a really nice idea. I guess its a bit of a trade off of ring vs locality - I'm thinking of grouping by ring by quadrant as the core structure, then taking into account the other constraint satisfaction (pairs, lengths, em etc)
<_whitenotifier-4> [amaranth-lang/amaranth] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±1] https://github.com/amaranth-lang/amaranth/compare/fa493208b6f1...652dbef0399b
<_whitenotifier-4> [amaranth-lang/amaranth] yuyichao 652dbef - Update document for `ResetSynchronizer`
<_whitenotifier-4> [amaranth] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-1606-fa493208b6f1af998764d76b028aa1202f048555 - https://github.com/amaranth-lang/amaranth
<_whitenotifier-4> [amaranth] whitequark closed pull request #1606: Update document for `ResetSynchronizer` - https://github.com/amaranth-lang/amaranth/pull/1606
<_whitenotifier-4> [amaranth] whitequark closed issue #1605: Outdated document on get_reset_sync - https://github.com/amaranth-lang/amaranth/issues/1605
<_whitenotifier-4> [amaranth-lang/amaranth-lang.github.io] whitequark pushed 1 commit to main [+0/-0/±36] https://github.com/amaranth-lang/amaranth-lang.github.io/compare/731c6cbd6fb3...101818e89c90
<_whitenotifier-4> [amaranth-lang/amaranth-lang.github.io] github-merge-queue[bot] 101818e - Deploying to main from @ amaranth-lang/amaranth@652dbef0399b73b48a4b56bd5e52e6e69bd2fc5a 🚀
<zyp[m]> if you're targetting regular cheap PCB processes with e.g. a 0.8mm pitch BGA with four signal rings and power in the middle, you'd typically end up with outer two rings fanned out interleaved on the top layer and the inner two fanned out interleaved on the bottom layer, so it'd be convenient if the signal grouping were optimized for that
jjsuperpower has joined #amaranth-lang
<zyp[m]> probably a bit different if you're targetting smaller pitch stuff like WLP on a HDI PCB
<zyp[m]> I've never done anything that justifies the cost of HDI, so I don't have any experience with that :)
jjsuperpower has quit [Ping timeout: 260 seconds]
jjsuperpower has joined #amaranth-lang
jjsuperpower_ has joined #amaranth-lang
jjsuperpower has quit [Read error: Connection reset by peer]
jjsuperpower_ has quit [Remote host closed the connection]
jjsuperpower has joined #amaranth-lang
jjsuperpower_ has joined #amaranth-lang
jjsuperpower has quit [Ping timeout: 260 seconds]
jjsuperpower_ has quit [Ping timeout: 252 seconds]
jjsuperpower_ has joined #amaranth-lang
jjsuperpower__ has joined #amaranth-lang
jjsuperpower_ has quit [Ping timeout: 276 seconds]
jjsuperpower__ has quit [Ping timeout: 260 seconds]
<RobTaylor[m]> <zyp[m]> "if you're targetting regular..." <- That makes sense
<RobTaylor[m]> <zyp[m]> "I've never done anything that..." <- Yeah that’s probably not something I need to worry about near term , I hope!
Lord_Nightmare has quit [Ping timeout: 252 seconds]