如何在 MSB 对齐的情况下自动扩展数据?

How to auto-extend the data with the MSB aligned?

我现在正尝试在 Verilog 中创建“打印”以帮助我进行调试。

将短字符串分配给长缓冲区时。

例如:

reg[63:0] buf;

task print(input[63:0] in);
begin
  buf<=in;
end
endtask

print("Hello");

缓冲区中的数据将是/0/0/0Hello

处理/0

需要很多时钟或者很大的面积

因为字符串是在合成前确定的。有什么优雅的方法可以在 MSB 方向上对齐数据吗?我希望数据看起来像 Hello/0/0/0.

或者`/0/0/0olleH'也可以。

流媒体运营商MSB/left对齐

print( {>>{"hello"}} ); // Hello/0/0/0