Posts

Showing posts from July, 2016

Another SystemVerilog Streaming Example: Size Mismatch

I had a packed struct who's size was not evenly divisible by 8 (it was one bit short, in fact) and I had an array of bytes that I needed to stream into it. The extra bits in the array of bytes were not relevant, so I tried just doing this: my_struct = {>>byte{my_array_of_bytes}}; But my simulator complained that my_array_of_bytes was bigger than the destination (my_struct). It took me longer to figure out than I'd like to admit that I just needed to do this: bit extra_bit; {my_struct, extra_bit} = {>>byte{my_array_of_bytes}}; That did the trick.