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

📄 mc8051_p.vhd

📁 8051 MCU在nois平台上的实现代码(VHDL)
💻 VHD
📖 第 1 页 / 共 3 页
字号:
            helpb_en_o   : out std_logic;            inthigh_en_o : out std_logic;            intlow_en_o  : out std_logic;            intpre2_en_o : out std_logic;            inthigh_d_o  : out std_logic;            intlow_d_o   : out std_logic;            intpre2_d_o  : out std_logic);  end component;  component control_mem    port (pc_o           : out std_logic_vector(15 downto 0);          rom_data_i     : in  std_logic_vector(7 downto 0);          ram_data_o     : out std_logic_vector(7 downto 0);          ram_data_i     : in  std_logic_vector(7 downto 0);          ram_adr_o      : out std_logic_vector(6 downto 0);          reg_data_o     : out std_logic_vector(7 downto 0);          ram_wr_o       : out std_logic;          cy_o           : out std_logic_vector(1 downto 0);          ov_o           : out std_logic;          ram_en_o       : out std_logic;          aludata_i      : in  std_logic_vector (7 downto 0);          aludatb_i      : in  std_logic_vector (7 downto 0);          acc_o          : out std_logic_vector (7 downto 0);          new_cy_i       : in  std_logic_vector(1 downto 0);          new_ov_i       : in  std_logic;          reset          : in  std_logic;          clk            : in  std_logic;          int0_i         : in  std_logic_vector(C_IMPL_N_EXT-1 downto 0);          int1_i         : in  std_logic_vector(C_IMPL_N_EXT-1 downto 0);          p0_i           : in  std_logic_vector(7 downto 0);          p1_i           : in  std_logic_vector(7 downto 0);          p2_i           : in  std_logic_vector(7 downto 0);          p3_i           : in  std_logic_vector(7 downto 0);          p0_o           : out std_logic_vector(7 downto 0);          p1_o           : out std_logic_vector(7 downto 0);          p2_o           : out std_logic_vector(7 downto 0);          p3_o           : out std_logic_vector(7 downto 0);          all_trans_o    : out std_logic_vector(C_IMPL_N_SIU-1 downto 0);          all_scon_o     : out std_logic_vector(6*C_IMPL_N_SIU-1 downto 0);          all_sbuf_o     : out std_logic_vector(8*C_IMPL_N_SIU-1 downto 0);          all_smod_o     : out std_logic_vector(C_IMPL_N_SIU-1 downto 0);          all_scon_i     : in  std_logic_vector(3*C_IMPL_N_SIU-1 downto 0);          all_sbuf_i     : in  std_logic_vector(8*C_IMPL_N_SIU-1 downto 0);          all_tcon_tr0_o : out std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_tcon_tr1_o : out std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_tmod_o     : out std_logic_vector(8*C_IMPL_N_TMR-1 downto 0);          all_reload_o   : out std_logic_vector(8*C_IMPL_N_TMR-1 downto 0);          all_wt_o       : out std_logic_vector(2*C_IMPL_N_TMR-1 downto 0);          all_wt_en_o    : out std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_tf0_i      : in  std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_tf1_i      : in  std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_tl0_i      : in  std_logic_vector(8*C_IMPL_N_TMR-1 downto 0);          all_tl1_i      : in  std_logic_vector(8*C_IMPL_N_TMR-1 downto 0);          all_th0_i      : in  std_logic_vector(8*C_IMPL_N_TMR-1 downto 0);          all_th1_i      : in  std_logic_vector(8*C_IMPL_N_TMR-1 downto 0);          state_o        : out t_state;          help_o         : out std_logic_vector(7 downto 0);          bit_data_o     : out std_logic;          command_o      : out std_logic_vector (7 downto 0);          inthigh_o      : out std_logic;          intlow_o       : out std_logic;          intpre_o       : out std_logic;          intpre2_o      : out std_logic;          intblock_o     : out std_logic;    -- *** new          ti_o           : out std_logic;          ri_o           : out std_logic;          it0_o          : out std_logic;          ie0_o          : out std_logic;          it1_o          : out std_logic;          ie1_o          : out std_logic;          tf0_o          : out std_logic;          tf1_o          : out std_logic;          psw_o          : out std_logic_vector(7 downto 0);          ie_o           : out std_logic_vector(7 downto 0);          ip_o           : out std_logic_vector(7 downto 0);          adrx_o         : out std_logic_vector(15 downto 0);          datax_o        : out std_logic_vector(7 downto 0);          wrx_o          : out std_logic;          datax_i        : in  std_logic_vector(7 downto 0);          pc_inc_en_i    : in  std_logic_vector (3 downto 0);          nextstate_i    : in  t_state;          adr_mux_i      : in  std_logic_vector (3 downto 0);          adrx_mux_i     : in  std_logic_vector (1 downto 0);          wrx_mux_i      : in  std_logic;          data_mux_i     : in  std_logic_vector (3 downto 0);          bdata_mux_i    : in  std_logic_vector (3 downto 0);          regs_wr_en_i   : in  std_logic_vector (2 downto 0);          help_en_i      : in  std_logic_vector (3 downto 0);          help16_en_i    : in  std_logic_vector (1 downto 0);          helpb_en_i     : in  std_logic;          inthigh_en_i   : in  std_logic;          intlow_en_i    : in  std_logic;          intpre2_en_i   : in  std_logic;          inthigh_d_i    : in  std_logic;          intlow_d_i     : in  std_logic;          intpre2_d_i    : in  std_logic);  end component;  component mc8051_control    port (pc_o           : out std_logic_vector(15 downto 0);          rom_data_i     : in  std_logic_vector(7 downto 0);          ram_data_o     : out std_logic_vector(7 downto 0);          ram_data_i     : in  std_logic_vector(7 downto 0);          ram_adr_o      : out std_logic_vector(6 downto 0);          reg_data_o     : out std_logic_vector(7 downto 0);          ram_wr_o       : out std_logic;          cy_o           : out std_logic_vector(1 downto 0);          ov_o           : out std_logic;          ram_en_o       : out std_logic;          alu_cmd_o      : out std_logic_vector (5 downto 0);          aludata_i      : in  std_logic_vector (7 downto 0);          aludatb_i      : in  std_logic_vector (7 downto 0);          acc_o          : out std_logic_vector (7 downto 0);          new_cy_i       : in  std_logic_vector(1 downto 0);          new_ov_i       : in  std_logic;          reset          : in  std_logic;          clk            : in  std_logic;          int0_i         : in  std_logic_vector(C_IMPL_N_EXT-1 downto 0);          int1_i         : in  std_logic_vector(C_IMPL_N_EXT-1 downto 0);          datax_i        : in  std_logic_vector (7 downto 0);          datax_o        : out std_logic_vector (7 downto 0);          adrx_o         : out std_logic_vector (15 downto 0);          wrx_o          : out std_logic;          p0_i           : in  std_logic_vector(7 downto 0);          p1_i           : in  std_logic_vector(7 downto 0);          p2_i           : in  std_logic_vector(7 downto 0);          p3_i           : in  std_logic_vector(7 downto 0);          p0_o           : out std_logic_vector(7 downto 0);          p1_o           : out std_logic_vector(7 downto 0);          p2_o           : out std_logic_vector(7 downto 0);          p3_o           : out std_logic_vector(7 downto 0);          all_trans_o    : out std_logic_vector(C_IMPL_N_SIU-1 downto 0);          all_scon_o     : out std_logic_vector(6*C_IMPL_N_SIU-1 downto 0);          all_sbuf_o     : out std_logic_vector(8*C_IMPL_N_SIU-1 downto 0);          all_smod_o     : out std_logic_vector(C_IMPL_N_SIU-1 downto 0);          all_scon_i     : in  std_logic_vector(3*C_IMPL_N_SIU-1 downto 0);          all_sbuf_i     : in  std_logic_vector(8*C_IMPL_N_SIU-1 downto 0);          all_tcon_tr0_o : out std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_tcon_tr1_o : out std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_tmod_o     : out std_logic_vector(8*C_IMPL_N_TMR-1 downto 0);          all_reload_o   : out std_logic_vector(8*C_IMPL_N_TMR-1 downto 0);          all_wt_o       : out std_logic_vector(2*C_IMPL_N_TMR-1 downto 0);          all_wt_en_o    : out std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_tf0_i      : in  std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_tf1_i      : in  std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_tl0_i      : in  std_logic_vector(8*C_IMPL_N_TMR-1 downto 0);          all_tl1_i      : in  std_logic_vector(8*C_IMPL_N_TMR-1 downto 0);          all_th0_i      : in  std_logic_vector(8*C_IMPL_N_TMR-1 downto 0);          all_th1_i      : in  std_logic_vector(8*C_IMPL_N_TMR-1 downto 0));  end component;  component mc8051_core    port (clk         : in  std_logic;          reset       : in  std_logic;          rom_data_i  : in  std_logic_vector(7 downto 0);          ram_data_i  : in  std_logic_vector(7 downto 0);          int0_i      : in  std_logic_vector(C_IMPL_N_EXT-1 downto 0);          int1_i      : in  std_logic_vector(C_IMPL_N_EXT-1 downto 0);          all_t0_i    : in  std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_t1_i    : in  std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_rxd_i   : in  std_logic_vector(C_IMPL_N_SIU-1 downto 0);          p0_i        : in  std_logic_vector(7 downto 0);          p1_i        : in  std_logic_vector(7 downto 0);          p2_i        : in  std_logic_vector(7 downto 0);          p3_i        : in  std_logic_vector(7 downto 0);          p0_o        : out std_logic_vector(7 downto 0);          p1_o        : out std_logic_vector(7 downto 0);          p2_o        : out std_logic_vector(7 downto 0);          p3_o        : out std_logic_vector(7 downto 0);          all_rxd_o   : out std_logic_vector(C_IMPL_N_SIU-1 downto 0);          all_txd_o   : out std_logic_vector(C_IMPL_N_SIU-1 downto 0);          all_rxdwr_o : out std_logic_vector(C_IMPL_N_SIU-1 downto 0);          rom_adr_o   : out std_logic_vector(15 downto 0);          ram_data_o  : out std_logic_vector(7 downto 0);          ram_adr_o   : out std_logic_vector(6 downto 0);          ram_wr_o    : out std_logic;          ram_en_o    : out std_logic;          datax_i     : in  std_logic_vector (7 downto 0);          datax_o     : out std_logic_vector (7 downto 0);          adrx_o      : out std_logic_vector (15 downto 0);          wrx_o       : out std_logic);  end component;  component mc8051_top    port (clk         : in  std_logic;          reset_n     : in  std_logic;    -- *** new          int0_i      : in  std_logic_vector(C_IMPL_N_EXT-1 downto 0);          int1_i      : in  std_logic_vector(C_IMPL_N_EXT-1 downto 0);          all_t0_i    : in  std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_t1_i    : in  std_logic_vector(C_IMPL_N_TMR-1 downto 0);          all_rxd_i   : in  std_logic_vector(C_IMPL_N_SIU-1 downto 0);          p0_i        : in  std_logic_vector(7 downto 0);          p1_i        : in  std_logic_vector(7 downto 0);          p2_i        : in  std_logic_vector(7 downto 0);          p3_i        : in  std_logic_vector(7 downto 0);          p0_o        : out std_logic_vector(7 downto 0);          p1_o        : out std_logic_vector(7 downto 0);          p2_o        : out std_logic_vector(7 downto 0);          p3_o        : out std_logic_vector(7 downto 0);          all_rxd_o   : out std_logic_vector(C_IMPL_N_SIU-1 downto 0);          all_txd_o   : out std_logic_vector(C_IMPL_N_SIU-1 downto 0);          all_rxdwr_o : out std_logic_vector(C_IMPL_N_SIU-1 downto 0)--	  romadr_o: out std_logic_vector(12 downto 0);  -- *** new--  	  romdata_o: out std_logic_vector(7 downto 0)  -- *** new);    end component;  -----------------------------------------------------------------------------  -- START: Component declarations for cyclone implementation models  -----------------------------------------------------------------------------  component mc8051_ram    port (address : in  std_logic_vector(6 downto 0);  -- address	  clock   : in  std_logic;	  clken   : in  std_logic;  -- clock enable--	  reset   : in  std_logic;  *** new	  data    : in  std_logic_vector(7 downto 0);  -- data in          wren    : in  std_logic;   -- write enable          q       : out std_logic_vector(7 downto 0));  -- data out  end component;  component mc8051_ramx    port (address : in  std_logic_vector(12 downto 0); -- address	  clock   : in  std_logic;	  clken	  : in STD_LOGIC ;  -- *** new--	  reset   : in  std_logic;  *** new	  data    : in  std_logic_vector(7 downto 0);  -- data in          wren    : in  std_logic;   -- write enable          q       : out std_logic_vector(7 downto 0));  -- data out  end component;  component mc8051_rom    port (address : in  std_logic_vector(12 downto 0);  -- address          clock   : in  std_logic;          clken   : in  std_logic;--	  reset   : in  std_logic; *** new	  q       : out std_logic_vector(7 downto 0));  -- data out  end component;  component cyclonepll    port (inclk0 : in  std_logic;--	  areset : in  std_logic;  -- *** new	  c0     : out std_logic);  end component;  component mc8051_pram   -- *** new	port	(		data		: IN STD_LOGIC_VECTOR (7 DOWNTO 0);		wren		: IN STD_LOGIC;		wraddress	: IN STD_LOGIC_VECTOR (12 DOWNTO 0);		rdaddress	: IN STD_LOGIC_VECTOR (12 DOWNTO 0);		clock		: IN STD_LOGIC;		enable		: IN STD_LOGIC;		q		: OUT STD_LOGIC_VECTOR (7 DOWNTO 0)	);  end component;    component mc8051_chipsel   -- *** new  port (ramx_adr_i  :  in  std_logic_vector(15 downto 0);               rom_adr_i   :  in  std_logic_vector(15 downto 0);        rom_en_o    :  out std_logic;        pram_en_o   :  out std_logic;        ramx_en_o   :  out std_logic);  end component;  component mc8051_datamux  port (clk         :  in std_logic;	rom_data_i  :  in  std_logic_vector(7 downto 0);               pram_data_i :  in  std_logic_vector(7 downto 0);	select_i    :  in  std_logic;        prog_data_o :  out std_logic_vector(7 downto 0));  end component;--  component mc8051_clockdiv--  port (clk    :  in  std_logic;--	reset  :  in  std_logic;--        clkdiv :  out std_logic);       --  end component;  -----------------------------------------------------------------------------  -- END: Component declarations for cyclone implementation models  -----------------------------------------------------------------------------end mc8051_p;

⌨️ 快捷键说明

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