基于梯形图VHDL的CPLD开发方法研究
时间:11-07
来源:互联网
点击:
应用实例
以下通过图1所示的典型的顺序控制电路的实例来说明梯形图的VHDL描述方法。
在图1中,X0、X2和X4分别是三个输出回路的启动信号,X1、X3和X5分别是三个输出回路的停止信号,Y0、Y1和Y2分别是三个输出回路的输出执行元件。只有当Y0启动输出后,才允许Y1启动;只有当Y1启动输出后,才允许Y2启动。reset为CPLD芯片的上电复位信号,低电平有效。
实现该电路控制的VHDL程序逻辑如下:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY sequence IS
PORT(X0, X1, X2, X3, X4, X5: IN STD_LOGIC;
RESET: IN STD_LOGIC;
Y0, Y1, Y2 : BUFFER STD_LOGIC);
END sequence;
ARCHITECTURE ladder OF sequence IS
BEGIN
PROCESS(RESET, X0,X1,X2,X3,X4,X5)
BEGIN
IF (RESET='0') THEN
Y0<='0'; Y1<='0'; Y2<='0';
ELSE
Y0<=(X0 OR Y0)AND (NOT X1);
Y1<=(X2 OR Y1)AND (NOT X3)AND Y0;
Y2<=(X4 OR Y2)AND (NOT X5)AND Y1;
END IF;
END PROCESS;
END ladder;
利用MAX+PLUS II的定时仿真工具对上面的程序进行仿真,结果如图2所示。从时序仿真的结果可以看到,电路的输出逻辑与梯形图原型的逻辑完全一致。
结语
本文通过对一个典型顺序控制电路梯形图的VHDL程序设计与时序仿真,表明梯形图-VHDL设计方法是正确可行的。梯形图法的引入使VHDL程序的设计得到简化,所设计出的程序结构简练,输出逻辑表达清楚。梯形图与VHDL程序分工明确,电路逻辑功能设计的工作由梯形图来承担,而VHDL程序只需负责对梯形图的逻辑功能进行描述并生成CPLD的下载文件。这样,对两种设计工具各取所长,就使得用CPLD开发顺序逻辑控制电路和系统的效率得到提高。
以下通过图1所示的典型的顺序控制电路的实例来说明梯形图的VHDL描述方法。
在图1中,X0、X2和X4分别是三个输出回路的启动信号,X1、X3和X5分别是三个输出回路的停止信号,Y0、Y1和Y2分别是三个输出回路的输出执行元件。只有当Y0启动输出后,才允许Y1启动;只有当Y1启动输出后,才允许Y2启动。reset为CPLD芯片的上电复位信号,低电平有效。
实现该电路控制的VHDL程序逻辑如下:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY sequence IS
PORT(X0, X1, X2, X3, X4, X5: IN STD_LOGIC;
RESET: IN STD_LOGIC;
Y0, Y1, Y2 : BUFFER STD_LOGIC);
END sequence;
ARCHITECTURE ladder OF sequence IS
BEGIN
PROCESS(RESET, X0,X1,X2,X3,X4,X5)
BEGIN
IF (RESET='0') THEN
Y0<='0'; Y1<='0'; Y2<='0';
ELSE
Y0<=(X0 OR Y0)AND (NOT X1);
Y1<=(X2 OR Y1)AND (NOT X3)AND Y0;
Y2<=(X4 OR Y2)AND (NOT X5)AND Y1;
END IF;
END PROCESS;
END ladder;
利用MAX+PLUS II的定时仿真工具对上面的程序进行仿真,结果如图2所示。从时序仿真的结果可以看到,电路的输出逻辑与梯形图原型的逻辑完全一致。
结语
本文通过对一个典型顺序控制电路梯形图的VHDL程序设计与时序仿真,表明梯形图-VHDL设计方法是正确可行的。梯形图法的引入使VHDL程序的设计得到简化,所设计出的程序结构简练,输出逻辑表达清楚。梯形图与VHDL程序分工明确,电路逻辑功能设计的工作由梯形图来承担,而VHDL程序只需负责对梯形图的逻辑功能进行描述并生成CPLD的下载文件。这样,对两种设计工具各取所长,就使得用CPLD开发顺序逻辑控制电路和系统的效率得到提高。
电路 机器人 自动化 CPLD VHDL PLC 仿真 相关文章:
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 基于PLB总线的H.264整数变换量化软核的设计(03-20)
- FPGA按键模式的研究与设计(03-24)
- 周立功:如何兼顾学习ARM与FPGA(05-23)