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

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

?? inter_ctrl_spec.vhd

?? 一個8051的VHDL代碼
?? VHD
字號:
--------------------------------------------------
-- Model        :   8051 Behavioral Model,
--                  VHDL Entity mc8051.inter_ctrl.interface
--
-- Author       :   Michael Mayer (mrmayer@computer.org),
--                  Dr. Hardy J. Pottinger,
--                  Department of Electrical Engineering
--                  University of Missouri - Rolla
--
-- Created at   :   10/24/98 13:45:19
--
LIBRARY ieee ;
USE ieee.std_logic_1164.all;
USE ieee.numeric_std.all;
LIBRARY mc8051 ;
USE mc8051.synth_pack.all;

ENTITY inter_ctrl IS
   PORT( 
      P0 : IN     std_logic_vector( 7 DOWNTO 0 )  ;
      acknow : IN     std_logic ;
      cycle_states : IN     std_logic_vector( 3 DOWNTO 0 )  ;
      dptr : IN     std_logic_vector( 15 DOWNTO 0 )  ;
      ea_n : IN     std_logic ;
      int_clk : IN     std_logic ;
      int_rst : IN     std_logic ;
      ir : IN     std_logic_vector( 7 DOWNTO 0 )  ;
      last_cycle : IN     std_logic ;
      pdat_loc : IN     std_logic_vector( 15 DOWNTO 0 )  ;
      rom_data : IN     std_logic_vector( 7 DOWNTO 0 )  ;
      rs : IN     std_logic_vector( 1 DOWNTO 0 )  ;
      addr_gb : OUT    std_logic_vector( 7 DOWNTO 0 )  ;
      ale : OUT    std_logic ;
      indirect_sel : OUT    std_logic ;
      p0_addr : OUT    std_logic_vector( 7 DOWNTO 0 )  ;
      p0_ctrl : OUT    std_logic ;
      p2_addr : OUT    std_logic_vector( 7 DOWNTO 0 )  ;
      p2_ctrl : OUT    std_logic ;
      pdata : OUT    std_logic_vector( 7 DOWNTO 0 )  ;
      psen_n : OUT    std_logic ;
      rd_gb : OUT    std_logic ;
      rd_n : OUT    std_logic ;
      rd_n_ctrl : OUT    std_logic ;
      rom_rd_n : OUT    std_logic ;
      wr_gb : OUT    std_logic ;
      wr_n : OUT    std_logic ;
      wr_n_ctrl : OUT    std_logic ;
      data_gb : INOUT  std_logic_vector( 7 DOWNTO 0 ) 
   );

-- Declarations

END inter_ctrl ;
--
-- VHDL Architecture mc8051.inter_ctrl.spec
--
-- Created:
--          by - mrmayer.UNKNOWN (eceultra18.ece.umr.edu)
--          at - 22:34:31 08/26/98
--
-- Generated by Mentor Graphics' Renoir(TM) 3.0 (Build 110)
--

-- Description
--    inter_ctrl is responsible for the interface control
--    of the 8051.  This includes all timing for the folloing
--    ports:
--        ALE
--        PSEN_N
--        RD_N
--        WR_N
--        P0 (in addr / data mode)
--        P2 (in addr mode)
--
--    It is tied to input port EA_N. 
--
--    Additional I/O include:
--        pdat_loc (IN)   - location in program data
--        dptr            - location for MOVX DPTR 
--        addr_gb, data_gb, rd_gb, wr_gb, acknow


ARCHITECTURE spec OF inter_ctrl IS

  -- a latched, X01 version of ea_n
  SIGNAL ea_n_int  : std_logic;
  SIGNAL ale_int   : std_logic;
  SIGNAL psen_n_int, rd_n_int, wr_n_int : std_logic;
  SIGNAL rom_rd_n_int : std_logic;
  SIGNAL ia_pmem, ea_pmem, rd_xmem, wr_xmem : std_logic;
  SIGNAL use_reg   : std_logic;
  SIGNAL reg_value : std_logic_vector(7 DOWNTO 0);
  SIGNAL data_byte : std_logic_vector(7 DOWNTO 0);
  SIGNAL p0_alt, p2_alt : std_logic_vector(7 DOWNTO 0);

