Teste de bancada serial e asserções com o System-Verilog

Eu tenho uma saída serial de um módulo verilog que eu gostaria de testar usando system-verilog.

A saída, chamada 'SO', produzirá algo como 8'hC6, dada a entrada serial correta 'SI', com um valor de, digamos, 8'h9A.

Existe uma maneira fácil de codificar / decodificar IOs seriais sem ter que descrever explicitamente cada sinal?

Por exemplo:

assert property @(posedge clk) $rose(EN) |-> ##[1:3] SI ##1 !SI[*2] ##1 SI[*2] ##1 !SI ##1 SI ##1 !SI
                                             ##[1:3] SO[*2] ##1 !SO[*3] ##1 SO[*2] ##1 !SO;

Parece uma bagunça confusa e mal é legível. Eu gostaria muito de escrever

8'h9A ##[1:3] 8'hC6

mas obviamente isso não funciona. Qualquer conselho ou exemplo seria mais que bem-vindo. Desde já, obrigado.

questionAnswers(2)

yourAnswerToTheQuestion