-- Copyright (C) 2020-2022 F4PGA Authors. -- -- Licensed under the Apache License, Version 2.0 (the "License"); -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- -- https://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. -- -- SPDX-License-Identifier: Apache-2.0 library ieee; context ieee.ieee_std_context; entity Arty_Counter is port ( CLK : in std_logic; LEDs : out std_logic_vector(3 downto 0) ); end; architecture arch of Arty_Counter is constant LOG2DELAY : natural := 22; signal counter : unsigned(LEDs'length+LOG2DELAY-1 downto 0) := (others=>'0'); begin process (CLK) begin counter <= counter + 1 when rising_edge(CLK); end process; LEDs <= std_logic_vector(resize(shift_right(counter, LOG2DELAY), LEDs'length)); end;