Testowanie szeregowe i twierdzenia z System-Verilog

Mam wyjście szeregowe modułu verilog, które chciałbym przetestować za pomocą system-verilog.

Wyjście o nazwie „SO” wyświetli coś takiego jak 8'hC6, podając poprawne wejście szeregowe „SI” o wartości powiedzmy 8'h9A.

Czy istnieje prosty sposób na kodowanie / dekodowanie seryjnych we / wy bez konieczności jawnego opisywania każdego sygnału?

Na przykład:

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;

Wygląda jak pomieszany bałagan i jest ledwie czytelny. Chciałbym po prostu napisać

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

ale oczywiście to nie działa. Wszelkie porady lub przykłady byłyby mile widziane. Z góry dziękuję.

questionAnswers(2)

yourAnswerToTheQuestion