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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ramlib_xil.vhd

?? 常見的輸入輸出及存儲器件(ram及fifo)vhdl實現
?? VHD
?? 第 1 頁 / 共 3 頁
字號:
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--  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_dp_lut
    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_x1_dp_lut
    generic (addr_bits	:integer);
    port (clk		:in  std_logic;
    	  port1_wr	:in  std_logic;
          port1_addr	:in  std_logic_vector (addr_bits-1 downto 0);
          port1_din	:in  std_logic;
          port1_dout	:out std_logic;
          port2_addr	:in  std_logic_vector (addr_bits-1 downto 0);
          port2_dout	:out std_logic
         );
  end component;

  component ram_x1_dp_block
    generic (addr_bits	:integer);
    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;
	  rd_clk	:in  std_logic;
	  rd_addr	:in  std_logic_vector (addr_bits-1 downto 0);
	  rd_data	:out std_logic
         );
  end component;

  component ram_dp_block
    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;

  component ram_x1_dp2_block
    generic (addr_bits	:integer);
    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;
          p1_dout	:out std_logic;
          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;
          p2_dout	:out std_logic
         );
  end component;


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


  -- Xilinx Specific "components"
  component RAM16X1D
      port (D, WE, WCLK, A3, A2, A1, A0,
            DPRA3, DPRA2, DPRA1, DPRA0: in std_logic;
            SPO,DPO: out std_logic);
  end component;
  
  component RAMB4_S1_S1
    port (WEA, ENA, RSTA, CLKA	:in  std_logic;
          ADDRA			:in  std_logic_vector (11 downto 0);
          DIA			:in  std_logic_vector(0 downto 0);
          DOA			:out std_logic_vector(0 downto 0);
          WEB, ENB, RSTB, CLKB	:in  std_logic;
          ADDRB			:in  std_logic_vector (11 downto 0);
          DIB			:in  std_logic_vector(0 downto 0);
          DOB			:out std_logic_vector(0 downto 0)
          );
  end component;

  component RAMB4_S2_S2
    port (WEA, ENA, RSTA, CLKA	:in  std_logic;
          ADDRA			:in  std_logic_vector (10 downto 0);
          DIA			:in  std_logic_vector (1 downto 0);
          DOA			:out std_logic_vector (1 downto 0);
          WEB, ENB, RSTB, CLKB	:in  std_logic;
          ADDRB			:in  std_logic_vector (10 downto 0);
          DIB			:in  std_logic_vector (1 downto 0);
          DOB			:out std_logic_vector (1 downto 0)
          );
  end component;

  component RAMB4_S4_S4
    port (WEA, ENA, RSTA, CLKA	:in  std_logic;
          ADDRA			:in  std_logic_vector (9 downto 0);
          DIA			:in  std_logic_vector (3 downto 0);
          DOA			:out std_logic_vector (3 downto 0);
          WEB, ENB, RSTB, CLKB	:in  std_logic;
          ADDRB			:in  std_logic_vector (9 downto 0);
          DIB			:in  std_logic_vector (3 downto 0);
          DOB			:out std_logic_vector (3 downto 0)
          );
  end component;

  component RAMB4_S8_S8
    port (WEA, ENA, RSTA, CLKA	:in  std_logic;
          ADDRA			:in  std_logic_vector (8 downto 0);
          DIA			:in  std_logic_vector (7 downto 0);
          DOA			:out std_logic_vector (7 downto 0);
          WEB, ENB, RSTB, CLKB	:in  std_logic;
          ADDRB			:in  std_logic_vector (8 downto 0);
          DIB			:in  std_logic_vector (7 downto 0);
          DOB			:out std_logic_vector (7 downto 0)
          );
  end component;

  component RAMB4_S16_S16
    port (WEA, ENA, RSTA, CLKA	:in  std_logic;
          ADDRA			:in  std_logic_vector (7 downto 0);
          DIA			:in  std_logic_vector (15 downto 0);
          DOA			:out std_logic_vector (15 downto 0);
          WEB, ENB, RSTB, CLKB	:in  std_logic;
          ADDRB			:in  std_logic_vector (7 downto 0);
          DIB			:in  std_logic_vector (15 downto 0);
          DOB			:out std_logic_vector (15 downto 0)
          );
  end component;
  
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 range 0 to (2**30 - 1);
  begin
    n := 0;
    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 =>	  null;
      end case;
    end loop;

    return n;
  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);
    variable tempn	:integer;
  begin
    x := (others => '0');
    tempn := n;
    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_x1_dp_lut is
    generic (addr_bits	:integer);
    port (clk		:in std_logic;
    	  port1_wr	:in std_logic;
          port1_addr	:in std_logic_vector (addr_bits-1 downto 0);
          port1_din	:in std_logic;
          port1_dout	:out std_logic;
          port2_addr	:in std_logic_vector (addr_bits-1 downto 0);
          port2_dout	:out std_logic
         );
