• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. PCB Design
  3. BluePrint and ODB++ Inside Data

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 164
  • Views 15155
  • Members are here 0
More Content
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

BluePrint and ODB++ Inside Data

archive
archive over 17 years ago

I recently evaluated Downstream Technologies BluePrint tool for documenting PCB assembly and fab drawings. An ODB++ inside file is imported into BluePrint, providing intelligent design data for the software to utilize. The ODB++ exported from Allegro does not contain the layer thickness and copper weight information even though it is defined in the Allegro cross section. The stackup template in BluePrint cannot automatically populate these fields. BluePrint is planning a workaround in their next release, additional ASCII files will be able to be imported. My question is, why can't this data be exported during export ODB++ inside from Allegro?


Originally posted in cdnusers.org by daun-lindberg.mary@mayo.edu
  • Cancel
  • archive
    archive over 17 years ago

    Hi daun,

    Guess this is a question for the software developers, You need to contact the Cadence support and get them to look into this for you, and if its not a current feature then maybe at somepoint it will be put in as a "feature request" you just have to keep pressing them :)

    Stephen Grant-Davies (QuantumCad)
    www.quantumcad.co.uk


    Originally posted in cdnusers.org by stephen@quantumcad.co.uk
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    I made a table template that I populate with an extracted .csv file via the data table manager. It's fairly simple. The .csv file contains the stackup data and is generated via the following PERL code:

    sub StackUp {

    open (SCR, ">tech.scr");

    print SCR ("setwindow pcb\n");
    print SCR ("techfile out\n");
    print SCR ("setwindow form.tech_out\n");
    print SCR ("FORM tech_out techfile tech\n");
    print SCR ("FORM tech_out execute\n");
    print SCR ("FORM tech_out cancel\n");
    print SCR ("setwindow pcb\n");

    print SCR ("exit;fillin no\n");

    close SCR;

    system ("allegro -product Allegro_performance -q -s tech.scr -nographic $boardFile");


    open (IN, "tech.tech") || open (IN, "tech.tcf");
    @in = ;

    open (OUT, ">stackup.csv");

    print OUT (",Name,");
    print OUT ("Type,");
    print OUT ("Material,");
    print OUT ("Thickness,");
    print OUT ("Dielectric Constant,\n");

    for $in(@in) {
    chomp $in;
    if ($in =~ //) {
    $data = "Y";
    }
    if ($in =~ /<\/crossSection>/) {
    undef $data;
    }
    if ($data) {
    if ($in =~ //) {
    $layer = "Y";
    }
    if ($in =~ /<\/layer>/) {
    print ("$layerName\n");
    print ("\t$layerType\n");
    print ("\t$layerMaterial\n");
    print ("\t$layerThickness\n");
    print ("\t$layerDielectricConstant\n");

    print OUT (",$layerName,");
    print OUT ("$layerType,");
    print OUT ("$layerMaterial,");
    print OUT ("$layerThickness,");
    print OUT ("$layerDielectricConstant,");

    print OUT ("\n");

    $Thickness = $Thickness + $layerThickness;

    undef $layer;

    undef $layerType;
    undef $layerName;
    undef $layerMaterial;
    undef $layerThickness;
    undef $layerDielectricConstant;

    undef $CDS_LAYER_TYPE;
    undef $CDS_LAYER_MATERIAL;
    undef $CDS_LAYER_THICKNESS;
    undef $CDS_LAYER_DIELECTRIC_CONSTANT;
    # die;
    }
    if ($layer) {
    if ($in =~ // && ! $layerName) {
    $layerName = $';
    $layerName =~ s/<.*//;
    }

    if ($in =~ /CDS_LAYER_TYPE/) {
    $CDS_LAYER_TYPE = "Y";
    }
    if ($CDS_LAYER_TYPE && $in =~ //) {
    $layerType = $';
    $layerType =~ s/<.*//;
    undef $CDS_LAYER_TYPE;
    }

    if ($in =~ /CDS_LAYER_MATERIAL/) {
    $CDS_LAYER_MATERIAL = "Y";
    }
    if ($CDS_LAYER_MATERIAL && $in =~ //) {
    $layerMaterial = $';
    $layerMaterial =~ s/<.*//;
    undef $CDS_LAYER_MATERIAL;
    }

    if ($in =~ /CDS_LAYER_THICKNESS/) {
    $CDS_LAYER_THICKNESS = "Y";
    }
    if ($CDS_LAYER_THICKNESS && $in =~ //) {
    $layerThickness = $';
    $layerThickness =~ s/<.*//;
    undef $CDS_LAYER_THICKNESS;
    }

    if ($in =~ /CDS_LAYER_DIELECTRIC_CONSTANT/) {
    $CDS_LAYER_DIELECTRIC_CONSTANT = "Y";
    }
    if ($CDS_LAYER_DIELECTRIC_CONSTANT && $in =~ //) {
    $layerDielectricConstant = $';
    $layerDielectricConstant =~ s/<.*//;
    undef $CDS_LAYER_DIELECTRIC_CONSTANT;
    }

    }
    }
    }
    print OUT (",,,,$Thickness,,");
    }


    Originally posted in cdnusers.org by CDL
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Dielectric thicknesses export into Valor ODB++.

    Type "define lyrstack" in the allego command window to use the new cross section.


    To disable the default "define xsection" set environment variable "xsection_modern". (allegro expert or performance only)


    ____________________________________________________
    oscar miguelino


    Originally posted in cdnusers.org by oscar@oqo.com
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Thank you for the responses to my posting. I will contact Cadence Support. I will try the code shown in the second response and post my results back here.


    Originally posted in cdnusers.org by daun-lindberg.mary@mayo.edu
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information