程序如下,要实现的是0‘0000’0000到1‘1111’1111的512个数和1 0001 1101以及1 1010 1111分别进行,先对对应位相与之后逐位异或的运算~~~
module acs (clk,y0,y1);
input clk;
output y0,y1;
reg [511:0] y0,y1;
reg [8:0] x,a,b,i;
i = 9'b 1 1111 1111;
x = 9'b 0 0000 0000;
a = 9'b 1 0001 1101;
b = 9'b 1 1010 1111;
always @(posedge clk)
if(i>=0)
begin
y0[i] = ^ x&a;
y1[i] = ^ x&b;
x=x+1;
i=i-1;
end
else
begin
y0[i] = 0;
y1[i] = 0;
end
endmodule
系统编译的时候报错:“Error (10170): Verilog HDL syntax error at acs.v(9) near text "="; expecting ".", or an identifier, or "(", or "["”
我就是按照我们的教案来弄的……那如果我想对它进行固定的赋值怎么做呢???
追答wire[8:0] i;
assign i = 9'b 1 1111 1111;
或:
reg[8:0] i;
always@(???)
i <= 9'b 1 1111 1111;