end ram_x1_dp_lut;


architecture arch_ram_x1_dp_lut of ram_x1_dp_lut is
  signal d_port1_dout :std_logic_vector ((2**(addr_bits-4))-1 downto 0);
  signal d_port2_dout :std_logic_vector ((2**(addr_bits-4))-1 downto 0);
  signal write_enable :std_logic_vector ((2**(addr_bits-4))-1 downto 0);

begin
  ------------------------------------
  -- Array of RAM Blocks
  RAMX1_DP: for i in (2**(addr_bits-4))-1 downto 0 generate
  begin
    RAM_LUT: component RAM16X1D port map
            (D=>port1_din,
             WE=>write_enable(i),
             WCLK=>clk,
             A3=>port1_addr(3),
             A2=>port1_addr(2),
             A1=>port1_addr(1),
             A0=>port1_addr(0),
             DPRA3=>port2_addr(3),
             DPRA2=>port2_addr(2),
             DPRA1=>port2_addr(1),
             DPRA0=>port2_addr(0),
             SPO=>d_port1_dout(i),
             DPO=>d_port2_dout(i));
  end generate RAMX1_DP;


  ------------------------------------
  -- Generate the write enables
  WE_GEN_SMALL: if addr_bits<=4 generate
  begin
    write_enable(0) <= port1_wr;
  end generate WE_GEN_SMALL;
  
  WE_GEN_LARGE: if addr_bits>4 generate
  begin
    WE_GEN:  for i in (2**(addr_bits-4))-1 downto 0 generate
    begin
      process (port1_wr, port1_addr)
      begin
        if integer_to_slv(i, addr_bits-4) = port1_addr(addr_bits-1 downto 4) and port1_wr='1' then
          write_enable(i) <= '1';
        else
          write_enable(i) <= '0';
        end if;
      end process;
    end generate WE_GEN;
  end generate WE_GEN_LARGE;


  ------------------------------------
  -- Mux the data outputs
  MUX_SMALL: if addr_bits<=4 generate
  begin
    port1_dout <= d_port1_dout(0);
    port2_dout <= d_port2_dout(0);
  end generate MUX_SMALL;

  MUX_LARGE: if addr_bits>4 generate
  begin
    port1_dout <= d_port1_dout(slv_to_integer(port1_addr(addr_bits-1 downto 4)));
    port2_dout <= d_port2_dout(slv_to_integer(port2_addr(addr_bits-1 downto 4)));
  end generate MUX_LARGE;

end arch_ram_x1_dp_lut;


----------------------------------------------------------------------------
----------------------------------------------------------------------------
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_lut 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)
         ); 
end ram_dp_lut;


