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

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

?? apbmodel.vhd

?? Actel Fusion System Management Development Kit UART Example. Contains Libero design using CoreABC. P
?? VHD
字號:
-- ********************************************************************/ 
-- Copyright 2007 Actel Corporation.  All rights reserved.
-- IP Engineering 
--  
-- ANY USE OR REDISTRIBUTION IN PART OR IN WHOLE MUST BE HANDLED IN 
-- ACCORDANCE WITH THE ACTEL LICENSE AGREEMENT AND MUST BE APPROVED 
-- IN ADVANCE IN WRITING.  
--
-- File:  apbmodel.vhd
--     
-- Description: Simple APB Bus Controller
--              Simple model of APB slave device  
--
-- Rev: 2.3   01Mar07 IPB  : Production Release   
--
-- Notes:
--
-- *********************************************************************/ 

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;

use work.misc.all;
use work.textio.all;
use work.support.all;

entity APBModel is
  generic ( ID      : integer range 0 to 15;
            DEBUG   : integer range 0 to 1;
            AWIDTH  : integer range 1 to 16;
            DWIDTH  : integer range 8 to 32 
           );

  port ( PCLK        : in  std_logic;
         PRESETN     : in  std_logic;
         
         -- APB Interface
         PENABLE     : in  std_logic;
         PWRITE      : in  std_logic;
         PSEL        : in  std_logic;
         PADDR       : in  std_logic_vector( AWIDTH-1 downto 0);
         PWDATA      : in  std_logic_vector( DWIDTH-1 downto 0);
         PRDATA      : out std_logic_vector( DWIDTH-1 downto 0);
         PREADY      : out std_logic
       );
end APBModel;


architecture Model of APBModel is

constant DEPTH : integer := (2 ** AWIDTH);
subtype RWORD     is std_logic_vector (DWIDTH-1 downto 0);
type RAM_ARRAY    is array ( INTEGER range <>) of RWORD;

signal PENABLE_D0 : std_logic;
signal PENABLE_D1 : std_logic;
signal PENABLE_D2 : std_logic;
signal PWRITE_D0  : std_logic;
signal PWRITE_D1  : std_logic;
signal PWRITE_D2  : std_logic;
signal PSEL_D0    : std_logic;
signal PSEL_D1    : std_logic;
signal PSEL_D2    : std_logic;
signal PADDR_D0   : std_logic_vector(AWIDTH-1 downto 0);
signal PADDR_D1   : std_logic_vector(AWIDTH-1 downto 0);
signal PADDR_D2   : std_logic_vector(AWIDTH-1 downto 0);
signal PWDATA_D0  : std_logic_vector(DWIDTH-1 downto 0);
signal PWDATA_D1  : std_logic_vector(DWIDTH-1 downto 0);
signal PWDATA_D2  : std_logic_vector(DWIDTH-1 downto 0);
							 
begin

PREADY <= '1';   -- ready is not supported on APB

--------------------------------------------------------------------------------    
-- The RAM block for storing data

PRAM: 
process(PCLK)
variable RAM      : RAM_ARRAY( 0 to DEPTH-1);variable iaddr    : INTEGER := 0;
variable RDATA    : RWORD;begin     if PCLK'event and PCLK='1' and PRESETN='1' then    if PSEL='1' then
      iaddr := conv_integer(PADDR);
      if PENABLE='1' and PWRITE='1' then
          RAM(iaddr) := PWDATA;
          if debug>0 then
		    printf("APBM: Slot %d Write %04h=%04h ",fmt(ID)&fmt(iaddr)&fmt(PWDATA));
		  end if;
      end if;
      if PWRITE='0' then
        RDATA := RAM(iaddr);
        PRDATA <= RDATA;
        if PENABLE='1' and DEBUG>0 then
	      printf("APBM: Slot %d Read %04h=%04h ",fmt(ID)&fmt(iaddr)&fmt(RDATA));
        end if;
	  end if;
    end if;
 end if;
end process;
--------------------------------------------------------------------------------    
-- APB Protocol Checks


PENABLE_D0  <= PENABLE; 
PWRITE_D0   <= PWRITE;  
PSEL_D0     <= PSEL;    
PADDR_D0    <= clean(PADDR);   
PWDATA_D0   <= clean(PWDATA);  

