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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? maxconfig.vhd

?? 加密Altera的FPGA的方法 加密Altera的FPGA的方法
?? VHD
字號:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity MAXconfig is
  port
  (
        clock : in std_logic;
    init_done : in std_logic;
      nStatus : in std_logic;
            D : in std_logic_vector(7 downto 0);
      restart : in std_logic;
    Conf_Done : in std_logic;
        Data0 : out std_logic;
         Dclk : out std_logic;
      nConfig : buffer std_logic;
--To increase the size of the memory, change the size of std_logic_vector for ADDR output and
--std_logic_vector signal inc:
         ADDR : out std_logic_vector(15 downto 0);
          CEn : out std_logic);
-- The polarity of the CEn signal is determined by the type of Flash device
end;

architecture rtl of MAXconfig is

--The following encoding is done in such way that the LSB represents the nConfig signal:

constant start :std_logic_vector(2 downto 0) := "000";
constant wait_nCfg_8us :std_logic_vector(2 downto 0) := "100";
constant status :std_logic_vector(2 downto 0) := "001";
constant wait_40us :std_logic_vector(2 downto 0) := "101";
constant config :std_logic_vector(2 downto 0) := "011";
constant init :std_logic_vector(2 downto 0) := "111";

signal pp :std_logic_vector(2 downto 0);
signal count :std_logic_vector(2 downto 0);
signal data0_int, dclk_int :std_logic;
signal inc :std_logic_vector(15 downto 0);
signal div :std_logic_vector(2 downto 0);
signal waitd :std_logic_vector(11 downto 0);
--The width of signal ‘waitd’ is determined by the frequency. For 57 MHz (APEX 20KE devices),
--‘waitd’ is 12 bits. For 33 MHz (FLEX 10KE and ACEX devices) ‘waitd’ is 11 bits. To calculate
--the width of the ‘waitd’ signal fordifferent frequencies, calculate the following:
--(multiply tcf2ck * clock frequency)+ 40
--Then convert this value to binary to obtain the width.
--For example, for 33 MHz (FLEX 10KE & ACEX devices), converting 1360 ((40us * 33MHz)+40=1360)
--to binary code, the ‘waitd’ is an 11-bit signal. So signal ‘waitd’ will be:
--signal waitd :std_logic_vector(10 downto 0);

begin
--The following process is used to divide the CLOCK:
   PROCESS (clock,restart)
    begin
     if restart = '0' then
      div <= (others => '0');
     else
    IF (clock'EVENT AND clock = '1') THEN
   div <= div + 1;
  end if;
end if;
END PROCESS;

   PROCESS (clock,restart)
    begin
     if restart = '0' then
      pp<=start;
       count <= (others => '0');
      inc <= (others => '0');
     waitd <= (others => '0');
    else
   if clock'event and clock='1' then
--The following test is used to divide the CLOCK. The value compared to must be such that the
--condition is true at a maximum rate of 57 MHz (tclk = 17.5 ns min) for APEX 20KE devices
--and at a maximum rate of 33 MHz (tclk=30ns min) for FLEX 10KE or ACEX devices.
  if (div = 7) then
    case pp is
    when start =>
       count <= (others => '0');
         inc <= (others => '0');
       waitd <= (others => '0');
          pp <= wait_nCfg_8us;
          
--This state is used in order to verify the tcfg timing (nCONFIG low pulse width).
--Tcfg = 8μs => min= 456 clock cycle of a 57 MHz clock (APEX 20KE devices). For different
--clocks, multiply 8μs to clock frequency. For example, for 33MHz (FLEX 10KE or ACEX devices)
this --value is 8*33=264. This clock is CLOCK divided by the divider -div-.
       when wait_nCfg_8us =>
       count <= (others => '0');
         inc <= (others => '0');
       waitd <= waitd + 1;
      if waitd = 456 then
      
--For 33 MHz FLEX 10KE or ACEX devices this line is: if waitd = 264 then

      pp <= status;
   end if;
   
--This state is used to have nCONFIG high.

      when status =>
       count <= (others => '0');
         inc <= (others => '0');
       waitd <= (others => '0');
          pp <= wait_40us;
          
--This state is used to generate the tcf2ck timing (nCONFIG high to first rising edge on DCLK).
--Tcf2ck = 40μs min => 2280 clock cycles of a 57MHz (APEX 20KE) clock. This clock is CLOCK
--divide by the divider -div-
--Tcf2ck = 40μs min => 1320 clock cycles of a 33MHz (FLEX 10KE/ACEX) clock. This clock is CLOCK
--divided by the divider -div-)
--For any other clock frequency, multiply tcf2ck * clock frequency.

        when wait_40us =>
         count <= (others => '0');
           inc <= (others => '0');
         waitd <= waitd + 1;
       if waitd = 2280 then
       
