Example #1
0
  @Override
  public Value visitGENERAL(Verilog2001Parser.GENERALContext ctx) {
    String ident = ctx.getText();
    ParsePort port = hash_ports.get(ident);
    ParseRegWire regWire = hash_vars.get(ident);

    if (regWire != null) {
      // System.out.println("General Ident:"+ident+" val:"+regWire.getValue(old_val_idx));
      return new Value(regWire.getValue(old_val_idx), 30);
    } else if (port != null) {
      return new Value(port.getValue(old_val_idx), 30);
    }

    System.out.println("Error: No item called: " + ident);

    return null;
  }
Example #2
0
  /* Greatest to least as in lightsensors[7] = char 0 ... */
  public void update_vector_inputs(String rst, String light_sensors, String level_sensors) {
    ParsePort update_port;

    /* rst */
    hash_ports.get("rst").setValue(old_val_idx, getBitValFromString(rst, 0), cycle_time);

    update_port = hash_ports.get("sensor_light");
    for (int i = 7; i >= 0; i--) {
      update_port.setBitValue(
          old_val_idx, i, getBitValFromString(light_sensors, 7 - i), cycle_time);
    }

    update_port = hash_ports.get("general_sensors");
    for (int i = 29; i >= 0; i--) {
      update_port.setBitValue(
          old_val_idx, i, getBitValFromString(level_sensors, 29 - i), cycle_time);
    }
  }
Example #3
0
  @Override
  public Value visitBIT_ACCESS(Verilog2001Parser.BIT_ACCESSContext ctx) {
    String ident = ctx.identifier().getText();
    ParsePort port = hash_ports.get(ident);
    ParseRegWire regWire = hash_vars.get(ident);
    Value number = visit(ctx.constant_expression());

    if (regWire != null) {
      int value_of_bit = regWire.getIntegerBit(number.asInt(), old_val_idx);
      // System.out.println("RegWire bit:"+ident+" loc: "+number.asInt()+" val:"+value_of_bit);
      return new Value(value_of_bit, 1);
    } else if (port != null) {
      int value_of_bit = port.getIntegerBit(number.asInt(), old_val_idx);
      // System.out.println("Port bit:"+ident+" loc: "+number.asInt()+" val:"+value_of_bit);
      return new Value(value_of_bit, 1);
    }

    System.out.println("Error: No item called: " + ident);

    return visitChildren(ctx);
  }
Example #4
0
  public ArrayList<Integer> update_vector_ouputs() {
    ParsePort out_port;

    out_port = hash_ports.get("outN");
    output_vector_list.set(0, out_port.getValue(new_val_idx));
    out_port = hash_ports.get("outS");
    output_vector_list.set(1, out_port.getValue(new_val_idx));
    out_port = hash_ports.get("outE");
    output_vector_list.set(2, out_port.getValue(new_val_idx));
    out_port = hash_ports.get("outW");
    output_vector_list.set(3, out_port.getValue(new_val_idx));
    out_port = hash_ports.get("debug_port");
    output_vector_list.set(4, out_port.getValue(new_val_idx));
    output_vector_list.set(5, clock_cycle);

    return output_vector_list;
  }