Naoya Hatta

Results 272 comments of Naoya Hatta

> とりあえず出した叩き台のつもりだったんですが,大丈夫でしたでしょうか? ドキュメントの場合は多少変でも特に実害はないので、じっくり検討するよりやる気があるうちにどんどん変えていくのがいい気がしてきています。(OSSの場合、次にやる気が出るのが半年後とかになる可能性も十分あるので…) 英文の修正もこのまま取り込んでいいと思っているので、もしよろしければPRだしていただけますか? 面倒なようであればこちらでコピーしますがせっかくなので。

SVに対して構文的に優位性がある点を列挙したページを作ろうと思います。 とりあえずリストアップしたのですが、他に入れたほうがいいものがあれば教えてください。 * 末尾カンマ * クロックリセットの抽象化構文 * 同名接続の省略記法 * ドキュメンテーションコメント * 代入演算子がalways_ffでも使える * enumバリアントの名前空間が切れている * ビット連結のrepeat構文 * if/case式 * 半開区間、閉区間記法(と範囲for/inside) * msb/lsb * outside式 * let 文による中間変数バインドが任意の場所で使える * 名前付きブロック *...

`.*` での接続に対しては「(`.*`は何がつながっているか全くわからないので)明示性を損なわない範囲で省略できる」というような説明がいいでしょうか。 以下のような感じでSVとソースコードを対比できるといいのではないかと思っています。 なので構文がfixしていないものはちょっと書きにくいですね…。 今後の予定みたいなのはまた別途書くのがいいかもしれません。 ![image](https://github.com/veryl-lang/veryl/assets/4331004/40746da0-2ff1-49b3-9332-c35f434354b7)

> `.*` での接続に対しては「(`.*`は何がつながっているか全くわからないので)明示性を損なわない範囲で省略できる」というような説明がいいでしょうか。 今調べて初めて知ったのですが、ポート名での省略記法もSVにあるんですね。 ```verilog ModuleA u ( .i_clk, .i_rst, .i_dat (a) ); ``` なのでこの点は特にVerylが良いというわけでもありませんでした。 (この記法が普通に使えるなら生成後のSVでは使った方がいいかもしれません)

> と言うのも違和感があるので、極性をしめす接頭辞とかを生成時に後付けできるようにしておけると良いかしれないですね。 確かにそこは書いていてちょっと気になる点ではありますね。 ただ現状だと何をリセットと認識するのかが難しい(always_ffのリセットポートから逆に辿るのは大変)ので、#569 のようなclock/reset型が必要かもしれません。 クロックリセットが明示的だとSDCの生成やチェックみたいな方向にも行けそうです。

ドキュメントの1ページ目をWebサイトのものと同じに変更し、2ページ目に特徴を列挙するページを追加しました。 https://doc.veryl-lang.org/book/ja/ https://doc.veryl-lang.org/book/ja/02_features.html

> 属性を示す接尾辞なりをつけるとなると、リセット自体に属性を持たせることになるので、`always_ff` での指定ではなく、型で属性を指定することになるでしょうか。 最終的には生成時の指定とRTL中の指定のミスマッチがどこで検出されるかの問題で、どちらでも可能な気はします。 もしミスマッチしないなら生成時の指定のみに従って接尾辞をつけて問題ないはずなので。 * always_ffでの指定(現状):always_ffのリセットポートで検出 * reset型での指定:reset型からreset_*型への接続で検出 reset_*型の場合、この型の変数名をどうつけるのかがちょっと微妙かもしれません。 ``` i_rst : input reset_async_low // 生成時に _n が付くことを期待する。型がlowなのにVeryl上の名前が _n でないのは不自然 i_rst_n: input reset_async_low // Veryl上の見た目は一致するが、reset型の種類によって接尾辞付与の挙動が一貫しない ``` あとは「特定の極性しかサポートしないライブラリ」みたいなもののサポートが現状あまり考えられていないのでその辺との兼ね合いも考える必要がありそうです。

> Looks good. There are a few grammar mistakes which will be easy to fix in a README.md file, but a bit of a nuisance to fix in an issues...

I've updated the overview of https://veryl-lang.org based on the discussion in #575.

I'm planning to create a page listing the syntactic advantages to SystemVerilog. I've listed some points for now, but please let me know if there are any other aspects I...