Het artikel bespreekt cuflow, een experimenteel PCB-lay-outsysteem dat gebruikmaakt van een hexagonaal celraster voor automatische signaalrouting. In tegenstelling tot de klassieke methode (zoals het algoritme van Lee) die een vierkant raster gebruikt, biedt een hexagonale aanpak significante voordelen:
- Betere connectiviteit: Elke cel heeft zes symmetrische buren in plaats van vier, wat zorgt voor flexibelere routes.
- Efficiëntere pakking: Omdat een hexagon een cirkel beter benadert dan een vierkant, sluit dit beter aan bij de fysieke ontwerpregels van PCB's.
- Hogere dichtheid: Hexagonale cellen kunnen kleiner zijn dan vierkante cellen bij dezelfde ontwerpregels, waardoor er meer banen in een kleiner gebied passen.
De auteur illustreert deze voordelen aan de hand van praktische voorbeelden, waaronder het routen rond via's en de volledige implementatie in de SPIDriver Quattro.
PCB's routen op een hexagonaal celraster
6 richtingen zijn beter dan 4
Speciale opmerking: de langverwachte SPIDriver Quattro bevindt zich in de pre-launch fase op Crowd Supply. Als u geïnteresseerd bent, neem dan een kijkje en schrijf u in op de pre-launch pagina.
cuflow is een experimenteel PCB-lay-outsysteem dat ik sinds 2020 gebruik voor al mijn productie-PCB's. De afgelopen coupleuren ben ik begonnen met experimenten met beperkte automatische signaalrouting; TermDriver (2024) maakte hier in zekere mate gebruik van, waarbij enkele signalen automatisch werden gerouteerd. Bij de SPIDriver Quattro (2026) is echter bijna elk signaal automatisch gerouteerd.
Het principe van auto-routing
Er is niets nieuws aan auto-routing. De klassieke celgebaseerde routingmethode is het algoritme van Lee. Deze methode 'overstroomt' het raster vanaf het startpunt (S) tot het doelpunt (T) is bereikt, waarbij elke cel wordt gevuld met een afstandsteller. Vervolgens wordt vanaf T teruggezocht door bij elke stap met 1 af te tellen. Zo wordt de kortste route gevonden.
cuflow doet iets soortgelijks, maar het verschil is dat het een hexagonaal raster gebruikt in plaats van een vierkant raster.
Het voordeel van hexagonaal gegenüber vierkant
In een vierkant raster zijn er vier directe buren. (Men kan dit uitbreiden naar acht als diagonalen zijn toegestaan, maar dan krijg je twee soorten buren: orthogonaal of diagonaal.) Het hexagonale raster geeft elke cel zes buren, die allemaal symmetrisch zijn.
Een ander, minder voor de hand liggend voordeel is dat de ontwerpregels voor PCB's goed aansluiten bij de hexagonale lay-out, waardoor de pakking efficiënter is. Dit komt voort uit het triviale geometrische feit dat een hexagon een veel betere benadering is van een cirkel dan een vierkant.
Praktische toepassing en voorbeelden
Ik bespreek de werkelijke geometrische regels hieronder in meer detail, maar eerst volgen enkele illustraties van hoe het is om banen op een hexagonaal raster te lay-outen.
Ten eerste: een paar via's met een baan die eromheen is gerouteerd. Het gele spoor rond de rechter via leiden is eenvoudig: het gaat simpelweg door de dichtstbijzijnde ongeblokkeerde cellen. Er is geen gevaar dat de nabijheidsregels worden geschonden; het celraster garandeert dat de lay-out legaal is.
Ten tweede: een detail van een andere PCB met een automatisch gerouteerd signaal dat drie punten verbindt (gemarkeerd in wit). De autorouter heeft deze punten verbonden met een efficiënt gebruik van draad, waarbij het minimale aantal cellen wordt overspannen.
Ten derde: het volledige SPIDriver Quattro-bord. Er zijn een handvol eenvoudige verbindingen die gebruikmaken van orthogonale routing, maar de overgrote meerderheid maakt gebruik van hex-routing.
Celgrootte en routingdichtheid
Voor een hexagonaal celraster is de keuze van de celgrootte cruciaal. Bij een juiste keuze krijg je een hoge dichtheid zonder dat er ingewikkelde lay-outbeslissingen nodig zijn.
Ter vergelijking: een vierkant-cel lay-out met dezelfde ontwerpregels zou er anders uitzien. Een maatstaf voor de routingdichtheid is simpelweg de celgrootte. Met kleinere cellen kunnen er meer draden in een bepaald gebied worden geplaatst. Een vierkante cel van 0,585 mm is 0,34 mm², terwijl de hexagonale cel 0,18 mm² is, wat bijna de helft van de grootte is.
PCB's routen op een hexagonaal celraster
6 richtingen zijn beter dan 4
Speciale opmerking: de langverwachte SPIDriver Quattro bevindt zich in de pre-launch fase op Crowd Supply. Als u geïnteresseerd bent, neem dan een kijkje en schrijf u in op de pre-launch pagina.
cuflow is een experimenteel PCB-lay-outsysteem dat ik sinds 2020 gebruik voor al mijn productie-PCB's. De afgelopen coupleuren ben ik begonnen met experimenten met beperkte automatische signaalrouting; TermDriver (2024) maakte hier in zekere mate gebruik van, waarbij enkele signalen automatisch werden gerouteerd. Bij de SPIDriver Quattro (2026) is echter bijna elk signaal automatisch gerouteerd.
Het principe van auto-routing
Er is niets nieuws aan auto-routing. De klassieke celgebaseerde routingmethode is het algoritme van Lee. Deze methode 'overstroomt' het raster vanaf het startpunt (S) tot het doelpunt (T) is bereikt, waarbij elke cel wordt gevuld met een afstandsteller. Vervolgens wordt vanaf T teruggezocht door bij elke stap met 1 af te tellen. Zo wordt de kortste route gevonden.
cuflow doet iets soortgelijks, maar het verschil is dat het een hexagonaal raster gebruikt in plaats van een vierkant raster.
Het voordeel van hexagonaal gegenüber vierkant
In een vierkant raster zijn er vier directe buren. (Men kan dit uitbreiden naar acht als diagonalen zijn toegestaan, maar dan krijg je twee soorten buren: orthogonaal of diagonaal.) Het hexagonale raster geeft elke cel zes buren, die allemaal symmetrisch zijn.
Een ander, minder voor de hand liggend voordeel is dat de ontwerpregels voor PCB's goed aansluiten bij de hexagonale lay-out, waardoor de pakking efficiënter is. Dit komt voort uit het triviale geometrische feit dat een hexagon een veel betere benadering is van een cirkel dan een vierkant.
Praktische toepassing en voorbeelden
Ik bespreek de werkelijke geometrische regels hieronder in meer detail, maar eerst volgen enkele illustraties van hoe het is om banen op een hexagonaal raster te lay-outen.
Ten eerste: een paar via's met een baan die eromheen is gerouteerd. Het gele spoor rond de rechter via leiden is eenvoudig: het gaat simpelweg door de dichtstbijzijnde ongeblokkeerde cellen. Er is geen gevaar dat de nabijheidsregels worden geschonden; het celraster garandeert dat de lay-out legaal is.
Ten tweede: een detail van een andere PCB met een automatisch gerouteerd signaal dat drie punten verbindt (gemarkeerd in wit). De autorouter heeft deze punten verbonden met een efficiënt gebruik van draad, waarbij het minimale aantal cellen wordt overspannen.
Ten derde: het volledige SPIDriver Quattro-bord. Er zijn een handvol eenvoudige verbindingen die gebruikmaken van orthogonale routing, maar de overgrote meerderheid maakt gebruik van hex-routing.
Celgrootte en routingdichtheid
Voor een hexagonaal celraster is de keuze van de celgrootte cruciaal. Bij een juiste keuze krijg je een hoge dichtheid zonder dat er ingewikkelde lay-outbeslissingen nodig zijn.
Ter vergelijking: een vierkant-cel lay-out met dezelfde ontwerpregels zou er anders uitzien. Een maatstaf voor de routingdichtheid is simpelweg de celgrootte. Met kleinere cellen kunnen er meer draden in een bepaald gebied worden geplaatst. Een vierkante cel van 0,585 mm is 0,34 mm², terwijl de hexagonale cel 0,18 mm² is, wat bijna de helft van de grootte is.