Skip to content

Failed to find matching RTL component for external module. #697

@KatCe

Description

@KatCe

Hello. I got the following error:

Failed to find matching RTL component for external module. {CREDITS = "1 1 1 1", DATA_WIDTH = !handshake.channel<i8>, LATENCY = 4 : ui32, NUM_SHARED_OPERANDS = 2 : ui32}
"handshake.sharing_wrapper"

with the program below, using the following commands:

dynamatic> set-src ../myfunc.c
dynamatic> set-clock-period 7
dynamatic> compile --sharing  --buffer-algorithm fpl22
dynamatic> write-hdl --hdl verilog
// var_0,var_1,var_2_a,var_3_a,var_4_a

unsigned long long int myfunc(unsigned long int var_0, char var_1, char var_2_a, char var_3_a, unsigned long int var_4_a) {
  char var_5 = (char) var_1;
  unsigned long long int var_6_a = (unsigned long long int) var_3_a;
  unsigned long int var_7 = (unsigned long int) var_1;
  unsigned long int var_8 = (unsigned long int) var_1;
  unsigned long int var_9_a = (unsigned long int) var_3_a;
  char var_10_a = (char) var_4_a;
  unsigned long int var_11_a = (unsigned long int) var_3_a;
  unsigned long long int var_12_a = (unsigned long long int) var_3_a;
  unsigned long long int var_13 = (unsigned long long int) var_1;
  unsigned long long int var_14 = (unsigned long long int) var_0;
  unsigned long int var_15 = (unsigned long int) var_0;
  unsigned long int var_16_a = (unsigned long int) var_4_a;
  unsigned long int var_17_a = (unsigned long int) var_3_a;
  char var_18 = (char) var_0;
  unsigned long int var_19_a = (unsigned long int) var_3_a;
  char var_20 = (char) var_0;
  unsigned long int var_21_a = (unsigned long int) var_3_a;
  char var_22_a = (char) var_2_a;
  unsigned long long int var_23 = (unsigned long long int) var_1;
  unsigned long int var_24 = (unsigned long int) var_0;
  char var_25 = (char) var_0;
  unsigned long int var_26_a = (unsigned long int) var_4_a;
  unsigned long int var_27 = (unsigned long int) var_0;
  unsigned long int var_28_a = (unsigned long int) var_4_a;
  unsigned long long int var_29 = (unsigned long long int) var_1;
  char var_30_a = (char) var_3_a;
  unsigned long long int var_31 = (unsigned long long int) var_1;
  unsigned long long int var_32_a = (unsigned long long int) var_2_a;
  unsigned long long int var_33 = (unsigned long long int) var_1;
  unsigned long long int var_34_a = (unsigned long long int) var_2_a;
  unsigned long int var_35 = (unsigned long int) var_0;
  unsigned long int var_36_a = (unsigned long int) var_4_a;
  unsigned long long int var_37_a = (unsigned long long int) var_4_a;
  char var_38 = (char) var_0;
  unsigned long long int var_39 = (unsigned long long int) var_0;
  char var_40 = (char) var_0;
  unsigned long long int var_41_a = (unsigned long long int) var_3_a;
  char var_42_a = (char) var_3_a;
  unsigned long long int var_43 = (unsigned long long int) var_0;
  unsigned long int var_44_a = (unsigned long int) var_3_a;
  char var_45_a = (char) var_4_a;
  char var_46 = (char) var_0;
  unsigned long int var_47 = (unsigned long int) var_0;
  unsigned long long int var_48_a = (unsigned long long int) var_2_a;
  char var_49 = (char) var_0;
  unsigned long long int var_50_a = (unsigned long long int) var_4_a;
  unsigned long int var_51_a = (unsigned long int) var_4_a;
  unsigned long long int var_52 = (unsigned long long int) var_0;
  unsigned long int var_53 = (unsigned long int) var_0;
  unsigned long long int var_54 = (unsigned long long int) var_0;
  unsigned long long int var_55 = (unsigned long long int) var_0;
  unsigned long long int var_56_a = (unsigned long long int) var_4_a;
  unsigned long int var_57 = (unsigned long int) var_0;
  char var_58_a = (char) var_3_a;
  unsigned long int var_59_a = (unsigned long int) var_4_a;
  char var_60_a = (char) var_2_a;
  char var_61 = (char) var_1;
  unsigned long long int var_62 = (unsigned long long int) var_1;
  unsigned long int var_63_a = (unsigned long int) var_3_a;
  char var_64 = (char) var_0;
  unsigned long long int var_65 = (unsigned long long int) var_0;
  unsigned long int var_66 = (unsigned long int) var_0;
  char var_67 = (char) var_0;
  char var_68 = (char) var_1;
  unsigned long int var_69_a = (unsigned long int) var_2_a;
  char var_70 = (char) var_0;
  char var_71_a = (char) var_2_a;
  char var_72_a = (char) var_2_a;
  unsigned long long int var_73_a = (unsigned long long int) var_3_a;
  unsigned long long int var_74 = (unsigned long long int) var_1;
  unsigned long int var_75 = (unsigned long int) var_1;
  unsigned long long int var_76_a = (unsigned long long int) var_2_a;
  char var_77_a = (char) var_2_a;
  char var_78 = (char) var_0;
  unsigned long int var_79_a = (unsigned long int) var_2_a;
  unsigned long long int var_80 = (unsigned long long int) var_1;
  unsigned long int var_81_a = (unsigned long int) var_3_a;
  unsigned long long int var_82 = (unsigned long long int) var_0;
  unsigned long long int var_83 = (unsigned long long int) var_0;
  unsigned long long int var_84_a = (unsigned long long int) var_4_a;
  unsigned long long int var_85_a = (unsigned long long int) var_2_a;
  unsigned long long int var_86_a = (unsigned long long int) var_3_a;
  char var_87 = (char) var_1;
  char var_88 = (char) var_1;
  unsigned long long int var_89_a = (unsigned long long int) var_2_a;
  unsigned long int var_90 = (unsigned long int) var_1;
  char var_91 = (char) var_0;
  char var_92_a = (char) var_2_a;
  char var_93 = (char) var_0;
  char var_94 = (char) var_0;
  char var_95 = (char) var_0;
  unsigned long int var_96_a = (unsigned long int) var_4_a;
  var_10_a = var_2_a * var_3_a;
  var_91 = 0;
  while (var_91 < 12)
  {
      if (var_91 < var_1)
        break;
      var_91++;
  }
  var_70 = var_91 >> var_1;
  var_36_a = var_0 >> var_4_a;
  var_63_a = var_0 + var_4_a;
  var_60_a = var_70 & var_2_a;
  var_79_a = var_36_a ^ var_4_a;
  for_loop_0: for (var_75 = 0; var_75 < 11; var_75++)
  {
      if (var_75 < var_0)
        break;
  }
  var_26_a = var_0 | var_63_a;
  if (var_75 ^ var_1)
  {
      var_51_a = var_75 * var_36_a;
      var_15 = var_75 << var_0;
  }
  var_87 = var_91 ^ var_70;
  switch (var_1)
  {
      case 110:
      ;
      var_20 = var_70 * var_91;
      break;
      default:
      ;
      var_68 = var_20 | var_91;
      var_53 = var_75 & var_0;
      var_59_a = var_63_a >> var_51_a;
  }
  var_25 = 0;
  do
  {
      if (var_25 < var_1)
        break;
      var_25++;
  }
  while (var_25 < 4);
  var_27 = var_15 ^ var_75;
  var_7 = (unsigned long int) (var_20);
  var_44_a = var_15 >> var_59_a;
  var_5 = var_70 | var_20;
  var_16_a = var_0 | var_79_a;
  var_17_a = var_16_a - var_36_a;
  var_93 = var_68 & var_5;
  var_94 = var_20 ^ var_93;
  var_8 = var_7 - var_75;
  var_9_a = var_51_a >> var_44_a;
  var_18 = var_1 & var_20;
  var_78 = var_70 * var_93;
  for_loop_1: for (var_24 = 0; var_24 < 7; var_24++)
  {
      if (var_24 < var_15)
        break;
  }
  var_35 = var_0 | var_53;
  var_42_a = var_20 ^ var_60_a;
  var_21_a = var_36_a * var_44_a;
  var_11_a = var_59_a + var_21_a;
  var_95 = 0;
  while (var_95 < 14)
  {
      if (var_95 < var_5)
        break;
      var_95++;
  }
  var_90 = var_75 - var_24;
  var_40 = var_93 >> var_25;
  var_61 = var_94 ^ var_20;
  var_28_a = var_79_a ^ var_17_a;
  var_45_a = var_20 | var_42_a;
  var_64 = var_78 ^ var_91;
  var_47 = var_27 - var_8;
  var_38 = var_78 & var_5;
  var_88 = var_68 + var_1;
  for_loop_2: for (var_57 = 0; var_57 < 15; var_57++)
  {
      if (var_57 < var_47)
        break;
  }
  var_67 = var_5 + var_91;
  var_69_a = var_79_a - var_26_a;
  var_30_a = var_61 * var_42_a;
  var_49 = var_88 >> var_25;
  var_81_a = var_35 >> var_9_a;
  var_22_a = var_18 ^ var_3_a;
  var_19_a = var_0 ^ var_11_a;
  var_71_a = var_93 >> var_60_a;
  var_66 = var_75 << var_27;
  var_85_a = (unsigned long long int) (var_26_a);
  var_96_a = var_16_a * var_44_a;
  var_72_a = var_3_a << var_45_a;
  var_58_a = var_60_a + var_42_a;
  var_77_a = var_64 + var_3_a;
  var_23 = (unsigned long long int) (var_35);
  return (unsigned long long int) (var_0) + (unsigned long long int) (var_1) + (unsigned long long int) (var_2_a) + (unsigned long long int) (var_3_a) + (unsigned long long int) (var_4_a) + (unsigned long long int) (var_5) + (unsigned long long int) (var_6_a) + (unsigned long long int) (var_7) + (unsigned long long int) (var_8) + (unsigned long long int) (var_9_a) + (unsigned long long int) (var_10_a) + (unsigned long long int) (var_11_a) + (unsigned long long int) (var_12_a) + (unsigned long long int) (var_13) + (unsigned long long int) (var_14) + (unsigned long long int) (var_15) + (unsigned long long int) (var_16_a) + (unsigned long long int) (var_17_a) + (unsigned long long int) (var_18) + (unsigned long long int) (var_19_a) + (unsigned long long int) (var_20) + (unsigned long long int) (var_21_a) + (unsigned long long int) (var_22_a) + (unsigned long long int) (var_23) + (unsigned long long int) (var_24) + (unsigned long long int) (var_25) + (unsigned long long int) (var_26_a) + (unsigned long long int) (var_27) + (unsigned long long int) (var_28_a) + (unsigned long long int) (var_29) + (unsigned long long int) (var_30_a) + (unsigned long long int) (var_31) + (unsigned long long int) (var_32_a) + (unsigned long long int) (var_33) + (unsigned long long int) (var_34_a) + (unsigned long long int) (var_35) + (unsigned long long int) (var_36_a) + (unsigned long long int) (var_37_a) + (unsigned long long int) (var_38) + (unsigned long long int) (var_39) + (unsigned long long int) (var_40) + (unsigned long long int) (var_41_a) + (unsigned long long int) (var_42_a) + (unsigned long long int) (var_43) + (unsigned long long int) (var_44_a) + (unsigned long long int) (var_45_a) + (unsigned long long int) (var_46) + (unsigned long long int) (var_47) + (unsigned long long int) (var_48_a) + (unsigned long long int) (var_49) + (unsigned long long int) (var_50_a) + (unsigned long long int) (var_51_a) + (unsigned long long int) (var_52) + (unsigned long long int) (var_53) + (unsigned long long int) (var_54) + (unsigned long long int) (var_55) + (unsigned long long int) (var_56_a) + (unsigned long long int) (var_57) + (unsigned long long int) (var_58_a) + (unsigned long long int) (var_59_a) + (unsigned long long int) (var_60_a) + (unsigned long long int) (var_61) + (unsigned long long int) (var_62) + (unsigned long long int) (var_63_a) + (unsigned long long int) (var_64) + (unsigned long long int) (var_65) + (unsigned long long int) (var_66) + (unsigned long long int) (var_67) + (unsigned long long int) (var_68) + (unsigned long long int) (var_69_a) + (unsigned long long int) (var_70) + (unsigned long long int) (var_71_a) + (unsigned long long int) (var_72_a) + (unsigned long long int) (var_73_a) + (unsigned long long int) (var_74) + (unsigned long long int) (var_75) + (unsigned long long int) (var_76_a) + (unsigned long long int) (var_77_a) + (unsigned long long int) (var_78) + (unsigned long long int) (var_79_a) + (unsigned long long int) (var_80) + (unsigned long long int) (var_81_a) + (unsigned long long int) (var_82) + (unsigned long long int) (var_83) + (unsigned long long int) (var_84_a) + (unsigned long long int) (var_85_a) + (unsigned long long int) (var_86_a) + (unsigned long long int) (var_87) + (unsigned long long int) (var_88) + (unsigned long long int) (var_89_a) + (unsigned long long int) (var_90) + (unsigned long long int) (var_91) + (unsigned long long int) (var_92_a) + (unsigned long long int) (var_93) + (unsigned long long int) (var_94) + (unsigned long long int) (var_95) + (unsigned long long int) (var_96_a);
}


#include <stdlib.h>
#include "dynamatic/Integration.h"
int main() {
  unsigned long int var_0 = (unsigned long int) rand();
  char var_1 = (char) rand();
  char var_2_a = (char) rand();
  char var_3_a = (char) rand();
  unsigned long int var_4_a = (unsigned long int) rand();
  CALL_KERNEL(myfunc,var_0,var_1,var_2_a,var_3_a,var_4_a);
  return 0;
}

Is there some unsupported code construct in this program? Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions