#ifndef PART_HPP #define PART_HPP #include #include typedef struct { std::string manufacturer; std::string family; std::string model; } fpga_model; static std::map fpga_list = { {0x0362D093, {"xilinx", "artix a7 35t", "xc7a35"}}, {0x13631093, {"xilinx", "artix a7 100t", "xc7a100"}}, {0x44008093, {"xilinx", "spartan6", "xc6slx45"}}, {0x03620093, {"xilinx", "spartan7", "xc7s15ftgb196-1"}}, {0x020f30dd, {"altera", "cyclone 10 LP", "10CL025"}}, {0x012bd043, {"lattice", "MachXO2", "LCMXO2-7000HC"}}, {0x012b5043, {"lattice", "MachXO2", "LCMXO2-7000HE"}}, {0xE12BB043, {"lattice", "MachXO3LF", "LCMX03LF-1300C"}}, {0x612B2043, {"lattice", "MachXO3LF", "LCMX03LF-1300E"}}, {0x612BB043, {"lattice", "MachXO3LF", "LCMX03LF-2100C"}}, {0x612B3043, {"lattice", "MachXO3LF", "LCMX03LF-2100E"}}, {0x612BC043, {"lattice", "MachXO3LF", "LCMX03LF-4300C"}}, {0x612B4043, {"lattice", "MachXO3LF", "LCMX03LF-4300E"}}, {0x612BD043, {"lattice", "MachXO3LF", "LCMX03LF-6900C"}}, {0x612B5043, {"lattice", "MachXO3LF", "LCMX03LF-6900E"}}, {0x612BE043, {"lattice", "MachXO3LF", "LCMX03LF-9400C"}}, {0x612B6043, {"lattice", "MachXO3LF", "LCMX03LF-9400E"}}, {0x21111043, {"lattice", "ECP5", "LFE5U-12"}}, {0x41111043, {"lattice", "ECP5", "LFE5U-25"}}, {0x41112043, {"lattice", "ECP5", "LFE5U-45"}}, {0x41113043, {"lattice", "ECP5", "LFE5U-85"}}, {0x01111043, {"lattice", "ECP5", "LFE5UM-25"}}, {0x01112043, {"lattice", "ECP5", "LFE5UM-45"}}, {0x01113043, {"lattice", "ECP5", "LFE5UM-85"}}, {0x81111043, {"lattice", "ECP5", "LFE5UM5G-25"}}, {0x81112043, {"lattice", "ECP5", "LFE5UM5G-45"}}, {0x81113043, {"lattice", "ECP5", "LFE5UM5G-85"}}, {0x0129a043, {"lattice", "XP2", "LFXP2-8E"}}, {0x1100581b, {"Gowin", "GW1N", "GW1NR-9"}}, {0x0900281B, {"Gowin", "GW1N", "GW1N-1"}}, {0x0100381B, {"Gowin", "GW1N", "GW1N-4"}}, }; #endif