1、这个题我感觉就是一个for循环的使用,我也不知道这个rule90到底是个啥。
完整代码如下:
module top_module(
input clk,
input load,
input [511:0] data,
output [511:0] q );
always@(posedge clk)begin
if(load)begin
q<=data;
end
else begin
q[0]<=(1'b0^q[0])^(q[0]^q[1]);
q[511]<=(q[510]^q[511])^(q[511]^1'b0);
for(int i=1;i<511;i++)
q[i]<=(q[i-1]^q[i])^(q[i]^q[i+1]);
end
end
endmodule