用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

一个嵌入式系统的Petri网模型与CPLD实现

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:30:34
为一个基本设计实体,其主要由实体说明(entity declaration)和构造体(architecture body)两部分构成。实体说明部分规定了设计单元的输入输出接口信号或引脚。根据该控制器的C/E系统中关心和需观察的变量选择系统的输入和输出信号,以确定基本设计单元的实体及其端口。在控制器的C/E系统模型中,因为事件驱动条件是变化的,所以将发生的事件作为设计实体的输入信号,系统条件作为实体的输出信号。同时,为实体设计一个输入端口sysSTART,使系统上电复位。当sysSTART触发时赋予系统初始标识,系统资源(Token)流动使能。下面是具体的VHDL实体描述。

LIBRARY IEEE

USE IEEE.STD_LOGIC_1164.ALL

……其它库

ENTITY MainCtrl IS

PORTsysSTART: IN 数据类型

事件:IN数据类型

条件:OUT数据类型

END MainCtrl IS

构造体部分定义了设计单元的具体构造和操作(行为)。javascript:window.open(this.src);" style="cursor:pointer;"/>C/E系统模型的拓扑结构直观地表达了条件和事件间的约束机制。这种约束机制映射为控制器内部各模块之间的逻辑关系。根据控制器C/E系统模型的特点,可采用多进程结构描述C/E系统。进程内部顺序执行,进程之间并发执行。多进程结构是并行执行进程的网络,多个进程并发执行。因此从C/E系统的拓扑结构,可将各进程映射为C/E系统的各库所状态,从而能够描述出各条件库所间的异步并发关系。各进程之间通过接口信号进行通信。接口信号是由新变化的参量引导进程产生的输出结果。设计进程的程序,使之产生的输出结果成为新的库所状态,从而影响变迁触发(fire)条件,以各进程的输出结果作为进程间的通信接口信号。具体描述如下:

ARCHITECTURE behav OF MainCtrl IS

BEGIN

进程Ri:PROCESS(事件集) i∈1,14

BEGIN

Pi<= 进程Ri的输出;

……

END PROCESS Ri

......

END behav

冲突是由系统资源的共享产生的,与并发是一对对偶的概念1。在实际的Petri网模型中可能存在冲突K=<Pi,T1T2……,M>,网系统自身并不提供解决冲突的方法。避免冲突的方法或措施有:

(1)由用户选择,有冲突的地方通常是需要作出选择和决策的地方。

(2)设置合适的触发规则:确定性产生规则,如优先级;不确定性产生规则,如发生概率。

(3)改变系统结构,即改写Petri网的关联矩阵,增加共享资源回收。

VHDL语言中的并行语句同样不能解决冲突问题。使用VHDL并行语句描述冲突时将导致资源的丢失。而使用VHDL语言中的顺序语句,如进程内部的语句,采用设定不同优先级的方法,可以解决Petri网中存在的冲突。本控制器C/E系统也存在冲突现象,如图3所示。

对每个库所Pi进程的变化(Token的有无),使用电平的高低来表征。事件发生与否,用脉冲出现与否表征。该C/E系统的结构体共有14个并行处理的进程。根据对控制器进行形式描述的思想,在进程内部采用下列结构:

进程Ri:PROCESS(事件参数表) i∈1,14

……

IF<条件表达式> THEN

<行为表达式>

END IF;

END PROCESS 进程Ri;

事件参数表(也称敏感量)中事件触发进程的执行过程是:在判断事件的<条件表达式>为真后,顺序执行其后的<行为表达式>,由新变化的参量引导进程产生输出结果;执行完进程语句后,返回进程的事件参数,等待事件集新的变化,引发进程的再一次进行,往复循环。

图4 顶层模块时序仿真

4 基于VHDL的仿真与CPLD实现

VHDL语言设计技术齐全,方法灵活,支持广泛,对系统硬件描述能力强,具有多层次描述系统硬件的能力,可以从系统的数学模型直到门级电路。对控制器的Petri网模型进行VHDL程序设计后,利用综合器进行逻辑综合和优化,综合后再经仿真器进行时序仿真,得到涉及器件硬件特性的仿真结果,其结果正确。最后下载到Altera系列的EPM7128STC-6芯片上,从而实现视频输入卡逻辑控制器设计。行为仿真结果的仿真波形如图4所示。

将Petri网与EDA技术结合,对视频输入卡逻辑控制器用Petri网的C/E系统建模,并使用VHDL对协议的C/E系统模型进行程序设计,最后由CPLD器件实现控制器模型,使之成为实际的逻辑控制电路。这为硬件电路的高层综合设计提供了一种方法,也为软件系统和硬件系统开辟了一条沟通的渠道。对于其它具有多因素、动态和并发特点的系统,同样可用Petri网建立模型,用CPLD器件对模型进行仿真和实现。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:31,156.25000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号