Re: DC-WG: DCDL script for demo

Mark Hahn (mhahn@cadence.com)
Wed, 19 May 1999 10:34:10 -0700

Bob,

You're right, the syntax is incorrect. I'll correct it to be

# ------------------------------------------------------------------------
# Multi-cycle paths
# ------------------------------------------------------------------------
multi_cycle_path -source -to { MemWrite MemRead } -early 1
multi_cycle_path -source -to { MemWrite MemRead } -late 2

Equally valid would be
multi_cycle_path -source -to { MemWrite MemRead } {1 2}

Ed's explanation of the -source and -target options is correct.
The specification controls whether the constraint affects the
cycle in which the launching clock edge is assumed to occur
(-source) or the cycle in which the capturing clock edge is
assumed to occur (-target).

There is an interaction between -source/-target and -early/-late,
where the general rule is that larger cycle offset numbers
result in looser constraints. So, for example, -early combined
with -source results in the early launching clock edge occurring
later than the default (making the hold check at the target
easier to satisfy). And -late combined with -source results
in the late launching clock edge occurring earlier than the
default (making the setup check at the target easier to satisfy).

Mark

On May 18, 4:58pm, Robert A. Dilly wrote:
> Subject: Re: DC-WG: DCDL script for demo
> Folks-
> Our tool flagged the multi_cycle_path command as an error.
> Its coded thus in btoh files (where its used):
>
> >
> ># ------------------------------------------------------------------------
> ># Multi-cycle paths
> ># ------------------------------------------------------------------------
> >multi_cycle_path -source -early 1 -late 2 -to { MemWrite MemRead }
> >
>
> I interpreted the revised syntax a little differently. I refer to
> http://www.vhdl.org/dcwg/hm/0225.html
>
> which describes the syntax as:
>
> dcd::multi_cycle_path
> ?-target | -source? /* only -source supported for DAC */
> ?-from <pin_list>?
> ?-through <pin_list>?
> ?-to <pin_list>?
> ?-early | -late?
> <cycle_offset> /* only integer values supported for DAC */
>
> >From this I would have expected only one "cycle_offset" and optionally
> either -early or -late (possibly neither).
>
> It looks to me like they are not in agreement?
>
> I have no preference, just want to make things consistent and
> get our code fixed. :-)
>
>
> By the way, I don't know if I ever asked this, but I'm not exactly
> clear on the intent of ?-target | -source? which is used in
> data_required_time and multi_cycle_path. I looked at the related
> BuildGates commands, but didn't see anything I could relate the
> concept to.
>
> Thanks........ Bob
>
>
>-- End of excerpt from Robert A. Dilly

-- 
Mark Hahn                                          phone: (408) 428-5399
Senior Architect                                   fax:   (408) 428-5959
Cadence Design Systems                             email: mhahn@cadence.com