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

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

?? mc8051_tmrctr_rtl.vhd

?? 這是一個基于xilinx平臺的8051處理器文件
?? VHD
?? 第 1 頁 / 共 3 頁
字號:
-------------------------------------------------------------------------------
--                                                                           --
--          X       X   XXXXXX    XXXXXX    XXXXXX    XXXXXX      X          --
--          XX     XX  X      X  X      X  X      X  X           XX          --
--          X X   X X  X         X      X  X      X  X          X X          --
--          X  X X  X  X         X      X  X      X  X         X  X          --
--          X   X   X  X          XXXXXX   X      X   XXXXXX      X          --
--          X       X  X         X      X  X      X         X     X          --
--          X       X  X         X      X  X      X         X     X          --
--          X       X  X      X  X      X  X      X         X     X          --
--          X       X   XXXXXX    XXXXXX    XXXXXX    XXXXXX      X          --
--                                                                           --
--                                                                           --
--                       O R E G A N O   S Y S T E M S                       --
--                                                                           --
--                            Design & Consulting                            --
--                                                                           --
-------------------------------------------------------------------------------
--                                                                           --
--         Web:           http://www.oregano.at/                             --
--                                                                           --
--         Contact:       8051@oregano.at                                  --
--                                                                           --
-------------------------------------------------------------------------------
--                                                                           --
--  MC8051 - VHDL 8051 Microcontroller IP Core                               --
--  Copyright (C) 2001 OREGANO SYSTEMS                                       --
--                                                                           --
--  This library is free software; you can redistribute it and/or            --
--  modify it under the terms of the GNU Lesser General Public               --
--  License as published by the Free Software Foundation; either             --
--  version 2.1 of the License, or (at your option) any later version.       --
--                                                                           --
--  This library is distributed in the hope that it will be useful,          --
--  but WITHOUT ANY WARRANTY; without even the implied warranty of           --
--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU        --
--  Lesser General Public License for more details.                          --
--                                                                           --
--  Full details of the license can be found in the file LGPL.TXT.           --
--                                                                           --
--  You should have received a copy of the GNU Lesser General Public         --
--  License along with this library; if not, write to the Free Software      --
--  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  --
--                                                                           --
-------------------------------------------------------------------------------
--
--
--         Author:                 Roland H鰈ler
--
--         Filename:               mc8051_tmrctr_rtl.vhd
--
--         Date of Creation:       Mon Aug  9 12:14:48 1999
--
--         Version:                $Revision: 1.9 $
--
--         Date of Latest Version: $Date: 2006/09/07 09:43:21 $
--
--
--         Description: Timer/Counter unit of the mc8051 microcontroller.
--
--
--
--
-------------------------------------------------------------------------------
architecture rtl of mc8051_tmrctr is

  signal s_pre_count    : unsigned(3 downto 0);  -- these two signals provide
  signal s_count_enable : std_logic;             -- a clock enable signal which
                                                 -- masks out every twelfth
                                                 -- rising edge of clk
  
  signal s_count0       : unsigned(15 downto 0); -- count for tmr/ctr0
  signal s_countl0      : unsigned(7 downto 0);  -- count register for tmr/ctr0
  signal s_counth0      : unsigned(7 downto 0);  -- count register for tmr/ctr0
  signal s_count1       : unsigned(15 downto 0); -- count for tmr/ctr1
  signal s_countl1      : unsigned(7 downto 0);  -- count register for tmr/ctr1
  signal s_counth1      : unsigned(7 downto 0);  -- count register for tmr/ctr1
  signal s_gate0        : std_logic;             -- gate bit for tmr/ctr 0
  signal s_gate1        : std_logic;             -- gate bit for tmr/ctr 1
  signal s_c_t0         : std_logic;             -- tmr/ctr 0 is timer if 0
  signal s_c_t1         : std_logic;             -- tmr/ctr 1 is timer if 0
  signal s_tmr_ctr0_en  : std_logic;             -- starts tmr/ctr 0 if 1
  signal s_tmr_ctr1_en  : std_logic;             -- starts tmr/ctr 1 if 1
  signal s_mode0        : unsigned(1 downto 0);  -- mode of tmr/ctr 0
  signal s_mode1        : unsigned(1 downto 0);  -- mode of tmr/ctr 1
  signal s_tf0          : std_logic;             -- overflow flag of tmr/ctr 0
  signal s_tf1          : std_logic;             -- overflow flag of tmr/ctr 1
  signal s_t0ff0        : std_logic;             -- flipflop for edge dedection
  signal s_t0ff1        : std_logic;             -- flipflop for edge dedection
  signal s_t0ff2        : std_logic;             -- flipflop for edge dedection
  signal s_t1ff0        : std_logic;             -- flipflop for edge dedection
  signal s_t1ff1        : std_logic;             -- flipflop for edge dedection
  signal s_t1ff2        : std_logic;             -- flipflop for edge dedection
  signal s_ext_edge0    : std_logic;             -- 1 if external edge dedected
  signal s_ext_edge1    : std_logic;             -- 1 if external edge dedected
  signal s_int0_sync    : std_logic_vector(1 downto 0); -- sync int0 input
  signal s_int1_sync    : std_logic_vector(1 downto 0); -- sync int1 input
  
  
