如果我们调换两个操作符, {<<4{B[LEN*3 +: LEN]}} <= {>>4{B[LEN*3 +: LEN]}}; 会发现它们的行为是完全一样的。 0x03 综合行为 packed array / unpacked array / stream operators 等概念都停留在SystemVerilog的语言层面,并不涉及到综合行为,因此以上我们所讨论的内容,并不涉及到它们会被综合成...
流操作符(bit-stream),表示方式为{>>{}}和{<<{}}。前者会把数据块按照从左到右的形式流(stream),后者则是从右到左。 实际项目中,经常需要打包(pack)和解包(unpack)数据。其实这些操做可以通过流操作符简单的实现。 比如下面这个例子实现了对数组内数据的逆序,并且将该数组打包为一个int。 moduletest;funct...