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

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

?? testbench.vhd

?? Actel Fusion System Management Development Kit UART Example. Contains Libero design using CoreABC. P
?? VHD
?? 第 1 頁 / 共 2 頁
字號:
  msel(1) := PSEL(2) or PSEL(3) or PSEL(6)  or PSEL(7)  or PSEL(10) or PSEL(11) or PSEL(14) or PSEL(15);    
  msel(2) := PSEL(4) or PSEL(5) or PSEL(6)  or PSEL(7)  or PSEL(12) or PSEL(13) or PSEL(14) or PSEL(15);    
  msel(3) := PSEL(8) or PSEL(9) or PSEL(10) or PSEL(11) or PSEL(12) or PSEL(13) or PSEL(14) or PSEL(15);
  mint := conv_integer(clean(msel));
  PRDATAMUX <= PRDATA(mint);    
end process;
                     
   
                   
--------------------------------------------------------------------------------
-- The APB Models, one per active slot    


UM: for i in 0 to PARA_APB_SDEPTH-1 generate
  UMOD:  APBModel 
    generic map ( ID      => i,
	              DEBUG   => PARA_DEBUG,
                  AWIDTH  => PARA_APB_AWIDTH,
                  DWIDTH  => PARA_APB_DWIDTH
                 )
    port map ( PCLK       => PCLK,    
               PRESETN    => PRESETN, 
               PENABLE    => PENABLE, 
               PWRITE     => PWRITE,  
               PSEL       => PSEL(i),    
               PADDR      => PADDR,   
               PWDATA     => PWDATA,  
               PRDATA     => PRDATA(i),  
               PREADY     => PREADY   
             );         
end generate;


--------------------------------------------------------------------------------
-- Monitor IO_OUT for test conditions


process(IO_OUT,IOSWITCH,IOWAITIN,INTACT)
begin
  if IOSWITCH='0' then
    IO_IN <= IO_OUT(PARA_IIWIDTH-1 downto 0);                   
  else
    IO_IN(0) <= INTACT;
	IO_IN(1) <= IOWAITIN;
  end if;
end process;


process(PCLK,PRESETN)
variable status : integer;
variable icount : integer;
variable wcount : integer;
begin
  if PRESETN='0' then
     FINISHED <= FALSE;
     INTREQ   <= '0';
     ICOUNT   :=0;
	 WCOUNT   := 0;
     IOWAITIN <= '0';
	 IOSWITCH <= '0';
	 STATUSSTR   <= "FAIL";
  elsif PCLK'event and PCLK='1' then
    status := conv_integer(IO_OUT(7 downto 0));
    if INITDONE='1' then
      icount := icount +1;
    end if;
    case status is
	  when 249 =>  -- Switch IO_IO to monitor outputs, and assert WAITTST for 10 clocks
	               IOSWITCH <= '1';
                   if IOSWITCH='0' then
				     WCOUNT := 40;
				     printf("Info: IO_IN now monitoring test signals");
				   end if;
	  when 250 =>  -- Switch IO to normal mode
	               IOSWITCH <= '0';
                   if IOSWITCH='1' then
                     printf("Info: IO_IN now monitoring IO_OUT");
				   end if;
      when 251 =>  if INTREQ='0' then
                     printf("Info: ABC Asserting Interrupt Request");
                     INTREQ <= '1';
                   end if;
      when 252 =>  INTREQ <= '0';
      when 253 =>  if not FINISHED then
                     printf("Info: ABC Indicated that it has completed");
					 STATUSSTR <= "OKAY";
                     FINISHED <= TRUE;
                   end if;
      when 254 =>  printf("################################################################");
                   printf("Error: ABC Indicated that it had an error condition");
                    assert FALSE
                       report "APB Error Detected"
                       severity ERROR;
      when others => 
    end case;
	if WCOUNT>0 then
	  IOWAITIN <= '1';
	  WCOUNT := WCOUNT -1;
	else
	  IOWAITIN <= '0';
	end if;
	CYCLES <= icount;
    if icount= 4000 then
      printf("################################################################");
      printf("################################################################");
      assert FALSE
         report "Error: Simulation RUN To Long"
         severity ERROR;
    end if;
  end if;
end process;



--------------------------------------------------------------------------------
-- The Test Sequence


