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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? i80386.vhd

?? Intel微處理器80386的vhdl模擬
?? VHD
?? 第 1 頁 / 共 4 頁
字號:
    CONSTANT StateT2:       INTEGER := 2;   -- State where NA_n is false (non-pipelined)    CONSTANT StateT1P:      INTEGER := 3;   -- First state of a pipelined bus cycle    CONSTANT StateTh:       INTEGER := 4;   -- Hold acknowledge state    CONSTANT StateT2P:      INTEGER := 5;   -- Subsequent state of a pipelined bus cycle    CONSTANT StateT2I:      INTEGER := 6;   -- Subsequent state of a potential pipelined                                            -- bus cycle.    -- The constants are indexes into the vector State where each constant represents 1 bit of the vector.-- Internal User Registers--- General Purpose Data and Address    SIGNAL EAX: vlbit_1d(31 DOWNTO 0);    SIGNAL EDX: vlbit_1d(31 DOWNTO 0);    SIGNAL ECX: vlbit_1d(31 DOWNTO 0);    SIGNAL EBX: vlbit_1d(31 DOWNTO 0);    SIGNAL EBP: vlbit_1d(31 DOWNTO 0);    SIGNAL ESI: vlbit_1d(31 DOWNTO 0);    SIGNAL EDI: vlbit_1d(31 DOWNTO 0);    SIGNAL ESP: vlbit_1d(31 DOWNTO 0);-- NOTE: Create a proceedure that can be called with the appropriate mnemonic-- to access the appropriate register.  Futher work must be done to implement-- the 16-bit and 8-bit versions of these registers.--- Segment Selectors    SIGNAL CS:  vlbit_1d(15 DOWNTO 0);  -- Code Segment    SIGNAL SS:  vlbit_1d(15 DOWNTO 0);  -- Stack Segment    SIGNAL DS:  vlbit_1d(15 DOWNTO 0);  -- Data Segment Module A    SIGNAL ES:  vlbit_1d(15 DOWNTO 0);  -- Data Segment Structure 1    SIGNAL FSS: vlbit_1d(15 DOWNTO 0);  -- Data Segment Structure 2    SIGNAL GS:  vlbit_1d(15 DOWNTO 0);  -- Data Segment Structure 3--- Segment Descripters--- These register are associated with each Segment Selector Register and are--- not visible to the programmer.--- Instruction Pointer and Flags    SIGNAL rEIP:        vlbit_1d(31 downto 0) := X"FFFFFFF0";-- Must create a proceedure to access by mnemonic the IP within the EIP register.    SIGNAL rEFLAGS:     vlbit_1d(31 downto 0) := B"XXXXXXXXXXXXXXXX0XXXXXXXXX0X0X1X";    CONSTANT VM:        INTEGER := 0;    CONSTANT RF:        INTEGER := 0;    CONSTANT NT:        INTEGER := 0;    CONSTANT IOPL:      INTEGER := 0;    CONSTANT xOF:       INTEGER := 0;    CONSTANT DF:        INTEGER := 0;    CONSTANT xIF:       INTEGER := 0;    CONSTANT TF:        INTEGER := 0;    CONSTANT SF:        INTEGER := 0;    CONSTANT ZF:        INTEGER := 0;    CONSTANT AF:        INTEGER := 4;    CONSTANT PF:        INTEGER := 2;    CONSTANT CF:        INTEGER := 0;--- Machine Control    SIGNAL rCR0:        vlbit_1d(31 downto 0) := X"00000000";    SIGNAL rCR1:        vlbit_1d(31 downto 0) := X"00000000";    SIGNAL rCR2:        vlbit_1d(31 downto 0) := X"00000000";    -- Page Directory Base Register    SIGNAL rCR3:        vlbit_1d(31 downto 0) := X"00000000";--- System Address (Memory Mapping Management)    -- Global Descripter Table Pointer    SIGNAL rGDTbase:        vlbit_1d(31 downto 0) := X"00000000";    SIGNAL rGDTlimit:       vlbit_1d(15 downto 0) := X"0000";    SIGNAL rGDTselector:    vlbit_1d(15 downto 0) := X"0000";    -- Local Descripter Table Pointer    SIGNAL rLDTbase:        vlbit_1d(31 downto 0) := X"00000000";    SIGNAL rLDTlimit:       vlbit_1d(15 downto 0) := X"0000";    SIGNAL rLDTselector:    vlbit_1d(15 downto 0) := X"0000";    -- Interrupt Descripter Table Pointer    SIGNAL rIDTbase:        vlbit_1d(31 downto 0) := X"00000000";    SIGNAL rIDTlimit:       vlbit_1d(15 downto 0) := X"0000";    SIGNAL rIDTselector:    vlbit_1d(15 downto 0) := X"0000";    -- Task State Segment Descripter Table Pointer    SIGNAL rTSSbase:        vlbit_1d(31 downto 0) := X"00000000";    SIGNAL rTSSlimit:       vlbit_1d(15 downto 0) := X"0000";    SIGNAL rTSSselector:    vlbit_1d(15 downto 0) := X"0000";    -- Page Table Register Files--  SIGNAL rfPageDir:       vlbit_2d(0 to 1024,31 downto 0);--  SIGNAL rfPageTable:     vlbit_2d(0 to 1024,31 downto 0);--- Debug--- Test-- 80386 Instruction Set (Supported by this model)--- Instruction Prefixes        CONSTANT REP:               INTEGER := 16#F3#;        CONSTANT REPNE:             INTEGER := 16#F2#;        CONSTANT LOCK:              INTEGER := 16#F0#;--- Segment Override Prefixes        CONSTANT CSsop:             INTEGER := 16#2E#;        CONSTANT SSsop:             INTEGER := 16#36#;        CONSTANT DSsop:             INTEGER := 16#3E#;        CONSTANT ESsop:             INTEGER := 16#26#;        CONSTANT FSsop:             INTEGER := 16#64#;        CONSTANT GSsop:             INTEGER := 16#65#;        CONSTANT OPsop:             INTEGER := 16#66#;        CONSTANT ADsop:             INTEGER := 16#67#;--- Data Transfer        CONSTANT MOV_al_b:          INTEGER := 16#B0#;        CONSTANT MOV_eax_dw:        INTEGER := 16#B8#; -- mov eax,0000A5A5h        CONSTANT MOV_ebx_dw:        INTEGER := 16#BB#; -- mov ebx,0FFFFFFF0h        CONSTANT MOV_ebx_eax:       INTEGER := 16#89#; -- mov [ebx],eax {89,03}        CONSTANT MOV_eax_ebx:       INTEGER := 16#8B#; -- mov eax,[ebx] {8B,03}        CONSTANT IN_al:             INTEGER := 16#E4#;        CONSTANT OUT_al:            INTEGER := 16#E6#;--- Arithmetic        CONSTANT ADD_al_b:          INTEGER := 16#04#;        CONSTANT ADD_ax_w:          INTEGER := 16#05#;--- Shift/Rotate        CONSTANT ROL_eax_b:         INTEGER := 16#D1#; -- rol eax,1 {D1,C0}        CONSTANT ROL_al_1:          INTEGER := 16#D0#;        CONSTANT ROL_al_n:          INTEGER := 16#C0#;--- String Manipulation        CONSTANT INC_eax:           INTEGER := 16#40#;        CONSTANT INC_ebx:           INTEGER := 16#43#;--- Bit Manipulation--- Control Transfer        CONSTANT JMP_rel_short:     INTEGER := 16#EB#;        CONSTANT JMP_rel_near:      INTEGER := 16#E9#;        CONSTANT JMP_intseg_immed:  INTEGER := 16#EA#;--- High Level Language Support--- Operating System Support--- Processor Control        CONSTANT HLT:               INTEGER := 16#F4#;        CONSTANT WAITx:             INTEGER := 16#9B#;        CONSTANT NOP:               INTEGER := 16#90#;    BEGIN-- Begin Fault Detection Section    Faults: PROCESS    BEGIN        WAIT UNTIL now > 1;        assert not bitunknown(CLK2)            report "Clock {i}: CLK2 (pin F12) is undefined"            severity FAILURE;        assert not bitunknown(READY_n)            report "Control {i}: READY (pin G13) is undefined"            severity FAILURE;    END PROCESS Faults;-- End Fault Detection Section-- Begin Behavioral Blocks    -- Port Signals Status Reports Begin    CLK2status: PROCESS     -- Function:    The first time (after the loading the network)                            --              the simulation is run, this process will report                            --              status of the 80386's CLK2 input from the network.        VARIABLE StartTime:     INTEGER;        VARIABLE Pwidth:        INTEGER;        VARIABLE freq:          INTEGER;    BEGIN        WAIT UNTIL prising(CLK2);        StartTime := now;        WAIT UNTIL prising(CLK2);        Pwidth := (now - StartTime);        freq := 10000000 / Pwidth;        put("CLK2 Pulse Width is=",Pwidth);        putline(" in 10ths of nS");        put("CLK2 Frequency is=",freq);        putline("kHZ");        WAIT;    end PROCESS CLK2status;    -- Port Signals Status Reports End    -- Internal Control Logic Processes Begin    GenCLK: PROCESS    begin        -- CLK is the 80386's internal clock an is 1/2 of CLK2        wait until prising(CLK2);        CLK <= not CLK;    end PROCESS GenCLK;    Initialize: PROCESS    BEGIN        EAX <= X"00000000";        rEFLAGS <= X"00000002";        rEIP <= X"FFFFFFF0";        rIDTbase <= X"00000000";        rIDTlimit <= X"03FF";        State <= vlbit_vector(StateTi);        IF Debug THEN            putline("DEBUG: State=RESET");        END IF;        WAIT UNTIL pfalling(RESET); -- De-assert the drivers        IF Debug THEN            putline("DEBUG: 80386 was successfully Reset.");        END IF;        EAX <= X"ZZZZZZZZ";        rEFLAGS <= X"ZZZZZZZZ";        rEIP <= X"ZZZZZZZZ";        rIDTbase <= X"ZZZZZZZZ";        rIDTlimit <= X"ZZZZ";        State <= X"ZZZZZZZZ";        RequestPending <= 'Z';        WAIT UNTIL prising(RESET);    end PROCESS Initialize;    TstateMachine: PROCESS    VARIABLE nState:    vlbit_1d(31 downto 0) := X"00000000";    BEGIN        WAIT UNTIL pfalling(CLK);        CASE integer(State) is            WHEN StateTi =>                IF Debug THEN                    put("DEBUG: 80386 is in State Ti");                END IF;                IF RESET = '0' and RequestPending = Pending THEN                    nState := vlbit_vector(StateT1);                    IF Debug THEN                        putline(", Moving to StateT1");                    END IF;                ELSIF RESET = '0' and HOLD = '1' THEN                    nState := vlbit_vector(StateTh);                    IF Debug THEN                        putline(", Moving to StateTh");                    END IF;                ELSE                    nState := vlbit_vector(StateTi);                    IF Debug THEN                        IF RESET = '1' THEN                            putline(", Due to RESET = Asserted");                        ELSE                            putline(", Due to NO Requests Pending");                        END IF;                    END IF;                END IF;            WHEN StateT1 =>                IF Debug THEN                    putline("DEBUG: 80386 is in State T1, Moving to StateT2");                END IF;                nState := vlbit_vector(StateT2);            WHEN StateT2 =>                IF Debug THEN                    putline("DEBUG: 80386 is in State T2");                END IF;                IF READY_n = '0' and HOLD ='0' and RequestPending = Pending THEN                    nState := vlbit_vector(StateT1);                ELSIF READY_N = '1' and NA_n = '1' THEN                    NULL;                ELSIF (RequestPending = Pending or HOLD = '1') and (READY_N = '1' and NA_n = '0') THEN                    nState := vlbit_vector(StateT2I);                ELSIF RequestPending = Pending and HOLD = '0' and READY_N = '1' and NA_n = '0' THEN                    nState := vlbit_vector(StateT2P);                ELSIF RequestPending = NotPending and HOLD = '0' and READY_N = '0' THEN                    nState := vlbit_vector(StateTi);                ELSIF HOLD = '1' and READY_N = '1' THEN                    nState := vlbit_vector(StateTh);                END IF;            WHEN StateT1P =>                IF Debug THEN                    putline("DEBUG: 80386 is in State T1P");                END IF;                IF NA_n = '0' and HOLD = '0' and RequestPending = Pending THEN                    nState := vlbit_vector(StateT2P);                ELSIF NA_n = '0' and (HOLD = '1' or RequestPending = NotPending) THEN                    nState := vlbit_vector(StateT2I);                ELSIF NA_n = '1' THEN                    nState := vlbit_vector(StateT2);                END IF;            WHEN StateTh =>                IF Debug THEN                    putline("DEBUG: 80386 is in State Th");                END IF;                IF HOLD = '1' THEN                    NULL;                ELSIF HOLD = '0' and RequestPending = Pending THEN                    nState := vlbit_vector(StateT1);                ELSIF HOLD = '0' and RequestPending = NotPending THEN                    nState := vlbit_vector(StateTi);                END IF;            WHEN StateT2P =>                IF Debug THEN                    putline("DEBUG: 80386 is in State T2P");                END IF;                IF READY_n = '0' THEN                    nState := vlbit_vector(StateT1P);                END IF;            WHEN StateT2I =>                IF Debug THEN                    putline("DEBUG: 80386 is in State T2I");                END IF;                IF READY_n = '1' and (RequestPending = NotPending or HOLD = '1') THEN                    NULL;                ELSIF READY_n = '1' and RequestPending = Pending and HOLD = '0' THEN                    nState := vlbit_vector(StateT2P);                ELSIF READY_n = '0' and HOLD = '1' THEN                    nState := vlbit_vector(StateTh);                ELSIF READY_n = '0' and HOLD = '0' and RequestPending = Pending THEN                    nState := vlbit_vector(StateT1);                ELSIF READY_n = '0' and HOLD = '0' and RequestPending = NotPending THEN                    nState := vlbit_vector(StateTi);                END IF;            WHEN OTHERS => putline("MODEL ERROR: Invalid State=",State);        END CASE;        State <= nState;    -- This is where the next State is actually assigned.    end PROCESS TstateMachine;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲激情五月婷婷| 成人毛片视频在线观看| 国产成人综合视频| 欧美亚男人的天堂| 国产欧美一二三区| 秋霞午夜av一区二区三区| 99久久久久久| 久久久久国产免费免费| 美美哒免费高清在线观看视频一区二区 | 夜夜亚洲天天久久| www.亚洲国产| 久久精品视频在线看| 蜜桃一区二区三区四区| 欧美日韩一区二区电影| **性色生活片久久毛片| 成人av电影在线播放| 日本一区二区三区四区在线视频 | 国产精品理论片| 国产九色精品成人porny| 精品久久久久久亚洲综合网| 亚洲成人在线免费| 欧美色综合久久| 亚洲一区二区中文在线| 91性感美女视频| 亚洲欧美怡红院| 色综合色综合色综合| 中文字幕五月欧美| 一本到不卡精品视频在线观看| 国产日韩综合av| 床上的激情91.| 国产精品久久久久一区二区三区共| 国产高清在线精品| 国产精品嫩草影院com| 成人永久aaa| 日韩伦理av电影| 欧美在线看片a免费观看| 亚洲国产日产av| 欧美久久久久久蜜桃| 亚洲成人一二三| 91麻豆精品国产91久久久资源速度| 午夜一区二区三区在线观看| 99国产精品一区| 亚洲国产一区二区在线播放| 欧美女孩性生活视频| 欧美96一区二区免费视频| 在线综合视频播放| 国产成人午夜99999| 国产精品第五页| 在线视频一区二区免费| 日本在线不卡一区| 久久影院视频免费| 91在线精品一区二区| 香蕉成人啪国产精品视频综合网| 日韩午夜在线播放| 大胆欧美人体老妇| 婷婷久久综合九色国产成人 | 欧美三级中文字| 免费观看91视频大全| 国产亚洲美州欧州综合国| 色噜噜狠狠成人中文综合| 日本在线播放一区二区三区| 亚洲国产精品精华液2区45| 欧美在线观看你懂的| 久久国产乱子精品免费女| 中文字幕一区二区三区四区不卡| 欧美老人xxxx18| 成人网男人的天堂| 日本大胆欧美人术艺术动态| 欧美国产综合色视频| 在线成人高清不卡| 成人精品在线视频观看| 亚洲成人免费电影| 国产精品久久久久精k8 | 欧美亚洲国产怡红院影院| 激情五月婷婷综合| 亚洲一区免费视频| 日本一区二区免费在线| 91精品免费在线观看| 91丨porny丨国产| 一本久道中文字幕精品亚洲嫩| 亚洲精品ww久久久久久p站| 久久综合久色欧美综合狠狠| 91亚洲国产成人精品一区二区三| 久久精品国产精品亚洲精品| 一区二区三区久久久| 国产精品免费丝袜| 欧美精品一区二区三区一线天视频 | 欧美一区二区三区四区在线观看 | 韩国精品一区二区| 日韩精品电影一区亚洲| 亚洲色欲色欲www在线观看| 久久综合九色综合97婷婷女人 | 91碰在线视频| 丁香婷婷综合五月| 国产综合色产在线精品| 日韩二区在线观看| 亚洲成人一区在线| 亚洲风情在线资源站| 国产精品久久影院| 国产欧美精品一区aⅴ影院 | 国产很黄免费观看久久| 韩国精品在线观看| 国产一区二区三区在线观看精品| 日本午夜精品视频在线观看| 五月婷婷欧美视频| 日韩在线卡一卡二| 偷偷要91色婷婷| 亚洲bt欧美bt精品| 日韩精品久久久久久| 午夜国产精品影院在线观看| 亚洲精品国产成人久久av盗摄| 最新欧美精品一区二区三区| 国产精品系列在线| 国产精品理伦片| 成人欧美一区二区三区小说| 综合欧美一区二区三区| 亚洲精品中文字幕乱码三区| 亚洲少妇30p| 亚洲成人动漫一区| 蜜臀国产一区二区三区在线播放| 日本在线观看不卡视频| 激情伊人五月天久久综合| 国产精品一区二区在线看| 国产成人精品三级| 99九九99九九九视频精品| 91国偷自产一区二区开放时间 | 91蜜桃网址入口| 欧美在线一区二区| 正在播放一区二区| 精品日韩成人av| 中文字幕精品—区二区四季| 亚洲三级久久久| 婷婷中文字幕一区三区| 国产美女在线精品| 99综合影院在线| 欧美色图在线观看| 久久先锋影音av| 综合在线观看色| 日韩高清欧美激情| 大尺度一区二区| 欧美日韩高清一区二区三区| 欧美不卡一区二区三区| 国产精品福利影院| 天堂一区二区在线免费观看| 国产高清在线精品| 欧美日韩国产一二三| 国产日韩欧美不卡在线| 亚洲成人激情自拍| 成人小视频在线| 欧美日本在线观看| 国产精品狼人久久影院观看方式| 五月婷婷色综合| 不卡视频在线看| 日韩欧美国产一区二区在线播放| 国产精品视频在线看| 日本少妇一区二区| 97se狠狠狠综合亚洲狠狠| 欧美一级在线观看| 一区二区三区波多野结衣在线观看 | 91香蕉视频mp4| 欧美成人a∨高清免费观看| 亚洲伦理在线免费看| 国产美女在线观看一区| 欧美私模裸体表演在线观看| 久久久精品免费网站| 视频在线观看一区| 色偷偷久久人人79超碰人人澡 | 欧美三级欧美一级| 久久久不卡影院| 日本不卡的三区四区五区| 91丝袜高跟美女视频| 久久精品综合网| 蜜桃视频一区二区三区| 欧美三电影在线| 日韩理论片网站| 北条麻妃一区二区三区| 日韩精品一区二区三区swag| 亚洲国产精品久久久久婷婷884| 不卡的av中国片| 国产欧美久久久精品影院| 精品一区二区三区欧美| 日韩一区二区三区四区| 亚洲1区2区3区4区| 色94色欧美sute亚洲线路一久| 欧美国产精品一区二区| 国产成人免费视频精品含羞草妖精| 日韩一区二区免费视频| 日韩二区在线观看| 欧美一区二区三区视频在线 | 亚洲三级电影网站| 一本大道久久a久久综合| 国产欧美一二三区| 国产91丝袜在线播放| 国产精品色呦呦| www.在线成人| 国产精品日韩精品欧美在线| 国产主播一区二区三区| 亚洲三级在线看| 99视频一区二区三区| 一区二区三区在线免费播放|