Verilog Barrel Shifter

Quero criar um shifter de barril de 64 bits no verilog (gire para a direita por enquanto). Quero saber se existe uma maneira de fazer isso sem escrever uma declaração de 65 partes? Existe uma maneira de escrever um código simples, como:

    Y = {S[i - 1:0], S[63:i]};

Tentei o código acima no Xilinx e recebi um erro: eu não sou uma constant

Principal pergunta: Existe uma maneira de fazer isso sem uma declaração de caso enorme?

questionAnswers(2)

yourAnswerToTheQuestion