EDAboard.com | EDAboard.eu | EDAboard.de | EDAboard.co.uk | RTV forum PL | NewsGroups PL

[synopsys] struggling

Ask a question - edaboard.com

elektroda.net NewsGroups Forum Index - Synthesis - [synopsys] struggling

stefimke
Guest

Mon Jun 19, 2006 11:24 am   



I'm fighting with variable substitution in Synopsys DC-shell in tcl/xg
mode.

This is what I want to do:

#-----------------------------------------------------------------------------
# Setting FALSE paths for asynchronous interfacing between clock
domains
#-----------------------------------------------------------------------------
foreach_in_collection clk1 ${clk_lst} {
foreach_in_collection clk2 ${clk_lst} {
if { ${clk1} != ${clk2} } {
echo "Information: Setting false path from ${clk1} to ${clk2}"
query_objects ${clk1}
query_objects ${clk2}
set_false_path -from ${clk1} -to ${clk2}
}
}
}


This an output that is printed:

Information: Setting false path from _sel54 to _sel55
{abc_clk}
{abc_clk}

Completely wrong... I don't want to define false paths from flipflops
in the same clock domain.
So the "if" is already going wrong.... does it compare the "_sel54"
with the "_sel55" string?

Anybody?

Aditya Ramachandran
Guest

Tue Jun 20, 2006 1:16 pm   



cant you do this:

foreach aClk $clk_lst {
set_false_path -from $aClk -to [remove_from_collection
$clk_lst $aClk]
}

Aditya
stefimke wrote:
Quote:
I'm fighting with variable substitution in Synopsys DC-shell in tcl/xg
mode.

This is what I want to do:

#-----------------------------------------------------------------------------
# Setting FALSE paths for asynchronous interfacing between clock
domains
#-----------------------------------------------------------------------------
foreach_in_collection clk1 ${clk_lst} {
foreach_in_collection clk2 ${clk_lst} {
if { ${clk1} != ${clk2} } {
echo "Information: Setting false path from ${clk1} to ${clk2}"
query_objects ${clk1}
query_objects ${clk2}
set_false_path -from ${clk1} -to ${clk2}
}
}
}


This an output that is printed:

Information: Setting false path from _sel54 to _sel55
{abc_clk}
{abc_clk}

Completely wrong... I don't want to define false paths from flipflops
in the same clock domain.
So the "if" is already going wrong.... does it compare the "_sel54"
with the "_sel55" string?

Anybody?


Aditya Ramachandran
Guest

Tue Jun 20, 2006 1:18 pm   



I meant

foreach_in_collection aClk $clk_lst {
set_false_path -from $aClk -to [remove_from_collection
$clk_lst $aClk]
}


Aditya Ramachandran wrote:
Quote:
cant you do this:

foreach aClk $clk_lst {
set_false_path -from $aClk -to [remove_from_collection
$clk_lst $aClk]
}

Aditya
stefimke wrote:
I'm fighting with variable substitution in Synopsys DC-shell in tcl/xg
mode.

This is what I want to do:

#-----------------------------------------------------------------------------
# Setting FALSE paths for asynchronous interfacing between clock
domains
#-----------------------------------------------------------------------------
foreach_in_collection clk1 ${clk_lst} {
foreach_in_collection clk2 ${clk_lst} {
if { ${clk1} != ${clk2} } {
echo "Information: Setting false path from ${clk1} to ${clk2}"
query_objects ${clk1}
query_objects ${clk2}
set_false_path -from ${clk1} -to ${clk2}
}
}
}


This an output that is printed:

Information: Setting false path from _sel54 to _sel55
{abc_clk}
{abc_clk}

Completely wrong... I don't want to define false paths from flipflops
in the same clock domain.
So the "if" is already going wrong.... does it compare the "_sel54"
with the "_sel55" string?

Anybody?


stefimke
Guest

Wed Jun 21, 2006 6:01 am   



Aditya, thanks!

I'll try your suggestion as it looks very clean and short.

In the meanwhile I found this to work too:
foreach_in_collection clk1 ${clk_lst} {
foreach_in_collection clk2 ${clk_lst} {
set clk1_name [get_object_name $clk1]
set clk2_name [get_object_name $clk2]
if { ${clk1_name} != ${clk2_name} } {
echo "Information: Setting false path from ${clk1_name} to
${clk2_name}"
set_false_path -from ${clk1} -to ${clk2}
}
}
}


Aditya Ramachandran wrote:
Quote:
I meant

foreach_in_collection aClk $clk_lst {
set_false_path -from $aClk -to [remove_from_collection
$clk_lst $aClk]
}


Aditya Ramachandran wrote:
cant you do this:

foreach aClk $clk_lst {
set_false_path -from $aClk -to [remove_from_collection
$clk_lst $aClk]
}

Aditya
stefimke wrote:
I'm fighting with variable substitution in Synopsys DC-shell in tcl/xg
mode.

This is what I want to do:

#-----------------------------------------------------------------------------
# Setting FALSE paths for asynchronous interfacing between clock
domains
#-----------------------------------------------------------------------------
foreach_in_collection clk1 ${clk_lst} {
foreach_in_collection clk2 ${clk_lst} {
if { ${clk1} != ${clk2} } {
echo "Information: Setting false path from ${clk1} to ${clk2}"
query_objects ${clk1}
query_objects ${clk2}
set_false_path -from ${clk1} -to ${clk2}
}
}
}


This an output that is printed:

Information: Setting false path from _sel54 to _sel55
{abc_clk}
{abc_clk}

Completely wrong... I don't want to define false paths from flipflops
in the same clock domain.
So the "if" is already going wrong.... does it compare the "_sel54"
with the "_sel55" string?

Anybody?


elektroda.net NewsGroups Forum Index - Synthesis - [synopsys] struggling

Ask a question - edaboard.com

Arabic versionBulgarian versionCatalan versionCzech versionDanish versionGerman versionGreek versionEnglish versionSpanish versionFinnish versionFrench versionHindi versionCroatian versionIndonesian versionItalian versionHebrew versionJapanese versionKorean versionLithuanian versionLatvian versionDutch versionNorwegian versionPolish versionPortuguese versionRomanian versionRussian versionSlovak versionSlovenian versionSerbian versionSwedish versionTagalog versionUkrainian versionVietnamese versionChinese version
RTV map EDAboard.com map News map EDAboard.eu map EDAboard.de map EDAboard.co.uk map Opony