$bits conversion handles basic expressions

This commit is contained in:
Zachary Snow
2019-04-19 13:32:25 -04:00
parent 73f831122f
commit b0eedfe318
6 changed files with 145 additions and 77 deletions
+45 -45
View File
@@ -52,17 +52,17 @@ module top;
initial begin
foolA = 2'b10;
foolAer(4'b1001);
$display("initalA: $bits(foolA): ", $bits(foolA ));
$display("initalA: $bits(foolA[0]): ", $bits(foolA[0]));
$display("initalA: $bits(foolA): %08d", $bits(foolA ));
$display("initalA: $bits(foolA[0]): %08d", $bits(foolA[0]));
$display("initalA: foolA[0]: ", foolA[0]);
$display("initalA: foolA[1]: ", foolA[1]);
end
task foolAer;
input [1:0][1:0] foolA;
begin
$display("foolAer: $bits(foolA): ", $bits(foolA ));
$display("foolAer: $bits(foolA[0]): ", $bits(foolA[0] ));
$display("foolAer: $bits(foolA[0][0]): ", $bits(foolA[0][0]));
$display("foolAer: $bits(foolA): %08d", $bits(foolA ));
$display("foolAer: $bits(foolA[0]): %08d", $bits(foolA[0] ));
$display("foolAer: $bits(foolA[0][0]): %08d", $bits(foolA[0][0]));
$display("foolAer: foolA[0][0]: ", foolA[0][0]);
$display("foolAer: foolA[0][1]: ", foolA[0][1]);
$display("foolAer: foolA[1][0]: ", foolA[1][0]);
@@ -74,9 +74,9 @@ module top;
task foolBer;
input [1:0][1:0] foolB;
begin
$display("foolBer: $bits(foolB): ", $bits(foolB ));
$display("foolBer: $bits(foolB[0]): ", $bits(foolB[0] ));
$display("foolBer: $bits(foolB[0][0]): ", $bits(foolB[0][0]));
$display("foolBer: $bits(foolB): %08d", $bits(foolB ));
$display("foolBer: $bits(foolB[0]): %08d", $bits(foolB[0] ));
$display("foolBer: $bits(foolB[0][0]): %08d", $bits(foolB[0][0]));
$display("foolBer: foolB[0][0]: ", foolB[0][0]);
$display("foolBer: foolB[0][1]: ", foolB[0][1]);
$display("foolBer: foolB[1][0]: ", foolB[1][0]);
@@ -87,8 +87,8 @@ module top;
initial begin
foolB = 2'b10;
foolBer(4'b1001);
$display("initalB: $bits(foolB): ", $bits(foolB ));
$display("initalB: $bits(foolB[0]): ", $bits(foolB[0]));
$display("initalB: $bits(foolB): %08d", $bits(foolB ));
$display("initalB: $bits(foolB[0]): %08d", $bits(foolB[0]));
$display("initalB: foolB[0]: ", foolB[0]);
$display("initalB: foolB[1]: ", foolB[1]);
end
@@ -98,9 +98,9 @@ module top;
begin : lol_block
logic [1:0][1:0] arr;
arr = 4'b1001;
$display("LOL: $bits(arr): ", $bits(arr ));
$display("LOL: $bits(arr[0]): ", $bits(arr[0] ));
$display("LOL: $bits(arr[0][0]): ", $bits(arr[0][0]));
$display("LOL: $bits(arr): %08d", $bits(arr ));
$display("LOL: $bits(arr[0]): %08d", $bits(arr[0] ));
$display("LOL: $bits(arr[0][0]): %08d", $bits(arr[0][0]));
$display("LOL: arr[0]: ", arr[0]);
$display("LOL: arr[1]: ", arr[1]);
$display("LOL: arr[0][1]: ", arr[0][1]);
@@ -115,9 +115,9 @@ module top;
begin : magic_block1
logic [1:0][1:0] magic_arr;
magic_arr = 4'b1001;
$display("MB1: $bits(magic_arr): ", $bits(magic_arr ));
$display("MB1: $bits(magic_arr[0]): ", $bits(magic_arr[0] ));
$display("MB1: $bits(magic_arr[0][0]): ", $bits(magic_arr[0][0]));
$display("MB1: $bits(magic_arr): %08d", $bits(magic_arr ));
$display("MB1: $bits(magic_arr[0]): %08d", $bits(magic_arr[0] ));
$display("MB1: $bits(magic_arr[0][0]): %08d", $bits(magic_arr[0][0]));
$display("MB1: magic_arr[0]: ", magic_arr[0]);
$display("MB1: magic_arr[1]: ", magic_arr[1]);
$display("MB1: magic_arr[0][1]: ", magic_arr[0][1]);
@@ -127,8 +127,8 @@ module top;
begin : magic_block2
logic [3:0] magic_arr;
magic_arr = 4'b1001;
$display("MB2: $bits(magic_arr): ", $bits(magic_arr ));
$display("MB2: $bits(magic_arr[0]): ", $bits(magic_arr[0] ));
$display("MB2: $bits(magic_arr): %08d", $bits(magic_arr ));
$display("MB2: $bits(magic_arr[0]): %08d", $bits(magic_arr[0] ));
$display("MB2: magic_arr[0]: ", magic_arr[0]);
$display("MB2: magic_arr[1]: ", magic_arr[1]);
$display("MB2: magic_arr[2]: ", magic_arr[2]);
@@ -137,10 +137,10 @@ module top;
begin : magic_block3
logic [1:0][1:0][1:0] magic_arr;
magic_arr = 4'b1001;
$display("MB3: $bits(magic_arr): ", $bits(magic_arr ));
$display("MB3: $bits(magic_arr[0]): ", $bits(magic_arr[0] ));
$display("MB3: $bits(magic_arr[0][0]): ", $bits(magic_arr[0][0] ));
$display("MB3: $bits(magic_arr[0][0][0]): ", $bits(magic_arr[0][0][0]));
$display("MB3: $bits(magic_arr): %08d", $bits(magic_arr ));
$display("MB3: $bits(magic_arr[0]): %08d", $bits(magic_arr[0] ));
$display("MB3: $bits(magic_arr[0][0]): %08d", $bits(magic_arr[0][0] ));
$display("MB3: $bits(magic_arr[0][0][0]): %08d", $bits(magic_arr[0][0][0]));
$display("MB3: magic_arr[0]: ", magic_arr[0]);
$display("MB3: magic_arr[1]: ", magic_arr[1]);
$display("MB3: magic_arr[0][0]: ", magic_arr[0][0]);
@@ -158,9 +158,9 @@ module top;
begin : magic_block4
logic [1:0][1:0] magic_arr;
magic_arr = 4'b1001;
$display("MB4: $bits(magic_arr): ", $bits(magic_arr ));
$display("MB4: $bits(magic_arr[0]): ", $bits(magic_arr[0] ));
$display("MB4: $bits(magic_arr[0][0]): ", $bits(magic_arr[0][0]));
$display("MB4: $bits(magic_arr): %08d", $bits(magic_arr ));
$display("MB4: $bits(magic_arr[0]): %08d", $bits(magic_arr[0] ));
$display("MB4: $bits(magic_arr[0][0]): %08d", $bits(magic_arr[0][0]));
$display("MB4: magic_arr[0]: ", magic_arr[0]);
$display("MB4: magic_arr[1]: ", magic_arr[1]);
$display("MB4: magic_arr[0][1]: ", magic_arr[0][1]);
@@ -168,10 +168,10 @@ module top;
$display("MB4: magic_arr[1][1]: ", magic_arr[1][1]);
end
magic_arr = 4'b1001;
$display("MB3: $bits(magic_arr): ", $bits(magic_arr ));
$display("MB3: $bits(magic_arr[0]): ", $bits(magic_arr[0] ));
$display("MB3: $bits(magic_arr[0][0]): ", $bits(magic_arr[0][0] ));
$display("MB3: $bits(magic_arr[0][0][0]): ", $bits(magic_arr[0][0][0]));
$display("MB3: $bits(magic_arr): %08d", $bits(magic_arr ));
$display("MB3: $bits(magic_arr[0]): %08d", $bits(magic_arr[0] ));
$display("MB3: $bits(magic_arr[0][0]): %08d", $bits(magic_arr[0][0] ));
$display("MB3: $bits(magic_arr[0][0][0]): %08d", $bits(magic_arr[0][0][0]));
$display("MB3: magic_arr[0]: ", magic_arr[0]);
$display("MB3: magic_arr[1]: ", magic_arr[1]);
$display("MB3: magic_arr[0][0]: ", magic_arr[0][0]);
@@ -196,9 +196,9 @@ module top;
begin : ntf_magic_block1
logic [1:0][1:0] ntf_magic_arr;
ntf_magic_arr = 4'b1001;
$display("NTFMB1: $bits(ntf_magic_arr): ", $bits(ntf_magic_arr ));
$display("NTFMB1: $bits(ntf_magic_arr[0]): ", $bits(ntf_magic_arr[0] ));
$display("NTFMB1: $bits(ntf_magic_arr[0][0]): ", $bits(ntf_magic_arr[0][0]));
$display("NTFMB1: $bits(ntf_magic_arr): %08d", $bits(ntf_magic_arr ));
$display("NTFMB1: $bits(ntf_magic_arr[0]): %08d", $bits(ntf_magic_arr[0] ));
$display("NTFMB1: $bits(ntf_magic_arr[0][0]): %08d", $bits(ntf_magic_arr[0][0]));
$display("NTFMB1: ntf_magic_arr[0]: ", ntf_magic_arr[0]);
$display("NTFMB1: ntf_magic_arr[1]: ", ntf_magic_arr[1]);
$display("NTFMB1: ntf_magic_arr[0][1]: ", ntf_magic_arr[0][1]);
@@ -208,8 +208,8 @@ module top;
begin : ntf_magic_block2
logic [3:0] ntf_magic_arr;
ntf_magic_arr = 4'b1001;
$display("NTFMB2: $bits(ntf_magic_arr): ", $bits(ntf_magic_arr ));
$display("NTFMB2: $bits(ntf_magic_arr[0]): ", $bits(ntf_magic_arr[0] ));
$display("NTFMB2: $bits(ntf_magic_arr): %08d", $bits(ntf_magic_arr ));
$display("NTFMB2: $bits(ntf_magic_arr[0]): %08d", $bits(ntf_magic_arr[0] ));
$display("NTFMB2: ntf_magic_arr[0]: ", ntf_magic_arr[0]);
$display("NTFMB2: ntf_magic_arr[1]: ", ntf_magic_arr[1]);
$display("NTFMB2: ntf_magic_arr[2]: ", ntf_magic_arr[2]);
@@ -218,10 +218,10 @@ module top;
begin : ntf_magic_block3
logic [1:0][1:0][1:0] ntf_magic_arr;
ntf_magic_arr = 4'b1001;
$display("NTFMB3: $bits(ntf_magic_arr): ", $bits(ntf_magic_arr ));
$display("NTFMB3: $bits(ntf_magic_arr[0]): ", $bits(ntf_magic_arr[0] ));
$display("NTFMB3: $bits(ntf_magic_arr[0][0]): ", $bits(ntf_magic_arr[0][0] ));
$display("NTFMB3: $bits(ntf_magic_arr[0][0][0]): ", $bits(ntf_magic_arr[0][0][0]));
$display("NTFMB3: $bits(ntf_magic_arr): %08d", $bits(ntf_magic_arr ));
$display("NTFMB3: $bits(ntf_magic_arr[0]): %08d", $bits(ntf_magic_arr[0] ));
$display("NTFMB3: $bits(ntf_magic_arr[0][0]): %08d", $bits(ntf_magic_arr[0][0] ));
$display("NTFMB3: $bits(ntf_magic_arr[0][0][0]): %08d", $bits(ntf_magic_arr[0][0][0]));
$display("NTFMB3: ntf_magic_arr[0]: ", ntf_magic_arr[0]);
$display("NTFMB3: ntf_magic_arr[1]: ", ntf_magic_arr[1]);
$display("NTFMB3: ntf_magic_arr[0][0]: ", ntf_magic_arr[0][0]);
@@ -239,9 +239,9 @@ module top;
begin : ntf_magic_block4
logic [1:0][1:0] ntf_magic_arr;
ntf_magic_arr = 4'b1001;
$display("NTFMB4: $bits(ntf_magic_arr): ", $bits(ntf_magic_arr ));
$display("NTFMB4: $bits(ntf_magic_arr[0]): ", $bits(ntf_magic_arr[0] ));
$display("NTFMB4: $bits(ntf_magic_arr[0][0]): ", $bits(ntf_magic_arr[0][0]));
$display("NTFMB4: $bits(ntf_magic_arr): %08d", $bits(ntf_magic_arr ));
$display("NTFMB4: $bits(ntf_magic_arr[0]): %08d", $bits(ntf_magic_arr[0] ));
$display("NTFMB4: $bits(ntf_magic_arr[0][0]): %08d", $bits(ntf_magic_arr[0][0]));
$display("NTFMB4: ntf_magic_arr[0]: ", ntf_magic_arr[0]);
$display("NTFMB4: ntf_magic_arr[1]: ", ntf_magic_arr[1]);
$display("NTFMB4: ntf_magic_arr[0][1]: ", ntf_magic_arr[0][1]);
@@ -249,10 +249,10 @@ module top;
$display("NTFMB4: ntf_magic_arr[1][1]: ", ntf_magic_arr[1][1]);
end
ntf_magic_arr = 4'b1001;
$display("NTFMB3: $bits(ntf_magic_arr): ", $bits(ntf_magic_arr ));
$display("NTFMB3: $bits(ntf_magic_arr[0]): ", $bits(ntf_magic_arr[0] ));
$display("NTFMB3: $bits(ntf_magic_arr[0][0]): ", $bits(ntf_magic_arr[0][0] ));
$display("NTFMB3: $bits(ntf_magic_arr[0][0][0]): ", $bits(ntf_magic_arr[0][0][0]));
$display("NTFMB3: $bits(ntf_magic_arr): %08d", $bits(ntf_magic_arr ));
$display("NTFMB3: $bits(ntf_magic_arr[0]): %08d", $bits(ntf_magic_arr[0] ));
$display("NTFMB3: $bits(ntf_magic_arr[0][0]): %08d", $bits(ntf_magic_arr[0][0] ));
$display("NTFMB3: $bits(ntf_magic_arr[0][0][0]): %08d", $bits(ntf_magic_arr[0][0][0]));
$display("NTFMB3: ntf_magic_arr[0]: ", ntf_magic_arr[0]);
$display("NTFMB3: ntf_magic_arr[1]: ", ntf_magic_arr[1]);
$display("NTFMB3: ntf_magic_arr[0][0]: ", ntf_magic_arr[0][0]);