December 2024 Development Update

Squeezing through under bends, security audit, accessibility testing.

This is the last development update for the Topola PCB router in this year. We now have successfully completed all the tasks funded from the NGI0 Entrust fund and went through a security audit and accessibility testing mandated by our participation in the fund’s programme.

Squeezing through under bends

Implemented by Mikołaj Wielgus (mikolaj) starting in commit 84d5f9c49e.

A common problem when routing PCB traces manually is having to change one or more routes that were drawn earlier because they are blocking the way for a new trace. There are multiple possible mechanisms to automate this task for a PCB router like Topola.

The brute way to do this is to just have the obstructing traces ripped out and afterwards rerouted once the new trace is finished. Often, however, it is possible to clear the path by pushing away merely the nearest part of the blocking traces. Doing so is more efficient, since full rerouting takes time and may in turn require modifying more traces in other places, possibly even triggering a cascade. And the rerouted traces may end up interfering with each other too.

We have implemented the simplest of the possible methods by which such localized pushing can be performed, a mechanism which we call squeezing through under bends. It is the simplest to implement because it takes advantage of the fact that all bends of the traces that have been routed by Topola are shaped as thick concentric circular arcs. Owing to their geometric simplicity, little has to be done algorithmically to push them away apart from updating a few positions and checking if no design constraints were violated in result. Later we may implement more sophisticated pushing mechanisms.

You may see how squeezing through under bends looks like on the following screencast:

Animation. There is an upward barrier in the middle and dots on the leftand right of it, four each. A trace is drawn from the leftmost dot on theleft to the rightmost dot on the right. Then a trace is drawn from thesecond leftmost dot on the left to the second rightmost dot on the right,displacing the previous trace so that there’s space for the new one. Samehappens for the remaining dots. The dots, traces and barrier are all solidred. The background is black but also very slightly white and blue.

Security audit

Conducted by Radically Open Security.

Topola underwent a security audit conducted by Radically Open Security as a mandatory part of the NGI0 Entrust programme. The results of the audit can be found in the report accessible from a comment on our issue tracker.

Accessibility testing

Conducted by HAN Accessibility Lab.

As another mandatory part of the NGI0 Entrust programme, Topola underwent accessibility testing conducted by the HAN University’s Accessibility Lab. A report with the discovered accessibility bugs can be accessed from the same comment on our issue tracker.