其中:x1为启动信号,x2为停止信号,y1为输出控制信号,x1、x2和y1都是高电平有效;reset为CPLD芯片的上电复位信号,低电平有效。采用VHDL语言编程如下:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY plc IS
PORT(x1,x2,reset:IN STD_LOGIC;y1:BUFFER STD_LOGIC);
END plc;
ARCHITECTURE ladder OF plc IS
BEGIN
PROCESS(reset,x1,x2)
BEGIN
IF(reset=′0′) THEN y1<=′0′;
ELSE
y1<=(x1 OR y1)AND (NOT x2);
END IF;
END PROCESS;
END ladder;
利用MAX+PLUS II的定时仿真工具对以上程序仿真,结果如图4所示。