📄 clk_div.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.2 (Build Build 156 11/29/2004)
-- Created on Sun May 29 22:35:14 2005
LIBRARY ieee;
USE ieee.std_logic_1164.all;
-- Entity Declaration
ENTITY CLK_DIV IS
-- {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE!
PORT
(
CPLD_CLKIN : IN STD_LOGIC;
PB_RS : IN STD_LOGIC;
Key_CLK : OUT STD_LOGIC
);
-- {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE!
END CLK_DIV;
-- Architecture Body
ARCHITECTURE CLK_DIV_architecture OF CLK_DIV IS
SIGNAL CLK:STD_LOGIC;
CONSTANT DIV_NUM:INTEGER:=160;
--400=>脉冲宽度20uS
--300=>脉冲宽度15uS
--200=>脉冲宽度10uS
--100=>脉冲宽度5uS
--60=>脉冲宽度3uS
--40=>脉冲宽度2uS
BEGIN
Make_CLK:
PROCESS (PB_RS,CPLD_CLKIN)
VARIABLE CNT1 :INTEGER RANGE 0 TO 310;
BEGIN
-- Toggle txclk every 160 counts, which divides the clock by 320
IF PB_RS='0' THEN
CLK <= '0' ;
CNT1 := 0 ;
ELSIF rising_edge(CPLD_CLKIN) THEN
IF (CNT1 = DIV_NUM) THEN
CNT1:=0;
CLK <= NOT CLK;
END IF;
CNT1 := CNT1 + 1; -- Use the exemplar_1164 "+" on std_logic_vector
END IF;
END PROCESS Make_CLK;
Key_CLK<=CLK;
END CLK_DIV_architecture;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -