Diary/2024-7-6
Yosys の Pass 追加
yosys/guidelines/GettingStarted に解説がある
hello.ccを用意して,
#include "kernel/yosys.h"
USING_YOSYS_NAMESPACE
PRIVATE_NAMESPACE_BEGIN
struct HelloWorldPass : public Pass {
        HelloWorldPass() : Pass("hello_world") { }
        void execute(vector<string>, Design*) override {
                log("Hello World!\n");
        }
} HelloWorldPass;
PRIVATE_NAMESPACE_END
ビルドする
yosys-config --exec --cxx --cxxflags --ldflags -o hello.so -shared hello.cc --ldlibs
または,
yosys-config --build hello.so hello.cc
使うには,
yosys -m hello.so
として起動すればいい.