トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

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

として起動すればいい.