J
Jarek
Guest
Hi.
How to simulate (observe) signals not connected to port (Xiilinx ISE
WebPack-ModelSim XE).
For example signal counter in project test.vhd.
Best regards
Jarek
-----test.vhd
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Test is
Port ( clock: in std_logic; -- system clock (25 MHz)
resetn: in std_logic; -- active low reset
c_out: out std_logic);
end Test;
architecture Behavioral of Test is
signal counter: std_logic_vector(3 downto 0);
begin
COUNT: process (clock, resetn)
begin
if (resetn = '0') then
counter <= (others => '0');
elsif (clock'event and clock = '1') then
counter <= counter + 1;
end if;
end process;
c_out <= counter(3);
end Behavioral;
--------------VHDL Test Bench
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
ENTITY testbench IS
constant Period : time := 40 ns; -- 25 MHz System Clock
END testbench;
ARCHITECTURE behavior OF testbench IS
COMPONENT test
PORT(
clock : IN std_logic;
resetn : IN std_logic;
c_out : OUT std_logic
);
END COMPONENT;
SIGNAL clock : std_logic := '0';
SIGNAL resetn : std_logic;
SIGNAL c_out : std_logic;
BEGIN
uut: test PORT MAP(
clock => clock,
resetn => resetn,
c_out => c_out
);
clock <= not clock after (Period / 2);
resetn <= '0', '1' after Period;
tb : PROCESS
BEGIN
wait; -- will wait forever
END PROCESS;
END;
How to simulate (observe) signals not connected to port (Xiilinx ISE
WebPack-ModelSim XE).
For example signal counter in project test.vhd.
Best regards
Jarek
-----test.vhd
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Test is
Port ( clock: in std_logic; -- system clock (25 MHz)
resetn: in std_logic; -- active low reset
c_out: out std_logic);
end Test;
architecture Behavioral of Test is
signal counter: std_logic_vector(3 downto 0);
begin
COUNT: process (clock, resetn)
begin
if (resetn = '0') then
counter <= (others => '0');
elsif (clock'event and clock = '1') then
counter <= counter + 1;
end if;
end process;
c_out <= counter(3);
end Behavioral;
--------------VHDL Test Bench
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
ENTITY testbench IS
constant Period : time := 40 ns; -- 25 MHz System Clock
END testbench;
ARCHITECTURE behavior OF testbench IS
COMPONENT test
PORT(
clock : IN std_logic;
resetn : IN std_logic;
c_out : OUT std_logic
);
END COMPONENT;
SIGNAL clock : std_logic := '0';
SIGNAL resetn : std_logic;
SIGNAL c_out : std_logic;
BEGIN
uut: test PORT MAP(
clock => clock,
resetn => resetn,
c_out => c_out
);
clock <= not clock after (Period / 2);
resetn <= '0', '1' after Period;
tb : PROCESS
BEGIN
wait; -- will wait forever
END PROCESS;
END;