-
-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[質問] parameter で型指定無しにしたり、文字列を使う場合について #109
Comments
文字列リテラルは後で追加するつもりで忘れていました…。 形無しについてはちょっと考える必要がありますね。
|
右辺値が文字列であっても、logicかbitで受ければ良いので、型付け必須でもいいのではないでしょうか? |
それか、TB記述を考慮しなくても良いのであれば、「parameter宣言内のstring型は、型無parameter宣言に変換する」も手でしょうか? |
いつも迅速なご対応、ありがとうございます。
logic だと幅の事前指定が必要で、"FALSE" や "TRUE" のような長さの違う文字列を渡すと、ビット長不一致ワーニングで lint が通らないという理由で避けていたと思います。
Veryl.toml で設定できれば、そういうオプションはありかと思います。string が使える処理系ではそのまま通して、使えない処理系を使う時だけ型なしが選べると嬉しいです。 現状、形無しで渡してますが、Verilator などの幅チェックが、"FALSE" や "TRUE" のような長さの違う文字列を比較すると怒るので、一度 bit 幅拡張してから比較するとかの苦肉の策をしています。 |
文字列を使うのはenumが無かった時代の苦肉の策ですし、こういうverilogとの橋渡しな箇所は手書きSVに押し付けるのも一手なのかなとも思います |
Veryl.tomlで指定するとして、全部省略するかどうかのon/offだけでいいですか?
|
enum は enum であって欲しいので、型を省略可能にするのであれば、特定の型だけ省略可能するほうが良いですね。 |
implicit_parameter_typesを追加しました。
|
v0.3.1リリースしました。 |
ありがとうございます。v0.3.1 にて下記のコードを SV に変換して、Vivado 2022.2 で問題なく合成できることまで確認できました。 この手のプリミティブな機能も Veryl で書けるというのは非常にありがたく思います。 もう少しいろいろ試してみたいと思います。引き続きよろしくお願いいたします。
|
いつもお世話になっております。 Veryl 0.3.0 を試させて頂いております。
現在、下記の SystemVerilog と等価なものを出力する Veryl のコードを書こうと試みております。
https://github.com/ryuz/jelly/blob/8701d4830836b33d2fe19de9a8e6e330d2045e15/rtl/library/jelly2_ram_dualport.sv
その際に parameter に文字列が使いたいのですが Veryl のサンプルで文字列型を使っているものを見つけきれずよくわかりませんでした。
また
などがあり、ご意見いただけるとありがたいです。
ちなみに Xilinx の ハードマクロでもパラメータ引数に文字列を要求するものがよくあります。
参考までに Xilinx のライブラリガイドのURLを下記 に記載いたします。
https://www.xilinx.com/content/dam/xilinx/support/documents/sw_manuals_j/xilinx2019_2/ug974-vivado-ultrascale-libraries.pdf
いつも要望ばかりで恐縮ですがよろしくお願いいたします。
The text was updated successfully, but these errors were encountered: