I can’t believe I’m blogging about log file names. I guess I have to, because few software tools get it right.
EDA software runs a long time in batch mode, so the log file is often the user’s sole feedback. When running a flow, I constantly check progress by listing the log files with the ls command. Repeatedly. All day. It really does matter how the log files are named.
This is one of a series of articles on simple, specific techniques that will make your chip design flow easy to use. In this installment, I will explain a simple way to name log files for your EDA application. Other articles include,
- Apply the Scientific Method to IC Design Flow
- Write Effective Error Messages
- Give Files in Your IC Design Flow Useful Names
- Control Your IC Design Flow
The Default Log File Name
The default log file name should:
- Begin with the name of the application
- Contain a time stamp to make it unique so it does not overwrite previous log files
- End with
.log, the de facto file extension for EDA log files
For example,
programName.MM_dd_hh_mm.log
where programName is the name of the application, MM is the month of invocation, dd is the date, and so on. This way,
ls *.log
lists all log files grouped by application, and then in chronological order. The order breaks down a bit in early January, but adding the year would make the name unreasonably long.
Options to Change the Log File Name
When a flow runs your tool, it will need to name the log files to keep them organized. Therefore, your tool should provide command line options to :
- Specify the log file name, like
log/holdFix.log. - Replace just the application name with a specified string. This allows the user to specify a log file name while retaining the time stamp. For example, specifying
log/holdFixwould result in a log file name likelog/holdFix.03_21_22_05.log.
If the log file names are chosen wisely, the user can easily assess the progress of the flow with just ls. For example,
$ ls -lrt log/
log/netlistIn.log # Date and time omitted for brevity
...
log/antennaFix.log
log/antennaDiode.log
log/finalTouches.log
log/makeMacro.log
log/notchGap.log
It looks like the flow is working on notch and gap filling right now.
So there you have it. A mercifully short post about log file names. Now, back to those riveting error messages.

{ 2 trackbacks }