process(PCLK)
variable ERR      : BOOLEAN;begin     if PCLK'event and PCLK='1' and PRESETN='1'  then
   PENABLE_D1  <=  PENABLE_D0;
   PENABLE_D2  <=  PENABLE_D1;
   PWRITE_D1   <=  PWRITE_D0;
   PWRITE_D2   <=  PWRITE_D1;
   PSEL_D1     <=  PSEL_D0;
   PSEL_D2     <=  PSEL_D1;
   PADDR_D1    <=  PADDR_D0;
   PADDR_D2    <=  PADDR_D1;
   PWDATA_D1   <=  PWDATA_D0;
   PWDATA_D2   <=  PWDATA_D1;
 
   ERR := FALSE;
   -- second cycle
   if PENABLE_D0='1' and PSEL_D0='1' then
     if PADDR_D0/=PADDR_D1 then
	   printf("APM:%d Address not stable in both cycles",fmt(ID));
	   ERR := TRUE;
	 end if; 
     if PWRITE_D0/=PWRITE_D1 then
	   printf("APM:%d PWRITE not stable in both cycles",fmt(ID));
	   ERR := TRUE;
	 end if; 
     if PSEL_D0/=PSEL_D1 then
	   printf("APM:%d PSEL not stable in both cycles",fmt(ID));
	   ERR := TRUE;
	 end if; 
     if PWDATA_D0/=PWDATA_D1 and PWRITE_D0='1' then
	   printf("APM:%d PWDATA not stable in both cycles",fmt(ID));
	   ERR := TRUE;
	 end if; 
     if PSEL_D1/='1' then
       printf("APM:%d PSEL was not active in cycle before PENABLE",fmt(ID));
       ERR := TRUE;
     end if; 
   end if;
   -- General Checks	 
   if PENABLE_D0='1' and PENABLE_D1='1' then
     printf("APM:%d PENABLE active for more than one clocks",fmt(ID));
     ERR := TRUE;
   end if;
   if PSEL_D0='1' and PSEL_D1='1' and PSEL_D2='1'  then
     printf("APM:%d PSEL active for more than two clocks",fmt(ID));
     ERR := TRUE;
   end if;
   if ERR then
     assert FALSE
       report "APB Protocol violation"
       severity ERROR;
   end if;
 end if;
