レジスタの宣言では、サンプル コードは次のようになります。
reg[15:0] regfile[0:15];
変数名の後に [0:15] が反転している理由がわかりません。reg[15:0] は 16 ビット レジスタを宣言していますが、変数名が逆なのはなぜですか?
レジスタの宣言では、サンプル コードは次のようになります。
reg[15:0] regfile[0:15];
変数名の後に [0:15] が反転している理由がわかりません。reg[15:0] は 16 ビット レジスタを宣言していますが、変数名が逆なのはなぜですか?
reg[15:0] regfile[A:B];
(B-A+1)
を使用してインデックス付けできる16ビットレジスタを宣言するためのショートカットですA,A+1..B
reg[15:0] regfile[0:15];
宣言する
reg[15:0] regfile[0];
reg[15:0] regfile[1];
.....................
reg[15:0] regfile[14];
reg[15:0] regfile[15];
以下のようにインデックスを逆にしても同じです
reg[15:0] regfile[15:0];
以下は同じものを宣言していますが、 index が異なります10..24,25
。インデックス0,1..9
が無効です。
reg[15:0] regfile[25:10];
私はそれが要件というよりも慣習であると信じています。たとえば、 IEEE Std 1800-2012のセクション 7.4.4 "Memories" を参照してください。regfile
16 の場所を持つ 16 ビット幅のメモリと見なされます。