b=8’h8f,reg b[0:4]
b[0:4]为0f
针对这个题进行了一些讨论:
(1) 定义方式:[0:7]a [0:4]b a=8’h8f(10001111);
b<=a;

从仿真结果看出,把8位宽的a赋值给5位宽的b时,直接是把物理位置上最右边的5位给了b,没有考虑访问顺序。
(2) 为了区分最高位和最低位,我将8f改为8e。且增加了一些量:
[0:4]b;
[0:4]c;
[0:4]d;
b<=a;
c<=a[1+:5];
d<=a[7-:5];
e<=a[0];
f<=a[7];
a=10001110
c=00011;也即是将从第1位开始(根据a的定义[0:7],第0位时最左边的),数5位数直接整体搬下来输入到c中,没有更改数据顺序。
d=01110;也就是将数据从做第7位开始,也就是最高位,即最右边的数开始,往左边数5位数,然后将整体搬下来,赋值为d,也是没有更改数据顺序的(原来时01110,现在还是01110)。
(3)在(2)的基础上更改a的定义顺序为[7:0]

从图中可以看出,不管a的定义方式如何,b都是等于a物理上最右边的5位数,整体赋值下去。
bcdef的输入都收到的影响,因为他们的值与a的定义方式有关。
(4)我将b的位宽增大为[0:10],其结果还是,将a这个整体赋值给b,且还是从物理位置和是哪个的最右边赋值给a的物理位置上的最右边,与变量的定义方式无关。

小结,整体赋值的时候与定义方式无关,就是整体赋值,也就是和访问顺序无关。访问顺序有关情况:将数据串中部分数据输出的时候。
写的比较凌乱,如有问题,希望大家能指出。