begin                 -- architecture rtl

  -- The names of the following signals make the code more readable.
  s_gate0 <= tmod_i(3);
  s_c_t0  <= tmod_i(2);
  s_mode0(1) <= tmod_i(1);
  s_mode0(0) <= tmod_i(0);
  
  s_gate1 <= tmod_i(7);
  s_c_t1  <= tmod_i(6);
  s_mode1(1) <= tmod_i(5);
  s_mode1(0) <= tmod_i(4);

  -- These two signals start the corresponding timer/counter if they are 1.
  s_tmr_ctr0_en <= tcon_tr0_i and (not(s_gate0) or s_int0_sync(1));
  s_tmr_ctr1_en <= (not(s_gate1) or s_int1_sync(1)) when
                                              s_mode0 = conv_unsigned(3,2) else
                   tcon_tr1_i and (not(s_gate1) or s_int1_sync(1));

  -- The outputs of this unit are the two timer overflow flags, which are read
  -- by the control unit and the two 16 bit count registers to enable read
  -- access.
  tf0_o <= s_tf0;
  tf1_o <= s_tf1;
  th0_o <= std_logic_vector(s_count0(15 downto 8));
  tl0_o <= std_logic_vector(s_count0(7 downto 0));
  th1_o <= std_logic_vector(s_count1(15 downto 8));
  tl1_o <= std_logic_vector(s_count1(7 downto 0));

-------------------------------------------------------------------------------
  -- The register s_pre_count is driven with the system clock. So a
  -- good enable signal (which is stable when clk has its rising edge) can be
  -- derived to mask out every twelfth pulse of clk. Also synchronize the
  -- interrupt inputs here.

  s_count_enable <= '1' when s_pre_count = conv_unsigned(11,4) else '0';
  
  p_divide_clk: process (clk, reset)
    
    begin

      if reset = '1' then
        s_pre_count <= conv_unsigned(0,4);
        s_int0_sync <= "00";
        s_int1_sync <= "00";
      else
        if clk'event and clk='1' then
          s_pre_count <= s_pre_count + conv_unsigned(1,1);
          if s_pre_count = conv_unsigned(11,4) then
            s_pre_count <= conv_unsigned(0,4);
          end if;
          s_int0_sync(0) <= int0_i;
          s_int0_sync(1) <= s_int0_sync(0);
          s_int1_sync(0) <= int1_i;
          s_int1_sync(1) <= s_int1_sync(0);
        end if;
      end if;    

  end process p_divide_clk;

-------------------------------------------------------------------------------
  -- The two flip flops are updated every second clock period.
  -- If a falling edge
  -- on the port t0_i is dedected the signal s_ext_edge0 is set to 1 and with
  -- the next rising edge of clk the counter0 is incremented.
  -- The same function is realised for counter1.
  s_ext_edge0 <= '1' when (s_t0ff1 = '0' and s_t0ff2 = '1') else '0';      

  p_sample_t0: process (clk, reset)
      
    begin

      if reset = '1' then
        s_t0ff0 <= '0';
        s_t0ff1 <= '0';
        s_t0ff2 <= '0';
      else
            
        if clk'event and clk = '1' then
          if s_pre_count = conv_unsigned(6,3) then
            if s_c_t0 = '1' then
              s_t0ff0 <= t0_i;
              s_t0ff1 <= s_t0ff0;
              s_t0ff2 <= s_t0ff1;
            end if;
          end if;
        end if;  
      end if;    

  end process p_sample_t0;
      
  s_ext_edge1 <= '1' when (s_t1ff1 = '0' and s_t1ff2 = '1') else '0';

  p_sample_t1: process (clk, reset)
      
    begin

      if reset = '1' then
        s_t1ff0 <= '0';
        s_t1ff1 <= '0';
        s_t1ff2 <= '0';
      else
        if clk'event and clk = '1' then
          if s_pre_count = conv_unsigned(6,3) then
            if s_c_t1 = '1' then
              s_t1ff0 <= t1_i;
              s_t1ff1 <= s_t1ff0;
              s_t1ff2 <= s_t1ff1;
            end if;              
          end if;
        end if;  
      end if;    

  end process p_sample_t1;

