Ric*_*ich 2 verilog system-verilog
这是一个简单的SystemVerilog问题,我很难找到答案.
在这种位数组初始化语法中,b [0]部分是分配给最高有效位还是最低有效位?
bit a[7:0];
bit b[7:0] = 8'hff;
bit c[7:0] = 8'h00;
a = {b[0], c[6:0]};
Run Code Online (Sandbox Code Playgroud)
那么[0] == 1还是[7] == 1?
你发现很难找到答案的原因是因为结果取决于你如何宣布事物.
你已经宣布a
了[7:0]
.因此位a
的排列如下:
a7 a6 a5 a4 a3 a2 a1 a0
Run Code Online (Sandbox Code Playgroud)
然后您分配{b[0], c[6:0}
给a
:
a7 a6 a5 a4 a3 a2 a1 a0 = b0 c6 c5 c4 c3 c2 c1 c0
1 0 0 0 0 0 0 0 = 1 0 0 0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
A[7] == 1
如果你宣称a
要[0:7]
的结果将是:
a0 a1 a2 a3 a4 a5 a6 a7 = b0 c6 c5 c4 c3 c2 c1 c0
1 0 0 0 0 0 0 0 = 1 0 0 0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
A[0] == 1