📄 cf_interleaver_8_16.c
字号:
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 + -