LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cores > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: 14345609 at sun.ac.za<14345609@s...>
    Date: Wed Aug 29 21:19:14 CEST 2007
    Subject: [oc] I am having trouble editing a signal in a sub program IN VHDL
    Top
    I declared a signal called reg_A. I then want to edit the signal in
    another subprogram. I basically want reg_A to be one of my inputs to a
    sub program(ALU_test) edit reg_A in the subprogram and then I want
    the output of my subprogram to change reg_A in the main program
    (test). When I tried to do this an error occurred ("Signal reg_A has
    multiple sources"). I am not sure what to do could some one please
    help me.

    library ieee;
    use ieee.std_logic_1164.all;

    entity test is
    port ( clk : in std_logic;
    choze : in std_logic_vector(3 downto 0);
    data_t : in std_logic_vector(7 downto 0);
    Outw : out std_logic_vector(7 downto 0));
    end entity test;

    architecture no1 of test is
    ------------------------------------------------------------
    component ALU_test is
    port ( clk : in std_logic;
    choose : in std_logic_vector(3 downto 0);
    vlaggieIN : in std_logic_vector(7 downto 0);
    vlaggie : out std_logic_vector(7 downto 0));
    end component ALU_test;
    ------------------------------------------------------------
    signal reg_A
    : std_logic_vector(7 downto 0);
    ------------------------------------------------------------
    begin
    process (clk)
    begin
    if rising_edge(clk) then
    reg_A <= "11111111";
    end if;--if rising_edge(clk) then
    end process;

    r1: ALU_toets4 port map (clk,choze,reg_A,reg_A);

    Outw <= reg_A;

    end architecture no1;
    ---------------------------------------------------------------------
    -----
    ========================================
    =================
    ---------------------------------------------------------------------
    -----
    library ieee;
    use ieee.std_logic_1164.all;
    use ieee.std_logic_unsigned.all;

    entity ALU_test is
    port ( clk : in std_logic;
    choose : in std_logic_vector(3 downto 0);
    vlaggieIN : in std_logic_vector(7 downto 0);
    vlaggie : out std_logic_vector(7 downto 0));
    end entity ALU_test;

    architecture alu1 of ALU_test is

    begin
    process (clk)
    begin
    if rising_edge(clk) then
    case choose is
    -----------------------------------
    -- add
    -----------------------------------
    when "1000" =>
    vlaggie <= "10101011" +
    vlaggieIN;
    -----------------------------------
    -- sub
    -----------------------------------
    when "0100" =>
    vlaggie <= "10100100";
    -----------------------------------
    -- maal
    -----------------------------------
    when "0010" =>
    vlaggie <= vlaggieIN;
    -----------------------------------
    when others =>
    vlaggie <= "00000000";
    -----------------------------------
    end case;--case kies is

    end if;--if rising_edge(clk) then
    end process;
    end architecture alu1;

    Follow upAuthor
    RES: [oc] I am having trouble editing a signal in a sub program IN VHDLRoberto Junqueira

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.