1
RISCVスパイクコマンドオプション "--isa ="に入力する正式なフィールドは何ですか?私はすぐにスパイクのソースコードを検索し、定義されたDEFAULT_ISAしか見つけませんでした。スパイクでサポートされているRISCVアーキテクチャのリスト?
RISCVスパイクコマンドオプション "--isa ="に入力する正式なフィールドは何ですか?私はすぐにスパイクのソースコードを検索し、定義されたDEFAULT_ISAしか見つけませんでした。スパイクでサポートされているRISCVアーキテクチャのリスト?
スパイクのコードは読みやすく、あまり複雑ではありません。メインプロシージャでは、isa
オプションの引数は変数isa
に格納されます。これはsim_t
のコンストラクタに渡され、そこからコンストラクタprocessor_t
に渡され、そこには関数parse_isa_string
が解析されます。
isa
の文字列が空の場合、拡張子imafdc
が有効になり、プロセッサは64ビットモードになります。空でない文字列は、拡張子の文字コードとすることができます。 imac
であるか、プロセッサの任意のレジスタ幅を有する接頭語rv
を有することができる。 rv32gc
。
OKコード領域を確認しています。今、私はスパイクがアーキテクチャーの選択と入力コードの間の衝突をどのように処理するのか疑問に思っています。 64ビットのコードが32ビットのISA選択に入力されたとしたら、スパイクが実行を停止するか警告しますか?例えば" - isa = rv32g"?これを自分でテストしなければならないことに気づきましたが、gccのビルドオプションには自信がありません。 – daveW