While direct linear solvers have long been regarded as a requirement for successful circuit simulation, the simulation of large-scale digital circuits is now necessitating the use of iterative linear solvers. However, the linear systems generated through circuit simulation prove to be challenging for the conventional matrix ordering, load balancing, and preconditioning techniques due to their heterogeneous matrix structure. We will discuss why these linear systems can be difficult for iterative methods to solve as well as some of the graph techniques employed by the Xyce circuit simulation code to address these challenges. Furthermore, we will also discuss ongoing work in parallel partitioning and preconditioning techniques, including some multi-level approaches, that have proven useful for the simulation of large-scale digital circuits.