China 简体中文 Japan 日本语 United States English
International Office Locations
  HOME    COMMUNITY    BLOGS & FORUMS    Magic Blue Smoke
Magic Blue Smoke
  • About

    Magic Blue Smoke is a blog dedicated to discussing the challenges of low power ASIC Design

    I have worked in the VLSI industry for 14 years as a digital IC designer. My recent work has been focused on low-power challenges associated with multi-voltage/
    multi-supply designs. The goal of this blog is to open a free exchange of ideas with regards to low power. Please participate!

    - Godwin Maben

Archive for December, 2009

Generating Partial UPF Automatically

Posted by Godwin Maben on 17th December 2009

Sorry guys, got tied up with many projects and could not blog for almost 4 weeks.

I know we spend so much time in writing power intent of a design and validating whether its correct or not. In that process on a recent project, I did some analysis on how some of the intent generation can be pseudo automated.

Used the MV static checker, MVRC to auto generate some policies based on the xover analysis and it helped quite a bit and was amazed at how fast I was able to generate these constraints from MVRC.

For example, on one of the design, finding out what need to be isolated and excluded from isolation was not a trivial task due to multi-fanout nature of the ports/pins. Looked at the xover analysis within MVRC and used this feature to auto-generate some of the isolation policies. It was less than 30 lines of TCL code within MVRC, which made my life easier in generating some part of power intent.

just an example on what I did within MVRC

set f1 [open ${source_island}_${dest_island}.xover w]
set xs [get_crossovers -source $source_island -dest $dest_island]
foreach x $xs {
    set src_port  [get_crossover_info -object $x -boundary_source]
    set src_port [regsub -all {{} $src_port {}]
    set src_port [regsub -all {}} $src_port {}]
    lappend src_ports_list $src_port }}
}

if {$src_ports_list!=""} {puts $f1 "set_isolation ${source_island}_${dest_island}_ISO -domain ${source_island} -isolation_power_net $domain_vdd_net -isolation_ground_net VSS -clamp_value 0 -elements "$src_ports_list""}

This may not be complete, but idea is very similar to one given above.

We can debate on whether should a sign-off MV tool be used for this or not?

Happy Holidays.

Posted in low power general | No Comments »