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

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

?? cpu86.vhd

?? :兩人乒乓球賽 Requires: D2SB and DIO4 with VGA monitor and PS2 Keyboard
?? VHD
?? 第 1 頁 / 共 5 頁
字號:
-------------------------------------------------------------------------------
--                                                                           --
--  CPU86 - VHDL CPU8088 IP core                                             --
--  Copyright (C) 2005-2006 HT-LAB                                           --
--                                                                           --
--  Contact/bugs : cpu86@ht-lab.com                                          --
--  Web          : http://www.ht-lab.com                                     --
--                                                                           --
--  CPU86 is released as open-source under the Aladdin Free Public License.  --
--  Contact HT-Lab for commercial applications and/or support contracts.     --
--                                                                           --
-------------------------------------------------------------------------------
--  Aladdin Free Public License                                              --
--  (Version 9, September 18, 2000)                                          --
--  Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000 Aladdin Enterprises,    --
--  Menlo Park, California, U.S.A. All rights reserved.                      --
--                                                                           --
--  NOTE: This License is not the same as any of the  GNU Licenses published --
--  by the Free Software Foundation. Its  terms are substantially  different --
--  from those of the GNU Licenses.If you are familiar with the GNU Licenses --
--  please read this license with extra care.                                --
--  Aladdin Enterprises hereby grants to anyone the permission to apply this --
--  License to their own work, as long as the entire License ( including the --
--  above notices  and this paragraph) is copied with no changes, additions, --
--  or deletions except for changing the first paragraph of Section 0 to     --
--  include a suitable description of the work to which the license is being --
--  applied and of the person or entity that holds the copyright in the work,--
--  and,if the License is being applied to a work created in a country other --
--  than the United States, replacing the first paragraph of  Section 6 with --
--  an appropriate reference to the laws of the appropriate country.         --
--                                                                           --
--  This License is not an Open Source license: among other things,it places --
--  restrictions on distribution of the Program, specifically including sale --
--  of the Program.  While  Aladdin Enterprises  respects  and  supports the --
--  philosophy of the Open Source Definition, and  shares  the desire of the --
--  GNU project to keep  licensed  software freely  redistributable in  both --
--  source  and  object form,  we feel that  Open Source  licenses  unfairly --
--  prevent  developers of useful  software  from  being compensated propor- --
--  tionately when others  profit  financially from their work. This License --
--  attempts to ensure that those who receive, redistribute, and  contribute --
--  to the licensed Program according  to the Open Source and  Free Software --
--  philosophies have the right to do so, while retaining for the developers --
--  of the Program the power to make those who  use the Program  to  enhance --
--  the value of commercial products pay for the privilege of doing so.      --
--                                                                           --
-------------------------------------------------------------------------------
--  0. Subject Matter                                                        --
--                                                                           --
--  This License applies to the intellectual property core known as "CPU86". --
--  The "Program", below, refers to such a core.The Program is a copyrighted --
--  work whose copyright is held  by Hans Tiggeler of  HT-Lab located in the --
--  United Kingdom (the "Licensor").                                         --
--                                                                           --
--  A "work based on the Program" means either the Program or any derivative --
--  work of  the  Program, as  defined in the United States Copyright Act of --
--  1976, such as a translation or a modification.                           --
--                                                                           --  
--  BY  MODIFYING OR  DISTRIBUTING  THE  PROGRAM (OR ANY  WORK  BASED ON THE --
--  PROGRAM), YOU INDICATE YOUR ACCEPTANCE OF THIS LICENSE TO DO SO, AND ALL --
--  ITS  TERMS AND  CONDITIONS FOR COPYING,  DISTRIBUTING OR  MODIFYING  THE --
--  PROGRAM OR WORKS BASED ON IT. NOTHING OTHER THAN THIS LICENSE GRANTS YOU --
--  PERMISSION TO MODIFY OR  DISTRIBUTE THE PROGRAM OR ITS DERIVATIVE WORKS. --
--  THESE ACTIONS ARE PROHIBITED BY LAW.IF YOU DO NOT ACCEPT THESE TERMS AND --
--  CONDITIONS, DO NOT MODIFY OR DISTRIBUTE THE PROGRAM.                     --
--                                                                           --
--  Full details of the license can be found in the file "cpu86_license.txt"  --
--  which is included in the distribution zip file.                          --
-------------------------------------------------------------------------------
--  Revision History:                                                        --
--                                                                           --
--  Date:        Revision  Author                                            --
--  07 Oct 2006  0.69	   H. Tiggeler   Fixed INTA/SHL logic as reported by --
--                                       R. Kilgore                          --
--  07 Oct 2006  0.69      R. Kilgore    Fixed RD strobe during INTA         --
--  23 Nov 2006  0.68      H. Tiggeler   Fixed INTA vector read              --
--  29 Dec 2005  0.67      H. Tiggeler   First web version                   --
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
--
-- VHDL Package Header cpu.cpupack
--
-- Created:
--          by - Administrator.UNKNOWN (ACHILLES)
--          at - 17:06:15 31/12/2001
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2001.5a (Build 18)
--
LIBRARY ieee;
USE ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

