[CPLD]

CPLD 下降沿触发信号

[复制链接]
836|2
手机看帖
扫描二维码
随时随地手机跟帖
DAEMONS|  楼主 | 2017-5-15 17:43 | 显示全部楼层
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.std_logic_unsigned.all;
use IEEE.std_logic_arith.all;
entity latch_A is
  PORT(
       pin_in :IN  STD_LOGIC;  --输入
                 clk :IN  STD_LOGIC;  --输入主频
       pin_out :OUT STD_LOGIC   --输出管脚
      );
end latch_A;

architecture Behavioral of latch_A is
SIGNAL output_reg:STD_LOGIC:='0';
--signal cnt: STD_LOGIC_VECTOR(2 downto 0);
BEGIN
    PROCESS
    VARIABLE cnt: INTEGER:=0;--to 5;
   BEGIN                     
           WAIT UNTIL(RISING_EDGE(clk));
                          IF pin_in='0' THEN
                          --IF (pin_in'event AND pin_in='1') THEN --AND cnt=5 THEN --下降沿检测不能用多个状态 只有一个IF
                          --IF falling_edge(pin_in) THEN
                IF cnt=20 THEN
                                       --cnt:=0;
                   output_reg<='0';         
                                ELSE --IF cnt<"101" THEN
                                    cnt:=cnt+1;
                                    output_reg<='1';
                                        --END IF;
                END IF;
                                    ELSE IF pin_in='1' THEN
                                       output_reg<='0';
                                                 cnt:=0;
                           END IF;       
                      END IF;               
    END PROCESS;
pin_out<=output_reg;
end Behavioral;


这是我自己的代码,但是输出不稳定

使用特权

评论回复
mcu5i51| | 2017-5-16 08:35 | 显示全部楼层
输入用于计数器使能/复位,之后就可以比较计数值了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

10

帖子

0

粉丝