Line overflow in Cadence EDI

210 views Asked by At

I am working on a script in Cadence EDI tool (this is TCL based i.e. the EDI shell is TCL based). My code looks something like-

namespace eval clockgatecloning {
....
.....
......
...
}

There are a number of nested statements, procs calling each other. Now I am working on a big database which is providing a set of data each time to this code and this happens roughly 5000 times. I left my code running overnight as it ran properly (dumping out some data on the shell at each iteration. However today when I checked, there was this message displayed-

<<: Line overflow.

Is this an error? Has my run completed? This has happened before once and I have no clue why. Has it something got to do with memory ?

Please help me out.

2

There are 2 answers

1
Donal Fellows On

Tcl itself does not have limits on the length of lines; if you want a line many megabytes long, you can have it. (It's probably not a good idea if you don't strictly need it, but that's your call.) This applies to both lines in scripts and lines in data files. The main limits have to do with how much memory you've got, and exceeding them won't produce that error message. Indeed, that message is not present anywhere in the Tcl source code.

It's entirely possible that Cadence EDI may have its own limits, but these are more likely to be somewhere like logging or in parts that are not Tcl-related (though they are obviously accessed via some interface that ends up exposed to the Tcl level).

0
Ashish Shukla On

The code is 1000 lines plus and basically is performing an operation on clock-gates in a design in EDI. There are around 5000 clock-gates to clone in the design (the operation is cloning and reassigning the sinks of 1 clock-gate to its new clones).

EDI runs on a load sharing facility to which I have allotted some memory for this task.

Ideally, when the code runs, a message for each clock-gate is dumped to the EDI shell implying that is making changes to the design. A snapshot of this is-

Flip instance u_cheetah_core/uvincero_mpupd/uvincero_cpu_l2/uCORTEXA9MP/u_falcon_cpu_power_wrapper0/u_cpu/u_noram/u_core/u_de/u_neon/umcr_mrc_if/RC_CG_HIER_INST1390/RC_CGIC_INST_1 to match row orient. Flip instance u_cheetah_core/uvincero_mpupd/uvincero_cpu_l2/uCORTEXA9MP/u_falcon_cpu_power_wrapper0/u_cpu/u_noram/u_core/u_de/u_neon/uniq/RC_CG_HIER_INST1401/RC_CGIC_INST_1 to match row orient. Flip instance u_cheetah_core/uvincero_mpupd/uvincero_cpu_l2/uCORTEXA9MP/u_falcon_cpu_power_wrapper0/u_cpu/u_noram/u_core/u_de/u_neon/uniq/RC_CG_HIER_INST1402/RC_CGIC_INST_2 to match row orient. Flip instance u_cheetah_core/uvincero_mpupd/uvincero_cpu_l2/uCORTEXA9MP/u_falcon_cpu_power_wrapper0/u_cpu/u_noram/u_core/u_de/u_neon/uniq/RC_CG_HIER_INST1404/RC_CGIC_INST_1 to match row orient. Flip instance u_cheetah_core/uvincero_mpupd/uvincero_cpu_l2/uCORTEXA9MP/u_falcon_cpu_power_wrapper0/u_cpu/u_noram/u_core/u_de/u_neon/uniq/RC_CG_HIER_INST1405/RC_CGIC_INST_1 to match row orient.

Today morning when I checked the shell, I realised that it had exitted the code with this message-

:>> Line Overflow.

I checked the EDI log file and even there it showed a similar message.