亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ramlib_sim.vhd

?? 該文件時(shí)RAM的源文件和測(cè)試文件以及仿真文件
?? VHD
字號(hào):
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--  The Free IP Project
--  VHDL Free-RAM Core
--  (c) 1999-2000, The Free IP Project and David Kessner
--
--
--  FREE IP GENERAL PUBLIC LICENSE
--  TERMS AND CONDITIONS FOR USE, COPYING, DISTRIBUTION, AND MODIFICATION
--
--  1.  You may copy and distribute verbatim copies of this core, as long
--      as this file, and the other associated files, remain intact and
--      unmodified.  Modifications are outlined below.  
--  2.  You may use this core in any way, be it academic, commercial, or
--      military.  Modified or not.  
--  3.  Distribution of this core must be free of charge.  Charging is
--      allowed only for value added services.  Value added services
--      would include copying fees, modifications, customizations, and
--      inclusion in other products.
--  4.  If a modified source code is distributed, the original unmodified
--      source code must also be included (or a link to the Free IP web
--      site).  In the modified source code there must be clear
--      identification of the modified version.
--  5.  Visit the Free IP web site for additional information.
--      http://www.free-ip.com
--
----------------------------------------------------------------------------
----------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;


package ram_lib is
  component ram_dp
    generic (addr_bits		:integer;
             data_bits		:integer;
             register_out_flag	:integer := 0;
             block_type		:integer := 0);
    port (reset		:in  std_logic;
          wr_clk	:in  std_logic;
    	  wr_en	    :in  std_logic;
          wr_addr	:in  std_logic_vector (addr_bits-1 downto 0);
          wr_data	:in  std_logic_vector(data_bits-1 downto 0);
	  rd_clk	:in  std_logic;
          rd_addr	:in  std_logic_vector (addr_bits-1 downto 0);
          rd_data	:out std_logic_vector(data_bits-1 downto 0)
         ); 
  end component;

  component ram_dp2
    generic (addr_bits		:integer;
             data_bits		:integer;
             block_type		:integer := 0);
    port (reset		:in  std_logic;
          p1_clk	:in  std_logic;
          p1_we		:in  std_logic;
          p1_addr	:in  std_logic_vector (addr_bits-1 downto 0);
          p1_din	:in  std_logic_vector (data_bits-1 downto 0);
          p1_dout	:out std_logic_vector (data_bits-1 downto 0);

          p2_clk	:in  std_logic;
          p2_we		:in  std_logic;
          p2_addr	:in  std_logic_vector (addr_bits-1 downto 0);
          p2_din	:in  std_logic_vector (data_bits-1 downto 0);
          p2_dout	:out std_logic_vector (data_bits-1 downto 0)          
         ); 
  end component;


  function slv_to_integer(x : std_logic_vector)
       return integer;
  function integer_to_slv(n, bits : integer)
      return std_logic_vector;  
end ram_lib;


----------------------------------------------------------------------------
----------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
library work;
use work.ram_lib.all;

package body ram_lib is
  function slv_to_integer(x : std_logic_vector)
       return integer is
    variable n : integer := 0;
    variable failure : boolean := false;
  begin
    assert (x'high - x'low + 1) <= 31
        report "Range of sulv_to_integer argument exceeds integer range"
        severity error;
    for i in x'range loop
      n := n * 2;
      case x(i) is
        when '1' | 'H' => n := n + 1;
        when '0' | 'L' => null;
        when others =>
            -- failure := true;
            null;
      end case;
    end loop;

    assert not failure
      report "sulv_to_integer cannot convert indefinite std_ulogic_vector"
      severity error;
    if failure then
      return 0;
    else
      return n;
    end if;
  end slv_to_integer;

  function integer_to_slv(n, bits : integer)
      return std_logic_vector is
    variable x : std_logic_vector(bits-1 downto 0) := (others => '0');
    variable tempn : integer := n;
  begin
    for i in x'reverse_range loop
      if (tempn mod 2) = 1 then
        x(i) := '1';
      end if;
      tempn := tempn / 2;
    end loop;

    return x;
  end integer_to_slv;
end ram_lib;


----------------------------------------------------------------------------
----------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
library work;
use work.ram_lib.all;

entity ram_dp is
    generic (addr_bits	:integer;
             data_bits		:integer;
             register_out_flag	:integer := 0;
             block_type		:integer := 0);
    port (reset		:in  std_logic;
          wr_clk	:in  std_logic;
    	  wr_en	    :in  std_logic;
          wr_addr	:in  std_logic_vector (addr_bits-1 downto 0);
          wr_data	:in  std_logic_vector(data_bits-1 downto 0);
	  rd_clk	:in  std_logic;
          rd_addr	:in  std_logic_vector (addr_bits-1 downto 0);
          rd_data	:out std_logic_vector(data_bits-1 downto 0)
         ); 

   subtype word is std_logic_vector (data_bits-1 downto 0);
   constant nwords : integer := 2 ** addr_bits;
   type ram_type is array (0 to nwords-1) of word;
end ram_dp;


