1
0
This repository has been archived on 2024-10-30. You can view files and clone it, but cannot push or open issues or pull requests.
SEm-ExamMidterm2024/VHD_test/hdl/tb_24_1_1_struct.vhd
2024-03-22 13:16:48 +01:00

97 lines
2.3 KiB
VHDL

--
-- VHDL Architecture VHD_test.tb_24_1_1.struct
--
-- Created:
-- by - remy.borgeat.UNKNOWN (WE10993)
-- at - 15:02:54 20.03.2024
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2019.2 (Build 5)
--
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.numeric_std.ALL;
LIBRARY VHD;
ARCHITECTURE struct OF tb_24_1_1 IS
-- Architecture declarations
constant positionBitNb : positive := 8;
constant clockFrequency : real := 100.0E6;
constant clockPeriod : time := (1.0/clockFrequency) * 1 sec;
signal sClock : std_uLogic := '1';
signal position_int : integer := 0;
-- Internal signal declarations
SIGNAL clock : std_ulogic;
SIGNAL en : std_ulogic;
SIGNAL position : unsigned(positionBitNb-1 DOWNTO 0);
SIGNAL reset : std_ulogic;
SIGNAL up_down : std_ulogic;
-- Component Declarations
COMPONENT ex_24_1_1
GENERIC (
counterBitNb : positive := 8
);
PORT (
en : IN std_ulogic ;
position : OUT unsigned (counterBitNb-1 DOWNTO 0);
up_down : IN std_ulogic ;
clock : IN std_ulogic ;
reset : IN std_ulogic
);
END COMPONENT;
-- Optional embedded configurations
-- pragma synthesis_off
FOR ALL : ex_24_1_1 USE ENTITY VHD.ex_24_1_1;
-- pragma synthesis_on
BEGIN
-- Architecture concurrent statements
-- HDL Embedded Text Block 1 eb1
reset <= '1', '0' after 2*clockPeriod;
sClock <= not sClock after clockPeriod/2;
clock <= transport sClock after clockPeriod*9/10;
process
constant stepDelay: time := 1 us;
begin
en <= '0';
up_down <= '1';
wait for stepDelay;
for index in 0 to 10 loop
en <= '1', '0' after clockPeriod;
position_int <= position_int + 1;
wait for stepDelay;
end loop;
up_down <= '0';
for index in 10 downto 0 loop
en <= '1', '0' after clockPeriod;
position_int <= position_int - 1;
wait for stepDelay;
end loop;
wait;
end process;
-- Instance port mappings.
I_dut : ex_24_1_1
GENERIC MAP (
counterBitNb => positionBitNb
)
PORT MAP (
en => en,
position => position,
up_down => up_down,
clock => clock,
reset => reset
);
END struct;