SystemVerilog学習データ型

1.簡単な説明

私は2か月間雇用されており、検証にはSystemVerilogを使用しています。Verilogで直接テストベンチを作成する前に、この期間にsvを使用した後、検証のためにsvに切り替える必要があることがわかりました。

2.ボディ

1)データ型

の種類 説明 シンボル
論理 Verilogregおよびwire関数に相当する4つの状態
ビット デュアルステート、カスタムビット幅 デフォルトでは符号なし
int デュアルステート、32ビット 手話
バイト デュアルステート、8ビット 手話
shortint デュアルステート、16ビット 手話
longint デュアルステート、64ビット 手話
整数 4つの状態、32ビット 手話
時間 4つの状態、64ビット 符号なし
リアル デュアルステート、64ビット 倍精度浮動小数点、doubleに相当
shortreal デュアルステート、32ビット フロートに相当

注意:

  • 4つの状態は0、1、x、およびzであり、二重の状態は0、1です。
  • Verilogでは、regタイプのデータはalwaysでのみ割り当てることができ、wireタイプを使用するように割り当てることができます。svでは、ロジックをalwaysで割り当てるか、assignで使用できますが、複数の場所で駆動することはできません。

2)固定幅配列

int array0[0:15];		//16个整数
int array1[16];			//16个整数
int array2[0:7][0:3];	//二维数组
int array3[8][4];		//二维数组 
array3[5][2]=1;			//数组赋值
bit [7:0] unpack[3];	//非合并数组,分配三个字空间,但只存放低字节
int ascend[4]=`{0,1,2,3};//常量数组前面加 “ ` ”

3)配列操作

initial begin
	bit [31:0] src[5],dst[5];
	for(int i=0;i<$size(src);i++)
		src[i] = i;
	foreach(dst[j])
		dst[j]=src[j]*2;
end

私のパブリックアカウントをフォローすることを歓迎します:コアキングダム、より多くのFPGAとデジタルICテクノロジーの共有があり、オープンソースのFPGAプロジェクトを入手することもできます!

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_40377195/article/details/108351043