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

📄 cpu_core_struct.vhd

📁 這是Originl公司出的8051 VHDL source code.
💻 VHD
字号:
---------------------------------------------------- Model        :   8051 Behavioral Model,--                  VHDL Entity mc8051.cpu_core.interface---- Author       :   Michael Mayer (mrmayer@computer.org),--                  Dr. Hardy J. Pottinger,--                  Department of Electrical Engineering--                  University of Missouri - Rolla---- Created at   :   09/22/98 19:32:52--LIBRARY ieee ;USE ieee.std_logic_1164.all;USE ieee.numeric_std.all;LIBRARY mc8051 ;USE mc8051.synth_pack.all;ENTITY cpu_core IS   PORT(       ac : IN     std_logic ;      acc : IN     std_logic_vector( 7 DOWNTO 0 )  ;      acknow : IN     std_logic ;      cy : 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 ;      ov : IN     std_logic ;      rs : IN     std_logic_vector( 1 DOWNTO 0 )  ;      ac_out : OUT    std_logic ;      addr_gb : OUT    std_logic_vector( 7 DOWNTO 0 )  ;      cmp_true : OUT    std_logic ;      cy_out : OUT    std_logic ;      dec_rd_sp : OUT    std_logic ;      inc_wr_sp : OUT    std_logic ;      indirect_sel : OUT    std_logic ;      ov_out : OUT    std_logic ;      rd_gb : OUT    std_logic ;      rd_pmem1 : OUT    std_logic ;      rd_pmem2 : OUT    std_logic ;      read_latch : OUT    std_logic ;      wr_acc : OUT    std_logic ;      wr_gb : OUT    std_logic ;      wr_out : OUT    std_logic ;      data_gb : INOUT  std_logic_vector( 7 DOWNTO 0 )    );-- DeclarationsEND cpu_core ;---- VHDL Architecture mc8051.cpu_core.struct---- Created:--          by - mrmayer.UNKNOWN (eceultra6.ece.umr.edu)--          at - 19:32:58 09/22/98---- Generated by Mentor Graphics' Renoir(TM) 3.4 (Build 18)--LIBRARY ieee ;USE ieee.std_logic_1164.all;USE ieee.numeric_std.all;LIBRARY mc8051 ;USE mc8051.cpu_pack.all;USE mc8051.synth_pack.all;LIBRARY mc8051;ARCHITECTURE struct OF cpu_core IS-- Architecture declarations-- Internal signal declarationsSIGNAL alu_cmd : std_logic_vector( 3 DOWNTO 0 ) ;SIGNAL alu_result : std_logic_vector( 7 DOWNTO 0 ) ;SIGNAL alu_second_result : std_logic;SIGNAL bit_loc : std_logic_vector( 2 DOWNTO 0 ) ;SIGNAL cpu_done : std_logic;SIGNAL cpu_rst : std_logic;SIGNAL data_alu : std_logic_vector( 2 DOWNTO 0 ) ;SIGNAL data_dest : std_logic_vector( 2 DOWNTO 0 ) ;SIGNAL data_t1 : std_logic_vector( 2 DOWNTO 0 ) ;SIGNAL data_t2 : std_logic_vector( 2 DOWNTO 0 ) ;SIGNAL dest_cmd : std_logic_vector( 3 DOWNTO 0 ) ;SIGNAL set_ac_ov : std_logic;SIGNAL set_cy : std_logic;SIGNAL t1_cmd : std_logic_vector( 3 DOWNTO 0 ) ;SIGNAL t2_cmd : std_logic_vector( 3 DOWNTO 0 ) ;SIGNAL tmp1 : std_logic_vector( 7 DOWNTO 0 ) ;SIGNAL tmp1_done : std_logic;SIGNAL tmp2 : std_logic_vector( 7 DOWNTO 0 ) ;SIGNAL two_dests : std_logic;SIGNAL use_acc_0 : std_logic;SIGNAL use_cy : std_logic;-- Component DeclarationsCOMPONENT al_unit   PORT (      ac : IN     std_logic;      alu_cmd : IN     std_logic_vector( 3 DOWNTO 0 );      bit_loc : IN     std_logic_vector( 2 DOWNTO 0 );      cpu_rst : IN     std_logic;      cy : IN     std_logic;      data_alu : IN     std_logic_vector( 2 DOWNTO 0 );      int_clk : IN     std_logic;      ov : IN     std_logic;      set_ac_ov : IN     std_logic;      set_cy : IN     std_logic;      tmp1 : IN     std_logic_vector( 7 DOWNTO 0 );      tmp1_done : IN     std_logic;      tmp2 : IN     std_logic_vector( 7 DOWNTO 0 );      use_acc_0 : IN     std_logic;      use_cy : IN     std_logic;      ac_out : OUT    std_logic;      alu_result : OUT    std_logic_vector( 7 DOWNTO 0 );      cmp_true : OUT    std_logic;      cy_out : OUT    std_logic;      ov_out : OUT    std_logic   );END COMPONENT;COMPONENT ir_decoder   PORT (      alu_second_result : IN     std_logic;      cpu_rst : IN     std_logic;      cy : IN     std_logic;      int_clk : IN     std_logic;      ir : IN     std_logic_vector( 7 DOWNTO 0 );      new_ir : IN     std_logic;      alu_cmd : OUT    std_logic_vector( 3 DOWNTO 0 );      data_alu : OUT    std_logic_vector( 2 DOWNTO 0 );      data_dest : OUT    std_logic_vector( 2 DOWNTO 0 );      data_t1 : OUT    std_logic_vector( 2 DOWNTO 0 );      data_t2 : OUT    std_logic_vector( 2 DOWNTO 0 );      dest_cmd : OUT    std_logic_vector( 3 DOWNTO 0 );      read_latch : OUT    std_logic;      set_ac_ov : OUT    std_logic;      set_cy : OUT    std_logic;      t1_cmd : OUT    std_logic_vector( 3 DOWNTO 0 );      t2_cmd : OUT    std_logic_vector( 3 DOWNTO 0 );      two_dests : OUT    std_logic;      use_acc_0 : OUT    std_logic;      use_cy : OUT    std_logic   );END COMPONENT;COMPONENT tmp_regs   PORT (      acc : IN     std_logic_vector( 7 DOWNTO 0 );      acknow : IN     std_logic;      alu_result : IN     std_logic_vector( 7 DOWNTO 0 );      cpu_rst : IN     std_logic;      data_dest : IN     std_logic_vector( 2 DOWNTO 0 );      data_t1 : IN     std_logic_vector( 2 DOWNTO 0 );      data_t2 : IN     std_logic_vector( 2 DOWNTO 0 );      dest_cmd : IN     std_logic_vector( 3 DOWNTO 0 );      int_clk : IN     std_logic;      new_ir : IN     std_logic;      rs : IN     std_logic_vector( 1 DOWNTO 0 );      t1_cmd : IN     std_logic_vector( 3 DOWNTO 0 );      t2_cmd : IN     std_logic_vector( 3 DOWNTO 0 );      two_dests : IN     std_logic;      addr_gb : OUT    std_logic_vector( 7 DOWNTO 0 );      alu_second_result : OUT    std_logic;      bit_loc : OUT    std_logic_vector( 2 DOWNTO 0 );      cpu_done : OUT    std_logic;      dec_rd_sp : OUT    std_logic;      inc_wr_sp : OUT    std_logic;      indirect_sel : OUT    std_logic;      rd_gb : OUT    std_logic;      rd_pmem1 : OUT    std_logic;      rd_pmem2 : OUT    std_logic;      tmp1 : OUT    std_logic_vector( 7 DOWNTO 0 );      tmp1_done : OUT    std_logic;      tmp2 : OUT    std_logic_vector( 7 DOWNTO 0 );      wr_acc : OUT    std_logic;      wr_gb : OUT    std_logic;      wr_out : OUT    std_logic;      data_gb : INOUT  std_logic_vector( 7 DOWNTO 0 )   );END COMPONENT;-- Optional embedded configurations--synopsys translate_offFOR ALL : al_unit USE ENTITY mc8051.al_unit;FOR ALL : ir_decoder USE ENTITY mc8051.ir_decoder;FOR ALL : tmp_regs USE ENTITY mc8051.tmp_regs;--synopsys translate_onBEGIN-- Architecture concurrent statements-- HDL Text Block 1cpu_rst <= int_rst OR cpu_done;-- Instance port mappings.   I3 : al_unit      PORT MAP (         ac => ac,         alu_cmd => alu_cmd(3 downto 0),         bit_loc => bit_loc(2 downto 0),         cpu_rst => cpu_rst,         cy => cy,         data_alu => data_alu(2 downto 0),         int_clk => int_clk,         ov => ov,         set_ac_ov => set_ac_ov,         set_cy => set_cy,         tmp1 => tmp1(7 downto 0),         tmp1_done => tmp1_done,         tmp2 => tmp2(7 downto 0),         use_acc_0 => use_acc_0,         use_cy => use_cy,         ac_out => ac_out,         alu_result => alu_result(7 downto 0),         cmp_true => cmp_true,         cy_out => cy_out,         ov_out => ov_out      );   I2 : ir_decoder      PORT MAP (         alu_second_result => alu_second_result,         cpu_rst => cpu_rst,         cy => cy,         int_clk => int_clk,         ir => ir(7 downto 0),         new_ir => new_ir,         alu_cmd => alu_cmd(3 downto 0),         data_alu => data_alu(2 downto 0),         data_dest => data_dest(2 downto 0),         data_t1 => data_t1(2 downto 0),         data_t2 => data_t2(2 downto 0),         dest_cmd => dest_cmd(3 downto 0),         read_latch => read_latch,         set_ac_ov => set_ac_ov,         set_cy => set_cy,         t1_cmd => t1_cmd(3 downto 0),         t2_cmd => t2_cmd(3 downto 0),         two_dests => two_dests,         use_acc_0 => use_acc_0,         use_cy => use_cy      );   I0 : tmp_regs      PORT MAP (         acc => acc(7 downto 0),         acknow => acknow,         alu_result => alu_result(7 downto 0),         cpu_rst => cpu_rst,         data_dest => data_dest(2 downto 0),         data_t1 => data_t1(2 downto 0),         data_t2 => data_t2(2 downto 0),         dest_cmd => dest_cmd(3 downto 0),         int_clk => int_clk,         new_ir => new_ir,         rs => rs(1 downto 0),         t1_cmd => t1_cmd(3 downto 0),         t2_cmd => t2_cmd(3 downto 0),         two_dests => two_dests,         addr_gb => addr_gb(7 downto 0),         alu_second_result => alu_second_result,         bit_loc => bit_loc(2 downto 0),         cpu_done => cpu_done,         dec_rd_sp => dec_rd_sp,         inc_wr_sp => inc_wr_sp,         indirect_sel => indirect_sel,         rd_gb => rd_gb,         rd_pmem1 => rd_pmem1,         rd_pmem2 => rd_pmem2,         tmp1 => tmp1(7 downto 0),         tmp1_done => tmp1_done,         tmp2 => tmp2(7 downto 0),         wr_acc => wr_acc,         wr_gb => wr_gb,         wr_out => wr_out,         data_gb => data_gb(7 downto 0)      );END struct;

⌨️ 快捷键说明

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