LinuxQuestions.org
Review your favorite Linux distribution.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 06-07-2013, 12:44 PM   #1
adelina
LQ Newbie
 
Registered: Jun 2013
Posts: 2

Rep: Reputation: Disabled
Help Me about Low-Power Contest


Hi guys my name is Adelina from Italy and am new for this forum and also this course "Synthesis and Optimization of Digital Systems" so i want you to show me how to do it and if it's possible some examples.

here is my question:-
Write a new TCL command to be run under Design Compiler that performs a timing-driven Dual-Vth
assignment. The main input parameter is arrivalTime which represents the actual timing constraint
to match during the optimization.
The command returns the list resList containing the following 4 items:
item 0-->
item 1-->
item 2-->
item 3-->
power-savings: % of leakage reduction wrt the initial configuration;
execution-time: difference between starting-time and end-time (seconds)*.
lvt: % of LVT gates
hvt: % of HVT gates
SYNOPSIS
$resList$ dualVth_assignment $arrivalTime$
*Note: use the tcl clock command
Basic Rules for the Competition
1. Benchmarks: c1908.v c5315.v (clock-gating disabled).
2. The circuit c1908 is first synthesized using a single Low-Vt library (i.e., all LVT gates using the compile
command) under a fixed timing constraint (e.g., clockPeriod = 5.0 ns); the resulting netlist is then used
as starting point over which the dualVth_assignement command will run.
3. The command will be executed under Design Compiler, just after synthesis.tcl.

thanks alot

xoxoxoxox
 
Old 06-07-2013, 12:48 PM   #2
shane25119
Member
 
Registered: Aug 2003
Location: Illinois
Distribution: Linux Mint XFCE
Posts: 647

Rep: Reputation: 52
Sorry, we're happy to help- but we won't do your homework for you.

When you post, tell us what you've tried, provide the error messages you've gotten and we can take it from there.
 
Old 06-07-2013, 04:02 PM   #3
onebuck
Moderator
 
Registered: Jan 2005
Location: Midwest USA, Central Illinois
Distribution: SlackwareŽ
Posts: 12,542
Blog Entries: 23

Rep: Reputation: 1943Reputation: 1943Reputation: 1943Reputation: 1943Reputation: 1943Reputation: 1943Reputation: 1943Reputation: 1943Reputation: 1943Reputation: 1943Reputation: 1943
Moderator Response

Per the LQ Rules, please do not post homework assignments verbatim. We're happy to assist if you have specific questions or have hit a stumbling point, however. Let us know what you've already tried and what references you have used (including class notes, books, and Google searches) and we'll do our best to help. Also, keep in mind that your instructor might also be an LQ member.
 
Old 06-07-2013, 05:15 PM   #4
jefro
Moderator
 
Registered: Mar 2008
Posts: 15,388

Rep: Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199
I'd be more than happy to say hello and welcome to LQ.

Some folks do help with job tasks and homework, in this case however, I am of no use only because I don't know anything about what you are doing.

I'd peek at the LQ forums for some other posts relate to this. Send personal messages (PM) to anyone how seems to know this maybe?

One or more of the talented people on LQ would know this I'd think.
 
Old 06-07-2013, 06:02 PM   #5
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,130
Blog Entries: 2

Rep: Reputation: 4825Reputation: 4825Reputation: 4825Reputation: 4825Reputation: 4825Reputation: 4825Reputation: 4825Reputation: 4825Reputation: 4825Reputation: 4825Reputation: 4825
Quote:
Originally Posted by jefro View Post
Send personal messages (PM) to anyone how seems to know this maybe?
A member needs to have a minimum of 150 posts before being able to use the PM function.
 
Old 06-07-2013, 07:59 PM   #6
rtmistler
Moderator
 
Registered: Mar 2011
Location: Sutton, MA. USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu
Posts: 4,105
Blog Entries: 10

Rep: Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524
Welcome to the forum Adelina.

Do you even have the slightest understanding what you're being asked to do for that project?

Tcl is probably one of the smaller problems you're facing there. Further, there's likely an existing library made available to run the benchmarks and perform the general synthesis operations.

I'd recommend discussion with your instructor areas where you are stuck without any possibility of moving forwards and also recommend you collaborate with your peer students who are also tackling this same problem.

Also understand that circuit synthesis, digital design, are not really related to Linux. Tcl is a script language which can be used in Linux environments.
 
Old 06-07-2013, 10:12 PM   #7
jefro
Moderator
 
Registered: Mar 2008
Posts: 15,388

Rep: Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199Reputation: 2199
"minimum of 150 posts"

OK
 
Old 07-30-2013, 08:05 AM   #8
adelina
LQ Newbie
 
Registered: Jun 2013
Posts: 2

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by shane25119 View Post
Sorry, we're happy to help- but we won't do your homework for you.

