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

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

?? kcpsm3.vhd

?? 硬件平臺為Xilinx Spartan3e
?? VHD
?? 第 1 頁 / 共 5 頁
字號:
-- PicoBlaze
--
-- Constant (K) Coded Programmable State Machine for Spartan-3 Devices.
-- Also suitable for use with Virtex-II and Virtex-IIPRO devices.
--
-- Includes additional code for enhanced VHDL simulation. 
--
-- Version : 1.30 
-- Version Date : 14th June 2004
-- Reasons : Avoid issue caused when ENABLE INTERRUPT is used when interrupts are
--           already enabled when an an interrupt input is applied.
--           Improved design for faster ZERO and CARRY flag logic   
--
--
-- Previous Version : 1.20 
-- Version Date : 9th July 2003
--
-- Start of design entry : 19th May 2003
--
-- Ken Chapman
-- Xilinx Ltd
-- Benchmark House
-- 203 Brooklands Road
-- Weybridge
-- Surrey KT13 ORH
-- United Kingdom
--
-- chapman@xilinx.com
--
-- Instruction disassembly concept inspired by the work of Prof. Dr.-Ing. Bernhard Lang.
-- University of Applied Sciences, Osnabrueck, Germany.
--
------------------------------------------------------------------------------------
--
-- NOTICE:
--
-- Copyright Xilinx, Inc. 2003.   This code may be contain portions patented by other 
-- third parties.  By providing this core as one possible implementation of a standard,
-- Xilinx is making no representation that the provided implementation of this standard 
-- is free from any claims of infringement by any third party.  Xilinx expressly 
-- disclaims any warranty with respect to the adequacy of the implementation, including 
-- but not limited to any warranty or representation that the implementation is free 
-- from claims of any third party.  Furthermore, Xilinx is providing this core as a 
-- courtesy to you and suggests that you contact all third parties to obtain the 
-- necessary rights to use this implementation.
--
------------------------------------------------------------------------------------
--
-- Format of this file.
--
-- This file contains the definition of KCPSM3 as one complete module with sections 
-- created using generate loops. This 'flat' approach has been adopted to decrease 
-- the time taken to load the module into simulators and the synthesis process.
--
-- The module defines the implementation of the logic using Xilinx primitives.
-- These ensure predictable synthesis results and maximise the density of the implementation. 
-- The Unisim Library is used to define Xilinx primitives. It is also used during
-- simulation. The source can be viewed at %XILINX%\vhdl\src\unisims\unisim_VCOMP.vhd
-- 
------------------------------------------------------------------------------------
--
-- Library declarations
--
-- Standard IEEE libraries
--
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
library unisim;
use unisim.vcomponents.all;
--
------------------------------------------------------------------------------------
--
-- Main Entity for KCPSM3
--
entity kcpsm3 is
    Port (      address : out std_logic_vector(9 downto 0);
            instruction : in std_logic_vector(17 downto 0);
                port_id : out std_logic_vector(7 downto 0);
           write_strobe : out std_logic;
               out_port : out std_logic_vector(7 downto 0);
            read_strobe : out std_logic;
                in_port : in std_logic_vector(7 downto 0);
              interrupt : in std_logic;
          interrupt_ack : out std_logic;
                  reset : in std_logic;
                    clk : in std_logic);
    end kcpsm3;
