⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pwm.vhd

📁 VHDL基础的编程源代码
💻 VHD
字号:
--/*****************************************************************************
-- * 源文件:	pwm.vhd
-- * 模块:   	PWM调制
-- * 版权:
-- *         	Copyright(C) 北京联华众科科技有限公司
-- *						www.lianhua-zhongke.com.cn
-- * 版本:  	Version 1.0
-- * 
-- * 功能说明:
-- *		   	调节输入的慢时钟的点空比,使高电平为输入的快时钟周期的整
-- *			数倍。
-- *
-- * 参数说明:
-- *	       	输出
-- *			clock_out - 调制后的输出信号
-- *
-- *			输入
-- *			clock_m - 慢时钟,将被调制的时钟
-- *			clock - 快时钟,用以调制慢时钟
-- *			reset - 复位信号,低电平有效
-- *
-- *			参数
-- *			pulse_width - 输出信号的高电平持续时长,为快时钟周期的整数倍
-- *
-- * 变更记录: 
-- *         2006.01.28, 新建
-- *
-- *****************************************************************************/
LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;USE ieee.std_logic_unsigned.all;ENTITY pwm IS	GENERIC	(		pulse_width : INTEGER:= 2	);		PORT	(		clock_out : OUT STD_LOGIC;				clock_m : IN STD_LOGIC;		clock : IN STD_LOGIC;		reset : IN STD_LOGIC	);	END pwm;ARCHITECTURE pwm_architecture OF pwm IS	BEGIN		PROCESS(clock, clock_m, reset)		VARIABLE delay_counter : INTEGER;	BEGIN				IF (reset = '0') THEN			clock_out <= '0';			delay_counter := 0;					ELSIF(clock = '1' AND clock'EVENT) THEN			IF (clock_m = '1') THEN								IF (delay_counter = pulse_width) THEN					clock_out <= '0';				ELSE					clock_out <= '1';					delay_counter := delay_counter+1;				END IF;			ELSE				clock_out <= '0';				delay_counter := 0;			END IF;		END IF;			END PROCESS;END pwm_architecture;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -