ASSIGN也可以写在判断语句里
示例如下:
if (FPU == 1) begin
assign rdata_a_o = raddr_a_i[5] ? mem_fp[raddr_a_i[4:0]] : mem[raddr_a_i[4:0]];
assign rdata_b_o = raddr_b_i[5] ? mem_fp[raddr_b_i[4:0]] : mem[raddr_b_i[4:0]];
assign rdata_c_o = raddr_c_i[5] ? mem_fp[raddr_c_i[4:0]] : mem[raddr_c_i[4:0]];
end else begin
assign rdata_a_o = mem[raddr_a_i[4:0]];
assign rdata_b_o = mem[raddr_b_i[4:0]];
assign rdata_c_o = mem[raddr_c_i[4:0]];
end
这篇博客探讨了在Verilog中如何在条件语句内使用ASSIGN语句来实现数据分配。示例展示了根据FPU标志的不同,对rdata_a_o, rdata_b_o, rdata_c_o的内存读取进行不同处理,从而灵活地从普通内存或浮点内存中读取数据。
2678

被折叠的 条评论
为什么被折叠?



