In looking over the shoulders of Encounter users over the years I've found there's a bunch of little tips and tricks I use to make interacting with the tool a little easier that aren't necessarily immediately obvious. Here are some of the more common ones I used this week:
- When navigating an Encounter log file in a text editor, search forward for "<CMD>". Each time a command is executed it's embedded in the log file, for example: "<CMD> optDesign -preCTS". This makes it easier to understand what was executed and what resulted.
- Use "getLogFileName" to determine which log file goes with which Encounter session.
- Use "win" at the Encounter prompt to raise the window of the session associated with the Encounter console. Doesn't work with all window managers but when it does I find this quite useful.
- Use "dbWireCleanup" to delete all of the signal routes in the design (trialRoute or NanoRoute). See also "editDelete -type Signal".
- Use "deleteAllPowerPreroutes" to delete all of the power routing in a design. Sure you could "editDelete -type Special" but what fun is that?
- Use "encounter -init design.enc" to restore a design from the UNIX prompt.
- Load designs with "source design.enc" at the Encounter prompt instead of using restoreDesign. That way you don't need to use a pulldown menu and you don't need to tell the tool the top cell name since it's embedded within the .enc file.
- Use emacs-style shortcuts like "ctrl-a", "ctrl-e", and "ctrl-k" to position the cursor and strike text at the Encounter console.
- Use "dbGet selected.??" to query physical information about an object.
- Use "report_property [get_nets <net_name>]" to query timing information about an object.
Question of the Day: What little tips and tricks have you found useful in Encounter over the years? Let us know in the comments.
-Bob Dwyer