BEGIN
  rd_n <= rd_n_int;
  wr_n <= wr_n_int;
  psen_n <= psen_n_int;
  ale <= ale_int;
  p0_addr <= p0_alt;
  p2_addr <= p2_alt;
  rom_rd_n <= rom_rd_n_int;
  pdata <= data_byte;

  ea_n_int     <= to_X01(ea_n) WHEN rising_edge(int_clk) AND (
                              cycle_states = s1p1 OR cycle_states = s4p1 ) ELSE 
                              ea_n_int;

  rd_xmem <= '1' WHEN std_match(ir,"1110001-") OR std_match(ir,"11100000") ELSE 
             '0';
  wr_xmem <= '1' WHEN std_match(ir,"1111001-") OR std_match(ir,"11110000") ELSE 
             '0';
  use_reg <= '1' WHEN std_match(ir,"111-001-") ELSE 
             '0';
  -- the next signal will change only at s1p1 or s4p1
  ia_pmem <= '1' WHEN ea_n_int = '1' AND unsigned(pdat_loc) < 16#1000# ELSE 
             '0';
  ea_pmem <= '1' WHEN (rd_xmem = '0' AND wr_xmem = '0') AND ia_pmem = '0' ELSE 
             '0';

  -- use the global bus to read the register r0 or r1 for an address, and
  -- to read / write the accumulator for a data value
  addr_gb <= "000" & rs & "00" & ir(0) WHEN (use_reg = '1' AND last_cycle = '0') AND 
                    (cycle_states = s3p1 OR cycle_states = s3p2) ELSE
             "11100000" WHEN ((wr_xmem = '1' AND last_cycle = '0') AND
                    (cycle_states = s4p1 OR cycle_states = s4p2))  OR
                    ((rd_xmem = '1' AND last_cycle = '1') AND
                    (cycle_states = s4p1 OR cycle_states = s4p2)) ELSE (OTHERS => 'Z');
  rd_gb   <=  '1' WHEN     (wr_xmem = '1' AND last_cycle = '0') AND
                    (cycle_states = s4p1 OR cycle_states = s4p2) ELSE
              'Z';
  wr_gb   <=  '1' WHEN     (rd_xmem = '1' AND last_cycle = '1') AND
                    (cycle_states = s4p1 OR cycle_states = s4p2) ELSE
              'Z';
  data_gb <=   data_byte WHEN (rd_xmem = '1' AND last_cycle = '1') AND
                    (cycle_states = s4p1 OR cycle_states = s4p2) ELSE
              (OTHERS => 'Z');
  reg_value <= data_gb WHEN (wr_xmem = '1' AND last_cycle = '0') AND acknow = '1' ELSE
               reg_value;

  -- drive the internal versions of the handshaking signals
  ale_int <=  '1' WHEN ((cycle_states = s2p1 OR cycle_states = s2p2) AND ea_pmem = '1') OR
                       ((cycle_states = s5p1 OR cycle_states = s5p2) AND 
                             (ea_pmem = '1' OR rd_xmem = '1' OR wr_xmem = '1'))
                          ELSE
                '0';

  -- psen_n is set low when doing program fetches.  This happens at s3p1 and s6p1 when
  -- there is no external read /write occurring.  It also happens at s6p1 of the last cycle
  -- of an external read / write when the internal memory accessing is not being used.
  psen_n_int <= '0' WHEN ((cycle_states = s3p1 OR cycle_states = s3p2 OR cycle_states = s4p1)
                            AND ea_pmem = '1')  OR
                         ((cycle_states = s6p1 OR cycle_states = s6p2 OR cycle_states = s1p1) AND
                            (ea_pmem = '1' OR (last_cycle = '1' AND ia_pmem = '0')))
                            ELSE
                '1'; 

  rom_rd_n_int   <= '0' WHEN (falling_edge(int_clk) AND ia_pmem = '1') AND
                         (cycle_states = s3p1 OR cycle_states = s6p1) ELSE
                '1' WHEN falling_edge(int_clk) AND 
                         (cycle_states = s1p2 OR cycle_states = s4p2) ELSE
                rom_rd_n_int;

  rd_n_int   <= '0' WHEN (falling_edge(int_clk) AND rd_xmem = '1') AND
                         (last_cycle = '1' AND cycle_states = s1p1) ELSE
                '1' WHEN (falling_edge(int_clk) AND cycle_states = s4p1) ELSE
                rd_n_int;

  wr_n_int   <= '0' WHEN (falling_edge(int_clk) AND wr_xmem = '1') AND
                         (last_cycle = '1' AND cycle_states = s1p1) ELSE
                '1' WHEN (falling_edge(int_clk) AND cycle_states = s4p1) ELSE
                wr_n_int;

  p2_alt    <= (OTHERS => '0') WHEN int_rst = '1' ELSE
                dptr(15 DOWNTO 8) WHEN (falling_edge(int_clk) AND cycle_states = s5p1) AND
                                       ((rd_xmem = '1' OR wr_xmem = '1') AND use_reg = '0') ELSE
                pdat_loc(15 DOWNTO 8) WHEN (falling_edge(int_clk) AND (
                          (cycle_states = s2p1 AND ea_pmem = '1') OR
                          (cycle_states = s5p1 AND (
                             ea_pmem = '1' OR (last_cycle = '1' AND ia_pmem = '0') ))
                           )) ELSE
                p2_alt;

  -- take control of p2 whenever external access of pmem is enabled, or
  -- when we are in (cycle 1 s5p1) through (cycle 2 s4p2) of external data rd / wr
  p2_ctrl    <= '1' WHEN ea_pmem = '1' OR ( (
              (last_cycle = '0' AND std_match(cycle_states,"11--")) OR
              (last_cycle = '1' AND (NOT std_match(cycle_states,"11--"))) ) AND 
                      (wr_xmem = '1' OR rd_xmem = '1')  ) ELSE 
                '0';

  p0_alt     <= (OTHERS => '0') WHEN int_rst = '1' ELSE
                dptr(7 DOWNTO 0) WHEN (rising_edge(int_clk) AND cycle_states = s5p1) AND
                                      ((rd_xmem = '1' OR wr_xmem = '1') AND use_reg = '0') ELSE
                reg_value        WHEN (rising_edge(int_clk) AND cycle_states = s5p1) AND
                                      ((rd_xmem = '1' OR wr_xmem = '1') AND use_reg = '1') ELSE
                pdat_loc(7 DOWNTO 0) WHEN  (cycle_states = s2p1 AND ea_pmem = '1') OR
                          (cycle_states = s5p1 AND (
                             ea_pmem = '1' OR (last_cycle = '1' AND ia_pmem = '0') ))
                            ELSE
                p0_alt;

  -- everytime this is set high, it sets all bits in the P0 sfr
  p0_ctrl    <= '1' WHEN ( ea_pmem = '1' AND ((cycle_states = s2p1 OR cycle_states = s2p2) OR
                                              (cycle_states = s5p1 OR cycle_states = s5p2)) )
                              OR
                         ( rd_xmem = '1' AND last_cycle = '0' AND (
                                              (cycle_states = s5p1 OR cycle_states = s5p2) OR
                                               cycle_states = s6p1 ) )
                              OR
                          -- wr_xmem from states (cycle 1, s5p1) to (cycle 2, s4p2)
                         ( wr_xmem = '1' AND ( (last_cycle = '0' AND std_match(cycle_states,"11--")) OR
                                 (last_cycle = '1' AND (cycle_states(3) = '1' XOR cycle_states(2) = '1') ) ))
                              OR
                         ( ia_pmem = '0' AND last_cycle = '1' AND
                                (cycle_states = s5p1 OR cycle_states = s5p2)) ELSE
                 '0';

  data_byte <= to_x01(p0)  WHEN rising_edge(int_clk) AND (
                            ((cycle_states = s1p1 OR cycle_states = s4p1) AND psen_n_int = '0') OR
                            ((last_cycle = '1' AND cycle_states = s3p1) AND rd_n_int = '0') ) ELSE
               rom_data WHEN rising_edge(int_clk) AND (
                            (cycle_states = s1p1 OR cycle_states = s4p1) AND ia_pmem = '1' )  ELSE
               data_byte;