process
variable ERRORS : integer;
begin
  STOPCLK <= FALSE;
  PRESETN <= '0';
  ERRORS  := 0;
  wait for 1 ns;
  
  printf("################################################################");
  printf("CoreABC VHDL Testbench  v2.3  1 March 2007");
  printf("(c) Actel IP Engineering");
  printf(" ");

  if (PARA_TESTMODE=0 ) then
    printf(" ");
    printf("Testbench is being run with TESTMODE set to 0 enabling the User Instructions");
    printf("Operation of the testbench will be unpredictable");
    printf("Note. A memory image file may be created by typing do makehex.do at the ModelSim Prompt");
    printf(" ");
    assert FALSE
       report "Restart if required using run -all"
       severity WARNING;
  end if;
  if (INSMODE=2 and FAMILY/=17 ) then
    printf(" ");
    assert FALSE
	   report "Attempting to run in NVM mode in non Fusion Family - Reverting to hard mode"
	   severity WARNING;
  end if;
 
  printf("Configuration (TM:%d) ",fmt(PARA_TESTMODE));
  case PARA_TESTMODE is
   when 0  => printf("   Configuration as set by CoreConsole");
   when 1  => printf("   Small 8 bit");
   when 2  => printf("   Small 16 bit");
   when 3  => printf("   Small 32 bit");
   when 4  => printf("   Complete 8 bit");
   when 5  => printf("   Complete 16 bit");
   when 6  => printf("   Complete 32 bit");
   when 11 => printf("   Fully Configured 8 Bit Configuration");
   when 12 => printf("   Fully Configured 16 Bit Configuration");
   when 13 => printf("   Fully Configured 32 Bit Configuration");
   when 14 => printf("   Small 8 Bit Configuration with call");
   when 15 => printf("   Small 8 Bit Configuration no call and 1 slot");
   when 16 => printf("   Example for controlling CoreAI");
   when 20 to 31 => printf("   Corner case builds");
   when others => printf("Not a configured core ");
                  assert FALSE report "Unexpected testmode" severity FAILURE;
  end case; 
  printf("   Family : %d"           ,fmt(PARA_FAMILY));
  printf("   ID : %d"               ,fmt(PARA_ID));
  printf("   APB Address Width: %d" ,fmt(PARA_APB_AWIDTH));
  printf("   APB Data Width: %d "   ,fmt(PARA_APB_DWIDTH));
  printf("   APB Slots: %d "        ,fmt(PARA_APB_SDEPTH));
  printf("   IO In Width: %d "      ,fmt(PARA_IIWIDTH));
  printf("   IO Flag Width: %d "    ,fmt(PARA_IFWIDTH));
  printf("   IO Out Width: %d "     ,fmt(PARA_IOWIDTH));
  printf("   Instructions: %d "     ,fmt(2**PARA_ICWIDTH));
  if PARA_INSMODE=0 then
    printf("   Instruction held in Tiles ");
  elsif PARA_INSMODE=1 then
    printf("   Instruction held in RAM ");
  elsif PARA_INSMODE=2 then
    printf("   Instruction held in NVM ");
  end if;
  printf("   Stack Depth: %d "      ,fmt(2**PARA_STWIDTH));
  printf("   Loop Counter Size %d"  ,fmt(2**PARA_ZRWIDTH));   
  printf("   OR instruction %s"     ,fmt(tostr(PARA_EN_OR)));   
  printf("   AND instruction %s"    ,fmt(tostr(PARA_EN_AND)));  
  printf("   XOR instruction %s"    ,fmt(tostr(PARA_EN_XOR)));  
  printf("   ADD instruction %s"    ,fmt(tostr(PARA_EN_ADD)));  
  printf("   INC instruction %s"    ,fmt(tostr(PARA_EN_INC)));  
  printf("   SHL instruction %s"    ,fmt(tostr(PARA_EN_SHL)));  
  printf("   SHR instruction %s"    ,fmt(tostr(PARA_EN_SHR)));  
  printf("   CALL instruction %s"   ,fmt(tostr(PARA_EN_CALL))); 
  printf("   MULT instruction %s"   ,fmt(tostr(PARA_EN_MULT))); 
  printf("   PUSH instruction %s"   ,fmt(tostr(PARA_EN_PUSH))); 
  printf("   IOREAD instruction %s" ,fmt(tostr(PARA_EN_IOREAD)));    
  printf("   IOWRT  instruction %s" ,fmt(tostr(PARA_EN_IOWRT)));  
  printf("   Accumulator RAM operations %s",fmt(tostr(PARA_EN_ALURAM)));  
  printf("   Indirect APB operations %s",fmt(tostr(PARA_EN_INDIRECT)));  
  printf("   ACM lookup %s"                ,fmt(tostr(PARA_EN_ACM)));  
  printf("   Multiplexer Mode %d"          ,fmt(PARA_EN_DATAM));
  printf("   Storage Registers %s "        ,fmt(tostr(PARA_EN_RAM))); 
  if PARA_EN_INT=1 then
    printf("   Interrupt Enabled ISR at %04x" ,fmt(PARA_ISRADDR));
  else
    printf("   Interrupt Disabled");
  end if; 
  printf(" ");
  case SET_DEBUG is
    when 0 => printf("  DEBUG forced off by the testbench");
    when 1 => printf("  DEBUG forced on by the testbench");
    when others =>
  end case;
  if  SET_TM>=0 then 
    printf("  TESTMODE set to %d by the testbench",fmt(SET_TM));
  end if;
  printf(" ");
  
   
  checksetup(APBsetupX);
    
        
  wait for 400 ns;
  if ENABLE_HEXFILE then
    wait for (10 * 2**PARA_ICWIDTH) * 1 ns;
  end if;
  wait until PCLK='0';
  printf("Releasing Reset and letting core operate");
  printf(" ");
  
  PRESETN <= '1';
  wait until FINISHED;
  STOPCLK <= TRUE;
  
  printf(" ");
  printf("################################################################");
  printf("Tests Complete TM=%d SP=%d CY=%d %s",fmt(PARA_TESTMODE)&fmt(SET_PROG)&fmt(CYCLES)&fmt(statusstr));
  printf("");
  printf("################################################################");
  wait;