architecture arch_ram_dp of ram_dp is
  shared variable ram :ram_type;
begin

  -- Handle the write port
  process (wr_clk)
    variable address :integer;
  begin
    if wr_clk'event and wr_clk='1' then
      if wr_en='1' then
        address := slv_to_integer (wr_addr);
        ram(address) := wr_data;
      end if;
    end if;
  end process;


  -- Handle the read ports
  READ_BUF: if register_out_flag=0 generate
  begin
    process (rd_addr, rd_clk, wr_clk)
    begin
      rd_data <= ram(slv_to_integer(rd_addr));
    end process;
  end generate READ_BUF;


  READ_REG: if register_out_flag/=0 generate
  begin
    process (reset, rd_clk)
    begin
      if reset='1' then
        rd_data <= (others=>'0');
      elsif rd_clk'event and rd_clk='1' then
        rd_data <= ram(slv_to_integer(rd_addr));
      end if;
    end process;
  end generate READ_REG;
      
end arch_ram_dp;


----------------------------------------------------------------------------
----------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
library work;
use work.ram_lib.all;

entity ram_dp2 is
    generic (addr_bits		:integer;
             data_bits		:integer;
             block_type		:integer := 0);
    port (reset		:in  std_logic;
          p1_clk	:in  std_logic;
          p1_we		:in  std_logic;
          p1_addr	:in  std_logic_vector (addr_bits-1 downto 0);
          p1_din	:in  std_logic_vector (data_bits-1 downto 0);
          p1_dout	:out std_logic_vector (data_bits-1 downto 0);

          p2_clk	:in  std_logic;
          p2_we		:in  std_logic;
          p2_addr	:in  std_logic_vector (addr_bits-1 downto 0);
          p2_din	:in  std_logic_vector (data_bits-1 downto 0);
          p2_dout	:out std_logic_vector (data_bits-1 downto 0)          
         ); 

   subtype word is std_logic_vector (data_bits-1 downto 0);
   constant nwords : integer := 2 ** addr_bits;
   type ram_type is array (0 to nwords-1) of word;
end ram_dp2;


architecture arch_ram_dp2 of ram_dp2 is
  shared variable ram :ram_type;
begin

  -- Handle the write ports
  process (p1_clk)
    variable address :integer;
  begin
    if p1_clk'event and p1_clk='1' then
      if p1_we='1' then
        address := slv_to_integer (p1_addr);
        ram(address) := p1_din;
      end if;
    end if;
  end process;

  process (p2_clk)
    variable address :integer;
  begin
    if p2_clk'event and p2_clk='1' then
      if p2_we='1' then
        address := slv_to_integer (p2_addr);
        ram(address) := p2_din;
      end if;
    end if;
  end process;


  -- Handle the read ports
  process (reset, p1_clk)
  begin
    if reset='1' then
      p1_dout <= (others=>'0');
    elsif p1_clk'event and p1_clk='1' then
      p1_dout <= ram(slv_to_integer(p1_addr));
    end if;
  end process;
      
  process (reset, p2_clk)
  begin
    if reset='1' then
      p2_dout <= (others=>'0');
    elsif p2_clk'event and p2_clk='1' then
      p2_dout <= ram(slv_to_integer(p2_addr));
    end if;
  end process;
      
end arch_ram_dp2;


