Quantcast
Channel: Altera Forums
Viewing all articles
Browse latest Browse all 19390

problem (?) using shared variables

$
0
0
Hi,

I need your kind opinion. Please, anyone explain me why the following code is not running.

VHDL code (sel-explainable)
Code:

------------------------------------------------------
entity counter_with_sharedvar is
  port (clk: in bit;
        digit1, digit2: out integer range 0 to 9);
end entity;
------------------------------------------------------
architecture counter of counter_with_sharedvar is
  shared variable temp1, temp2: integer range 0 to 9;
begin
----------------------------------
  proc1: process (clk)
  begin
      if (clk'EVENT and clk='1') then
        if (temp1=9) then
            temp1 := 0;
        else
            temp1 := temp1 + 1;
        end if;
      end if;
  end process proc1;
----------------------------------
  proc2: process (clk)
  begin
      if (clk'EVENT and clk='1') then
        if (temp1=9) then
            if (temp2=9) then
              temp2 := 0;
            else
              temp2 := temp2 + 1; 
            end if;
        end if;
      end if;
  end process proc2;
----------------------------------
  digit1 <= temp1;
  digit2 <= temp2;
end architecture;


VHDL testbench code

Code:

entity tb_cct is
end entity tb_cct;


architecture arch of tb_cct is
  constant T: time := 20 ns;
  signal t_clk: bit;
    signal t_d1: integer range 0 to 9;
    signal t_d2: integer range 0 to 9;
begin
  uut: entity work.counter_with_sharedvar(counter)
        port map(clk => t_clk, digit1 => t_d1, digit2 => t_d2);
  process
    begin
      t_clk <= '0';
        wait for T/2;
        t_clk <= '1';
        wait for T/2;
    end process;
end arch;

simulation result (50 MHz oscilator)

sim.jpg

Any ideas?
Regards
Jaraqui
Attached Images

Viewing all articles
Browse latest Browse all 19390

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>