fixed broken fpga flow
This commit is contained in:
parent
1332ba62e8
commit
c54f3905d5
File diff suppressed because it is too large
Load Diff
|
@ -11,7 +11,6 @@ elliptic.blif, 120
|
||||||
ex1010.blif, 120
|
ex1010.blif, 120
|
||||||
ex5p.blif, 120
|
ex5p.blif, 120
|
||||||
frisc.blif, 120
|
frisc.blif, 120
|
||||||
mcnc_big20.txt
|
|
||||||
misex3.blif, 120
|
misex3.blif, 120
|
||||||
pdc.blif, 120
|
pdc.blif, 120
|
||||||
s298.blif, 30
|
s298.blif, 30
|
||||||
|
|
|
@ -274,8 +274,7 @@ sub read_opt_into_hash($ $ $)
|
||||||
sub opts_read()
|
sub opts_read()
|
||||||
{
|
{
|
||||||
# if no arguments detected, print the usage.
|
# if no arguments detected, print the usage.
|
||||||
if (-1 == $#ARGV)
|
if (-1 == $#ARGV) {
|
||||||
{
|
|
||||||
print "Error : No input arguments!\n";
|
print "Error : No input arguments!\n";
|
||||||
print "Help desk:\n";
|
print "Help desk:\n";
|
||||||
&print_usage();
|
&print_usage();
|
||||||
|
@ -289,19 +288,15 @@ sub opts_read()
|
||||||
my $argfd;
|
my $argfd;
|
||||||
# Check help fist
|
# Check help fist
|
||||||
$argfd = &spot_option($cur_arg,"-help");
|
$argfd = &spot_option($cur_arg,"-help");
|
||||||
if (-1 != $argfd)
|
if (-1 != $argfd) {
|
||||||
{
|
|
||||||
print "Help desk:\n";
|
print "Help desk:\n";
|
||||||
&print_usage();
|
&print_usage();
|
||||||
}
|
}
|
||||||
# Then Check the debug with highest priority
|
# Then Check the debug with highest priority
|
||||||
$argfd = &spot_option($cur_arg,"-debug");
|
$argfd = &spot_option($cur_arg,"-debug");
|
||||||
if (-1 != $argfd)
|
if (-1 != $argfd) {
|
||||||
{
|
|
||||||
$opt_ptr->{"debug"} = "on";
|
$opt_ptr->{"debug"} = "on";
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
$opt_ptr->{"debug"} = "off";
|
$opt_ptr->{"debug"} = "off";
|
||||||
}
|
}
|
||||||
# Check mandatory options
|
# Check mandatory options
|
||||||
|
@ -731,7 +726,7 @@ sub run_abc_fpgamap($ $ $)
|
||||||
die "ERROR: fail to auto generating cmds for ABC ($cmd_log) ...\n";
|
die "ERROR: fail to auto generating cmds for ABC ($cmd_log) ...\n";
|
||||||
}
|
}
|
||||||
# Output the standard format (refer to VTR_flow script)
|
# Output the standard format (refer to VTR_flow script)
|
||||||
print $ABC_CMD_FH "read $bm; resyn; resyn2; $fpga_synthesis_method -K $lut_num; $abc_seq_optimize write_blif $blif_out; $dump_verilog; quit\n";
|
print $ABC_CMD_FH "read $bm; resyn; resyn2; scleanup; $fpga_synthesis_method -K $lut_num; sweep; $abc_seq_optimize write_blif $blif_out; $dump_verilog; quit\n";
|
||||||
|
|
||||||
close($ABC_CMD_FH);
|
close($ABC_CMD_FH);
|
||||||
#
|
#
|
||||||
|
@ -1201,7 +1196,7 @@ sub run_pro_blif($ $) {
|
||||||
$pro_blif_path =~ s/\/$//g;
|
$pro_blif_path =~ s/\/$//g;
|
||||||
$pro_blif_path = $pro_blif_path . "/pro_blif.pl";
|
$pro_blif_path = $pro_blif_path . "/pro_blif.pl";
|
||||||
|
|
||||||
`perl $pro_blif_path -i $abc_blif_out_bak -o $abc_blif_out`;
|
`perl $pro_blif_path -i $abc_blif_out_bak -o $abc_blif_out -add_default_clk`;
|
||||||
|
|
||||||
if (!(-e $abc_blif_out)) {
|
if (!(-e $abc_blif_out)) {
|
||||||
die "ERROR: Fail pro_blif.pl for benchmark $abc_blif_out.\n";
|
die "ERROR: Fail pro_blif.pl for benchmark $abc_blif_out.\n";
|
||||||
|
@ -1449,7 +1444,7 @@ sub run_std_vpr($ $ $ $ $ $ $ $ $)
|
||||||
# foreach my $file (0..$#files){
|
# foreach my $file (0..$#files){
|
||||||
# print "$files[$file]\t";
|
# print "$files[$file]\t";
|
||||||
# }
|
# }
|
||||||
3 print "\n";
|
print "\n";
|
||||||
#}
|
#}
|
||||||
chdir $cwd;
|
chdir $cwd;
|
||||||
}
|
}
|
||||||
|
@ -3151,7 +3146,11 @@ sub gen_csv_rpt_standard_flow($ $)
|
||||||
for($ikw=0; $ikw < ($#keywords+1); $ikw++) {
|
for($ikw=0; $ikw < ($#keywords+1); $ikw++) {
|
||||||
$tmpkw = $keywords[$ikw];
|
$tmpkw = $keywords[$ikw];
|
||||||
$tmpkw =~ s/\s//g;
|
$tmpkw =~ s/\s//g;
|
||||||
|
if (defined($rpt_ptr->{$tag}->{$tmp}->{$N_val}->{$K_val}->{$keywords[$ikw]})) {
|
||||||
print $CSVFH ",$rpt_ptr->{$tag}->{$tmp}->{$N_val}->{$K_val}->{$keywords[$ikw]}";
|
print $CSVFH ",$rpt_ptr->{$tag}->{$tmp}->{$N_val}->{$K_val}->{$keywords[$ikw]}";
|
||||||
|
} else {
|
||||||
|
print $CSVFH ", ";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ("on" eq $opt_ptr->{power}) {
|
if ("on" eq $opt_ptr->{power}) {
|
||||||
@keywords = split /\|/,$conf_ptr->{csv_tags}->{vpr_power_tags}->{val};
|
@keywords = split /\|/,$conf_ptr->{csv_tags}->{vpr_power_tags}->{val};
|
||||||
|
|
|
@ -10,6 +10,7 @@ my $mydate = gmctime();
|
||||||
my ($char_per_line) = (80);
|
my ($char_per_line) = (80);
|
||||||
|
|
||||||
my ($fname,$frpt,$finitial);
|
my ($fname,$frpt,$finitial);
|
||||||
|
my $add_default_clk = "off";
|
||||||
my $latch_token;
|
my $latch_token;
|
||||||
my ($remove_buffers) = (0);
|
my ($remove_buffers) = (0);
|
||||||
my ($default_clk_name) = ("clk");
|
my ($default_clk_name) = ("clk");
|
||||||
|
@ -25,6 +26,7 @@ sub print_usage()
|
||||||
print " -o <output_blif_path>\n";
|
print " -o <output_blif_path>\n";
|
||||||
print " Options: (Optional)\n";
|
print " Options: (Optional)\n";
|
||||||
print " -remove_buffers\n";
|
print " -remove_buffers\n";
|
||||||
|
print " -add_default_clk\n";
|
||||||
print " -initial_blif <input_blif_path>\n";
|
print " -initial_blif <input_blif_path>\n";
|
||||||
print "\n";
|
print "\n";
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -32,23 +34,21 @@ sub print_usage()
|
||||||
|
|
||||||
sub opts_read()
|
sub opts_read()
|
||||||
{
|
{
|
||||||
if (-1 == $#ARGV)
|
if (-1 == $#ARGV) {
|
||||||
{
|
|
||||||
print "Error: No input argument!\n";
|
print "Error: No input argument!\n";
|
||||||
&print_usage();
|
&print_usage();
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
} else {
|
||||||
else
|
for (my $iargv = 0; $iargv < $#ARGV+1; $iargv++) {
|
||||||
{
|
if ("-i" eq $ARGV[$iargv]) {
|
||||||
for (my $iargv = 0; $iargv < $#ARGV+1; $iargv++)
|
$fname = $ARGV[$iargv+1];
|
||||||
{
|
} elsif ("-o" eq $ARGV[$iargv]) {
|
||||||
if ("-i" eq $ARGV[$iargv])
|
$frpt = $ARGV[$iargv+1];
|
||||||
{$fname = $ARGV[$iargv+1];}
|
} elsif ("-add_default_clk" eq $ARGV[$iargv]) {
|
||||||
elsif ("-o" eq $ARGV[$iargv])
|
$add_default_clk = "on";
|
||||||
{$frpt = $ARGV[$iargv+1];}
|
} elsif ("-initial_blif" eq $ARGV[$iargv]) {
|
||||||
elsif ("-initial_blif" eq $ARGV[$iargv])
|
$finitial = $ARGV[$iargv+1];
|
||||||
{$finitial = $ARGV[$iargv+1];}
|
} elsif ("-remove_buffers" eq $ARGV[$iargv]) {
|
||||||
elsif ("-remove_buffers" eq $ARGV[$iargv]) {
|
|
||||||
$remove_buffers = 1;
|
$remove_buffers = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -217,7 +217,7 @@ sub scan_blif()
|
||||||
my (@input_buffer);
|
my (@input_buffer);
|
||||||
my ($line_no) = (0);
|
my ($line_no) = (0);
|
||||||
|
|
||||||
if(undef eq $finitial){
|
if (!defined($finitial)) {
|
||||||
$latch_token = "re clk";
|
$latch_token = "re clk";
|
||||||
} else {
|
} else {
|
||||||
my $latch_token_found = 0;
|
my $latch_token_found = 0;
|
||||||
|
@ -276,11 +276,13 @@ sub scan_blif()
|
||||||
close($FIN);
|
close($FIN);
|
||||||
|
|
||||||
# Add default clock
|
# Add default clock
|
||||||
# print "INFO: $clk_num clock ports need to be added.\n";
|
if ("on" eq $add_default_clk) {
|
||||||
# print "INFO: have_default_clk: $have_default_clk, need_default_clk: $need_default_clk\n";
|
print "INFO: $clk_num clock ports need to be added.\n";
|
||||||
# if ((0 == $have_default_clk)&&(1 == $need_default_clk)) {
|
print "INFO: have_default_clk: $have_default_clk, need_default_clk: $need_default_clk\n";
|
||||||
# push @input_tokens,$default_clk_name;
|
if ((0 == $have_default_clk)&&(1 == $need_default_clk)) {
|
||||||
# }
|
push @input_tokens,$default_clk_name;
|
||||||
|
}
|
||||||
|
}
|
||||||
# Bypass some sensitive tokens
|
# Bypass some sensitive tokens
|
||||||
for(my $itok = 0; $itok < $#input_tokens+1; $itok++) {
|
for(my $itok = 0; $itok < $#input_tokens+1; $itok++) {
|
||||||
if ("unconn" eq $input_tokens[$itok]) {
|
if ("unconn" eq $input_tokens[$itok]) {
|
||||||
|
|
Loading…
Reference in New Issue