----------------------------------------------------------------------------
----------------------------------------------------------------------------


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品粉嫩aⅴ一区二区三区四区| 亚洲午夜av在线| 91黄视频在线| 国产美女精品人人做人人爽| 一区二区不卡在线视频 午夜欧美不卡在| 日韩一区二区三区精品视频| 99re在线精品| 国产精品一二三四五| 午夜精品福利久久久| 国产精品看片你懂得| 精品av久久707| 欧美日韩国产123区| 91片黄在线观看| 国产麻豆视频一区二区| 婷婷开心激情综合| 一区二区三区在线视频免费观看| 国产亚洲精品bt天堂精选| 91精品国产综合久久福利软件| a级精品国产片在线观看| 狠狠色丁香婷婷综合| 日日欢夜夜爽一区| 天天色综合成人网| 亚洲国产三级在线| 亚洲精品美腿丝袜| 亚洲欧美日韩国产综合| 亚洲欧洲精品成人久久奇米网| 久久综合久久综合九色| 日韩欧美国产一区二区三区 | 青青草97国产精品免费观看| 亚洲综合999| 亚洲影院免费观看| 亚洲色图欧美在线| 国产精品久久久久久福利一牛影视| 久久久久国色av免费看影院| 日韩一级大片在线观看| 日韩欧美国产小视频| 日韩欧美成人一区二区| 精品日韩一区二区三区 | 中文字幕在线免费不卡| 中文字幕第一区第二区| 欧美激情艳妇裸体舞| 国产精品私人影院| 欧美国产精品劲爆| 国产欧美久久久精品影院 | 亚洲成av人片| 日韩精品免费专区| 精品无人区卡一卡二卡三乱码免费卡| 日韩高清在线观看| 久久疯狂做爰流白浆xx| 国产一区欧美一区| 成人妖精视频yjsp地址| 91在线国产观看| 欧美体内she精高潮| 精品视频免费看| 91精品国产全国免费观看| 日韩一级完整毛片| 久久五月婷婷丁香社区| 国产精品美女久久久久久久久 | 久久只精品国产| 日本一区二区综合亚洲| 自拍偷拍亚洲欧美日韩| 国产成人精品免费网站| av爱爱亚洲一区| 欧美日韩国产区一| 欧美成人精品1314www| 2017欧美狠狠色| 中文字幕一区二区不卡| 亚洲gay无套男同| 国产一区二区三区四区五区美女| 国产成人午夜视频| 在线视频你懂得一区二区三区| 91精品午夜视频| 久久网站最新地址| 亚洲精品成人在线| 欧美aaaaa成人免费观看视频| 国产一区不卡在线| 欧美最猛性xxxxx直播| 精品对白一区国产伦| 一区二区三区在线视频免费观看| 免费在线观看不卡| 99精品久久只有精品| 欧美丰满少妇xxxxx高潮对白| 国产亚洲自拍一区| 性做久久久久久免费观看| 国产福利91精品一区| 欧美日韩一区高清| 国产欧美一区二区在线观看| 亚洲第一二三四区| 成人av网址在线| 日韩欧美资源站| 亚洲欧美偷拍另类a∨色屁股| 蜜桃av一区二区| 91福利在线免费观看| 精品福利av导航| 婷婷亚洲久悠悠色悠在线播放| 国产成人午夜片在线观看高清观看| 欧美视频第二页| 国产精品久久久久三级| 久久丁香综合五月国产三级网站| 色婷婷综合激情| 精品福利一二区| 日韩经典中文字幕一区| 一本大道av一区二区在线播放| 欧美成人a在线| 偷拍一区二区三区四区| 一本到三区不卡视频| 欧美激情一区二区三区四区| 麻豆免费看一区二区三区| 欧洲另类一二三四区| 国产精品第一页第二页第三页| 精品一区二区三区不卡 | 99免费精品视频| 久久久久久9999| 精品在线播放免费| 欧美日韩视频在线观看一区二区三区| 中文字幕欧美区| 国产精品一级二级三级| 久久综合精品国产一区二区三区| 免费在线观看一区| 欧美日韩国产综合久久| 亚洲一区二区视频| 91丨九色丨黑人外教| 中文字幕av一区二区三区高 | 精品亚洲欧美一区| 91精品国产入口| 欧美日韩五月天| 亚洲在线免费播放| 色8久久人人97超碰香蕉987| 国产嫩草影院久久久久| 国产成人免费av在线| 26uuu久久综合| 国内精品不卡在线| 久久天天做天天爱综合色| 激情综合色播激情啊| 久久精品视频一区二区| 粉嫩av一区二区三区粉嫩 | 亚洲国产精品99久久久久久久久| 国产一区二区三区在线观看免费视频 | 亚洲国产成人在线| 成人伦理片在线| 中文字幕人成不卡一区| 99久久综合国产精品| ㊣最新国产の精品bt伙计久久| 成人aaaa免费全部观看| 亚洲视频图片小说| 一本到不卡免费一区二区| 亚洲一区在线观看视频| 欧洲激情一区二区| 亚洲自拍偷拍麻豆| 91精品国产免费| 激情av综合网| 国产三级一区二区三区| 日韩一区二区三区精品视频| 韩日精品视频一区| 国产女人18毛片水真多成人如厕| 99久久综合国产精品| 亚洲国产精品久久人人爱| 6080午夜不卡| 美脚の诱脚舐め脚责91| 国产欧美日韩三区| 色哟哟在线观看一区二区三区| 男男成人高潮片免费网站| 自拍偷拍亚洲综合| 色婷婷av一区二区三区软件| 2014亚洲片线观看视频免费| 国产成人亚洲综合a∨婷婷图片| 亚洲欧洲日韩综合一区二区| 色综合久久88色综合天天免费| 午夜一区二区三区在线观看| 欧美成人一级视频| 99热在这里有精品免费| 首页欧美精品中文字幕| 久久久久久电影| 欧美三级日韩三级| 黑人精品欧美一区二区蜜桃| 亚洲激情校园春色| 欧美成人精品福利| 欧洲一区二区三区免费视频| 国产专区欧美精品| 亚洲女与黑人做爰| xvideos.蜜桃一区二区| 色av一区二区| 国产一区二区三区四区五区入口| 樱桃国产成人精品视频| 日韩精品一区二区三区在线观看 | 老司机免费视频一区二区| 中文成人综合网| 日韩亚洲国产中文字幕欧美| 成人黄色777网| 久久疯狂做爰流白浆xx| 亚洲美女免费在线| 久久久精品国产99久久精品芒果| 欧美中文字幕不卡| 成人美女视频在线观看18| 美腿丝袜亚洲色图| 亚洲成在人线免费| 中文字幕在线不卡视频| 精品伦理精品一区| 色久综合一二码| 成人精品免费视频|