END ARCHITECTURE spec;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国模娜娜一区二区三区| 日韩在线播放一区二区| 精品国产一区二区三区久久久蜜月 | 1000精品久久久久久久久| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 久久久久久久久久久久电影| 欧美一级精品大片| 精品国产欧美一区二区| 精品播放一区二区| 久久久久久久久久久99999| 久久久精品免费免费| 国产亚洲一二三区| 中文天堂在线一区| 成人欧美一区二区三区小说 | 国产呦精品一区二区三区网站| 韩国午夜理伦三级不卡影院| 国产传媒一区在线| 色婷婷久久久久swag精品| 欧美日韩精品系列| 日韩久久久精品| 亚洲国产精品成人久久综合一区| 国产精品免费久久| 亚洲成人先锋电影| 国产精品资源在线| 日本伦理一区二区| 欧美一级日韩不卡播放免费| 国产日韩精品一区二区浪潮av| 国产精品久久久久久久久晋中 | 欧美精品一区二区在线观看| 国产视频不卡一区| 亚洲五月六月丁香激情| 理论电影国产精品| 91麻豆国产精品久久| 欧美美女一区二区| 国产精品女同互慰在线看| 亚洲高清视频在线| 成人av小说网| 日韩一卡二卡三卡国产欧美| 综合久久一区二区三区| 蜜臀a∨国产成人精品| av毛片久久久久**hd| 91精品国产乱| 亚洲一区二区三区四区五区黄| 久久99九九99精品| 欧美日韩国产在线观看| 国产精品成人在线观看| 久久国产婷婷国产香蕉| 欧美手机在线视频| 成人欧美一区二区三区白人| 久久国产视频网| 欧美精品xxxxbbbb| 一区二区三区中文字幕电影| 国产91色综合久久免费分享| 日韩欧美中文一区| 午夜伦欧美伦电影理论片| 成人黄色片在线观看| 久久亚洲综合色一区二区三区| 亚洲一二三四在线观看| 99免费精品在线| 中文av一区二区| 国产精品自产自拍| 欧美精品一区二| 久草精品在线观看| 精品sm在线观看| 九九国产精品视频| 精品国产乱码91久久久久久网站| 天天射综合影视| 欧美日韩精品免费| 日韩在线卡一卡二| 日韩无一区二区| 老司机免费视频一区二区三区| 欧美理论在线播放| 日韩国产精品久久久久久亚洲| 在线观看91视频| 亚洲精品国产精品乱码不99| 色综合久久综合网欧美综合网| 中文字幕色av一区二区三区| 91啪亚洲精品| 亚洲国产裸拍裸体视频在线观看乱了| 91啪亚洲精品| 亚洲不卡在线观看| 日韩午夜激情av| 国产精品系列在线播放| 国产精品美女久久久久aⅴ| 99久久精品国产一区| 亚洲少妇30p| 欧美精品vⅰdeose4hd| 蜜臀av一区二区在线观看 | 不卡免费追剧大全电视剧网站| 久久久久久久久久久久久久久99| 国产精品夜夜嗨| 亚洲人精品午夜| 欧美日韩精品久久久| 久久99热这里只有精品| 久久精品人人做人人爽人人| 欧美美女网站色| 美女国产一区二区三区| 国产欧美日韩一区二区三区在线观看| 成人精品gif动图一区| 亚洲国产精品久久久久婷婷884 | 99国产精品久| 亚洲成人你懂的| 久久色中文字幕| 色香蕉成人二区免费| 久久精品国产精品青草| 成人免费在线视频观看| 欧美精品 日韩| 不卡一卡二卡三乱码免费网站| 五月天激情小说综合| 久久久久9999亚洲精品| 欧美日韩国产欧美日美国产精品| 久久电影网电视剧免费观看| 亚洲欧美一区二区三区国产精品| 欧美一区在线视频| 97久久精品人人做人人爽| 日韩不卡手机在线v区| 国产精品乱码一区二区三区软件 | 欧美伊人久久久久久午夜久久久久| 日韩影视精彩在线| 成人欧美一区二区三区视频网页| 制服丝袜日韩国产| 99久久精品国产观看| 黄色日韩三级电影| 日本成人在线看| 亚洲一区二区三区四区五区黄| 欧美国产日本视频| 精品福利视频一区二区三区| 欧美天堂一区二区三区| 成人黄色软件下载| 国产精品影视网| 美女脱光内衣内裤视频久久影院| 亚洲欧美日韩一区二区| 欧美激情一区二区三区全黄| 日韩精品一区二区三区蜜臀| 欧美日本一区二区三区四区| 色婷婷av一区二区三区大白胸| 国产高清在线观看免费不卡| 老司机免费视频一区二区三区| 午夜国产精品一区| 亚洲第一在线综合网站| 一色桃子久久精品亚洲| 欧美国产精品专区| 久久久一区二区三区捆绑**| 日韩欧美中文字幕精品| 欧美一区二区视频在线观看2022| 精品视频在线免费观看| 色婷婷av一区二区三区gif| 91丨porny丨户外露出| 成人黄色综合网站| 成人动漫中文字幕| 91最新地址在线播放| 成人福利视频在线看| www.欧美日韩| 色狠狠av一区二区三区| 91亚洲午夜精品久久久久久| 91蝌蚪porny九色| 色综合久久综合| 色婷婷av一区二区三区大白胸| 一本色道久久综合精品竹菊| 色狠狠一区二区| 欧美日韩免费不卡视频一区二区三区| 欧美亚洲自拍偷拍| 91精品国产综合久久福利软件| 欧美一级日韩不卡播放免费| 337p粉嫩大胆噜噜噜噜噜91av| 久久久精品人体av艺术| 国产精品国产自产拍高清av王其| 国产精品传媒在线| 亚洲午夜视频在线观看| 免费在线观看一区| 国模无码大尺度一区二区三区| 高清不卡在线观看av| aaa欧美大片| 7777精品伊人久久久大香线蕉超级流畅 | 精品免费国产二区三区 | 自拍偷拍亚洲综合| 性做久久久久久久久| 精品影院一区二区久久久| www.日本不卡| 欧美日韩在线三区| 久久精品欧美日韩| 亚洲卡通欧美制服中文| 日本不卡一区二区| 成人免费av在线| 欧美日本韩国一区二区三区视频 | 亚洲主播在线播放| 激情av综合网| 欧美三级中文字幕| 欧美国产综合一区二区| 亚洲成人动漫在线免费观看| 精品在线一区二区三区| 日本精品一级二级| 国产三级三级三级精品8ⅰ区| 亚洲精品久久久久久国产精华液| 日韩在线观看一区二区| 91丨九色porny丨蝌蚪| 久久女同性恋中文字幕| 五月天网站亚洲| 色88888久久久久久影院野外| 2017欧美狠狠色|