Most of the chisel toolchain components require a topName which defines a circuit or a device under test.
Much of the work that is done takes place in a directory.
It would be simplest to require topName to be defined but in practice it is preferred to defer this.
For example, in chisel, by deferring this it is possible for the execute there to first elaborate the
circuit and then set the topName from that if it has not already been set.