原创 [转帖+整理]ISE11版本中基于的SRL16分布式RAM的调用方

2011-9-22 14:47 2585 13 13 分类: FPGA/CPLD
【转帖】ISE11版本中基于的SRL16分布式RAM的调用方法
2010-01-07 15:26

在ISE11版本中,基于SRL16的分布式RAM不再支持V5、S6和V6等器件,但是SRL16是所有XIlinx器件都支持的,并且在设计中应用非常频繁,因此可通过调用原语的方法来调用SRL16E甚至SRL32E来实现原来ISE分布式RAM IP核的设计。下面给出一段示例代码。

module s2p_8channels_srl16(
       a, d, clk, we, qspo
    );


    input   [3:0]   a;
    input   [4:0] d;
      input           clk;
      input           we;
      output [4:0] qspo;


   SRL16E #(
   .INIT(16'h0000) // Initial Value of Shift Register
   ) SRL16_inst_1 (
   .Q(qspo[0]), input
   .A2(a[2]), // Select[2] input
   .A3(a[3]), // Select[3] input
   .CE(we),
   .CLK(clk),      // Clock input
   .D(d[0]) // SRL data input
   );

   SRL16E #(
   .INIT(16'h0000) // Initial Value of Shift Register
   ) SRL16_inst_2 (
   .Q(qspo[1]), // SRL data output
   .A0(a[0]), // Select[0] input
   .A1(a[1]), // Select[1] input
   .A2(a[2]), // Select[2] input
   .A3(a[3]), // Select[3] input
   .CE(we),
   .CLK(clk),      // Clock input
   .D(d[1]) // SRL data input
   );   

   SRL16E #(
   .INIT(16'h0000) // Initial Value of Shift Register
   ) SRL16_inst_3 (
   .Q(qspo[2]), // SRL data output
   .A0(a[0]), // Select[0] input
   .A1(a[1]), // Select[1] input
   .A2(a[2]), // Select[2] input
   .A3(a[3]), // Select[3] input
   .CE(we),
   .CLK(clk),      // Clock input
   .D(d[2]) // SRL data input
   );   
  
   SRL16E #(
   .INIT(16'h0000) // Initial Value of Shift Register
   ) SRL16_inst_4 (
   .Q(qspo[3]), // SRL data output
   .A0(a[0]), // Select[0] input
   .A1(a[1]), // Select[1] input
   .A2(a[2]), // Select[2] input
   .A3(a[3]), // Select[3] input
   .CE(we),
   .CLK(clk),      // Clock input
   .D(d[3]) // SRL data input
   );   
  
   SRL16E #(
   .INIT(16'h0000) // Initial Value of Shift Register
   ) SRL16_inst_5 (
   .Q(qspo[4]), // SRL data output
   .A0(a[0]), // Select[0] input
   .A1(a[1]), // Select[1] input
   .A2(a[2]), // Select[2] input
   .A3(a[3]), // Select[3] input
   .CE(we),
   .CLK(clk),      // Clock input
   .D(d[4]) // SRL data input
   );   

endmodule

【整理】SRL16_RAM介绍

20110922134246001.png

20110922134328001.png

20110922134405001.png

20110922134439001.png


摘自http://www.eefocus.com/html/08-03/37473s.shtml

20110922134800001.png

【整理】SRL16_RAM使用IP core设计

20110922144549001.png

即,读地址总线的低四位还要作为写地址的低四位,写地址仅输入除低四位的其他位。

20110922132538001.png
20110922132609001.png
20110922132632001.png

摘自ISE分布RAM IP Core数据手册

20110922134845001.png

 

文章评论0条评论)

登录后参与讨论
我要评论
0
13
关闭 站长推荐上一条 /2 下一条