| Author |
Message |
LinXiaoling
Joined: 25 Feb 2008 Posts: 28 Helped: 2
|
06 Nov 2009 2:34 how to implement ROM in verilog code |
|
|
|
|
Hi!
I want to implement ROM (about 64*16K) in my own verilog code.and I use the code style like this:
always@(posedge clk)
begin
if(clk_en)
begin
case(address)
0: ROM_data <= 16'd11;
1: ROM_data <= 16'd21;
...
endcase
end
end
but for my ROM_data is too large,so the ISE tool download the .v so long . and I try to realize it by IP core,but there exists the same problem,.coe download long,too. so can any guys give me some advice.Thanks!
ps: my computer is running well for big design.and for ISE9.2 and ISE11.1,the same problem.
|
|
| Back to top |
|
 |
Google AdSense

|
06 Nov 2009 2:34 Ads |
|
|
|
|
|
|
| Back to top |
|
 |
RBB
Joined: 02 Jul 2007 Posts: 115 Helped: 11 Location: USA
|
06 Nov 2009 5:41 Re: how to implement ROM in verilog code |
|
|
|
|
This is only the fly, so no guarantees..
| Code: |
reg [15:0] mem [16384:0]
always @ (posedge clk)
if(clk_en == 1'b1)
ROM_data <= mem[address];
else
ROM_data <= {16{1'bx}};
|
|
|
| Back to top |
|
 |
LinXiaoling
Joined: 25 Feb 2008 Posts: 28 Helped: 2
|
06 Nov 2009 6:01 Re: how to implement ROM in verilog code |
|
|
|
|
| RBB wrote: |
This is only the fly, so no guarantees..
| Code: |
reg [15:0] mem [16384:0]
always @ (posedge clk)
if(clk_en == 1'b1)
ROM_data <= mem[address];
else
ROM_data <= {16{1'bx}};
|
|
Thanks anyway
|
|
| Back to top |
|
 |