PACKAGE cpu86pack IS

constant RESET_CS_C : std_logic_vector(15 downto 0) := (others => '1'); -- FFFF:0000
constant RESET_IP_C : std_logic_vector(15 downto 0) := (others => '0'); 
constant RESET_ES_C : std_logic_vector(15 downto 0) := (others => '0');
constant RESET_SS_C : std_logic_vector(15 downto 0) := (others => '0');
constant RESET_DS_C : std_logic_vector(15 downto 0) := (others => '0');

constant RESET_VECTOR_C : std_logic_vector(19 downto 0) := (RESET_CS_C & X"0") + (X"0" & RESET_IP_C);

-- Multiplier Multi-Cycle path delay. Specify the number of wait states
constant MUL_MCD_C	: std_logic_vector(4 downto 0) := "00010";	-- mul MCP, check!!!!!!!11
-- Serial Divider delay
-- changed later to done signal
-- You can gain 1 clk cycle, done can be asserted 1 cycle earlier
constant DIV_MCD_C	: std_logic_vector(4 downto 0) := "10011";	-- div waitstates 19!

constant ONE			: std_logic := '1';
constant ZERO			: std_logic := '0';
constant ZEROVECTOR_C	: std_logic_vector(31 downto 0) := X"00000000";  

-- Hardware Monitor (HWMON) transmit clock divider (write only)
-- bitrate=clk/(HWM_DIV_C+1)
-- Example, clk=4.9152MHz -> 38400->HWM_DEFAULT=127
--constant HWM_DIV_C      : std_logic_vector(11 downto 0) :=  X"07F"; -- 127
-- clk=19.6608 MHz -> 38400->=511
-- clk=32.692308MHz/38400 -> 0x352(851) -> BITHIGH="11", BIT_LOW="01010011"
constant HWM_DIV_C      : std_logic_vector(11 downto 0) :=  X"352"; -- 851
constant HWMON_C		: boolean := FALSE; --FALSE/TRUE to Include Hardware Monitor
-- Hardware Monitor Base address
-- 0x0362 & 0x363 bitrate low, high
-- 0x0360 & 0x360 configreg  
constant HWM_BASEADDR_C  : std_logic_vector(15 downto 2) :="00000011011000"; -- 0x362/0x363

-- Minimum value for MAX_WS="000", this result in a 2 cycle rd/wr strobe
-- Total Read cycle is 1 cycle for address setup + 2 cycles for rd/wr strobe, thus
-- minimum bus cycle is 3 clk cycles. 
-- Minimum CPU cycle is 3 clk cycles (Fetch Opcode, decode, execute)
constant WS_WIDTH : integer := 3;		-- 2^WS_WIDTH=MAX Waitstates
constant MAX_WS   : std_logic_vector(WS_WIDTH-1 downto 0) := "000"; -- 3 clk RD/WR strobe  
constant DONTCARE : std_logic_vector(31 downto 0):=X"FFFFFFFF";

