mirror of https://github.com/YosysHQ/icestorm.git
Added "icetime -C <chipdb-file>"
This commit is contained in:
parent
0b4b038632
commit
9ab00ea131
|
|
@ -42,7 +42,7 @@ bool verbose = false;
|
||||||
bool max_span_hack = false;
|
bool max_span_hack = false;
|
||||||
bool json_firstentry = true;
|
bool json_firstentry = true;
|
||||||
|
|
||||||
std::string config_device, device_type, selected_package;
|
std::string config_device, device_type, selected_package, chipdbfile;
|
||||||
std::vector<std::vector<std::string>> config_tile_type;
|
std::vector<std::vector<std::string>> config_tile_type;
|
||||||
std::vector<std::vector<std::vector<std::vector<bool>>>> config_bits;
|
std::vector<std::vector<std::vector<std::vector<bool>>>> config_bits;
|
||||||
std::map<std::tuple<int, int, int>, std::string> pin_pos;
|
std::map<std::tuple<int, int, int>, std::string> pin_pos;
|
||||||
|
|
@ -276,6 +276,9 @@ void read_chipdb()
|
||||||
{
|
{
|
||||||
char buffer[1024];
|
char buffer[1024];
|
||||||
|
|
||||||
|
if (!chipdbfile.empty()) {
|
||||||
|
snprintf(buffer, 1024, "%s", chipdbfile.c_str());
|
||||||
|
} else
|
||||||
if (PREFIX[0] == '~' && PREFIX[1] == '/') {
|
if (PREFIX[0] == '~' && PREFIX[1] == '/') {
|
||||||
std::string homedir;
|
std::string homedir;
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
@ -293,8 +296,7 @@ void read_chipdb()
|
||||||
homedir += getenv("HOME");
|
homedir += getenv("HOME");
|
||||||
#endif
|
#endif
|
||||||
snprintf(buffer, 1024, "%s%s/share/icebox/chipdb-%s.txt", homedir.c_str(), PREFIX+1, config_device.c_str());
|
snprintf(buffer, 1024, "%s%s/share/icebox/chipdb-%s.txt", homedir.c_str(), PREFIX+1, config_device.c_str());
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
snprintf(buffer, 1024, "%s/share/icebox/chipdb-%s.txt", PREFIX, config_device.c_str());
|
snprintf(buffer, 1024, "%s/share/icebox/chipdb-%s.txt", PREFIX, config_device.c_str());
|
||||||
|
|
||||||
FILE *fdb = fopen(buffer, "r");
|
FILE *fdb = fopen(buffer, "r");
|
||||||
|
|
@ -1874,6 +1876,9 @@ void help(const char *cmd)
|
||||||
printf(" -d lp1k|hx1k|lp8k|hx8k\n");
|
printf(" -d lp1k|hx1k|lp8k|hx8k\n");
|
||||||
printf(" select the device type (default = lp variant)\n");
|
printf(" select the device type (default = lp variant)\n");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
printf(" -C <chipdb-file>\n");
|
||||||
|
printf(" read chip description from the specified file\n");
|
||||||
|
printf("\n");
|
||||||
printf(" -m\n");
|
printf(" -m\n");
|
||||||
printf(" enable max_span_hack for conservative timing estimates\n");
|
printf(" enable max_span_hack for conservative timing estimates\n");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
@ -1904,7 +1909,7 @@ int main(int argc, char **argv)
|
||||||
std::vector<std::string> print_timing_nets;
|
std::vector<std::string> print_timing_nets;
|
||||||
|
|
||||||
int opt;
|
int opt;
|
||||||
while ((opt = getopt(argc, argv, "p:P:g:o:r:j:d:mitT:vc:")) != -1)
|
while ((opt = getopt(argc, argv, "p:P:g:o:r:j:d:mitT:vc:C:")) != -1)
|
||||||
{
|
{
|
||||||
switch (opt)
|
switch (opt)
|
||||||
{
|
{
|
||||||
|
|
@ -1962,6 +1967,9 @@ int main(int argc, char **argv)
|
||||||
case 'c':
|
case 'c':
|
||||||
clock_constr = strtod(optarg, NULL);
|
clock_constr = strtod(optarg, NULL);
|
||||||
break;
|
break;
|
||||||
|
case 'C':
|
||||||
|
chipdbfile = optarg;
|
||||||
|
break;
|
||||||
case 'v':
|
case 'v':
|
||||||
verbose = true;
|
verbose = true;
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue