【发布时间】:2014-06-10 04:25:03
【问题描述】:
我有以下代码:
always @ (clk) begin
for (1=0,i<150, i++) begin
abc[i] = xyz[i];
end
end
问题:如果我想获得 abc[8] 的值(使用 assign 语句进行第 8 次迭代的集合),我该怎么做?
我确实喜欢以下内容:
reg [31:0] abc;
wire [31:0] jkl;
always @ (clk) begin
for (1=0,i<150, i++) begin
abc[i] = xyz[i];
end
end
assign jkl = abc[8];
$display ("value is 0x%x\n", jkl);
我有一个错误,你能给我一些建议吗?
【问题讨论】:
-
您至少有两个语法错误或拼写错误:
for (1=0应该是i=0吗?另请提供错误信息。 -
抱歉我的错字:它的 i=0 而不是 1=0。错误是“期待关键字'endmodule'”。但是,我的代码中确实有 endmodule。如果我删除分配语句,则会出错。所以,我只需要如何将第 8 组迭代分配给临时变量,以便我可以检查临时值是否被覆盖。
-
您应该编辑您的问题以修正错字。
-
除了@dwikle 提出的点之外,您的意思可能是
always @(posedge clk)目前这些块将在时钟的两个边缘触发。
标签: verilog