rc, w0c, w1c, wc, woc: bit field set when it should be cleared?
ifkato opened this issue · comments
Fuga Kato commented
Describe the bug
In the bit field implementation of rc, w0c, w1c, wc, and woc ("read/write something to clear bit"), it seems like "set" signal is connected rather than "clear".
To Reproduce
Steps to reproduce the behavior:
- specify "rc", "w0c", "w1c", "wc" or "woc" as bit field type.
- RTL file generated with "set" signal connected.
Expected behavior
RTL file generated with "clear" signal connected.
Screenshots
n/a
Additional context
related code:
- rggen-systemverilog: https://github.com/rggen/rggen-systemverilog/blob/c731542f571aefcd8d064aa91ad7445619286a87/lib/rggen/systemverilog/rtl/bit_field/type/rc_w0c_w1c_wc_woc.erb
- rggen-verilog: https://github.com/rggen/rggen-verilog/blob/2833672a1a06d46fda745d4711bec5815b7f001c/lib/rggen/verilog/rtl/bit_field/type/rc_w0c_w1c_wc_woc.erb#L20
Also, the document section about w1c may need to be fixed.
大変便利なソフトウェアを作ってくださり、ありがとうございます!
Taichi Ishitani commented
これらのビットフィールド型は、
- アプリ論理側からの入力で 1 をセット
- SW からの書き込みや読み出しで 0 クリア
- 例えば
w1c
の場合、クリアしたいビットに 1 を書き込む
- 例えば
なので、セット信号が生成され繋がるのは仕様通りです。
(門川さん、鶴田さん、須山会の面々によろしくお伝えください。)
Fuga Kato commented
なるほどです!私の誤解だったようですね。
ありがとうございます!
Taichi Ishitani commented
質問や、機能追加の要望などありましたら、お気軽に issue を建ててくださいませ。