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

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

?? ram_loader.vhd

?? spi bootloader詳細(xì)資料
?? VHD
字號(hào):
----------------------------------------------------------------------------------- SD/MMC Bootloader-- Sample client for loading an image to asynchronous SRAM---- $Id: ram_loader.vhd,v 1.2 2005/04/10 17:17:23 arniml Exp $---- Copyright (c) 2005, Arnim Laeuger (arniml@opencores.org)---- All rights reserved, see COPYING.---- Redistribution and use in source and synthezised forms, with or without-- modification, are permitted provided that the following conditions are met:---- Redistributions of source code must retain the above copyright notice,-- this list of conditions and the following disclaimer.---- Redistributions in synthesized form must reproduce the above copyright-- notice, this list of conditions and the following disclaimer in the-- documentation and/or other materials provided with the distribution.---- Neither the name of the author nor the names of other contributors may-- be used to endorse or promote products derived from this software without-- specific prior written permission.---- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE-- POSSIBILITY OF SUCH DAMAGE.---- Please report bugs to the author, but before you do so, please-- make sure that this is not a derivative work and that-- you have the latest version of this file.---- The latest version of this file can be found at:--      http://www.opencores.org/projects.cgi/web/spi_boot/overview---------------------------------------------------------------------------------library ieee;use ieee.std_logic_1164.all;entity ram_loader is  port (    -- Global Interface -------------------------------------------------------    clk_i      : in    std_logic;    reset_i    : in    std_logic;    lamp_o     : out   std_logic;    -- Config Interface -------------------------------------------------------    cfg_clk_i  : in    std_logic;    cfg_data_i : in    std_logic;    start_o    : out   std_logic;    mode_o     : out   std_logic;    done_o     : out   std_logic;    detached_i : in    std_logic;    -- Asynchronous RAM Interface ---------------------------------------------    ram_addr_o : out   std_logic_vector(15 downto 0);    ram_data_b : out   std_logic_vector( 7 downto 0);    ram_ce_no  : out   std_logic_vector( 3 downto 0);    ram_oe_no  : out   std_logic;    ram_we_no  : out   std_logic  );end ram_loader;library ieee;use ieee.numeric_std.all;architecture rtl of ram_loader is  signal addr_q     : unsigned(17 downto 0);  signal inc_addr_s : boolean;  signal shift_dat_q : std_logic_vector(7 downto 0);  signal ser_dat_q   : std_logic_vector(7 downto 0);  signal bit_q       : unsigned(2 downto 0);  signal bit_ovfl_q  : boolean;  type fsm_t is (IDLE,                 WE_ON,                 WE_OFF,                 INC_ADDR1, INC_ADDR2,                 FINISHED);  signal fsm_s,         fsm_q  : fsm_t;  signal done_q          : std_logic;  signal done_s          : boolean;  signal mode_q,         mode_s          : std_logic;  signal ram_we_n_q,         ram_we_n_s  : std_logic;  signal ram_ce_n_q,         ram_ce_n_s  : std_logic_vector(3 downto 0);  type start_fsm_t is (WAIT_DETACH,                       CHECK_NO_DONE,                       WAIT_DONE);  signal start_fsm_s,         start_fsm_q  : start_fsm_t;  signal start_s,         start_q         : std_logic;  signal enable_s,         enable_q        : boolean;begin  -----------------------------------------------------------------------------  -- Process seq  --  -- Purpose:  --   Implements the sequential elements clocked with cfg_clk_i.  --  seq: process (cfg_clk_i, reset_i)  begin    if reset_i = '0' then      addr_q      <= (others => '0');      shift_dat_q <= (others => '0');      ser_dat_q   <= (others => '0');      bit_q       <= (others => '0');      bit_ovfl_q  <= false;      fsm_q       <= IDLE;      ram_we_n_q  <= '1';      ram_ce_n_q  <= (others => '1');      done_q      <= '0';      mode_q      <= '0';    elsif cfg_clk_i'event and cfg_clk_i = '1' then      if inc_addr_s then        addr_q <= addr_q + 1;      end if;      if enable_q then        bit_q      <= bit_q + 1;        bit_ovfl_q <= bit_q = 7;        shift_dat_q(0) <= cfg_data_i;        shift_dat_q(7 downto 1) <= shift_dat_q(6 downto 0);      end if;      -- update register when 8 serial bits have been shifted in      if bit_ovfl_q then        ser_dat_q <= shift_dat_q;      end if;      fsm_q <= fsm_s;      ram_we_n_q <= ram_we_n_s;      ram_ce_n_q <= ram_ce_n_s;      -- done only settable once      if done_s then        done_q <= '1';      end if;      mode_q <= mode_s;    end if;  end process seq;  --  -----------------------------------------------------------------------------  -----------------------------------------------------------------------------  -- Process fsm  --  -- Purpose:  --   Implements the combinational logic of the RAM loader FSM.  --  fsm: process (fsm_q,                bit_ovfl_q,                start_q,                addr_q)  begin    -- default assignments    inc_addr_s      <= false;    ram_we_n_s      <= '1';    done_s          <= false;    fsm_s           <= IDLE;    lamp_o          <= '1';    mode_s          <= '0';    case fsm_q is      when IDLE =>        lamp_o <= '0';        if start_q = '1' then          if bit_ovfl_q then            fsm_s <= WE_ON;          end if;        end if;      when WE_ON =>        ram_we_n_s <= '0';        fsm_s      <= WE_OFF;      when WE_OFF =>        fsm_s <= INC_ADDR1;      when INC_ADDR1 =>        fsm_s      <= INC_ADDR2;      when INC_ADDR2 =>        if addr_q = "001111111111111111" then  -- load only 64k          fsm_s <= FINISHED;          done_s <= true;          mode_s <= '1';        else          inc_addr_s <= true;          fsm_s      <= IDLE;        end if;      when FINISHED =>        fsm_s  <= FINISHED;        lamp_o <= '1';        mode_s <= '1';      when others =>    end case;  end process fsm;  --  -----------------------------------------------------------------------------  -----------------------------------------------------------------------------  -- Process ce_gen  --  -- Purpose:  --   Generates the four CE signals for the external RAM chips.  --  ce_gen: process (addr_q)  begin    ram_ce_n_s <= (others => '1');    ram_ce_n_s(to_integer(addr_q(17 downto 16))) <= '0';  end process ce_gen;  --  -----------------------------------------------------------------------------  -----------------------------------------------------------------------------  -- Process start_seq  --  -- Purpose:  --   Implements the sequential elements clocked with clk_i.  --  start_seq: process (clk_i, reset_i)  begin    if reset_i = '0' then      start_fsm_q <= WAIT_DETACH;      start_q     <= '0';      enable_q    <= false;    elsif clk_i'event and clk_i = '1' then      start_fsm_q <= start_fsm_s;      enable_q    <= enable_s;      start_q     <= start_s;    end if;  end process start_seq;  --  -----------------------------------------------------------------------------  -----------------------------------------------------------------------------  -- Process start_comb  --  -- Purpose:  --   Implements the combinational logic of the start FSM.  --  start_comb: process (start_fsm_q,                       detached_i,                       done_q,                       enable_q,                       start_q)  begin    -- default assignments    start_fsm_s <= WAIT_DETACH;    enable_s    <= enable_q;    start_s     <= start_q;    case start_fsm_q is      -- Wait for detached_i to become '1'      -- This state is entered/left twice:      -- 1. after reset to start the data download      -- 2. after data download to start the next configuration cycle      when WAIT_DETACH =>        if detached_i = '1' then          start_fsm_s <= CHECK_NO_DONE;          enable_s    <= true;          start_s     <= '1';        else          start_fsm_s <= WAIT_DETACH;        end if;      -- Wait until done_q is '0'      -- This ensures that the FSM stalls when it has started the configuration      -- download. There must be no further action in this case.      when CHECK_NO_DONE =>        if done_q = '0' then          start_fsm_s <= WAIT_DONE;        else          start_fsm_s <= CHECK_NO_DONE;        end if;      -- Wait until done_q is '1'      -- done_q is the signal that the main FSM has finished its work. We      -- need to start the configuration download.      when WAIT_DONE =>        if done_q = '1' then          start_fsm_s <= WAIT_DETACH;          enable_s    <= false;          start_s     <= '0';        else          start_fsm_s <= WAIT_DONE;        end if;      when others =>        null;    end case;  end process start_comb;  --  -----------------------------------------------------------------------------  -----------------------------------------------------------------------------  -- Output Mapping  -----------------------------------------------------------------------------  start_o    <= start_q;  mode_o     <= mode_q;  done_o     <=   done_q                when start_q = '1' else                  '1';  ram_addr_o <= std_logic_vector(addr_q(15 downto 0));  ram_data_b <= ser_dat_q;  ram_oe_no  <= '1';  ram_ce_no  <= ram_ce_n_q;  ram_we_no  <= ram_we_n_q;end rtl;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清国产一区二区| 国产偷国产偷亚洲高清人白洁| 97se亚洲国产综合在线| 成人在线综合网| 国产福利一区二区三区视频在线 | 成人永久免费视频| 国产风韵犹存在线视精品| 国产成a人亚洲精| 懂色av一区二区三区免费看| 波多野结衣中文字幕一区| www.亚洲色图.com| 色综合一个色综合| 欧美色精品在线视频| 91精品国产全国免费观看| 欧美一区二区三区在线视频 | 亚洲精品国久久99热| 亚洲欧美激情视频在线观看一区二区三区 | 在线观看www91| 欧美色图免费看| 制服丝袜国产精品| 精品国产一二三| 久久久久亚洲蜜桃| 亚洲欧美区自拍先锋| 亚洲成a人片在线不卡一二三区| 日韩va亚洲va欧美va久久| 久久成人免费日本黄色| 国产不卡视频在线播放| 91在线视频18| 欧美色中文字幕| 精品久久人人做人人爱| 国产日韩欧美制服另类| 亚洲免费av高清| 日韩一区精品字幕| 国产精品亚洲视频| 在线免费精品视频| 日韩欧美国产电影| 国产精品不卡在线观看| 亚洲午夜精品在线| 亚洲欧美国产三级| 91精选在线观看| 久久麻豆一区二区| 亚洲一区国产视频| 黄网站免费久久| 色婷婷av一区| 久久久久88色偷偷免费 | 成人精品电影在线观看| 欧美性xxxxxxxx| 久久人人97超碰com| 亚洲在线视频免费观看| 国产精品香蕉一区二区三区| 欧美亚州韩日在线看免费版国语版| 欧美成人高清电影在线| 亚洲人被黑人高潮完整版| 美日韩黄色大片| 91一区一区三区| 精品国产一区二区三区久久影院| 亚洲美女视频在线观看| 国产在线精品一区二区| 欧美日韩在线播放一区| 国产亚洲一区字幕| 午夜精品免费在线观看| 不卡一区在线观看| 精品美女在线观看| 亚洲图片欧美色图| 成人国产电影网| 欧美成人a在线| 亚洲一区在线视频观看| 大白屁股一区二区视频| 精品国产亚洲一区二区三区在线观看| 一区二区三区中文字幕在线观看| 国产一区二区三区四区在线观看| 欧美精品v国产精品v日韩精品 | **性色生活片久久毛片| 国产乱码精品一区二区三区五月婷| 欧美日韩第一区日日骚| 综合色天天鬼久久鬼色| 国产精品白丝jk黑袜喷水| 欧美一卡二卡在线观看| 亚洲一区二区三区精品在线| 99在线热播精品免费| 久久精品亚洲麻豆av一区二区| 奇米精品一区二区三区在线观看一| 91啪亚洲精品| 国产精品久久久久久久第一福利 | 欧美精品一区二区三区在线播放| 亚洲国产精品久久久久秋霞影院| www.欧美亚洲| 国产精品欧美极品| 国产高清久久久久| 久久精品视频一区| 国产一区二区在线影院| 日韩免费观看高清完整版在线观看| 亚洲丰满少妇videoshd| 色www精品视频在线观看| 中文字幕日韩一区| 97se狠狠狠综合亚洲狠狠| 国产精品美女久久久久aⅴ国产馆| 国产伦精品一区二区三区免费| 日韩午夜在线影院| 青青草97国产精品免费观看 | 欧美国产精品一区二区三区| 久久成人免费日本黄色| 欧美电影免费观看高清完整版在| 日韩成人一级大片| 日韩视频免费直播| 久色婷婷小香蕉久久| 日韩欧美一区二区视频| 久久精品999| 久久久久久99久久久精品网站| 国产一区二区导航在线播放| www激情久久| 国产在线视频一区二区| 久久久久久日产精品| 国产99久久久国产精品潘金| 中文一区二区在线观看| 99综合影院在线| 日韩理论在线观看| 91国产视频在线观看| 五月综合激情日本mⅴ| 欧美久久久久免费| 精品一区免费av| 欧美mv日韩mv国产网站app| 国产一区福利在线| 国产精品情趣视频| 在线欧美日韩精品| 日本aⅴ亚洲精品中文乱码| 欧美成人精品福利| 大陆成人av片| 亚洲自拍另类综合| 日韩欧美综合在线| 国产河南妇女毛片精品久久久| 国产精品久久久久一区二区三区 | 成人爱爱电影网址| 洋洋成人永久网站入口| 91精品国产福利| 国产精品一区二区在线观看不卡| 成人欧美一区二区三区视频网页| 一本大道久久a久久精品综合| 午夜在线电影亚洲一区| 欧美mv和日韩mv的网站| www..com久久爱| 亚洲一区二区三区爽爽爽爽爽| 日韩免费在线观看| 91在线丨porny丨国产| 强制捆绑调教一区二区| 国产精品理伦片| 91精品欧美福利在线观看| 国产一区二区精品久久91| 亚洲综合色自拍一区| 日韩精品一区二区三区在线观看 | 久久久精品2019中文字幕之3| 91亚洲精品一区二区乱码| 日本三级韩国三级欧美三级| 中文字幕不卡三区| 欧美精品亚洲二区| 成人福利视频在线看| 青青草国产成人99久久| 亚洲欧美日韩成人高清在线一区| 日韩欧美激情四射| 91麻豆swag| 国产一区二区三区四区五区入口 | 国产亚洲1区2区3区| 欧美日韩一区二区不卡| 国产不卡视频一区二区三区| 婷婷国产v国产偷v亚洲高清| 国产精品欧美极品| 精品久久久久av影院| 在线亚洲一区观看| 国产69精品久久99不卡| 秋霞午夜av一区二区三区| 亚洲色图在线播放| 久久久久久一二三区| 在线成人午夜影院| 色综合中文字幕国产 | 久久99精品国产| 亚洲福利一区二区三区| 国产精品丝袜久久久久久app| 欧美一区二区三区啪啪| 色老综合老女人久久久| 成人免费看的视频| 久久av老司机精品网站导航| 丝袜美腿亚洲综合| 亚洲精品视频在线观看网站| 国产欧美一区二区精品性色 | 《视频一区视频二区| 国产日韩欧美不卡| 精品国产精品网麻豆系列| 欧美日本在线看| 91久久精品一区二区二区| 成年人网站91| 粉嫩aⅴ一区二区三区四区| 国产麻豆午夜三级精品| 精品在线你懂的| 免费人成精品欧美精品| 亚洲1区2区3区4区| 亚洲一区二区三区四区的| 亚洲与欧洲av电影| 亚洲在线一区二区三区| 一区二区三区色| 亚洲愉拍自拍另类高清精品|