When you post, tell us what you've tried, provide the error messages you've gotten and we can take it from there.
here is what i did and its not working so could you please check it.

proc dualVth_assignment {arrivalTime} {

set start_time [clock seconds]

set resList[list]
set number_of_lvt_cells 0
set lkg_val_dualVT 0 ##leakage value dualLVT
set lkg_value_LVT 0 ## leakage value LVT

##extract the leakage power from power report file with LVT
report_power > lvt.txt
set lvtname "./lvt.txt"
set lvtid [open $lvtname r]
set i 0
while {$i < 27} {
incr i
gets $lvtid line_1
}
gets $lvtid line_1
close $lvtid
scan $line_1 %s%s%s%s%f space1 space2 space3 space4 lkg_value_LVT

###################################
set number_of_cells 0
set cell_collection [get_cells]
foreach_in_collection current_cell $cell_collection {
set cell_name [get_attribute $current_cell full_name]
set cell_ref [get_attribute $current_cell ref_name]
incr number_of_cells
if { [regexp {LL} $cell_ref] } {
set reference [regsub -all {LL} $cell_ref "LH"]
size_cell $cell_name CORE65LPHVT_nom_1.00V_25C.db:CORE65LPHVT/$reference
}
}
############################

##storing the cell which are in critical path to restore list
#########################
set num_path 0
set s 1
while {1} {


set restore_list[list]
set path_collection [get_timing_path]

foreach_in_collection current_path $path_collection {
incr num_path
set data_arrival [get_attribute $current_path arrival]
set slack_point [get_attribute $current_path slack]
set start_point [get_attribute [get_attribute $current_path startpoint] full_name]

set Slack_Calculated [expr $arrivalTime - $data_arrival]
if { [ expr $Slack_Calculated < 0 ] } {
set $s 1
set points_collection [get_attribute $current_path points]
foreach_in_collection current_point $points_collection {
set obj_point [get_attribute $current_point object]
set Point_name [get_attribute $obj_point full_name]
set point_type [get_attribute $Point_name object_class]


if { [ string compare $point_type "pin" ] == 0 } {
set CellName_list [split $Point_name /]
set Cell_Name1 [lindex $CellName_list 0]

lappend restore_list $Cell_Name1
}
}
}
}
##changing the cell which are in restore list
set len [llength $restore_list]
for {set i 0 } {$i < $len } {incr i} {

set cell_to_replace [lindex $restore_list $i]
set cell_ref1 [get_attribute $cell_to_replace ref_name]
if { [regexp {LH} $cell_ref1] } {
set reference2 [regsub -all {LH} $cell_ref1 "LL"]

size_cell $cell_to_replace CORE65LPLVT_nom_1.00V_25C.db:CORE65LPLVT/$reference2
incr number_of_lvt_cells

}
}
if { [ expr $Slack_Calculated >= 0 ]} {break}
}
#################################################
#extract the leakage power from power report file with dualVT
report_power > dualvt.txt
set dualvtname "./dualvt.txt"
set dualvtid [open $dualvtname r]
set j 0
while {$j < 27} {
incr j
gets $dualvtid line_1
}
gets $dualvtid line_1
close $dualvtid
scan $line_1 %s%s%s%s%f space1 space2 space3 space4 lkg_val_dualVT


####XXXXXXXXXXXXXXXXXXX###
set leakage_difference [ expr $lkg_value_LVT - $lkg_val_dualVT ]
set leakage_reduction [ expr $leakage_difference / $lkg_value_LVT ]
set power_saving [ expr $leakage_reduction * 100 ]
puts "percent:$power_saving"
set lvt [expr [ expr double($number_of_lvt_cells )/ $number_of_cells ]*100]
set hvt [expr 100 - $lvt]
puts "% of lvt cells: $lvt %"
puts "% of hvt cells: $hvt %"
set end_time [clock seconds]
set execution_time [ expr $end_time-$start_time]
puts "Time Elapsed:$execution_time"
###XXXXXXXXXXXXXXXXXXXX###
lappend $resList $power_saving
lappend $resList $execution_time
lappend $resList $lvt
lappend $resList $hvt
return $resList
}
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Ideas for a low cost, low power, low noise web server/torrent box alecjtaylor Linux - Hardware 13 01-10-2012 06:26 AM
Low-Power Slackware Yalla-One Slackware 32 12-16-2009 08:33 AM
[SOLVED] Choosing a low power CPU MrMcGoo Linux - Hardware 22 07-15-2009 11:13 AM
LXer: NCS Introduces Ultra-Compact, Low-Cost, Low-Power and Super-Quiet Set-top Server Appliance Platforms LXer Syndicated Linux News 0 01-29-2006 09:01 PM
How to do a low power server? jbuszkie Linux - Software 1 06-05-2004 03:31 AM


All times are GMT -5. The time now is 02:37 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration