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 reroute them once the new trace is finished. Often, however, it is possible to clear the path by pushing away just 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. Not to mention that all these rerouted traces may interfere with each other as well.

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 the geometric simplicity of these shapes, little has to be done algorithmically to push Topola’s traces away apart from updating a few positions and checking if no design constraints were violated as a result. Later we may also implement more sophisticated pushing mechanisms.

You may see how squeezing through under bends looks like in 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.