请教一个关于在xilinx中写双口ram的问题
时间:10-02
整理:3721RD
点击:
为什么我在synthesize中,ise既不报错,也不停止运行;而且 report总是停在一个中间地方,也不更新?
使用V5芯片,RAM使用如下:
(* ram_style = "block" *) reg [7:0] dram1 [128:0];
(* ram_style = "block" *) reg [7:0] dram2 [255:0];
wire [7 : 0] mointer_wire [255 : 0];
always @(posedge clk)
begin
..............
case(rd_choice)
rd_dram1 : shift_reg_out <= dram1[local_reg_addr];
rd_dram2 : shift_reg_out <= dram2[local_reg_addr];
//rd_dram3 : shift_reg_out <= dram3[local_reg_addr];
rd_dram3 : shift_reg_out <= mointer_wire[local_reg_addr];
default : shift_reg_out <= 8'hff;
endcase
...................
end
always @(posedge clk)
begin
dram1[local_reg_addr] <= data_in;
dram2[local_reg_addr] <= data_in2;
end
assign mointer_wire[128] = monitor_80;
。
。
。
assign mointer_wire[255] = monitor_80;
使用V5芯片,RAM使用如下:
(* ram_style = "block" *) reg [7:0] dram1 [128:0];
(* ram_style = "block" *) reg [7:0] dram2 [255:0];
wire [7 : 0] mointer_wire [255 : 0];
always @(posedge clk)
begin
..............
case(rd_choice)
rd_dram1 : shift_reg_out <= dram1[local_reg_addr];
rd_dram2 : shift_reg_out <= dram2[local_reg_addr];
//rd_dram3 : shift_reg_out <= dram3[local_reg_addr];
rd_dram3 : shift_reg_out <= mointer_wire[local_reg_addr];
default : shift_reg_out <= 8'hff;
endcase
...................
end
always @(posedge clk)
begin
dram1[local_reg_addr] <= data_in;
dram2[local_reg_addr] <= data_in2;
end
assign mointer_wire[128] = monitor_80;
。
。
。
assign mointer_wire[255] = monitor_80;