--
------------------------------------------------------------------------------------
--
-- Start of Main Architecture for KCPSM3
--	 
architecture low_level_definition of kcpsm3 is
--
------------------------------------------------------------------------------------
--
-- Signals used in KCPSM3
--
------------------------------------------------------------------------------------
--
-- Fundamental control and decode signals
--	 
signal t_state                : std_logic;
signal not_t_state            : std_logic;
signal internal_reset         : std_logic;
signal reset_delay            : std_logic;
signal move_group             : std_logic;
signal condition_met          : std_logic;
signal normal_count           : std_logic;
signal call_type              : std_logic;
signal push_or_pop_type       : std_logic;
signal valid_to_move          : std_logic;
--
-- Flag signals
-- 
signal flag_type              : std_logic;
signal flag_write             : std_logic;
signal flag_enable            : std_logic;
signal zero_flag              : std_logic;
signal sel_shadow_zero        : std_logic;
signal low_zero               : std_logic;
signal high_zero              : std_logic;
signal low_zero_carry         : std_logic;
signal high_zero_carry        : std_logic;
signal zero_carry             : std_logic;
signal zero_fast_route        : std_logic;
signal low_parity             : std_logic;
signal high_parity            : std_logic;
signal parity_carry           : std_logic;
signal parity                 : std_logic;
signal carry_flag             : std_logic;
signal sel_parity             : std_logic;
signal sel_arith_carry        : std_logic;
signal sel_shift_carry        : std_logic;
signal sel_shadow_carry       : std_logic;
signal sel_carry              : std_logic_vector(3 downto 0);
signal carry_fast_route       : std_logic;
--
-- Interrupt signals
-- 
signal active_interrupt       : std_logic;
signal int_pulse              : std_logic;
signal clean_int              : std_logic;
signal shadow_carry           : std_logic;
signal shadow_zero            : std_logic;
signal int_enable             : std_logic;
signal int_update_enable      : std_logic;
signal int_enable_value       : std_logic;
signal interrupt_ack_internal : std_logic;
--
-- Program Counter signals
--
signal pc                     : std_logic_vector(9 downto 0);
signal pc_vector              : std_logic_vector(9 downto 0);
signal pc_vector_carry        : std_logic_vector(8 downto 0);
signal inc_pc_vector          : std_logic_vector(9 downto 0);
signal pc_value               : std_logic_vector(9 downto 0);
signal pc_value_carry         : std_logic_vector(8 downto 0);
signal inc_pc_value           : std_logic_vector(9 downto 0);
signal pc_enable              : std_logic;
--
-- Data Register signals
--
signal sx                     : std_logic_vector(7 downto 0);
signal sy                     : std_logic_vector(7 downto 0);
signal register_type          : std_logic;
signal register_write         : std_logic;
signal register_enable        : std_logic;
signal second_operand         : std_logic_vector(7 downto 0);
--
-- Scratch Pad Memory signals
--
signal memory_data            : std_logic_vector(7 downto 0);
signal store_data             : std_logic_vector(7 downto 0);
signal memory_type            : std_logic;
signal memory_write           : std_logic;
signal memory_enable          : std_logic;
--
-- Stack signals
--
signal stack_pop_data         : std_logic_vector(9 downto 0);
signal stack_ram_data         : std_logic_vector(9 downto 0);
signal stack_address          : std_logic_vector(4 downto 0);
signal half_stack_address     : std_logic_vector(4 downto 0);
signal stack_address_carry    : std_logic_vector(3 downto 0);
signal next_stack_address     : std_logic_vector(4 downto 0);
signal stack_write_enable     : std_logic;
signal not_active_interrupt   : std_logic;
--
-- ALU signals
--
signal logical_result         : std_logic_vector(7 downto 0);
signal logical_value          : std_logic_vector(7 downto 0);
signal sel_logical            : std_logic;
signal shift_result           : std_logic_vector(7 downto 0);
signal shift_value            : std_logic_vector(7 downto 0);
signal sel_shift              : std_logic;
signal high_shift_in          : std_logic;
signal low_shift_in           : std_logic;
signal shift_in               : std_logic;
signal shift_carry            : std_logic;
signal shift_carry_value      : std_logic;
signal arith_result           : std_logic_vector(7 downto 0);
signal arith_value            : std_logic_vector(7 downto 0);
signal half_arith             : std_logic_vector(7 downto 0);
signal arith_internal_carry   : std_logic_vector(7 downto 0);
signal sel_arith_carry_in     : std_logic;
signal arith_carry_in         : std_logic;
signal invert_arith_carry     : std_logic;
signal arith_carry_out        : std_logic;
signal sel_arith              : std_logic;
signal arith_carry            : std_logic;
--
-- ALU multiplexer signals
--
signal input_fetch_type       : std_logic;
signal sel_group              : std_logic;
signal alu_group              : std_logic_vector(7 downto 0);
signal input_group            : std_logic_vector(7 downto 0);
signal alu_result             : std_logic_vector(7 downto 0);
--
-- read and write strobes 
--
signal io_initial_decode      : std_logic;
signal write_active           : std_logic;
signal read_active            : std_logic;
--
--
------------------------------------------------------------------------------------
--
-- Attributes to define LUT contents during implementation for primitives not 
-- contained within generate loops. In each case the information is repeated
-- in the generic map for functional simulation
--
attribute INIT : string; 
attribute INIT of t_state_lut           : label is "1"; 
attribute INIT of int_pulse_lut         : label is "0080";
attribute INIT of int_update_lut        : label is "EAAA";
attribute INIT of int_value_lut         : label is "04";
attribute INIT of move_group_lut        : label is "7400";
attribute INIT of condition_met_lut     : label is "5A3C";
attribute INIT of normal_count_lut      : label is "2F";
attribute INIT of call_type_lut         : label is "1000";
attribute INIT of push_pop_lut          : label is "5400";
attribute INIT of valid_move_lut        : label is "D";
attribute INIT of flag_type_lut         : label is "41FC";
attribute INIT of flag_enable_lut       : label is "8";
attribute INIT of low_zero_lut          : label is "0001";
attribute INIT of high_zero_lut         : label is "0001";
attribute INIT of sel_shadow_zero_lut   : label is "3F";
attribute INIT of low_parity_lut        : label is "6996";
attribute INIT of high_parity_lut       : label is "6996";
attribute INIT of sel_parity_lut        : label is "F3FF";
attribute INIT of sel_arith_carry_lut   : label is "F3";
attribute INIT of sel_shift_carry_lut   : label is "C";
attribute INIT of sel_shadow_carry_lut  : label is "3";
attribute INIT of register_type_lut     : label is "0145";
attribute INIT of register_enable_lut   : label is "8";
attribute INIT of memory_type_lut       : label is "0400";
attribute INIT of memory_enable_lut     : label is "8000";
attribute INIT of sel_logical_lut       : label is "FFE2";
attribute INIT of low_shift_in_lut      : label is "E4";
attribute INIT of high_shift_in_lut     : label is "E4";
attribute INIT of shift_carry_lut       : label is "E4";
attribute INIT of sel_arith_lut         : label is "1F";
attribute INIT of input_fetch_type_lut  : label is "0002";
attribute INIT of io_decode_lut         : label is "0010";
attribute INIT of write_active_lut      : label is "4000";
attribute INIT of read_active_lut       : label is "0100";
--
------------------------------------------------------------------------------------
--
-- Start of KCPSM3 circuit description
--
------------------------------------------------------------------------------------
--	
begin
--
------------------------------------------------------------------------------------
--
-- Fundamental Control
--
-- Definition of T-state and internal reset
--
------------------------------------------------------------------------------------
--
  t_state_lut: LUT1
  --synthesis translate_off
    generic map (INIT => X"1")
  --synthesis translate_on
  port map( I0 => t_state,
             O => not_t_state );

  toggle_flop: FDR
  port map ( D => not_t_state,
             Q => t_state,
             R => internal_reset,
             C => clk);

  reset_flop1: FDS
  port map ( D => '0',
             Q => reset_delay,
             S => reset,
             C => clk);

  reset_flop2: FDS
  port map ( D => reset_delay,
             Q => internal_reset,
             S => reset,
             C => clk);
