Skip to content

Commit d2794ac

Browse files
committed
Fix include, library file order issue
1 parent e1992e6 commit d2794ac

File tree

1 file changed

+37
-37
lines changed

1 file changed

+37
-37
lines changed

src/Compiler/CompilerOpenFPGA.cpp

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1720,6 +1720,43 @@ std::string CompilerOpenFPGA::YosysDesignParsingCommmands() {
17201720
}
17211721

17221722
std::string designFiles = macros;
1723+
for (const auto& lang_file : ProjManager()->DesignFiles()) {
1724+
std::string filesScript =
1725+
"read_verilog ${READ_VERILOG_OPTIONS} ${INCLUDE_PATHS} "
1726+
"${VERILOG_FILES}";
1727+
std::string lang;
1728+
1729+
auto files = lang_file.second + " ";
1730+
switch (lang_file.first.language) {
1731+
case Design::Language::VHDL_1987:
1732+
case Design::Language::VHDL_1993:
1733+
case Design::Language::VHDL_2000:
1734+
case Design::Language::VHDL_2008:
1735+
case Design::Language::VHDL_2019:
1736+
ErrorMessage("Unsupported language (Yosys default parser)");
1737+
break;
1738+
case Design::Language::VERILOG_1995:
1739+
case Design::Language::VERILOG_2001:
1740+
case Design::Language::SYSTEMVERILOG_2005:
1741+
break;
1742+
case Design::Language::SYSTEMVERILOG_2009:
1743+
case Design::Language::SYSTEMVERILOG_2012:
1744+
case Design::Language::SYSTEMVERILOG_2017:
1745+
lang = "-sv";
1746+
break;
1747+
case Design::Language::VERILOG_NETLIST:
1748+
break;
1749+
case Design::Language::BLIF:
1750+
case Design::Language::EBLIF:
1751+
ErrorMessage("Unsupported language (Yosys default parser)");
1752+
break;
1753+
}
1754+
filesScript = ReplaceAll(filesScript, "${READ_VERILOG_OPTIONS}", lang);
1755+
filesScript = ReplaceAll(filesScript, "${INCLUDE_PATHS}", includes);
1756+
filesScript = ReplaceAll(filesScript, "${VERILOG_FILES}", files);
1757+
designFiles += filesScript + "\n";
1758+
}
1759+
17231760
for (auto path : ProjManager()->libraryPathList()) {
17241761
std::filesystem::path libPath =
17251762
FileUtils::AdjustPath(path, ProjManager()->projectPath());
@@ -1765,43 +1802,6 @@ std::string CompilerOpenFPGA::YosysDesignParsingCommmands() {
17651802
}
17661803
}
17671804

1768-
for (const auto& lang_file : ProjManager()->DesignFiles()) {
1769-
std::string filesScript =
1770-
"read_verilog ${READ_VERILOG_OPTIONS} ${INCLUDE_PATHS} "
1771-
"${VERILOG_FILES}";
1772-
std::string lang;
1773-
1774-
auto files = lang_file.second + " ";
1775-
switch (lang_file.first.language) {
1776-
case Design::Language::VHDL_1987:
1777-
case Design::Language::VHDL_1993:
1778-
case Design::Language::VHDL_2000:
1779-
case Design::Language::VHDL_2008:
1780-
case Design::Language::VHDL_2019:
1781-
ErrorMessage("Unsupported language (Yosys default parser)");
1782-
break;
1783-
case Design::Language::VERILOG_1995:
1784-
case Design::Language::VERILOG_2001:
1785-
case Design::Language::SYSTEMVERILOG_2005:
1786-
break;
1787-
case Design::Language::SYSTEMVERILOG_2009:
1788-
case Design::Language::SYSTEMVERILOG_2012:
1789-
case Design::Language::SYSTEMVERILOG_2017:
1790-
lang = "-sv";
1791-
break;
1792-
case Design::Language::VERILOG_NETLIST:
1793-
break;
1794-
case Design::Language::BLIF:
1795-
case Design::Language::EBLIF:
1796-
ErrorMessage("Unsupported language (Yosys default parser)");
1797-
break;
1798-
}
1799-
filesScript = ReplaceAll(filesScript, "${READ_VERILOG_OPTIONS}", lang);
1800-
filesScript = ReplaceAll(filesScript, "${INCLUDE_PATHS}", includes);
1801-
filesScript = ReplaceAll(filesScript, "${VERILOG_FILES}", files);
1802-
1803-
designFiles += filesScript + "\n";
1804-
}
18051805
return designFiles;
18061806
}
18071807

0 commit comments

Comments
 (0)