-- Status record containing some data and flag register
type instruction_type is record
  ireg		: std_logic_vector(7 downto 0);    	-- Instruction register
  xmod		: std_logic_vector(1 downto 0);    	-- mod is a reserved word
  reg		: std_logic_vector(2 downto 0);    	-- between mode and rm
  rm		: std_logic_vector(2 downto 0);
  data		: std_logic_vector(15 downto 0);
  disp		: std_logic_vector(15 downto 0);
  nb		: std_logic_vector(2 downto 0); 	-- Number of bytes
end record;

-- Status record containing some data and flag register
type status_out_type is record
  ax		: std_logic_vector(15 downto 0); 
  cx_one	: std_logic; 						-- '1' if CX=0001
  cx_zero   : std_logic;						-- '1' if CX=0000	
  cl5       : std_logic_vector(4 downto 0);		-- 5 bits shift/rotate counter
  flag		: std_logic_vector(15 downto 0); 
  div_err	: std_logic;						-- Divider overflow
end record;

--------------------------------------------------------------------------------------
-- Data Path Records
--------------------------------------------------------------------------------------
type path_in_type is record
  datareg_input	: std_logic_vector(6 downto 0);	-- dimux(3) & w & seldreg(3)
  alu_operation	: std_logic_vector(14 downto 0);-- selalua(4) & selalub(4) & aluopr(7) 
  dbus_output	: std_logic_vector(1 downto 0); -- (Odd/Even) domux setting
  segreg_input	: std_logic_vector(3 downto 0);	-- simux & selsreg 
  ea_output		: std_logic_vector(9 downto 0); -- dispmux(3) & eamux(4) & [flag]&segop(2)  
end record;

-- Write Strobe Record for Data Path
type write_in_type is record
  wrd	: std_logic;							-- Write datareg
  wralu	: std_logic;							-- Write ALU result
  wrcc	: std_logic;							-- Write Flag register
  wrs	: std_logic;							-- Write Segment register
  wrip	: std_logic;							-- Write Instruction Pointer
  wrop  : std_logic;							-- Write Segment Prefix register, Set Prefix Flag
end record; 

constant SET_OPFLAG		: std_logic:='1';	  -- Override Prefix Flag
constant CLR_OPFLAG		: std_logic:='0';

-- DIMUX    
constant DATAIN_IN	: std_logic_vector(2 downto 0) := "000"; 
constant EABUS_IN		: std_logic_vector(2 downto 0) := "001";
constant ALUBUS_IN	: std_logic_vector(2 downto 0) := "010";
constant MDBUS_IN_1 	: std_logic_vector(2 downto 0) := "011";
constant ES_IN  		: std_logic_vector(2 downto 0) := "100";
constant CS_IN  		: std_logic_vector(2 downto 0) := "101";
constant SS_IN  		: std_logic_vector(2 downto 0) := "110";
constant DS_IN  		: std_logic_vector(2 downto 0) := "111";

-- SIMUX   Segment Register input Mux
constant SDATAIN_IN		: std_logic_vector(1 downto 0) := "00";
constant SEABUS_IN		: std_logic_vector(1 downto 0) := "01";	 -- Effective Address
constant SALUBUS_IN   	: std_logic_vector(1 downto 0) := "10";
constant SMDBUS_IN  	: std_logic_vector(1 downto 0) := "11";

-- DOMUX   (Note bit 2=odd/even) 
constant ALUBUS_OUT		: std_logic_vector(1 downto 0) := "00";
constant CCBUS_OUT		: std_logic_vector(1 downto 0) := "01";
constant DIBUS_OUT 		: std_logic_vector(1 downto 0) := "10";
constant IPBUS_OUT 		: std_logic_vector(1 downto 0) := "11";

-- dispmux(3) & eamux(4) & poflag & segop[1:0]
-- note some bits may be dontcare!
constant NB_ES_IP		: std_logic_vector(9 downto 0) := "0000000000";		-- IPREG+NB ADDR=ES:IP 
constant NB_CS_IP		: std_logic_vector(9 downto 0) := "0000000001";
constant NB_SS_IP		: std_logic_vector(9 downto 0) := "0000000010";
constant NB_DS_IP		: std_logic_vector(9 downto 0) := "0000000011";	 

constant NB_ES_EA		: std_logic_vector(9 downto 0) := "0000001000";		-- IPREG+NB ADDR=EA
constant NB_CS_EA		: std_logic_vector(9 downto 0) := "0000001001";
constant NB_SS_EA		: std_logic_vector(9 downto 0) := "0000001010";
constant NB_DS_EA		: std_logic_vector(9 downto 0) := "0000001011";
constant DISP_ES_EA		: std_logic_vector(9 downto 0) := "0010001000";		-- IPREG+DISP ADDR=EA
constant DISP_CS_EA		: std_logic_vector(9 downto 0) := "0010001001";
constant DISP_SS_EA		: std_logic_vector(9 downto 0) := "0010001010";
constant DISP_DS_EA		: std_logic_vector(9 downto 0) := "0010001011";

constant DISP_CS_IP		: std_logic_vector(9 downto 0) := "0010000001";		-- Used for Jx instructions

constant PORT_00_DX		: std_logic_vector(6 downto 0) := "0000010";		-- EAMUX IN/OUT instruction
constant PORT_00_EA		: std_logic_vector(6 downto 0) := "0000001";		-- EAMUX Segm=00 00:IP or 00:DISP

constant NB_SS_SP		: std_logic_vector(6 downto 0) := "0000100";		-- IP=IP+NBREQ, EAMUX=SS:SP , 100, 101, 110 unused
constant LD_SS_SP		: std_logic_vector(6 downto 0) := "0100100"; 		-- Load new IP from MDBUS & out=SS:SP	

constant LD_MD_IP		: std_logic_vector(9 downto 0) := "0100000001"; 	-- Load new IP from MDBUS (e.g. RET instruction)	
constant LD_CS_IP		: std_logic_vector(9 downto 0) := "0110000001"; 	-- Load new IP (e.g. RET instruction)	
constant EA_CS_IP		: std_logic_vector(9 downto 0) := "1000001001"; 	-- Load new IP (e.g. RET instruction)	
constant IPB_CS_IP		: std_logic_vector(9 downto 0) := "1110000001"; 	-- Select IPBUS=IPREG	

constant MD_EA2_DS		: std_logic_vector(9 downto 0) := "0100011011";		-- IP<-MD, addr=DS:EA2

-- SELALUA/B or SELDREG(2 downto 0)
constant REG_AX		: std_logic_vector(3 downto 0) := "0000";   			-- W=1 Into ALUBUS A or B
constant REG_CX		: std_logic_vector(3 downto 0) := "0001";
constant REG_DX		: std_logic_vector(3 downto 0) := "0010";
constant REG_BX		: std_logic_vector(3 downto 0) := "0011";
constant REG_SP		: std_logic_vector(3 downto 0) := "0100";
constant REG_BP		: std_logic_vector(3 downto 0) := "0101";
constant REG_SI		: std_logic_vector(3 downto 0) := "0110";
constant REG_DI		: std_logic_vector(3 downto 0) := "0111";
constant REG_DATAIN	: std_logic_vector(3 downto 0) := "1000";				-- Pass data_in to ALU
constant REG_MDBUS	: std_logic_vector(3 downto 0) := "1111";				-- Pass memory bus (mdbus) to ALU

-- Only for SELALUB
constant REG_CONST1	: std_logic_vector(3 downto 0) := "1001";				-- Used for INC/DEC function, W=0/1
constant REG_CONST2	: std_logic_vector(3 downto 0) := "1010";				-- Used for POP/PUSH function W=1

-- W+SELDREG 
constant REG_AH		: std_logic_vector(3 downto 0) := "0100";   			-- W=1 SELDREG=AH

