トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2025-1-3の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!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; })()
となっていた.なるほどねー.