--For 33 MHz (FLEX 10KE or ACEX devices), this line is: if waitd = 1320 then

      pp <= config;
       end if;
       
--This state is used to increment the memory address. In the same state when
--the Conf_Done is high clock cycles are added in order to have the initialization completed.

     when config =>
    count <= count + 1;
     if Conf_Done='1' then
    waitd <= waitd + 1;
   end if;
  if count=7 then
  inc <= inc + 1;
end if;
   if waitd = 2320 then
--Modification: Add 40 clock cycles. For APEX 20KE devices, it is 2280+40=2320

--For FLEX 10KE and ACEX devices, it is 1320+40=1360. This line becomes: if waitd= 1360 then

    pp<= init;
   end if;
   when init =>
   count <= (others => '0');
     inc <= (others => '0');
   waitd <= (others => '0');
  if nStatus = '0' then
   pp <= start;
  else
  pp <= init;
  end if;
  when others =>
  pp <= start;
  end case;
else
pp <= pp;
inc <= inc;
count <= count;
end if;
end if;
end if;
end PROCESS;
dclk_int <= div(2) when pp=config else '0';
--The following process is used to serialize the data byte :
PROCESS (count,D,pp)
begin
if pp=config then
  case count is
       when "000" => data0_int <= D(0);
       when "001" => data0_int <= D(1);
       when "010" => data0_int <= D(2);
       when "011" => data0_int <= D(3);
       when "100" => data0_int <= D(4);
       when "101" => data0_int <= D(5);
       when "110" => data0_int <= D(6);
       when "111" => data0_int <= D(7);
      when others => null;
   end case;
  else
      data0_int <= '0';
  end if;
 end PROCESS;
    nConfig <= pp(0);
   CEn <= not nconfig;
   Dclk <= '0' when pp(1)='0' else dclk_int;
   Data0 <= '0' when pp(1)='0' else data0_int;
   ADDR <= inc;
  end;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情综合网最新| 日本一区二区三区四区在线视频 | 国产一区二区三区最好精华液| 亚洲国产精品自拍| 亚洲一区二区在线免费观看视频| 亚洲欧美日韩国产中文在线| 国产精品麻豆久久久| 中文字幕高清不卡| 中文字幕视频一区二区三区久| 国产精品蜜臀av| 综合网在线视频| 一二三四社区欧美黄| 亚洲午夜精品久久久久久久久| 亚洲电影你懂得| 日本午夜精品视频在线观看 | 国产精品一二一区| 国产不卡在线播放| av在线播放成人| 91蝌蚪国产九色| 欧美日韩一区二区三区高清| 欧美精品一二三四| 精品国产不卡一区二区三区| 久久久精品2019中文字幕之3| 国产欧美一区在线| 一区二区视频在线| 视频一区二区不卡| 国产在线精品视频| 99久久免费视频.com| 欧美色视频在线观看| 日韩一级免费观看| 国产欧美精品一区二区色综合朱莉 | 日韩欧美精品在线视频| 国产日韩欧美制服另类| 日韩高清一区在线| 激情综合网激情| 91视频xxxx| 正在播放亚洲一区| 国产偷v国产偷v亚洲高清| 日韩一区欧美小说| 日本午夜精品一区二区三区电影| 国产精品影视天天线| 一本一道久久a久久精品| 6080国产精品一区二区| 国产亚洲欧美激情| 亚洲国产欧美一区二区三区丁香婷| 看国产成人h片视频| 成人美女视频在线观看| 91精品免费观看| 日本一区二区视频在线观看| 首页国产欧美久久| 成人黄色小视频| 欧美日韩不卡一区二区| 国产欧美精品一区二区三区四区 | 久久99精品一区二区三区| 成人免费视频播放| 欧美一区二区在线播放| 18涩涩午夜精品.www| 蜜桃精品在线观看| 色88888久久久久久影院野外| 精品国产欧美一区二区| 亚洲一区二区三区在线播放| 国产精品一区一区三区| 欧美日韩国产精品成人| 国产精品不卡在线| 六月婷婷色综合| 色综合天天综合| 国产亚洲成年网址在线观看| 亚洲永久免费av| 成人精品在线视频观看| 日韩久久免费av| 亚洲线精品一区二区三区 | 欧美精品一区二区三区蜜桃| 亚洲蜜臀av乱码久久精品蜜桃| 精品一区二区国语对白| 欧美男女性生活在线直播观看| 国产精品久久久久久久蜜臀 | 本田岬高潮一区二区三区| 日韩欧美电影一二三| 亚洲一区二区在线观看视频| 成人少妇影院yyyy| 26uuu精品一区二区| 日韩中文字幕区一区有砖一区 | 精品无人码麻豆乱码1区2区 | 91精品综合久久久久久| 亚洲女同一区二区| 粉嫩av一区二区三区粉嫩 | 亚洲一区二三区| av中文字幕不卡| 国产人成亚洲第一网站在线播放 | 国内精品伊人久久久久av影院| 欧美日韩国产一级| 亚洲麻豆国产自偷在线| 成人动漫中文字幕| 久久精品人人爽人人爽| 激情欧美一区二区三区在线观看| 欧美精品99久久久**| 亚洲自拍偷拍欧美| 日本久久电影网| 亚洲精品网站在线观看| 99久久99久久精品国产片果冻 | 香港成人在线视频| 日本道色综合久久| 亚洲精品五月天| 日本韩国欧美国产| 亚洲自拍偷拍图区| 精品视频999| 天天爽夜夜爽夜夜爽精品视频| 在线精品视频一区二区| 一区二区三区高清| 欧美亚洲日本国产| 亚洲一区二区三区三| 欧美日韩三级一区二区| 五月天激情综合网| 555www色欧美视频| 麻豆精品蜜桃视频网站| 精品久久久久久久久久久久包黑料| 免费人成网站在线观看欧美高清| 欧美一区午夜精品| 国产真实乱偷精品视频免| 久久久久久久久久久黄色| 国产福利精品导航| 中文字幕一区二区三区在线播放| 91亚洲国产成人精品一区二区三| 亚洲欧美激情插| 7777精品伊人久久久大香线蕉经典版下载 | 91蝌蚪porny| 一区二区三区精品在线| 欧美日韩dvd在线观看| 免费一级欧美片在线观看| 欧美大尺度电影在线| 国产黄色91视频| 亚洲天天做日日做天天谢日日欢| 欧美视频一区在线| 久久精品国产秦先生| 欧美激情在线免费观看| 日本久久电影网| 美女一区二区三区| 国产女人18毛片水真多成人如厕| 一本久久综合亚洲鲁鲁五月天 | 成人福利在线看| 午夜视频一区在线观看| 精品999久久久| k8久久久一区二区三区| 亚洲高清免费观看高清完整版在线观看| 欧美嫩在线观看| 国产一区二区不卡| 亚洲综合男人的天堂| 精品福利一区二区三区免费视频| 丁香激情综合国产| 亚洲电影在线免费观看| 久久综合九色综合欧美就去吻 | 欧美顶级少妇做爰| 粉嫩蜜臀av国产精品网站| 亚洲国产色一区| 久久久精品tv| 欧美日韩美少妇| 福利一区二区在线| 亚洲成人高清在线| 国产日韩精品一区| 欧美日韩一区二区三区高清| 国产电影一区在线| 日韩影视精彩在线| 国产精品网曝门| 精品国产乱码久久久久久闺蜜| youjizz国产精品| 麻豆成人综合网| 一区二区高清免费观看影视大全| 精品久久五月天| 欧美性受xxxx黑人xyx性爽| 国产黄色91视频| 秋霞成人午夜伦在线观看| 一区二区三区小说| 国产欧美一区二区精品婷婷| 717成人午夜免费福利电影| 不卡电影免费在线播放一区| 精东粉嫩av免费一区二区三区| 亚洲一区二区三区四区在线免费观看 | 日韩一区二区三免费高清| 一本色道a无线码一区v| 国产福利精品一区二区| 蜜乳av一区二区三区| 一区二区在线看| 国产精品久99| 久久嫩草精品久久久精品一| 在线成人av网站| 欧美亚洲高清一区| 99re成人在线| 成人av一区二区三区| 国产做a爰片久久毛片| 蜜桃视频一区二区| 日本欧美大码aⅴ在线播放| 依依成人综合视频| 亚洲欧洲韩国日本视频| 国产精品无遮挡| 国产欧美一二三区| 国产精品天天看| 国产欧美日韩视频一区二区 | 久久超级碰视频| 免费欧美在线视频| 日本少妇一区二区|