------------------------------------------------------------------------------
--+++++++++++++++++++++   TIMER / COUNTER 0   ++++++++++++++++++++++++++++++--
------------------------------------------------------------------------------
-- This is timer/counter0. It is built around the 16 bit count register
-- s_count0 and realises its four operating modes
------------------------------------------------------------------------------
  s_count0(15 downto 8) <= s_counth0;
  s_count0(7 downto 0) <= s_countl0;
  s_count1(15 downto 8) <= s_counth1;
  s_count1(7 downto 0) <= s_countl1;
      
  p_tmr_ctr: process (clk, reset)
    
  begin

    if reset = '1' then                 -- perform asynchronous reset

      s_countl0 <= conv_unsigned(0,8);
      s_counth0 <= conv_unsigned(0,8);
      s_countl1 <= conv_unsigned(0,8);
      s_counth1 <= conv_unsigned(0,8);
      s_tf1    <= '0';
      s_tf0    <= '0';
        
    else
        
      if clk'event and clk = '1' then
      s_tf1    <= '0';
      s_tf0    <= '0';
          
-------------------------------------------------------------------------------
-- operating mode 0 (13 bit timer/counter)
-------------------------------------------------------------------------------
      case s_mode0 is
        when "00" =>

        -- This section generates the timer/counter overflow flag0
        if s_tmr_ctr0_en = '1' then
          if s_count_enable = '1' then   
            if s_c_t0 = '0' or (s_ext_edge0 = '1' and s_c_t0 = '1')  then
              if s_count0 = conv_unsigned(65311,16) then
                s_tf0 <= '1';

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线影院国内精品| 国产在线播放一区三区四| 日韩精品一区二区三区老鸭窝| 日韩亚洲国产中文字幕欧美| 中文字幕在线视频一区| 午夜精品久久久久久久久久久| 亚洲人一二三区| 日本视频在线一区| 在线观看91精品国产入口| 国产三级精品在线| 美日韩一区二区三区| 日韩 欧美一区二区三区| 婷婷综合久久一区二区三区| 国产一区二区不卡在线| 欧美日韩一区二区三区不卡| 欧美午夜理伦三级在线观看| 国产免费成人在线视频| 久久国产精品一区二区| 欧美日产国产精品| 亚洲综合在线第一页| 日日夜夜精品视频免费| 蜜臀av性久久久久蜜臀aⅴ | 亚洲国产岛国毛片在线| 久久综合一区二区| 国产偷v国产偷v亚洲高清| 裸体一区二区三区| 成人理论电影网| 久久久久久久免费视频了| 国产精品久久久久久久久搜平片| 国产精品乱人伦中文| 亚洲激情五月婷婷| 欧美bbbbb| 成人性生交大合| 久久久久成人黄色影片| 国产精品99久久久久久似苏梦涵 | 久久久久久99精品| 国产精品一区二区在线观看不卡| 日韩一区二区免费视频| 国产精品麻豆视频| 成人免费高清在线| 国产精品丝袜久久久久久app| 亚洲精品视频在线观看免费| 99久久免费视频.com| 国产精品你懂的在线欣赏| 成人精品视频一区| 亚洲老司机在线| 欧美在线影院一区二区| 久久这里只有精品视频网| 亚洲日穴在线视频| 色哦色哦哦色天天综合| 精品国产1区二区| 国产成人综合视频| 亚洲欧洲三级电影| 欧美在线三级电影| 日本不卡一区二区三区| 91同城在线观看| 五月开心婷婷久久| 欧美一区二区三区四区在线观看| 美女精品一区二区| 国产精品水嫩水嫩| 欧美群妇大交群中文字幕| 国产精品看片你懂得| 97超碰欧美中文字幕| 亚洲成人7777| 91国偷自产一区二区开放时间| 亚洲国产综合在线| 久久久精品人体av艺术| 99久久综合99久久综合网站| 亚洲影院免费观看| 99国产精品99久久久久久| 亚洲一区二区三区美女| 欧美大白屁股肥臀xxxxxx| www.在线成人| 蜜桃精品视频在线观看| 中文字幕一区二区三区在线观看| 狠狠色狠狠色综合| 亚洲乱码精品一二三四区日韩在线| 欧美精品日韩精品| 成人黄色大片在线观看| 爽好多水快深点欧美视频| 中文字幕第一区二区| 精品视频色一区| 亚洲成va人在线观看| 久久色视频免费观看| 久久电影网站中文字幕| 亚洲男帅同性gay1069| 91麻豆国产香蕉久久精品| 六月婷婷色综合| 亚洲制服丝袜在线| 国产精品色哟哟网站| 欧美一区二区三级| 欧美色窝79yyyycom| 亚洲综合一区二区精品导航| 国产亚洲人成网站| 欧美高清你懂得| 秋霞成人午夜伦在线观看| 91精品欧美综合在线观看最新| 亚洲午夜成aⅴ人片| 欧美三级在线视频| 成人av一区二区三区| 中文字幕日韩av资源站| 色欧美88888久久久久久影院| 国产精品影音先锋| 蜜臀av国产精品久久久久| 26uuu精品一区二区在线观看| 久久精品国产亚洲5555| 亚洲bt欧美bt精品| 最新中文字幕一区二区三区| 国产亚洲欧美激情| 精品嫩草影院久久| www.欧美.com| 亚洲主播在线观看| 精品成人一区二区| 欧美一区二区三区精品| 国产呦萝稀缺另类资源| 极品瑜伽女神91| 亚洲免费视频中文字幕| 91精品国模一区二区三区| 精品一区二区三区免费| 久久国产精品一区二区| 国产精品电影一区二区三区| 国产精品网站在线观看| 欧美日韩视频第一区| 欧美色图天堂网| 欧美日韩亚洲综合在线| 337p亚洲精品色噜噜噜| 成人黄色在线视频| 91视频一区二区| 九九精品视频在线看| 国产精品一区二区在线观看网站| 亚洲最新视频在线播放| 亚洲国产日韩一级| 天天色综合天天| 久久精品久久久精品美女| 国内成人免费视频| 午夜精品福利一区二区三区蜜桃| 久久精品夜色噜噜亚洲aⅴ| 欧美在线免费视屏| 欧美一区二区三区视频免费播放| youjizz国产精品| 精品中文字幕一区二区小辣椒 | 五月天精品一区二区三区| 人人狠狠综合久久亚洲| 18成人在线观看| 亚洲最快最全在线视频| 久久国产尿小便嘘嘘| 亚洲国产中文字幕| 国模冰冰炮一区二区| 成人av动漫在线| 欧美日韩国产系列| 色综合网站在线| 欧美视频在线播放| 久久天天做天天爱综合色| 亚洲女与黑人做爰| 国产精品第13页| 久久久久久久一区| 亚洲一区二区偷拍精品| 九色综合狠狠综合久久| 色乱码一区二区三区88| 欧美白人最猛性xxxxx69交| 综合中文字幕亚洲| 亚洲色图视频网| 欧美国产日本韩| 天天免费综合色| 亚洲成人精品一区二区| 一区二区三区.www| 国模一区二区三区白浆| 欧美日韩久久一区| 中文字幕亚洲电影| 最好看的中文字幕久久| 国内国产精品久久| 国产成人精品网址| 欧美美女视频在线观看| 日韩毛片精品高清免费| 亚洲欧美一区二区三区极速播放| 亚洲国产成人自拍| 日韩毛片精品高清免费| 亚洲女同一区二区| 亚洲午夜av在线| 日本在线观看不卡视频| 91蜜桃视频在线| 日本一区二区三区四区在线视频| 五月天国产精品| 精品一区二区日韩| 在线91免费看| 亚洲国产色一区| 久久精品av麻豆的观看方式| 在线视频欧美精品| 91精品国产综合久久精品图片| 国产精品久线在线观看| 亚洲综合激情小说| 99视频精品在线| 欧美三级在线视频| 日韩美女视频在线| 日韩av一区二区在线影视| 国产一区二区按摩在线观看| 日韩精品一区国产麻豆| 欧美高清在线精品一区| 国产精品香蕉一区二区三区| 色婷婷亚洲婷婷|