mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-23 09:05:32 +00:00
write_cxxrtl: new backend.
This commit adds a basic implementation that isn't very performant but implements most of the planned features.
This commit is contained in:
parent
42e7e44207
commit
d20e971725
6 changed files with 2016 additions and 0 deletions
|
@ -1034,6 +1034,8 @@ void run_backend(std::string filename, std::string command, RTLIL::Design *desig
|
|||
command = "verilog";
|
||||
else if (filename.size() > 3 && filename.compare(filename.size()-3, std::string::npos, ".il") == 0)
|
||||
command = "ilang";
|
||||
else if (filename.size() > 3 && filename.compare(filename.size()-3, std::string::npos, ".cc") == 0)
|
||||
command = "cxxrtl";
|
||||
else if (filename.size() > 4 && filename.compare(filename.size()-4, std::string::npos, ".aig") == 0)
|
||||
command = "aiger";
|
||||
else if (filename.size() > 5 && filename.compare(filename.size()-5, std::string::npos, ".blif") == 0)
|
||||
|
|
|
@ -207,6 +207,7 @@ namespace RTLIL {
|
|||
struct SigSpec;
|
||||
struct Wire;
|
||||
struct Cell;
|
||||
struct Memory;
|
||||
struct Module;
|
||||
struct Design;
|
||||
struct Monitor;
|
||||
|
@ -229,6 +230,7 @@ using RTLIL::Design;
|
|||
namespace hashlib {
|
||||
template<> struct hash_ops<RTLIL::Wire*> : hash_obj_ops {};
|
||||
template<> struct hash_ops<RTLIL::Cell*> : hash_obj_ops {};
|
||||
template<> struct hash_ops<RTLIL::Memory*> : hash_obj_ops {};
|
||||
template<> struct hash_ops<RTLIL::Module*> : hash_obj_ops {};
|
||||
template<> struct hash_ops<RTLIL::Design*> : hash_obj_ops {};
|
||||
template<> struct hash_ops<RTLIL::Monitor*> : hash_obj_ops {};
|
||||
|
@ -236,6 +238,7 @@ namespace hashlib {
|
|||
|
||||
template<> struct hash_ops<const RTLIL::Wire*> : hash_obj_ops {};
|
||||
template<> struct hash_ops<const RTLIL::Cell*> : hash_obj_ops {};
|
||||
template<> struct hash_ops<const RTLIL::Memory*> : hash_obj_ops {};
|
||||
template<> struct hash_ops<const RTLIL::Module*> : hash_obj_ops {};
|
||||
template<> struct hash_ops<const RTLIL::Design*> : hash_obj_ops {};
|
||||
template<> struct hash_ops<const RTLIL::Monitor*> : hash_obj_ops {};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue