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

📄 mc8051_alu_struc.vhd

📁 这是用C语言编写的关于8051的VHDL的源代码
💻 VHD
字号:
---------------------------------------------------------------------------------                                                                           ----          X       X   XXXXXX    XXXXXX    XXXXXX    XXXXXX      X          ----          XX     XX  X      X  X      X  X      X  X           XX          ----          X X   X X  X         X      X  X      X  X          X X          ----          X  X X  X  X         X      X  X      X  X         X  X          ----          X   X   X  X          XXXXXX   X      X   XXXXXX      X          ----          X       X  X         X      X  X      X         X     X          ----          X       X  X         X      X  X      X         X     X          ----          X       X  X      X  X      X  X      X         X     X          ----          X       X   XXXXXX    XXXXXX    XXXXXX    XXXXXX      X          ----                                                                           ----                                                                           ----                       O R E G A N O   S Y S T E M S                       ----                                                                           ----                            Design & Consulting                            ----                                                                           -----------------------------------------------------------------------------------                                                                           ----         Web:           http://www.oregano.at/                             ----                                                                           ----         Contact:       mc8051@oregano.at                                  ----                                                                           -----------------------------------------------------------------------------------                                                                           ----  MC8051 - VHDL 8051 Microcontroller IP Core                               ----  Copyright (C) 2001 OREGANO SYSTEMS                                       ----                                                                           ----  This library is free software; you can redistribute it and/or            ----  modify it under the terms of the GNU Lesser General Public               ----  License as published by the Free Software Foundation; either             ----  version 2.1 of the License, or (at your option) any later version.       ----                                                                           ----  This library is distributed in the hope that it will be useful,          ----  but WITHOUT ANY WARRANTY; without even the implied warranty of           ----  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU        ----  Lesser General Public License for more details.                          ----                                                                           ----  Full details of the license can be found in the file LGPL.TXT.           ----                                                                           ----  You should have received a copy of the GNU Lesser General Public         ----  License along with this library; if not, write to the Free Software      ----  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  ----                                                                           ---------------------------------------------------------------------------------------         Author:                 Roland H鰈ler----         Filename:               mc8051_alu_struc.vhd----         Date of Creation:       Mon Aug  9 12:14:48 1999----         Version:                $Revision: 1.8 $----         Date of Latest Version: $Date: 2002/01/07 12:17:44 $------         Description: Connects the units alumux, alucore, addsub_core,--                      comb_mltplr, comb_divider, and dcml_adjust together.--                      The whole design is made up of combinational logic.---------------------------------------------------------------------------------------architecture struc of mc8051_alu is  signal s_alu_result   : std_logic_vector(DWIDTH-1 downto 0);  signal s_alu_new_cy   : std_logic_vector((DWIDTH-1)/4 downto 0);  signal s_alu_op_a     : std_logic_vector(DWIDTH-1 downto 0);  signal s_alu_op_b     : std_logic_vector(DWIDTH-1 downto 0);  signal s_alu_cmd      : std_logic_vector(3 downto 0);  signal s_dvdnd        : std_logic_vector(DWIDTH-1 downto 0);  signal s_dvsor        : std_logic_vector(DWIDTH-1 downto 0);  signal s_qutnt        : std_logic_vector(DWIDTH-1 downto 0);  signal s_rmndr        : std_logic_vector(DWIDTH-1 downto 0);  signal s_mltplcnd     : std_logic_vector(DWIDTH-1 downto 0);  signal s_mltplctr     : std_logic_vector(DWIDTH-1 downto 0);  signal s_product      : std_logic_vector((DWIDTH*2)-1 downto 0);  signal s_dcml_data    : std_logic_vector(DWIDTH-1 downto 0);  signal s_dcml_rslt    : std_logic_vector(DWIDTH-1 downto 0);  signal s_dcml_cy      : std_logic;  signal s_addsub_rslt  : std_logic_vector(DWIDTH-1 downto 0);  signal s_addsub_newcy : std_logic_vector((DWIDTH-1)/4 downto 0);  signal s_addsub_ov    : std_logic;  signal s_addsub_cy    : std_logic;  signal s_addsub       : std_logic;  signal s_addsub_opa   : std_logic_vector(DWIDTH-1 downto 0);  signal s_addsub_opb   : std_logic_vector(DWIDTH-1 downto 0);begin                 -- architecture structural  i_alumux : alumux    generic map (      DWIDTH => DWIDTH)    port map (      -- Primary I/Os of the ALU unit.      rom_data_i    => rom_data_i,      ram_data_i    => ram_data_i,      acc_i         => acc_i,      cmd_i         => cmd_i,      cy_i          => cy_i,      ov_i          => ov_i,      cy_o          => new_cy_o,      ov_o          => new_ov_o,      result_a_o    => result_a_o,      result_b_o    => result_b_o,      -- I/Os connecting the submodules.      result_i      => s_alu_result,      new_cy_i      => s_alu_new_cy,      addsub_rslt_i => s_addsub_rslt,      addsub_cy_i   => s_addsub_newcy,      addsub_ov_i   => s_addsub_ov,      op_a_o        => s_alu_op_a,      op_b_o        => s_alu_op_b,      alu_cmd_o     => s_alu_cmd,      opa_o         => s_addsub_opa,      opb_o         => s_addsub_opb,      addsub_o      => s_addsub,      addsub_cy_o   => s_addsub_cy,      dvdnd_o       => s_dvdnd,      dvsor_o       => s_dvsor,      qutnt_i       => s_qutnt,      rmndr_i       => s_rmndr,      mltplcnd_o    => s_mltplcnd,      mltplctr_o    => s_mltplctr,      product_i     => s_product,      dcml_data_o   => s_dcml_data,      dcml_data_i   => s_dcml_rslt,      dcml_cy_i     => s_dcml_cy);  i_alucore : alucore    generic map (      DWIDTH    => DWIDTH)    port map (      op_a_i    => s_alu_op_a,      op_b_i    => s_alu_op_b,      alu_cmd_i => s_alu_cmd,      cy_i      => cy_i,      cy_o      => s_alu_new_cy,      result_o  => s_alu_result);  i_addsub_core : addsub_core    generic map (DWIDTH => DWIDTH)    port map (opa_i    => s_addsub_opa,              opb_i    => s_addsub_opb,              addsub_i => s_addsub,              cy_i     => s_addsub_cy,              cy_o     => s_addsub_newcy,              ov_o     => s_addsub_ov,              rslt_o   => s_addsub_rslt);  gen_multiplier : if C_IMPL_MUL = 1 generate    i_comb_mltplr : comb_mltplr      generic map (        DWIDTH     => DWIDTH)      port map (        mltplcnd_i => s_mltplcnd,        mltplctr_i => s_mltplctr,        product_o  => s_product);  end generate gen_multiplier;  gen_divider  : if C_IMPL_DIV = 1 generate    i_comb_divider : comb_divider      generic map (        DWIDTH  => DWIDTH)      port map (        dvdnd_i => s_dvdnd,        dvsor_i => s_dvsor,        qutnt_o => s_qutnt,        rmndr_o => s_rmndr);  end generate gen_divider;  gen_dcml_adj  : if C_IMPL_DA = 1 generate    i_dcml_adjust : dcml_adjust      generic map (        DWIDTH => DWIDTH)      port map (        data_i => s_dcml_data,        cy_i   => cy_i,        data_o => s_dcml_rslt,        cy_o   => s_dcml_cy);  end generate gen_dcml_adj;end struc;

⌨️ 快捷键说明

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