📄 counter.vhd
字号:
-- WARNING: Do NOT edit the input and output ports in this file in a text
-- editor if you plan to continue editing the block that represents it in
-- the Block Editor! File corruption is VERY likely to occur.
-- Copyright (C) 1991-2004 Altera Corporation
-- Any megafunction design, and related netlist (encrypted or decrypted),
-- support information, device programming or simulation file, and any other
-- associated documentation or information provided by Altera or a partner
-- under Altera's Megafunction Partnership Program may be used only
-- to program PLD devices (but not masked PLD devices) from Altera. Any
-- other use of such megafunction design, netlist, support information,
-- device programming or simulation file, or any other related documentation
-- or information is prohibited for any other purpose, including, but not
-- limited to modification, reverse engineering, de-compiling, or use with
-- any other silicon devices, unless such use is explicitly licensed under
-- a separate agreement with Altera or a megafunction partner. Title to the
-- intellectual property, including patents, copyrights, trademarks, trade
-- secrets, or maskworks, embodied in any such megafunction design, netlist,
-- support information, device programming or simulation file, or any other
-- related documentation or information provided by Altera or a megafunction
-- partner, remains with Altera, the megafunction partner, or their respective
-- licensors. No other licenses, including any licenses needed under any third
-- party's intellectual property, are provided herein.
-- Generated by Quartus II Version 4.1 (Build Build 208 09/10/2004)
-- Created on Sat Oct 23 04:55:36 2004
-- counter will count a decimal number from 1 to 77;
-- it output two digits of the number from 0 to 9 ;
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY counter IS
PORT
(
signal clk: in std_logic;
signal counter_clear: in std_logic;
signal dout1: out integer range 0 to 9; -- low digit
signal dout10: out integer range 0 to 9 -- high digit
);
END counter;
ARCHITECTURE counter_architecture OF counter IS
begin
process(clk)
variable mod1: integer range 0 to 9;
variable mod10: integer range 0 to 9;
begin
if (clk'event and clk='1') then
if counter_clear='1' then -- count when counter_clear is high
if mod1=9 then
mod1:=0;
mod10:=mod10+1;
elsif (mod10=7 and mod1=7) then
mod1:=1;
mod10:=0; -- count 01 after 77;
else
mod1:=mod1+1;
end if;
elsif counter_clear='0' then -- reset when counter_clear is low
mod1:=1;
mod10:=0;
end if;
end if;
dout1 <= mod1;
dout10 <= mod10;
end process;
END counter_architecture;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -