Magic layout tool has the capability to incorporate expertise about design rules and connectivity directly into a layout system in order to implement some powerful interactive operations
Magic is an easy-to-use VLSI layout tool that has been popular with universities and small companies. It can be seen as an open source EDA alternative to the various commercial EDA tools out there. It provides many useful features for streamlining your product design flow.
What’s noteworthy about Magic
Magic uses simplified design rules and circuit structures that make designing easier, but produces circuits that are of lower density than what you would get with more complex rules and structures. This density sacrifice is, however, compensated by the reduced design time. Magic permits only Manhattan designs, that is, where edges are either vertical or horizontal.
Magic combines circuit knowledge with an interactive editor interface to speed up your manufacturing design processes. It allows you to enter and modify your designs quickly. The built-in knowledge of layout rules, circuits and transistors, and the knowledge of efficient routing, helps you re-arrange your circuit as a circuit, and not just a collection of geometrical objects. This makes any modification process more efficient and less complex. Most importantly, it allows you to focus on your design while the software takes care of mundane tasks like following layout rules.
Now let us have a look at some key features that set it apart from the other layout editors available.
Efficient corner-stitching technique
Like most layout editors, Magic also uses cells. However, the contents of these cells are represented using corner-stitching technique, which provides efficient searching options and allows for quick modification of the database.
Each point in the x-y plane is contained in exactly one tile and empty space is represented explicitly. These tiles are linked together at their corners. This allows for fast and efficient algorithms for searching, creation or deletion. Though it requires more storage space, this technique allows for efficient two-dimensional searches and permits fast updates.
Magic is usable through an interface that features colour graphics and also allows the use of a mouse to design basic cells. These basic cells can be hierarchically combined to make larger structures. The tool also provides multiple overlapping windows that can refer to different portions of a single cell or to completely different cells altogether. This way you can see an overall view of the chip while zooming in one or more than one piece of the chip, and you can precisely align large components. Additionally, it enables you to easily copy information from one window to the other.
A key feature and an aid to manual routing in this layout tool is its interactive router, Irouter, which provides an interface to the internal maze router. You can perform routing at one connection at a time, specifying the starting and the end point prior to each connection.
What’s more, you can decide the order in which signals should be routed and how multi-point nets should be decomposed into point-to-area connections. But the interactive router is not a fully automated router, so it will not consider the interactions between nets and thus net decomposition is not automatic.
The special Magic ‘hint’ layers will allow you to control the nature of the routes. Typically, you can determine the overall path of a connection and leave the ‘design-rule check’ and ‘detouring’ around or over minor obstacles to the router tool itself.
Design-rule check with error paints
Magic incorporates a continuous design-rule check feature, which enables you to have an up-to-date picture of design rule errors (if any) in your layout. Therefore it is not necessary to have a complete check over the whole design unless design rules are changed.
With the interactive feature of continuous design-rule check, you can easily and immediately figure out the error location. While editing any layout with Magic, the system will automatically check the design rules, as mentioned above. Whether you paint or erase, or move a cell or change any array structure, Magic will recheck the area changed by you in order to check for the violation of any of the layout rules. If rules are violated, little white dots will be displayed in the vicinity of the violation. These white dots or the error paint will stay till you fix the problem.
Circuit extraction in hierarchical designs
Magic uses cell hierarchies to represent a layout. Each cell contains three things: paint, label and sub cell. While some say that a hierarchical structure is not necessary by reasoning that layout can also be represented as flat, a hierarchical structure greatly improves efficiency of the design tools as well as the speed and ease of designing with them.