Memory ROM硬件实现中的两个指针

Memory ROM硬件实现中的两个指针,memory,memory-management,verilog,hardware,rom,Memory,Memory Management,Verilog,Hardware,Rom,ROM由case语句实现,用于存储固定值,并在需要时读取 但是如何在同一时钟周期读取两个值呢?至少显示部分代码总是很有用的。我想你有这样的东西: case (adrs) 8'h00 : dout <= 8h01; 8'h01 : dout <= 8h03; 8'h02 : dout <= 8h07; 唯一的解决方案是制作两个相同的case语句,但更容易两次引用同一个ROM 另一种方法是创建内存并初始化它 reg [7:0] mem [0:255]; ... // initia

ROM由case语句实现,用于存储固定值,并在需要时读取


但是如何在同一时钟周期读取两个值呢?

至少显示部分代码总是很有用的。我想你有这样的东西:

case (adrs)
8'h00 : dout <= 8h01;
8'h01 : dout <= 8h03;
8'h02 : dout <= 8h07;
唯一的解决方案是制作两个相同的case语句,但更容易两次引用同一个ROM

另一种方法是创建内存并初始化它

reg [7:0] mem [0:255];
... // initialise memory e.g
... // using initial with for loop and case statement    
   always @(posedge clk)
   begin
      dout1< = mem[adrs1];
      dout2< = mem[adrs2];
   end
我假设这是针对FPGA的,所以请看供应商手册如何制作预加载RAM。这实际上是一个ROM,只要你不写它