0

レジスタの宣言では、サンプル コードは次のようになります。

reg[15:0]  regfile[0:15];

変数名の後に [0:15] が反転している理由がわかりません。reg[15:0] は 16 ビット レジスタを宣言していますが、変数名が逆なのはなぜですか?

4

3 に答える 3

1
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];
于 2013-10-06T13:42:13.620 に答える
0

私はそれが要件というよりも慣習であると信じています。たとえば、 IEEE Std 1800-2012のセクション 7.4.4 "Memories" を参照してください。regfile16 の場所を持つ 16 ビット幅のメモリと見なされます。

于 2013-10-06T13:32:58.867 に答える