Go back to Features Reference Top

GofCall Use Cases

  1. Metal ECO to borrow an AND gate from spare module. There would be 20 more lines in TCL format. The AND spare gate is in sub-hierarchy "u_spares", instance "S2". Two ports have to be created to connect two signals "n242" and "n243" to the AND gate. Another port has to be created to connect back AND gate's output and tie to U187's A pin.
  2. Switch NAND gate Three inputs.
    • change_get("U188", "A=>B,B=>C,C=>A");
  3. Disable 128 bits data bus by "disable_bus" signal
    • change_net("abc_bus[$_]", "AND2X2", "", "-,disable_bus") foreach (0..127);
    • buffer("disable_bus", "BUFX6", 16); # automatically buffering disable_bus
  4. Change flop's D input.
    • One script line to add 3 gates, one port, 4 new wires, 13 connections, 1 disconnection !
    • change_pin("frplx_reg/D","NAND3X4","","-,MXI2X2(qciflsb3b_e,gte_344/gte_con_reg/Q,e_bonn),BUFX6(qcif_s0_good)");
    • If converted to Design Compiler TCL format, there are more than 20 lines.
    • Click here for detail.
  5. Use power of perl, add clamp gate for special naming ports.
    • my @ports = get_ports("output", "*");
    • my @clampgates = get_cells("AND_clamped_*");
    • foreach my $port (@ports){
    •     if($port =~ m/clamp_\d+/){
    •         my @drivers = get_drivers($port);
    •         my $drive_inst = $drivers[0][0];
    •         if($drive_inst !~ m/AND_clamped_\d+/){ # missing clamp
    •             my $num = 0;
    •             my $clamp_instance = "AND_clamped_$num";
    •             while(grep($clamp_instance eq $_, @clampgates)){
    •                 $num++;
    •                 $clamp_instance = "AND_clamped_$num";
    •             }
    •             change_net($port, "AND2X2", $clamp_instance, "-,clamp_signal");
    •         }
    •      }
    • }

 


Follow us:
NanDigits.com US | NanDigits.cn China
© 2024 NanDigits Design Automation. All rights reserved.