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.