---------------------------------------------------------------
-- ALU Operations 
-- Use ireg(5 downto 3) / modrm(5 downto 3) / ireg(3 downto 0)
-- Constants for 
---------------------------------------------------------------
-- CONSTANT & ireg(7) & ireg(5 downto 3)
-- CONSTANT=000  
constant ALU_ADD	: std_logic_vector(6 downto 0) := "0000000";
constant ALU_OR 	: std_logic_vector(6 downto 0) := "0000001";		
constant ALU_ADC	: std_logic_vector(6 downto 0) := "0000010";		
constant ALU_SBB	: std_logic_vector(6 downto 0) := "0000011";
constant ALU_AND	: std_logic_vector(6 downto 0) := "0000100";
constant ALU_SUB	: std_logic_vector(6 downto 0) := "0000101";
constant ALU_XOR	: std_logic_vector(6 downto 0) := "0000110";
constant ALU_CMP	: std_logic_vector(6 downto 0) := "0000111";	    -- See also ALU_CMPS
constant ALU_TEST0	: std_logic_vector(6 downto 0) := "0001000";			 
constant ALU_TEST1	: std_logic_vector(6 downto 0) := "0001101";			 

-- Random assignment, these can be changed.
constant ALU_PUSH	: std_logic_vector(6 downto 0) := "0001001";	 	-- Used for PUSH (SUB)
constant ALU_POP	: std_logic_vector(6 downto 0) := "0001010";	 	-- Used for POP	 (ADD)
constant ALU_PASSB	: std_logic_vector(6 downto 0) := "0001011";	 	-- alureg(15..0)  (latched alu_busb)
constant ALU_PASSA	: std_logic_vector(6 downto 0) := "0111011";	 	-- alureg(31..16) (latched alu_busa)
constant ALU_PASS	: std_logic_vector(6 downto 0) := "0001100";	 	-- abus_s only

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合五月| 欧美美女黄视频| 国产自产视频一区二区三区| 免费看欧美女人艹b| 久久品道一品道久久精品| 欧美日韩国产123区| 在线观看一区日韩| 91免费看视频| 色综合婷婷久久| 国产一区二区影院| 国产欧美日韩不卡免费| 日韩欧美国产综合| 日韩欧美国产综合在线一区二区三区| 91免费国产视频网站| 91麻豆国产自产在线观看| 丁香六月综合激情| 99国产一区二区三精品乱码| 99视频超级精品| 91色在线porny| 欧美日韩精品一二三区| 久久久一区二区三区捆绑**| 久久日韩精品一区二区五区| 久久久久久免费网| ...xxx性欧美| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲桃色在线一区| 亚洲成人7777| 国产一区二区在线电影| 成人黄色av电影| 欧美精品在线一区二区三区| 日韩视频免费观看高清在线视频| 精品三级在线观看| 亚洲视频中文字幕| 六月丁香婷婷色狠狠久久| av一本久道久久综合久久鬼色| 欧美性猛交xxxx黑人交| 久久精品一级爱片| 亚洲va天堂va国产va久| 成人h精品动漫一区二区三区| 欧美午夜免费电影| 精品91自产拍在线观看一区| 在线不卡a资源高清| av午夜一区麻豆| 777xxx欧美| 亚洲色图欧洲色图婷婷| 久久99久久久久| 欧美日韩黄色一区二区| 国产亚洲精品中文字幕| 欧美a级理论片| 欧美三区在线观看| 欧美mv和日韩mv国产网站| 亚洲欧洲日本在线| 国产在线播放一区三区四| 欧美日韩高清一区二区| 亚洲免费电影在线| 91蜜桃在线观看| 成人欧美一区二区三区| 成人白浆超碰人人人人| 91精品视频网| 亚洲国产精品尤物yw在线观看| 99久久精品国产毛片| 久久久午夜电影| 美洲天堂一区二卡三卡四卡视频| 欧美日韩在线免费视频| 亚洲综合精品自拍| 色偷偷88欧美精品久久久| 亚洲欧美视频在线观看视频| 91原创在线视频| 亚洲视频电影在线| 色噜噜狠狠色综合欧洲selulu| 亚洲精品国久久99热| 在线观看国产91| 亚洲成人自拍偷拍| 日韩欧美在线1卡| 国产麻豆欧美日韩一区| 国产精品福利一区二区三区| 91在线免费视频观看| 亚洲高清视频在线| 制服丝袜国产精品| 国产精品456露脸| 亚洲精品国产品国语在线app| 91福利资源站| 日韩主播视频在线| 欧美v日韩v国产v| 99精品一区二区| 蜜桃精品视频在线| 国产精品成人网| 日韩久久久精品| 色8久久人人97超碰香蕉987| 免费成人在线网站| 亚洲欧美综合色| 久久久综合网站| 色呦呦国产精品| 亚洲欧洲在线观看av| 欧美无人高清视频在线观看| 国产999精品久久| 亚洲成人久久影院| 欧美精品一区二区三区在线| 91在线观看一区二区| 看国产成人h片视频| 亚洲在线成人精品| 国产精品久线在线观看| 欧美一级精品在线| 色94色欧美sute亚洲13| 成人午夜免费电影| 日本不卡的三区四区五区| 国产精品国产三级国产三级人妇 | 日韩一区二区麻豆国产| 欧美无砖专区一中文字| 91丨九色丨国产丨porny| 精品一区二区免费看| 亚洲成a人片综合在线| 国产精品国产三级国产专播品爱网| 91麻豆精品国产自产在线观看一区| a4yy欧美一区二区三区| 国产成人午夜精品5599| 久久国产精品露脸对白| 视频精品一区二区| 亚洲成av人影院| 亚洲国产精品影院| 一区二区三区欧美激情| 亚洲视频免费在线观看| 中文字幕一区免费在线观看| 国产精品欧美极品| 亚洲美女视频一区| 亚洲3atv精品一区二区三区| 亚洲18女电影在线观看| 午夜精品久久久久久久 | 在线看不卡av| 欧美精品久久久久久久久老牛影院| 在线观看成人小视频| 7777精品伊人久久久大香线蕉| 在线免费观看成人短视频| 欧美视频一区二| 日韩精品中文字幕一区| 久久亚洲私人国产精品va媚药| 日本一区二区三区在线不卡| 亚洲免费电影在线| 国产麻豆精品theporn| 欧美性视频一区二区三区| 日韩一级二级三级| 亚洲自拍偷拍网站| 国产精品一二三四五| 欧美无砖砖区免费| 国产精品三级视频| 狠狠色狠狠色综合系列| 欧美午夜不卡视频| 欧美国产成人精品| 国产麻豆视频一区| 日韩一级高清毛片| 天天综合网天天综合色| 91久久线看在观草草青青 | 欧美日韩电影在线播放| 综合欧美一区二区三区| 国产成人综合在线观看| 日韩一区二区三| 婷婷久久综合九色综合绿巨人| 一本到一区二区三区| 中文字幕亚洲综合久久菠萝蜜| 极品美女销魂一区二区三区| 欧美va亚洲va在线观看蝴蝶网| 亚洲在线视频一区| 欧美午夜理伦三级在线观看| 亚洲国产成人va在线观看天堂| 日本电影欧美片| 午夜亚洲国产au精品一区二区| 色婷婷久久久亚洲一区二区三区 | 一区二区三区在线观看网站| 国产一区二区三区在线观看精品| 欧美一区二区三区白人| 91女神在线视频| 亚洲国产精品视频| 91.麻豆视频| 黄页网站大全一区二区| 久久久一区二区| 色综合天天综合给合国产| 亚洲国产日韩精品| 久久久久久久综合狠狠综合| eeuss鲁片一区二区三区 | 一区在线中文字幕| 91久久精品一区二区| 国产精品另类一区| 欧美精品日韩综合在线| 国产99久久久精品| 一区二区三区在线观看欧美| 日韩精品一区二区三区视频在线观看 | 日韩中文字幕亚洲一区二区va在线 | 99视频一区二区三区| 亚洲天堂2016| 3751色影院一区二区三区| 国内精品嫩模私拍在线| 国产精品乱人伦| 欧美丝袜丝交足nylons图片| 日韩国产欧美在线观看| 99久久国产综合色|国产精品| 亚洲激情一二三区| 欧美精选午夜久久久乱码6080| 美女视频一区在线观看| 欧美大片一区二区| 成人免费va视频|