<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 3系列FPGA中使用LUT構(gòu)建分布式RAM(4)

          3系列FPGA中使用LUT構(gòu)建分布式RAM(4)

          作者: 時(shí)間:2017-10-13 來源:網(wǎng)絡(luò) 收藏

          前面講了分布式的方方面面,下面以_16S為例,分別給出其在VHDL和Verilog HDL下面的模板代碼(在ISE Project Navigator中選擇 Edit--- Language Templates,然后選擇VHDL 或者Verilog, 最后是Synthesis Templates --- ,在中也有具體調(diào)用過程的描述)。CORE Generator可以產(chǎn)生類似的代碼以供行為仿真使用,它們可以在ISE Project Navigator中雙擊.coe文件看到。

          本文引用地址:http://www.ex-cimer.com/article/201710/365632.htm

          VHDL Template Example
          --
          -- Module: RAM_16S
          --
          -- DescripTIon: VHDL instanTIaTIon template
          -- Distributed RAM
          -- Single Port 16 x 1
          -- Can also be used for RAM16X1S_1
          --
          -- Device: Spartan-3 Family
          --
          ---------------------------------------------------------------------
          --
          -- Components DeclaraTIons:
          --
          component RAM16X1S
          -- pragma translate_off
          generic (
          -- RAM initialization (“0” by default) for functional simulation:
          INIT : bit_vector := X0000
          );
          -- pragma translate_on
          port (
          D : in std_logic;
          WE : in std_logic;
          WCLK : in std_logic;
          A0 : in std_logic;
          A1 : in std_logic;
          A2 : in std_logic;
          A3 : in std_logic;
          O : out std_logic
          );
          end component;
          --
          ---------------------------------------------------------------------
          --
          -- Architecture section:
          --
          -- Attributes for RAM initialization (0 by default):
          attribute INIT: string;
          --
          attribute INIT of U_RAM16X1S: label is 0000;
          --
          -- Distributed RAM Instantiation
          U_RAM16X1S: RAM16X1S
          port map (
          D => , -- insert Data input signal
          WE => , -- insert Write Enable signal
          WCLK => , -- insert Write Clock signal
          A0 => , -- insert Address 0 signal
          A1 => , -- insert Address 1 signal
          A2 => , -- insert Address 2 signal
          A3 => , -- insert Address 3 signal
          O => -- insert Data output signal
          );
          --
          ---------------------------------------------------------------------
          R
          Verilog Template Example
          //
          // Module: RAM_16S
          //
          // Description: Verilog instantiation template
          // Distributed RAM
          // Single Port 16 x 1
          // Can also be used for RAM16X1S_1
          //
          // Device: Spartan-3 Family
          //
          //-------------------------------------------------------------------
          //
          // Syntax for Synopsys Express
          // synopsys translate_off
          defparam
          //RAM initialization (“0” by default) for functional simulation:
          U_RAM16X1S.INIT = 16h0000;
          // synopsys translate_on
          //Distributed RAM Instantiation
          RAM16X1S U_RAM16X1S (
          .D(), // insert input signal
          .WE(), // insert Write Enable signal
          .WCLK(), // insert Write Clock signal
          .A0(), // insert Address 0 signal
          .A1(), // insert Address 1 signal
          .A2(), // insert Address 2 signal
          .A3(), // insert Address 3 signal
          .O() // insert output signal
          );
          // synthesis attribute declarations
          /* synopsys attribute
          INIT 0000
          */

          CORE Generator產(chǎn)生分布式RAM、同步FIFO和異步FIFO的說明文檔可以分別在如下網(wǎng)址找到。
          ? CORE Generator: 分布式RAM模塊

          ? CORE Generator: 同步FIFO模塊

          ? CORE Generator: 異步FIFO模塊



          關(guān)鍵詞: FPGA LUT RAM

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();