| 
 | 
 
 楼主 |
发表于 2017-2-21 08:42:01
|
显示全部楼层
 
 
 
回复 9# icaway  
 
 
    GOF里的LEC功能能用。 
 
LEC功能主要有两个作用: 
1. 做ECO之前自动对比做出PR网表和Re-synthesis网表的差异。 
2. 做完ECO后,检查ECO后的PR网表和Re-synthesis网表是否等价。 
 
举个例子: 
use strict; 
undo_eco; 
my $econame = "eco" . `date +%y%m%d`; 
chomp($econame); 
set_log_file("$econame.log"); 
setup_eco($econame); 
 
# Read libs and designs 
read_library("../../stdlib/XXX_1P8V_25C.lib"); 
 
set_noexact_pin_match('\bIN\d+\b'); 
 
read_design('-ref', '../data/xxx_resyn.v'); 
read_design('-imp', '../data/xxx_pr.v'); 
 
set_top("digital_top"); 
fix_design;    #做ECO                          
my $noneq = LEC;   #做完ECO检查是否等价 
 
if($noneq){ 
report_eco(); 
write_verilog("../data/xxx_pr_eco.v"); 
write_soce("enc_eco1.tcl"); 
}else{ 
    print "LEC check: failed\n"; 
} 
 
exit; 
 
 
部分log如下: 
# Check Logic Equvalence on module digital_top                   
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_start_reg                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di2_dly_reg_0_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di2_dly_reg_1_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di2_dly_reg_2_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di2_dly_reg_3_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di2_dly_reg_4_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di2_dly_reg_5_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di_dly_reg_10_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di_dly_reg_11_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di_dly_reg_12_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di_dly_reg_13_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di_dly_reg_14_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di_dly_reg_15_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di_dly_reg_16_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di_dly_reg_17_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di_dly_reg_6_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di_dly_reg_7_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di_dly_reg_8_                          
NONEQ: Instance u_xxxctrl_top/u_spi2xxx/spi_di_dly_reg_9_                          
Total 4300 points have been compared, 4281 equivalent, 19 non-equivalent 
MODULE digital_top is NOT EQUIVALENT 
... 
# Run LEC on module digital_top 
Total 4300 points have been compared, 4300 equivalent, 0 non-equivalent 
MODULE digital_top is EQUIVALENT 
ECO Report for 'eco170119' |   
 
 
 
 |