Verilog:读取1位输入并将其写入288位寄存器

Verilog:读取1位输入并将其写入288位寄存器,verilog,system-verilog,Verilog,System Verilog,在verilog中,我有一个模块名(输入数据,…,输出 数据只是一个单位输入,我需要它显示到reg[288:0]Data\u tmp以比较位。如何将数据(输入)传输到注册表 我尝试使用for循环像C中的数组一样处理它,如下所示: for(i=0; i<288; i=i+1) begin data_tmp[i]=data; end for(i=0;ifor循环正在复制数据;即如果data为1,则得到288个1;如果data为0,则得到288个0。您想要的是移位器。data\u tm

在verilog中,我有一个
模块名(输入数据,…,输出
数据只是一个单位输入,我需要它显示到
reg[288:0]Data\u tmp以比较位。如何将数据(输入)传输到注册表

我尝试使用for循环像C中的数组一样处理它,如下所示:

for(i=0; i<288; i=i+1) begin
    data_tmp[i]=data;
end

for(i=0;ifor循环正在复制数据;即如果
data
为1,则得到288个1;如果
data
为0,则得到288个0。您想要的是移位器。
data\u tmp
根据位流的顺序将位向左或向右移位

data_tmp<={data_tmp[286:0],data}; // shift and fill left

data\u tmpHow您要植入这个吗?请显示更多的代码。for循环应该可以工作。复制器(
data\u tmp={288{data}};
)和SystemVerilog
foreach
是其他选项。
data_tmp<={data_tmp[286:0],data}; // shift and fill left
data_tmp<={data,data_tmp[287:1]}; // shift and fill right