Lynx Design System
Run time manager
Underlying running scripts are written in TCL language. A close look at those TCL files reveal that these are nothing but modified reference methodology scripts. Earlier manually we used to set the scripts and its flow, now Lynx does that job. Our responsibility is to set several design related variables, provide proper inputs and set flow steps necessary for our designs once to the tool, then rest is taken care by Execution manager of the tool. Even if i forget to send daily report to my manager, the Lynx will show all design related metric to my manager in Management cockpit. Lynx can fire jobs in parallel based on dependencies to reduce design time. Anybody who is familiar with the Synopsys ASIC design flow can easily follow Lynx labs given by them. Even I did !
Several clumsy steps or features what i noticed while working with Lynx may be shared here.
- It was confusing to work with several variable settings at the initial stage of the Lynx setup.
- It was annoying to understand their standard directory and file structure.
- If flow is running and i wanted to see what is happening withing the tool, i choose to to trace the 'log' of the 'tail', it can only show the log of one running tool. Even when flow goes to next step, if you want to see the continuous log then i should open respective tail log again. I felt uncomfortable with such repeated job. I expected the same log window should record/show the continuous log information of the flow.
- Lynx doesn't show TCL syntax errors. There were several instances where we needed to alter the existing TCL files according the requirement of the present design. I made several typos and run the design, Lynx kept quite and finally it showed in red color saying that it failed. Sad thing is it runs all over that particular step (eg.DFT), may be it takes an hour, and finally it parses log files to trace errors. If it finds any error, it fails. Why can't it show red as soon as it finds Error while running itself? At least i can save an hour of time.
- There is no option available to import existing setup files, constraint files etc. I have set everything through GUI or i should copy the content of existing file and paste in the TCL file of Lynx which is little risky unless i know what i am modifying, which file i am modifying and and from which directory i am modifying.
- Once I take pain of doing all setup of Lynx, then i pretty sure that it can considerably reduce my design turn around time.
- Lynx, as such, doesn't has any 'Design Intelligence'. It simply takes inputs from the standard directories, calls respective design tool to run the respective TCL scripts which actually consists of the tasks that has to be carried out, dumps the results to the standard directories, provides the report in HTML browser to my manager to find all truth about me !! But I felt Lynx does this labour job efficiently.
By the way, all block diagrams in this blog post are courtesy of Synopsys Lynx page.