- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!Yosysメモ
GitHubからcloneしたYosysのサンプルを参考にPassを作ってみると,
IDの引数でエラーがでてしまった.
これは,Ubuntu 22.04でaptでインストールしたYosysは0.9だったのに起因していて
その時点ではIDの引数にダブルクォーテーションが必要なのだった.
で,定義をみてみると,
0.9の定義が,kernel/yosys.hで,
#define ID(_str) \
([]() { static YOSYS_NAMESPACE_PREFIX RTLIL::IdString _id(_str); return _id; })()
となっていたのに対して,
GitHubでcloneしたもの(0.48)は,kernel/yosys_common.hで,
#define ID(_id) ([]() { const char *p = "\\" #_id, *q = p[1] == '$' ? p+1 : p; \
static const YOSYS_NAMESPACE_PREFIX RTLIL::IdString id(q); return id; })()
となっていた.なるほどねー.