end process;    
                   

end test;














         

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费欧美在线视频| 日韩一区二区中文字幕| 欧美日本乱大交xxxxx| 伊人夜夜躁av伊人久久| 99久久精品国产一区| 亚洲五月六月丁香激情| 欧美草草影院在线视频| 国产乱人伦偷精品视频不卡 | 国产精品电影一区二区| 色婷婷久久久久swag精品| 免费看欧美美女黄的网站| 中文字幕免费一区| 欧美一区二区三区视频在线观看| 精品在线一区二区| 91搞黄在线观看| 亚洲欧美日韩系列| 欧美精品一区二| 欧美中文字幕一区| 国产激情一区二区三区| 亚洲mv在线观看| 国产精品久久久久久妇女6080| 欧美精品黑人性xxxx| heyzo一本久久综合| 国产一区二区三区日韩| 国产精品久99| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美日韩一区二区三区免费看| 国产在线不卡一卡二卡三卡四卡| 亚洲国产一区二区三区青草影视| 国产三级精品在线| 久久久不卡网国产精品一区| 日韩一区二区三区三四区视频在线观看 | 国产精品天美传媒| 国产精品亲子伦对白| 欧美哺乳videos| 精品国产电影一区二区| 日韩精品中午字幕| 欧美一区二区三区在线电影| 欧美一区二区在线看| 日韩欧美久久久| 精品国产乱码久久久久久闺蜜| 亚洲精品一线二线三线 | 久久九九久久九九| 国产精品丝袜在线| 亚洲第一精品在线| 久久综合综合久久综合| 国产成人丝袜美腿| 色老汉一区二区三区| 制服丝袜亚洲色图| 26uuu精品一区二区| 亚洲激情六月丁香| 韩国三级中文字幕hd久久精品| av中文字幕亚洲| 日韩精品专区在线| 亚洲柠檬福利资源导航| 久久精品国产精品亚洲综合| 91在线小视频| 久久久精品国产免费观看同学| 亚洲老司机在线| 国产成人av电影在线播放| 91麻豆精品国产无毒不卡在线观看 | 国产mv日韩mv欧美| 538prom精品视频线放| 国产精品乱人伦中文| 男男gaygay亚洲| 欧美精品精品一区| 亚洲综合在线观看视频| 国产经典欧美精品| 91精品福利在线一区二区三区| 亚洲精品视频在线| 97精品电影院| 亚洲天堂2016| 91免费国产在线| 亚洲视频一二三| 久久99久国产精品黄毛片色诱| 欧美在线观看视频一区二区三区| 国产精品视频在线看| 国产成人高清视频| 亚洲色图另类专区| 欧美性色综合网| 午夜伦欧美伦电影理论片| 欧美亚洲国产一区二区三区va| 国产精品久久久久永久免费观看 | 久久久www免费人成精品| 久久成人免费电影| 国产欧美日本一区视频| av福利精品导航| 亚洲va韩国va欧美va精品| 欧美一区二区三区视频免费 | 亚洲h精品动漫在线观看| 欧美精品乱码久久久久久| 久久成人精品无人区| 国产欧美久久久精品影院| 色猫猫国产区一区二在线视频| 亚洲柠檬福利资源导航| 日韩三级高清在线| 一本大道av伊人久久综合| 秋霞电影网一区二区| 国产欧美一区二区三区在线老狼| 91女神在线视频| 精品影视av免费| 亚洲国产精品久久久久秋霞影院 | 日韩一二在线观看| 97精品电影院| 国产精品系列在线播放| 日韩一级片网站| 国产精品不卡在线观看| 国模少妇一区二区三区| 亚洲私人黄色宅男| 国产网红主播福利一区二区| 欧美日韩国产一区二区三区地区| 国产成a人亚洲精品| 蜜臀av一级做a爰片久久| 亚洲综合自拍偷拍| 亚洲一级二级在线| 亚洲精品中文字幕乱码三区| 国产日韩欧美不卡| 欧美—级在线免费片| 国产日韩欧美高清| 成人免费一区二区三区视频 | 国产伦理精品不卡| 国产高清精品网站| av一本久道久久综合久久鬼色| 国产精品亚洲午夜一区二区三区| 国产一区在线不卡| 成人激情动漫在线观看| 欧美在线观看一二区| 69堂成人精品免费视频| 欧美一级爆毛片| 国产精品三级av| 亚洲国产日韩a在线播放性色| 亚洲成人自拍网| 韩国在线一区二区| 91色综合久久久久婷婷| 88在线观看91蜜桃国自产| 欧美一级生活片| 国产精品福利一区二区三区| 亚洲国产精品一区二区尤物区| 久久精品国产一区二区| 成人a区在线观看| 欧美一区二区久久| 中文字幕色av一区二区三区| 日本vs亚洲vs韩国一区三区二区 | 在线观看精品一区| 337p粉嫩大胆色噜噜噜噜亚洲| 一区二区在线观看视频| 精品一区二区免费视频| 欧美日韩不卡一区二区| 亚洲视频在线一区二区| 国产一区二区主播在线| 欧美精品xxxxbbbb| 一区二区三区日韩精品视频| 国产精品亚洲综合一区在线观看| 欧美日韩国产免费一区二区| 国产精品女同一区二区三区| 奇米777欧美一区二区| 欧美日韩国产美| 亚洲午夜免费电影| 欧美日韩亚洲综合一区| 亚洲图片欧美综合| 欧美日韩一区二区三区在线看| 综合久久久久久| 在线欧美日韩国产| 亚洲一区av在线| 日韩一级片在线播放| 国内精品在线播放| 国产精品国产精品国产专区不蜜| 成人97人人超碰人人99| 亚洲精品视频在线观看免费| 色综合久久久久久久久| 亚洲午夜一区二区三区| 日韩欧美视频在线| www.欧美.com| 天天综合色天天综合色h| 久久人人97超碰com| 不卡影院免费观看| 蜜桃一区二区三区在线| 国产日韩精品久久久| 欧美色图一区二区三区| 日本特黄久久久高潮| 中文字幕国产一区| 91精品欧美久久久久久动漫| 国产91在线观看丝袜| 日本va欧美va欧美va精品| 一区二区中文字幕在线| 日韩欧美综合一区| 91美女片黄在线观看| 久久国产尿小便嘘嘘尿| 亚洲一区二区成人在线观看| 中文天堂在线一区| 精品国产免费一区二区三区香蕉 | 91久久免费观看| 成人av在线资源网| 国产白丝精品91爽爽久久| 亚洲国产精品久久久久婷婷884| 久久久久国产精品麻豆ai换脸| 欧美一区二区三区四区五区 | 色999日韩国产欧美一区二区| 国产精品99久久久久久宅男| 国产一区二区免费在线|