⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program_ctrl_struct.vhd

📁 這是Originl公司出的8051 VHDL source code.
💻 VHD
字号:
---------------------------------------------------- Model        :   8051 Behavioral Model,--                  VHDL Entity mc8051.program_ctrl.interface---- Author       :   Michael Mayer (mrmayer@computer.org),--                  Dr. Hardy J. Pottinger,--                  Department of Electrical Engineering--                  University of Missouri - Rolla---- Created at   :   09/22/98 14:04:05--LIBRARY ieee ;USE ieee.std_logic_1164.all;USE ieee.numeric_std.all;LIBRARY mc8051 ;USE mc8051.synth_pack.all;ENTITY program_ctrl IS   PORT(       cmp_true : IN     std_logic ;      cycle_states : IN     std_logic_vector( 3 DOWNTO 0 )  ;      dptr : IN     std_logic_vector( 15 DOWNTO 0 )  ;      int_clk : IN     std_logic ;      int_rst : IN     std_logic ;      pdata : IN     std_logic_vector( 7 DOWNTO 0 )  ;      rd_pmem1 : IN     std_logic ;      rd_pmem2 : IN     std_logic ;      addr_gb : OUT    std_logic_vector( 7 DOWNTO 0 )  ;      dec_rd_sp : OUT    std_logic ;      inc_wr_sp : OUT    std_logic ;      indirect_sel : OUT    std_logic ;      ir : OUT    std_logic_vector( 7 DOWNTO 0 )  ;      last_cycle : OUT    std_logic ;      new_ir : OUT    std_logic ;      pdat_loc : OUT    std_logic_vector( 15 DOWNTO 0 )  ;      rd_gb : OUT    std_logic ;      wr_gb : OUT    std_logic ;      acknow : INOUT  std_logic ;      data_gb : INOUT  std_logic_vector( 7 DOWNTO 0 )    );-- DeclarationsEND program_ctrl ;---- VHDL Architecture mc8051.program_ctrl.struct---- Created:--          by - mrmayer.UNKNOWN (eceultra3.ece.umr.edu)--          at - 14:04:08 09/22/98---- Generated by Mentor Graphics' Renoir(TM) 3.4 (Build 18)--LIBRARY ieee ;USE ieee.std_logic_1164.all;USE ieee.std_logic_1164.all;USE ieee.numeric_std.all;LIBRARY mc8051 ;USE mc8051.synth_pack.all;LIBRARY mc8051;ARCHITECTURE struct OF program_ctrl IS-- Architecture declarations-- Internal signal declarationsSIGNAL call_addr : std_logic_vector( 15 DOWNTO 0 ) ;SIGNAL force_lcall : std_logic;SIGNAL new_pc : std_logic_vector( 15 DOWNTO 0 ) ;SIGNAL pc : std_logic_vector( 15 DOWNTO 0 ) ;SIGNAL pmem1 : std_logic_vector( 7 DOWNTO 0 ) ;SIGNAL pmem2 : std_logic_vector( 7 DOWNTO 0 ) ;SIGNAL wr_pc : std_logic;-- Implicit buffer signal declarationsSIGNAL ir_internal : std_logic_vector( 7 DOWNTO 0 ) ;SIGNAL new_ir_internal : std_logic;SIGNAL last_cycle_internal : std_logic;-- Component DeclarationsCOMPONENT int_hand   PORT (      int_clk : IN     std_logic;      int_rst : IN     std_logic;      last_cycle : IN     std_logic;      call_addr : OUT    std_logic_vector( 15 DOWNTO 0 );      force_lcall : OUT    std_logic   );END COMPONENT;COMPONENT pc_chg   PORT (      cmp_true : IN     std_logic;      cycle_states : IN     std_logic_vector( 3 DOWNTO 0 );      dptr : IN     std_logic_vector( 15 DOWNTO 0 );      int_clk : IN     std_logic;      int_rst : IN     std_logic;      ir : IN     std_logic_vector( 7 DOWNTO 0 );      last_cycle : IN     std_logic;      new_ir : IN     std_logic;      pc : IN     std_logic_vector( 15 DOWNTO 0 );      pmem1 : IN     std_logic_vector( 7 DOWNTO 0 );      pmem2 : IN     std_logic_vector( 7 DOWNTO 0 );      addr_gb : OUT    std_logic_vector( 7 DOWNTO 0 );      dec_rd_sp : OUT    std_logic;      inc_wr_sp : OUT    std_logic;      indirect_sel : OUT    std_logic;      new_pc : OUT    std_logic_vector( 15 DOWNTO 0 );      rd_gb : OUT    std_logic;      wr_gb : OUT    std_logic;      wr_pc : OUT    std_logic;      acknow : INOUT  std_logic;      data_gb : INOUT  std_logic_vector( 7 DOWNTO 0 )   );END COMPONENT;COMPONENT pc_inc   PORT (      cycle_states : IN     std_logic_vector( 3 DOWNTO 0 );      force_lcall : IN     std_logic;      int_clk : IN     std_logic;      int_rst : IN     std_logic;      ir : IN     std_logic_vector( 7 DOWNTO 0 );      new_ir : IN     std_logic;      pc : IN     std_logic_vector( 15 DOWNTO 0 );      last_cycle : OUT    std_logic;      pdat_loc : OUT    std_logic_vector( 15 DOWNTO 0 );      wr_pc : OUT    std_logic;      new_pc : INOUT  std_logic_vector( 15 DOWNTO 0 )   );END COMPONENT;COMPONENT pmem_reg   PORT (      call_addr : IN     std_logic_vector( 15 DOWNTO 0 );      cycle_states : IN     std_logic_vector( 3 DOWNTO 0 );      force_lcall : IN     std_logic;      int_clk : IN     std_logic;      int_rst : IN     std_logic;      last_cycle : IN     std_logic;      new_pc : IN     std_logic_vector( 15 DOWNTO 0 );      pdata : IN     std_logic_vector( 7 DOWNTO 0 );      rd_pmem1 : IN     std_logic;      rd_pmem2 : IN     std_logic;      wr_pc : IN     std_logic;      acknow : OUT    std_logic;      data_gb : OUT    std_logic_vector( 7 DOWNTO 0 );      ir : OUT    std_logic_vector( 7 DOWNTO 0 );      new_ir : OUT    std_logic;      pc : OUT    std_logic_vector( 15 DOWNTO 0 );      pmem1 : OUT    std_logic_vector( 7 DOWNTO 0 );      pmem2 : OUT    std_logic_vector( 7 DOWNTO 0 )   );END COMPONENT;-- Optional embedded configurations--synopsys translate_offFOR ALL : int_hand USE ENTITY mc8051.int_hand;FOR ALL : pc_chg USE ENTITY mc8051.pc_chg;FOR ALL : pc_inc USE ENTITY mc8051.pc_inc;FOR ALL : pmem_reg USE ENTITY mc8051.pmem_reg;--synopsys translate_onBEGIN-- Instance port mappings.   I3 : int_hand      PORT MAP (         int_clk => int_clk,         int_rst => int_rst,         last_cycle => last_cycle_internal,         call_addr => call_addr(15 downto 0),         force_lcall => force_lcall      );   I0 : pc_chg      PORT MAP (         cmp_true => cmp_true,         cycle_states => cycle_states(3 downto 0),         dptr => dptr(15 downto 0),         int_clk => int_clk,         int_rst => int_rst,         ir => ir_internal(7 downto 0),         last_cycle => last_cycle_internal,         new_ir => new_ir_internal,         pc => pc(15 downto 0),         pmem1 => pmem1(7 downto 0),         pmem2 => pmem2(7 downto 0),         addr_gb => addr_gb(7 downto 0),         dec_rd_sp => dec_rd_sp,         inc_wr_sp => inc_wr_sp,         indirect_sel => indirect_sel,         new_pc => new_pc(15 downto 0),         rd_gb => rd_gb,         wr_gb => wr_gb,         wr_pc => wr_pc,         acknow => acknow,         data_gb => data_gb(7 downto 0)      );   I1 : pc_inc      PORT MAP (         cycle_states => cycle_states(3 downto 0),         force_lcall => force_lcall,         int_clk => int_clk,         int_rst => int_rst,         ir => ir_internal(7 downto 0),         new_ir => new_ir_internal,         pc => pc(15 downto 0),         last_cycle => last_cycle_internal,         pdat_loc => pdat_loc(15 downto 0),         wr_pc => wr_pc,         new_pc => new_pc(15 downto 0)      );   I2 : pmem_reg      PORT MAP (         call_addr => call_addr(15 downto 0),         cycle_states => cycle_states(3 downto 0),         force_lcall => force_lcall,         int_clk => int_clk,         int_rst => int_rst,         last_cycle => last_cycle_internal,         new_pc => new_pc(15 downto 0),         pdata => pdata(7 downto 0),         rd_pmem1 => rd_pmem1,         rd_pmem2 => rd_pmem2,         wr_pc => wr_pc,         acknow => acknow,         data_gb => data_gb(7 downto 0),         ir => ir_internal(7 downto 0),         new_ir => new_ir_internal,         pc => pc(15 downto 0),         pmem1 => pmem1(7 downto 0),         pmem2 => pmem2(7 downto 0)      );   -- Implicit buffered output assignments   ir <= ir_internal;   new_ir <= new_ir_internal;   last_cycle <= last_cycle_internal;END struct;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -