fuwei.vhd

来自「机器状态机。控制工作方式。用vhdl写的。很不错哦」· VHDL 代码 · 共 37 行

VHD
37
字号
--主时钟12.5M;PLL送出
--探测器送入时钟为6.25M
--产生20ms的reset
--经4次fenpin得1/16;则送入为12.5M/16
library ieee;
use ieee.std_logic_1164.all;
use ieee. std_logic_unsigned.all;
entity fuwei is
	PORT
	(
		clk		: IN	STD_LOGIC;		
		reset	: OUT	STD_LOGIC
	);
END fuwei;
ARCHITECTURE a OF fuwei IS
	SIGNAL clk_num : STD_LOGIC_vector(16 downto 0);         --125000=11110100001001000
BEGIN                                                       --BAI:12500个MC即可得到20ms的reset信号。    
	 Process(clk)
	   begin
	   if(clk'event and clk='1')then
	      clk_num<=clk_num+'1';
	      if(clk_num="000000000000000001")then
	       -- if(clk_num="01000000000000")then
	         reset<='1';
	      end if;
	      if(clk_num="000000000000000010")then              --bai:reset高电平时间为一个tmc
	        reset<='0';
	      end if;
	      if(clk_num="11110100001000111")then                --白:124999
	         clk_num<="00000000000000000";                   --白:clk来的时候才执行此句。 
	        -- reset<='1';                                   --白:计到124999的下一个clk来时,num变0,再下一个即125001个clk时reset变1。  
	      end if;                                            --白:又reset在计到第一个clk的时候为1,所以得到的reset的周期为125000个MC,即20ms。
	   end if;
	  end process;	
END a;

⌨️ 快捷键说明

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