architecture arch_ram_dp_lut of ram_dp_lut is

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品老司机| 91在线高清观看| 亚洲国产wwwccc36天堂| 亚洲精品中文在线观看| 亚洲欧洲av色图| 国产精品高潮呻吟| 亚洲欧美日韩国产综合在线| 国产精品国产三级国产aⅴ中文| 国产欧美一区二区在线观看| 久久久亚洲精华液精华液精华液| 精品欧美一区二区在线观看 | 久久久不卡影院| 久久婷婷综合激情| 国产精品热久久久久夜色精品三区| 久久亚区不卡日本| 欧美日韩精品系列| 欧美三级视频在线| 91麻豆精品国产自产在线 | 国产欧美一区二区精品久导航 | 国产亚洲一区二区在线观看| 精品日韩欧美在线| 久久久精品黄色| 国产精品国产三级国产普通话三级 | 色琪琪一区二区三区亚洲区| 一本到不卡免费一区二区| 色综合久久久久久久久久久| 欧美自拍偷拍午夜视频| 精品国产91洋老外米糕| 欧美国产精品一区| 亚洲一区在线免费观看| 麻豆精品蜜桃视频网站| 成人综合婷婷国产精品久久蜜臀| 波多野结衣中文字幕一区| 色综合婷婷久久| 欧美一区二区在线看| 国产精品国产三级国产三级人妇| 亚洲精品欧美二区三区中文字幕| 日韩精品1区2区3区| 极品瑜伽女神91| 91蝌蚪porny九色| 一区二区三区中文免费| 亚洲午夜视频在线观看| 午夜影视日本亚洲欧洲精品| 视频一区欧美日韩| 国产精品综合一区二区三区| 99r精品视频| 在线观看国产91| 日韩欧美国产系列| 国产精品久久久久影院色老大| 亚洲欧美电影一区二区| 婷婷一区二区三区| 成人深夜在线观看| 欧美日韩国产高清一区| 国产农村妇女毛片精品久久麻豆| 国产精品国产a级| 久久福利资源站| 99精品视频一区二区三区| 色久综合一二码| 亚洲精品在线免费观看视频| 国产精品久久久久三级| 久久国产精品99久久久久久老狼| 不卡av电影在线播放| 26uuu精品一区二区三区四区在线| 亚洲影视在线观看| av成人老司机| 国产精品网站在线观看| 精品一区二区三区在线播放视频| 99在线热播精品免费| 久久精品在这里| 经典三级在线一区| 欧美精品一区二区精品网| 免费的国产精品| 精品久久人人做人人爰| 九九久久精品视频| 日韩三级伦理片妻子的秘密按摩| 国产精品入口麻豆九色| 99热精品国产| 国产乱码精品一区二区三区五月婷| 国产精品传媒视频| 日本一区二区动态图| 欧美性感一类影片在线播放| 成人精品一区二区三区四区 | 日韩免费高清视频| 国产精品18久久久久久久久 | 国产精品成人免费| 3d动漫精品啪啪1区2区免费| 国产一区二区三区四区在线观看 | 欧美成人a∨高清免费观看| 免费成人在线视频观看| 国产欧美一区二区在线| 欧美日韩精品免费观看视频| 国产亚洲午夜高清国产拍精品| aaa国产一区| 亚洲欧美日韩系列| 欧美性一二三区| 男男视频亚洲欧美| 久久免费国产精品| 色女孩综合影院| 五月天精品一区二区三区| 精品国产乱码久久久久久浪潮| 国产suv精品一区二区883| 精品视频一区三区九区| 中文字幕精品—区二区四季| 日本久久一区二区三区| 蜜臀91精品一区二区三区| 亚洲国产精品v| 欧美日韩大陆一区二区| 成人av影视在线观看| 午夜精品久久久久久久久久久| 精品日韩一区二区三区| 欧洲一区二区三区免费视频| 国产在线精品一区二区不卡了| 亚洲摸摸操操av| 亚洲精品在线电影| 欧美日韩中文一区| 91国偷自产一区二区开放时间| 亚洲激情在线激情| 欧美色图激情小说| 国产超碰在线一区| 久久国产夜色精品鲁鲁99| 亚洲精品中文字幕在线观看| 国产精品福利一区二区三区| 精品乱人伦小说| 精品精品欲导航| 日韩美女视频一区二区在线观看| 欧美视频在线一区| 欧美性猛交xxxx乱大交退制版| 91丨porny丨国产| 91丝袜美腿高跟国产极品老师 | 久久成人久久爱| 激情综合网天天干| 成人午夜碰碰视频| 粗大黑人巨茎大战欧美成人| jlzzjlzz亚洲日本少妇| 99这里只有久久精品视频| 99精品欧美一区| 欧美疯狂做受xxxx富婆| 欧美日韩激情一区| 精品成人一区二区| 一区二区三区在线观看国产| 亚洲黄色av一区| 国产毛片精品国产一区二区三区| 东方aⅴ免费观看久久av| 美国三级日本三级久久99| 亚洲乱码中文字幕| 亚洲电影一级黄| 国产剧情av麻豆香蕉精品| www.视频一区| 一本到不卡免费一区二区| 色综合一区二区| 久久久久久**毛片大全| 成人免费在线视频| 日日夜夜免费精品| 国产98色在线|日韩| 欧美一级日韩不卡播放免费| 国产精品麻豆99久久久久久| 美国毛片一区二区| 欧美性猛交xxxx黑人交| 日韩免费看的电影| 一级做a爱片久久| 亚洲同性gay激情无套| 成人免费小视频| 成人免费视频一区二区| 欧美一区二区精品久久911| 亚洲综合一区在线| 91搞黄在线观看| 一区二区在线观看不卡| 99久精品国产| 亚洲精品伦理在线| 色偷偷成人一区二区三区91| 综合中文字幕亚洲| 91成人免费在线视频| 一区二区三区国产精品| 欧美日韩一区二区三区高清| 亚洲色图欧美偷拍| 欧美日韩精品一区视频| 日韩电影在线免费看| 日韩限制级电影在线观看| 国产精品拍天天在线| 麻豆成人免费电影| 欧美极品美女视频| 色婷婷精品大在线视频| 亚洲一区免费在线观看| 欧美色欧美亚洲另类二区| 蜜桃在线一区二区三区| 久久久www成人免费毛片麻豆| 国产美女久久久久| 亚洲综合在线第一页| 精品国产凹凸成av人网站| 99久久国产综合精品色伊| 午夜精品视频一区| 中文字幕日本乱码精品影院| 91精品国产综合久久蜜臀 | 亚洲综合一区二区精品导航| 加勒比av一区二区| 性久久久久久久| 精品欧美一区二区在线观看| 99这里只有精品| 蜜桃精品在线观看| 国产亚洲欧美激情|