#include #include "fpga_cell.h" #include "fpga_fdef_loader.h" #include "fpga_global.h" #include "fpga.h" #define E_FDEF 1 #define E_BITSTREAM 2 int development_test_main(int argc, char *argv[]) { struct fpga_cell *entry_cell; struct fpga_chain *chain; char *fdef_filename = "fdef/4x4.fdef"; char *bitstream_filename = "-"; set_log_level(LL_DEBUG); entry_cell = fpga_fdef_loader_load(fdef_filename); if (!entry_cell) { report(LL_CRITICAL, "Error loading FDEF."); return E_FDEF; } report(LL_INFO, "FDEF loaded."); chain = fpga_isp_chain_new(entry_cell); if (!chain) { report(LL_CRITICAL, "Critical error during bitstream generation."); return E_BITSTREAM; } report(LL_INFO, "Chain loaded."); /* TODO: Configure application specific logic */ ((struct fpga_cell_lut34 *)(entry_cell->cell_connections[RIGHT]))->lut_in_sel[0] = 'A'; ((struct fpga_cell_lut34 *)(entry_cell->cell_connections[RIGHT]))->drive_sel[0] = 'C'; ((struct fpga_cell_lut34 *)(entry_cell->cell_connections[RIGHT]))->LUT4 = 0; if (fpga_generate_bitstream(chain, bitstream_filename)) { report(LL_ERROR, "Bitstream generation failed."); return E_BITSTREAM; } report(LL_INFO, "Generated bitstream."); return 0; } int main(int argc, char *argv[]) { return development_test_main(argc, argv); }