end process;
    
    
end Model;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩欧美综合在线| 亚洲高清久久久| 亚洲电影一级黄| 国产高清在线观看免费不卡| 欧美性色黄大片| 国产精品乱人伦| 激情综合亚洲精品| 欧美丰满少妇xxxbbb| 1024成人网色www| 国产成人在线视频免费播放| 欧美一区二区二区| 午夜国产精品一区| 91高清视频免费看| 亚洲免费观看高清完整版在线| 久久成人久久爱| 欧美一级欧美一级在线播放| 亚洲一区二区三区四区在线观看| 成人app软件下载大全免费| 久久久综合精品| 捆绑调教美女网站视频一区| 91.xcao| 亚洲风情在线资源站| 91精彩视频在线| 亚洲男人电影天堂| 日本高清成人免费播放| 亚洲免费电影在线| 色嗨嗨av一区二区三区| 亚洲精品久久久久久国产精华液| 国产69精品一区二区亚洲孕妇| 欧美精品一区二区三区久久久| 精品一区二区免费视频| 精品国产一区二区在线观看| 蜜臀av一级做a爰片久久| 欧美精品色一区二区三区| 日日摸夜夜添夜夜添精品视频| 91行情网站电视在线观看高清版| 亚洲精品欧美在线| 欧美日韩在线一区二区| 免费不卡在线观看| 久久精品一区二区三区四区| 国产一区二区三区视频在线播放| 久久综合资源网| 国产成人精品在线看| 1区2区3区欧美| 欧美日韩成人综合| 理论电影国产精品| 中文字幕精品在线不卡| 色视频成人在线观看免| 日欧美一区二区| 欧美成人伊人久久综合网| 国产白丝精品91爽爽久久| 国产精品久久久久久久久久久免费看| 99国产精品国产精品毛片| 亚洲自拍偷拍欧美| 日韩欧美国产精品| 成人高清av在线| 亚洲综合在线五月| 日韩欧美电影一区| 91网上在线视频| 日韩高清不卡一区二区| 久久精品欧美日韩| 欧美亚洲一区二区在线观看| 蜜乳av一区二区| 一色桃子久久精品亚洲| 欧美精品日韩一区| 高清在线观看日韩| 日本免费在线视频不卡一不卡二 | xnxx国产精品| 在线中文字幕一区| 精品一二三四区| 亚洲综合色婷婷| 久久久久99精品国产片| 欧美视频第二页| 成人看片黄a免费看在线| 亚洲成av人片观看| 自拍偷自拍亚洲精品播放| 日韩欧美国产综合| 日本乱码高清不卡字幕| 国产麻豆精品一区二区| 亚洲成av人片| 一区二区三区国产| 中文字幕不卡一区| 精品88久久久久88久久久| 在线中文字幕一区二区| 成人激情综合网站| 久久99国产精品麻豆| 亚洲电影一区二区| 亚洲精品中文在线观看| 国产日韩欧美亚洲| 日韩美女天天操| 538prom精品视频线放| 91在线观看免费视频| 国产乱国产乱300精品| 日本在线不卡视频| 亚洲国产日韩a在线播放| 国产精品国产三级国产aⅴ入口 | 欧美三区在线视频| 一本一本大道香蕉久在线精品 | 色综合色综合色综合| 成人性生交大片免费看在线播放| 美女一区二区在线观看| 日韩精品一二三四| 日韩综合在线视频| 五月婷婷久久丁香| 视频一区二区中文字幕| 亚洲大片免费看| 天堂在线亚洲视频| 午夜av电影一区| 日韩精品亚洲一区| 日韩电影一区二区三区| 日韩黄色免费网站| 蜜臀久久99精品久久久久宅男| 亚洲综合无码一区二区| 亚洲欧美日韩电影| 亚洲一区二区三区四区在线免费观看| 亚洲精品欧美专区| 亚洲一区二区三区四区在线免费观看 | 精品久久久影院| 欧美成人精品福利| 久久综合久久鬼色| 国产日产亚洲精品系列| 国产蜜臀av在线一区二区三区| 久久久精品国产免大香伊| 久久久精品免费免费| 欧美经典三级视频一区二区三区| 国产精品嫩草影院av蜜臀| 国产精品蜜臀在线观看| 亚洲日本乱码在线观看| 亚洲一区在线视频| 日本系列欧美系列| 国产在线播放一区三区四| 成人在线视频一区二区| 色婷婷亚洲婷婷| 欧美一区二区黄| 国产女人aaa级久久久级| 综合久久久久久| 日韩在线一区二区三区| 国产另类ts人妖一区二区| 一本色道久久综合精品竹菊| 欧美福利视频一区| 中文字幕高清不卡| 午夜视频在线观看一区二区| 美女视频黄 久久| 不卡免费追剧大全电视剧网站| 色婷婷精品久久二区二区蜜臀av | 欧美疯狂做受xxxx富婆| 精品少妇一区二区三区| 最新日韩av在线| 美日韩一区二区三区| 99re热这里只有精品视频| 91精品啪在线观看国产60岁| 久久久久97国产精华液好用吗| 亚洲男人的天堂在线观看| 毛片av一区二区| 93久久精品日日躁夜夜躁欧美| 91精品福利在线一区二区三区 | 久久女同精品一区二区| 亚洲最新在线观看| 国内精品视频一区二区三区八戒| 99国产精品久久久久久久久久 | 91视频在线看| 日韩一区二区在线看片| 亚洲精品日韩一| 国产一区二区久久| 91精品国产乱码久久蜜臀| 亚洲欧美日韩电影| 国产99久久久国产精品潘金网站| 4438x成人网最大色成网站| 国产精品久久久久三级| 激情综合网av| 91精品午夜视频| 亚洲午夜一区二区| 99国产精品久久久久| 久久精品一区二区三区四区| 日本最新不卡在线| 欧美剧情电影在线观看完整版免费励志电影| 亚洲国产高清aⅴ视频| 狠狠v欧美v日韩v亚洲ⅴ| 制服丝袜一区二区三区| 亚洲国产成人91porn| 日本韩国欧美在线| 亚洲男人都懂的| 91婷婷韩国欧美一区二区| 国产三级精品在线| 国产精品影视网| 26uuu久久综合| 九一久久久久久| 日韩欧美视频一区| 奇米精品一区二区三区在线观看| 91福利视频网站| 亚洲精品亚洲人成人网| 91丨九色丨黑人外教| 国产精品丝袜久久久久久app| 国产乱一区二区| 久久久91精品国产一区二区精品| 久久精品国产在热久久| 日韩视频免费观看高清在线视频| 日韩av在线播放中文字幕| 欧美一区二区福利在线| 日本不卡的三区四区五区|