--
------------------------------------------------------------------------------------
--
-- Interrupt input logic, Interrupt enable and shadow Flags.
--	
-- Captures interrupt input and enables the shadow flags.
-- Decodes instructions which set and reset the interrupt enable flip-flop. 
--
------------------------------------------------------------------------------------
--

  -- Interrupt capture

  int_capture_flop: FDR
  port map ( D => interrupt,
             Q => clean_int,
             R => internal_reset,
             C => clk);

  int_pulse_lut: LUT4
  --synthesis translate_off
    generic map (INIT => X"0080")
  --synthesis translate_on
  port map( I0 => t_state,
            I1 => clean_int,
            I2 => int_enable,
            I3 => active_interrupt,
             O => int_pulse );

  int_flop: FDR
  port map ( D => int_pulse,
             Q => active_interrupt,
             R => internal_reset,
             C => clk);

  ack_flop: FD
  port map ( D => active_interrupt,
             Q => interrupt_ack_internal,
             C => clk);

  interrupt_ack <= interrupt_ack_internal;

  -- Shadow flags

  shadow_carry_flop: FDE
  port map ( D => carry_flag,
             Q => shadow_carry,
            CE => active_interrupt,
             C => clk);

  shadow_zero_flop: FDE
  port map ( D => zero_flag,
             Q => shadow_zero,
            CE => active_interrupt,
             C => clk);

  -- Decode instructions that set or reset interrupt enable

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产激情一区二区三区| 91免费在线播放| 99久久99精品久久久久久 | 美国欧美日韩国产在线播放| 成人国产在线观看| 精品久久久久久综合日本欧美 | 精品久久久网站| 亚洲国产一区视频| 99亚偷拍自图区亚洲| 日韩视频免费直播| 亚洲成人黄色小说| 色欧美日韩亚洲| 中文字幕av资源一区| 久草中文综合在线| 日韩一区二区免费在线观看| 亚洲人成精品久久久久久 | 成人av网站免费| 2024国产精品视频| 蜜臀av一区二区| 欧美老女人在线| 亚洲激情自拍偷拍| 99久久精品国产网站| 国产人久久人人人人爽| 国产91精品精华液一区二区三区| 欧美三级电影在线观看| 亚洲精品国产品国语在线app| 成人毛片在线观看| 中文字幕不卡的av| 99久久免费精品| 国产精品免费视频网站| av一区二区三区黑人| 国产欧美视频一区二区| 国产精品1区二区.| 国产三级三级三级精品8ⅰ区| 久久精品国产99久久6| 欧美电视剧在线看免费| 久久精品国产99国产精品| 欧美精品一区二区三区在线播放| 日韩av网站免费在线| 日韩欧美成人激情| 激情综合网av| 国产亚洲一本大道中文在线| 国产成人av在线影院| 国产精品精品国产色婷婷| 99精品久久只有精品| 亚洲欧美日韩中文播放| 欧美性生活久久| 日本亚洲一区二区| 精品1区2区在线观看| 国产大陆精品国产| 最新久久zyz资源站| 91福利国产成人精品照片| 亚洲国产精品麻豆| 2020国产精品自拍| 成人在线视频一区| 亚洲曰韩产成在线| 日韩免费看的电影| 成人av电影免费在线播放| 亚洲三级在线观看| 日韩写真欧美这视频| 国产成人综合自拍| 亚洲一区在线观看视频| 日韩免费在线观看| 不卡的电影网站| 五月婷婷综合激情| 久久麻豆一区二区| 欧美三级午夜理伦三级中视频| 日本aⅴ精品一区二区三区| 中文字幕高清一区| 4438x亚洲最大成人网| 国产不卡在线视频| 日韩精品一级二级| 日本在线不卡视频一二三区| 欧美本精品男人aⅴ天堂| 99麻豆久久久国产精品免费| 天天色图综合网| 中文字幕精品综合| 日韩午夜小视频| 色激情天天射综合网| 国内精品伊人久久久久av影院| 亚洲日本在线a| 久久亚洲综合色| 欧美美女一区二区在线观看| 国产高清无密码一区二区三区| 一区二区三区在线视频观看58| 精品88久久久久88久久久| 欧美日韩国产综合草草| 懂色av一区二区在线播放| 日本网站在线观看一区二区三区| 中文字幕一区av| 久久精品这里都是精品| 欧美一区二区视频在线观看2022| 99精品视频在线观看| 国产精品中文有码| 免费高清成人在线| 三级影片在线观看欧美日韩一区二区| 国产精品视频九色porn| 26uuu精品一区二区| 欧美一二三区在线| 在线不卡中文字幕播放| 色综合久久久网| k8久久久一区二区三区| 国产一区在线看| 九九热在线视频观看这里只有精品| 亚洲不卡av一区二区三区| 一区二区三区产品免费精品久久75| 国产欧美一区二区在线观看| 精品国产成人在线影院| 欧美不卡一区二区三区| 日韩精品最新网址| 日韩一区二区电影| 日韩一二三四区| 日韩一区二区三| 欧美va亚洲va香蕉在线| 欧美成人精品3d动漫h| 日韩欧美一卡二卡| 欧美成人一级视频| 久久久www免费人成精品| www国产成人| 国产精品欧美极品| 综合久久一区二区三区| 亚洲免费av在线| 亚洲一区二区五区| 日本强好片久久久久久aaa| 日韩高清国产一区在线| 久久精品国产成人一区二区三区| 极品少妇xxxx偷拍精品少妇| 精品一区二区三区在线播放 | 亚洲日韩欧美一区二区在线| 中文字幕日本乱码精品影院| 亚洲天堂久久久久久久| 亚洲欧美精品午睡沙发| 亚洲一区二区三区四区在线观看 | 亚洲国产高清不卡| 亚洲免费毛片网站| 日韩专区中文字幕一区二区| 成人在线综合网| 欧美视频中文一区二区三区在线观看 | jizzjizzjizz欧美| 色婷婷国产精品综合在线观看| 欧美性猛交xxxxxxxx| 欧美一区午夜视频在线观看| 精品国产一区二区精华| 国产精品日韩精品欧美在线| 亚洲乱码国产乱码精品精可以看| 午夜精品爽啪视频| 国产精品自拍网站| 欧美无人高清视频在线观看| 日韩一卡二卡三卡| 亚洲欧洲日产国码二区| 午夜精品一区二区三区三上悠亚 | 五月天丁香久久| 国产一区二三区| 色欧美片视频在线观看在线视频| 日韩一级二级三级精品视频| 国产精品国产三级国产aⅴ中文| 亚洲一区在线播放| 成人午夜私人影院| 91精品婷婷国产综合久久竹菊| 日本一区二区三区高清不卡| 亚洲6080在线| 成人免费三级在线| 日韩欧美一区二区视频| 亚洲欧洲日本在线| 精品一区二区三区在线播放| 色婷婷av久久久久久久| 久久久夜色精品亚洲| 亚洲国产精品久久久久婷婷884| 国产美女主播视频一区| 欧美高清精品3d| 亚洲色大成网站www久久九九| 国产中文一区二区三区| 欧美高清视频www夜色资源网| 中文字幕亚洲一区二区av在线| 久久精品国产亚洲一区二区三区 | 成人免费视频一区二区| 国产精品每日更新| 国内精品伊人久久久久av一坑| 欧美日韩免费高清一区色橹橹| 国产精品无圣光一区二区| 狠狠色狠狠色综合系列| 欧美精品123区| 香蕉加勒比综合久久| 在线免费不卡电影| 亚洲日本在线观看| av网站免费线看精品| 国产日韩欧美麻豆| 国产一区欧美日韩| 久久婷婷综合激情| 国内久久精品视频| 欧美tk—视频vk| 激情六月婷婷久久| 欧美成人官网二区| 久久91精品久久久久久秒播| 欧美精品欧美精品系列| 亚洲成人精品一区二区| 欧美色偷偷大香| 亚洲成人资源网| 欧美日本国产视频| 免费高清在线一区|