⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cf_interleaver_8_16.c

📁 interleaver即交织器
💻 C
📖 第 1 页 / 共 2 页
字号:
  n33[0] = 0;  n15[0] = 0;  n15r[0] = 0;  n15e[0] = 0;  n15d[0] = 0;  n48[0] = 0;  n36[0] = 0;  n49[0] = 0;  n37[0] = 0;  n66[0] = 0;  n50[0] = 0;  n38[0] = 0;  n78[0] = 0;  n78r[0] = 0;  n78e[0] = 0;  n78d[0] = 0;  { int index; for (index = 2; index > 0;) n71[--index] = 0; }  n71e[0] = 0;  n71w[0] = 0;  n71aw[0] = 0;  n71ar[0] = 0;  { int index; for (index = 2; index > 0;) n71dw[--index] = 0; }  { int index; for (index = 512; index > 0;) n71m[--index] = 0; }  n60[0] = 0;  n43[0] = 0;  n43r[0] = 0;  n43e[0] = 0;  n43d[0] = 0;  { int index; for (index = 2; index > 0;) n65[--index] = 0; }  n65e[0] = 0;  n65w[0] = 0;  n65aw[0] = 0;  n65ar[0] = 0;  { int index; for (index = 2; index > 0;) n65dw[--index] = 0; }  { int index; for (index = 512; index > 0;) n65m[--index] = 0; }  cf_interleaver_8_16_calc();}void cf_interleaver_8_16_cycle_clock(){  if (n15r[0]) {    n15[0] = 0;  }  else if (n15e[0]) {    n15[0] = n15d[0];  }  if (n43r[0]) {    n43[0] = 0;  }  else if (n43e[0]) {    n43[0] = n43d[0];  }  if (n57r[0]) {    n57[0] = 0;  }  else if (n57e[0]) {    n57[0] = n57d[0];  }  if (n65e[0]) {    if (n65w[0]) {      { int base = 2 * (((unsigned int) n65aw[0])); n65m[base + 1] = n65dw[1]; n65m[base] = n65dw[0]; }    }    { int base = 2 * (((unsigned int) n65ar[0])); n65[1] = n65m[base + 1]; n65[0] = n65m[base]; }  }  if (n71e[0]) {    if (n71w[0]) {      { int base = 2 * (((unsigned int) n71aw[0])); n71m[base + 1] = n71dw[1]; n71m[base] = n71dw[0]; }    }    { int base = 2 * (((unsigned int) n71ar[0])); n71[1] = n71m[base + 1]; n71[0] = n71m[base]; }  }  if (n78r[0]) {    n78[0] = 0;  }  else if (n78e[0]) {    n78[0] = n78d[0];  }}static FILE* sim_file;static int sim_count;static unsigned char sim_swap_i[1];static unsigned char sim_write_i[1];static unsigned char sim_addr_i[1];static unsigned char sim_data_i[2];static unsigned char sim_sync_primary_o[1];static unsigned char sim_sync_secondary_o[1];static unsigned char sim_data_o[2];void cf_interleaver_8_16_sim_init(const char* file) {  time_t date = time(NULL);  sim_count = 1;  cf_interleaver_8_16_init();  sim_swap_i[0] = swap_i[0];  sim_write_i[0] = write_i[0];  sim_addr_i[0] = addr_i[0];  sim_data_i[0] = data_i[0];  sim_data_i[1] = data_i[1];  sim_sync_primary_o[0] = sync_primary_o[0];  sim_sync_secondary_o[0] = sync_secondary_o[0];  sim_data_o[0] = data_o[0];  sim_data_o[1] = data_o[1];  sim_file = fopen(file, "w");  fprintf(sim_file,    "$date\n  %s$end\n"    "$version\n  Confluence 0.6.3 -- Launchbird Design Systems, Inc.\n$end\n"    "$timescale\n  1 ns\n$end\n"    "$scope module cf_interleaver_8_16 $end\n"    "$var wire 1 ! swap_i $end\n"    "$var wire 1 \" write_i $end\n"    "$var wire 8 # addr_i $end\n"    "$var wire 16 $ data_i $end\n"    "$var wire 1 %% sync_primary_o $end\n"    "$var wire 1 & sync_secondary_o $end\n"    "$var wire 16 ' data_o $end\n"    "$upscope $end\n"    "$enddefinitions $end\n"    "#0\n"    "$dumpvars\n", asctime(localtime(&date)));  fprintf(sim_file, swap_i[0] ? "1!\n" : "0!\n");  fprintf(sim_file, write_i[0] ? "1\"\n" : "0\"\n");  {    int bit;    int byte;    int found = 0;    for (byte = 0; byte >= 0; byte--) {      for (bit = 128; bit >= 1; bit /= 2) {        if (found)          fprintf(sim_file, (bit & addr_i[byte]) ? "1" : "0");        else if (bit & addr_i[byte]) {          found = 1;          fprintf(sim_file, "b1");        }      }    }    if (!found)      fprintf(sim_file, "b0");    fprintf(sim_file, " #\n");  }  {    int bit;    int byte;    int found = 0;    for (byte = 1; byte >= 0; byte--) {      for (bit = 128; bit >= 1; bit /= 2) {        if (found)          fprintf(sim_file, (bit & data_i[byte]) ? "1" : "0");        else if (bit & data_i[byte]) {          found = 1;          fprintf(sim_file, "b1");        }      }    }    if (!found)      fprintf(sim_file, "b0");    fprintf(sim_file, " $\n");  }  fprintf(sim_file, sync_primary_o[0] ? "1%%\n" : "0%%\n");  fprintf(sim_file, sync_secondary_o[0] ? "1&\n" : "0&\n");  {    int bit;    int byte;    int found = 0;    for (byte = 1; byte >= 0; byte--) {      for (bit = 128; bit >= 1; bit /= 2) {        if (found)          fprintf(sim_file, (bit & data_o[byte]) ? "1" : "0");        else if (bit & data_o[byte]) {          found = 1;          fprintf(sim_file, "b1");        }      }    }    if (!found)      fprintf(sim_file, "b0");    fprintf(sim_file, " '\n");  }  fprintf(sim_file, "$end\n");}void cf_interleaver_8_16_sim_end() {  fprintf(sim_file, "#%d\n", sim_count);  fclose(sim_file);}void cf_interleaver_8_16_sim_sample() {  int changed = 0;  if (sim_swap_i[0] != swap_i[0]) {    if (!changed) { changed = 1; fprintf(sim_file, "#%d\n", sim_count); }    fprintf(sim_file, swap_i[0] ? "1!\n" : "0!\n");    sim_swap_i[0] = swap_i[0];  }  if (sim_write_i[0] != write_i[0]) {    if (!changed) { changed = 1; fprintf(sim_file, "#%d\n", sim_count); }    fprintf(sim_file, write_i[0] ? "1\"\n" : "0\"\n");    sim_write_i[0] = write_i[0];  }  if (sim_addr_i[0] != addr_i[0]) {    if (!changed) { changed = 1; fprintf(sim_file, "#%d\n", sim_count); }    {      int bit;      int byte;      int found = 0;      for (byte = 0; byte >= 0; byte--) {        for (bit = 128; bit >= 1; bit /= 2) {          if (found)            fprintf(sim_file, (bit & addr_i[byte]) ? "1" : "0");          else if (bit & addr_i[byte]) {            found = 1;            fprintf(sim_file, "b1");          }        }      }      if (!found)        fprintf(sim_file, "b0");      fprintf(sim_file, " #\n");    }    sim_addr_i[0] = addr_i[0];  }  if (sim_data_i[1] != data_i[1] || sim_data_i[0] != data_i[0]) {    if (!changed) { changed = 1; fprintf(sim_file, "#%d\n", sim_count); }    {      int bit;      int byte;      int found = 0;      for (byte = 1; byte >= 0; byte--) {        for (bit = 128; bit >= 1; bit /= 2) {          if (found)            fprintf(sim_file, (bit & data_i[byte]) ? "1" : "0");          else if (bit & data_i[byte]) {            found = 1;            fprintf(sim_file, "b1");          }        }      }      if (!found)        fprintf(sim_file, "b0");      fprintf(sim_file, " $\n");    }    sim_data_i[0] = data_i[0];    sim_data_i[1] = data_i[1];  }  if (sim_sync_primary_o[0] != sync_primary_o[0]) {    if (!changed) { changed = 1; fprintf(sim_file, "#%d\n", sim_count); }    fprintf(sim_file, sync_primary_o[0] ? "1%%\n" : "0%%\n");    sim_sync_primary_o[0] = sync_primary_o[0];  }  if (sim_sync_secondary_o[0] != sync_secondary_o[0]) {    if (!changed) { changed = 1; fprintf(sim_file, "#%d\n", sim_count); }    fprintf(sim_file, sync_secondary_o[0] ? "1&\n" : "0&\n");    sim_sync_secondary_o[0] = sync_secondary_o[0];  }  if (sim_data_o[1] != data_o[1] || sim_data_o[0] != data_o[0]) {    if (!changed) { changed = 1; fprintf(sim_file, "#%d\n", sim_count); }    {      int bit;      int byte;      int found = 0;      for (byte = 1; byte >= 0; byte--) {        for (bit = 128; bit >= 1; bit /= 2) {          if (found)            fprintf(sim_file, (bit & data_o[byte]) ? "1" : "0");          else if (bit & data_o[byte]) {            found = 1;            fprintf(sim_file, "b1");          }        }      }      if (!found)        fprintf(sim_file, "b0");      fprintf(sim_file, " '\n");    }    sim_data_o[0] = data_o[0];    sim_data_o[1] = data_o[1];  }  sim_count++;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -