electronics forum

Rules | Recent posts | topic RSS | Search | Register  | Log in

how to make my design as black box


Post new topic  Reply to topic    EDAboard.com Forum Index -> ASIC Design Methodologies & Tools (Digital) -> how to make my design as black box
Author Message
aravind



Joined: 29 Jun 2004
Posts: 622
Helped: 23
Location: india


Post08 Dec 2005 4:31   

how to make my design as black box


hi friends
how i create my own black box module

example for an equalizer i need fir filter.
i wanna create fir filter module as a black box.
i synthesis and got the netlist . and efficiently place and route it.
in backend i dont wanna change place of cells in my FIR filter.
for that what i do.
Back to top
tarkyss



Joined: 01 Aug 2005
Posts: 342
Helped: 16
Location: China


Post08 Dec 2005 4:53   

how to make my design as black box


BPV extract in Astra or Milkyway
you can reference Milkyway reference in detail
Back to top
ami



Joined: 28 Apr 2005
Posts: 62
Helped: 4
Location: VN


Post08 Dec 2005 5:03   

Re: how to make my design as black box


Just build a tool (Perl-script for an example). This tool will search the module inyour netlist file, remove all logic in that module ( except the module declaration, input,output,output) ----> it will be a black box.
Then, after your process - this tool will re-insert the removed code into that module.
Regards
Back to top
aravind



Joined: 29 Jun 2004
Posts: 622
Helped: 23
Location: india


Post08 Dec 2005 5:06   

how to make my design as black box


i dont know perl script . can u give small example script and papers
Back to top
ami



Joined: 28 Apr 2005
Posts: 62
Helped: 4
Location: VN


Post08 Dec 2005 5:34   

Re: how to make my design as black box


Just use this code. You can find many Perl-script materials from internet.
This is a sample script ( create black_box in netlist)

Code:

#!/usr/bin/perl

$file_name = $ARGV[0]; #source file name
$file_name1= $ARGV[1];#destination file name
$source_path = "/netlist/";
$dest_path     = "/netlist/";
$read_file_name = $source_path.$file_name;
$write_file_name =$dest_path.$file_name1;
$write_file_name2 =$dest_path."output.netlist";
$write_file_name3 =$dest_path."output1.netlist";
$search_str = "your_module_name_to_create_black_box"
#########################################################################################
select STDOUT;
open(read_file,"$read_file_name") || die "can not open file $read_file_name\n";
@list = {};
@a = {};
$m_a = 0;

@b = {};
$m_b = 0;

@c = {};
$m_c = 0;

@d = {};
$m_d = 0;
$c = 0;
$k = 0;
$k1 = 0;

#Split area for del core

while (<read_file>)
      {
       chop;
       @list[$c] = "$_";
       if (index(@list[$c],$search_str) != -1)      {$k = 1;}   
       if (($k  == 1)and (index(@list[$c],"endmodule")!= -1)) {$k = 0;}
       if (($k  == 1)and (index(@list[$c],"wire")!= -1))      {$k1 = 1;$pont1 =$c; printf "\n$pont1 $search_str";}
       if (($k1 == 1)and (index(@list[$c],"endmodule")!= -1)){$k1 = 0;$pont2 = $c;printf "\n$pont2";}
       if (($k  == 1)and ($k1 == 0)) {@b[$m_b] = @list[$c];$m_b++;} 
       if ($k1  == 0) {@a[$m_a] = @list[$c]; $c++; $m_a++;}
       else {$c++;}
      }

$j=0;
$tam = 0;
$tam2 = 0;
printf "\n m_b=$m_b";
while ($j <$m_b)
     {
      if((index(@b[$j],"output")!= -1) and (index(@b[$j],";") !=-1) and (index(@b[$j],",") ==-1) )
      {
      $length = length(@b[$j]);printf "\nLength = $length\n";
      $length1 = rindex(@b[$j]," "); printf "\nLength1 = $length1\n";
      $sub_str = substr(@b[$j],$length1,$length-$length1-1);
      @c[$m_c] = $sub_str;
      $m_c++;
      }
      if((index(@b[$j],"output")!= -1) and (index(@b[$j],",") !=-1)) { $tam = 1;$tam2 = 1;} else {$tam2 =0;}
      if (($tam == 1) and ($tam2 == 1)) {@d[$m_d] = substr(@b[$j],9,length(@b[$j])+1);$m_d++}
      if (($tam == 1) and ($tam2 == 0)) {@d[$m_d] = substr(@b[$j],9,length(@b[$j])+1);$m_d++}

      $j++;
     }
close (read_file);

#////////////
$j=0;
$str ="";
while ($j<$m_d)
      {
      $str = $str.$d[$j];
      $j++;
      }
$length_str = length($str);
$str = substr($str,0,$length_str-1);     
@split_array = split(/,/,$str);
$count_array = @split_array;
@c1 = (@c,@split_array);
$m_c1 = @c1;

#///////////////////////////////////
$j=0;
$a_str = "assign ";
while ($j <$m_c1)
      {
      $stra = @c1[$j];
      @c1[$j]= $a_str.$stra."   = 0;";
      $j++;
      }
#////////////////////////////////////
$j = 0;
$j1 =0;
open(write_file,">$write_file_name") || die "can not open file $write_file_name\n";
open(read_file,"$read_file_name") || die "can not open file $read_file_name\n";
while( <read_file> )
        {
        chop;
        select write_file;
        if ($j == $pont1) {last;}
        print "$_\n";
        $j++;
        }
$i = 0;         
while($i < $m_c1)
    {
      printf "@c1[$i]\n";
     $i++;
    }    
    printf "endmodule\n";
while( <read_file> )
        {
        chop;
        #select write_file;
        if ($j >= $pont2)
                 {
         print "$_\n";
        }
        $j++;
        }   
close(read_file);       
close(write_file);       
printf "\n";


Hope this help


Last edited by ami on 09 Dec 2005 4:07; edited 1 time in total
Back to top
jcchan



Joined: 28 Apr 2005
Posts: 33
Helped: 1


Post09 Dec 2005 3:11   

Re: how to make my design as black box


You cna try this verilog example and the synthesis tools will make the module to be black box.

modue test (in1, in2,in3, out3);
input in1, in2, in3;
output out3;
//synopsys translate_off
assign out3 = in1 | in2 | in3;
//synopsys translate_on
endmodule
Back to top
aravind



Joined: 29 Jun 2004
Posts: 622
Helped: 23
Location: india


Post09 Dec 2005 3:16   

how to make my design as black box


can u give more information about how to proceed with block
Back to top
farmerwang



Joined: 29 May 2002
Posts: 60
Helped: 1


Post09 Dec 2005 6:32   

Re: how to make my design as black box


Don't understand what do you mean by black box your design. Do you mean to protect your design from being read by other people?
Back to top
aravind



Joined: 29 Jun 2004
Posts: 622
Helped: 23
Location: india


Post23 Dec 2005 14:59   

how to make my design as black box


my aim is P&R tools shouldnt touch my blockbox. for placement and routing.
Back to top
brotherjam



Joined: 10 Dec 2005
Posts: 7
Helped: 1


Post24 Dec 2005 3:34   

how to make my design as black box


modue test (in1, in2,in3, out3);
input in1, in2, in3;
output out3;
//synopsys black_box
//(you can find it in DC manual)
//synopsys translate_off
assign out3 = in1 | in2 | in3;
//synopsys translate_on
endmodule
Back to top
Google
AdSense
Google Adsense




Post24 Dec 2005 3:34   

Ads




Back to top
aravind



Joined: 29 Jun 2004
Posts: 622
Helped: 23
Location: india


Post24 Dec 2005 5:24   

how to make my design as black box


hi brotherjam
but my issue is different. i wanna do full flow upto SI and RCx analysis . take all necessary data .
then i wanna take netllist after IPO (inplace opt) using cadence encounter.
finally i have to decide every thing OK........
then i wanna make this netlist to black-box.

ok i try this ur program in DC.
do u know equal command in RC(cadence)
let me know please
Thanks
Back to top
brotherjam



Joined: 10 Dec 2005
Posts: 7
Helped: 1


Post24 Dec 2005 6:34   

Re: how to make my design as black box


aravind wrote:

ok i try this ur program in DC.
do u know equal command in RC(cadence)
let me know please
Thanks


i'm sorry that i just do the front-end design. in DC also the set_dont_touch can do
Back to top
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
Post new topic  Reply to topic    EDAboard.com Forum Index -> ASIC Design Methodologies & Tools (Digital) -> how to make my design as black box
Page 1 of 1 All times are GMT + 1 Hour
Similar topics:
Black box definition in design compiler (DC) ? (1)
Interview Question --- Design a black box... (2)
how to do DFT with black box IP (8)
how to black box and some other stuff (1)
black box synthesis (1)
black box approach (3)
Black box-LVS (4)
is there a way to add a black box to the HFSS (2)
Black box what component values are inside it (6)
Problem with Black Box in VHDL in ISE 11.2 :: ERROR:NgdBuild (4)


Abuse || Administrator || Moderators || Support us || sitemap
topic RSS