Handel-C中的prialt

原创 2013年12月05日 22:15:35
prialt statements are used with multiple channels, to select the first one that is ready for a read or  write.

prialt
{
       case CommsStatement:
               Statement
               break;
        ......
       default:
               Statement
                break;
}
prialt类似于Switch语句,只是它判断的条件是通道通信,而不是某个变量。它可以用来选择某个通道通信。
而选择的条件是:1、哪个case后边的通道通信先准备好,就执行该通道通信,并且执行通道通信和break之间的语句 Statement。2、通道同时准备好的时候,写在前边的case有优先权。3、如果所有通道都没准备好通信,就执行default后边的语句。
限制条件:同一个通道通信不能出现在两个case中。

例1
程序中的chan1,chan2和chan3通道都可以改变变量y的值,只要其中任意一个通道准备好传送数据,y的值就会被改变。可以通过改变通道中的值,而达到间接改变变量y的值。
while(1)
prialt
{
         case chan1 ? y:    //从通道读取数据
         break;
         case chan2 ? y:
         break;
         case chan3 ? y:
          break;
}

例2:
在如下程序中,prialt中的向通道写会被阻塞,直到第二个clk,z从second通道中读取完数据。
int 4 x, y, z;
chan <int 4> first, second;
par
{
            prialt
           {
                 case first ! x:
                 break;
                 case second ! y:
                 break;
            }
             seq
             {
                 delay;
                 second ? z;
             }
}

例3
prialt
{
     case a ? x:
          x++;
      break;
      case b ! y:
           y++;
      break;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

handel c参考论文

  • 2011-06-14 18:14
  • 2.04MB
  • 下载

Handel-C详细介绍

  • 2012-05-14 12:12
  • 2.47MB
  • 下载

C/C++笔试必须熟悉掌握的头文件系列(十)——iomanip.h/iomanip

iomanip.h是I/O流控制头文件,就像C里面的格式化输出一样,主要是对cin和cout操纵的云算子。需要注意C++中替代iomanip.h并不是cipmanip,而是直接ipmanip,与cma...

Handel Music for the Royal Fireworks

  • 2013-07-17 17:43
  • 16.11MB
  • 下载

C对文件的一些操作(孙鑫vc++的阅读笔记)

打开文件 FILE fopen(const char *filename,const char *mode); @filename 要打开的文件 @mode 打开的模式 打开的模式有如下: "r"...

C main函数的参数

main函数是C语言中的入口函数。可以不带参数,也可以带参数,这个参数可以认为是 main函数的形式参数。 C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。因此,ma...

北邮OJ-257- 最近公共祖先-14软院上机C

本题的思路是利用树的双亲表示法(并查集模板)进行寻根(findRoot方法)压栈,把每一级的父节点都压栈。然后从上往下逐一比对即可。Problem C. 最近公共祖先 题目描述 给出一棵有N个节点...

两道面试题所引发的C指针的思考

C语言是一门使用比较广泛的高级编程语言,而指针则是C语言的精髓所在,可以说学习C语言不会灵活使用指针就谈不上精通C语言。但是由于C语言指针的灵活性导致了我们在使用过程中出现莫名其妙的各种问题,甚至是段...

林锐高质量c编程阅读心得

要指明函数返回值类型,如果没有返回值,也应该注明。函数名字和返回值类型不可冲突,正常返回和错误返回,在编写程序的过程中,要严格区分开。如果函数的返回值是一个对象,有些场合用“引用传递”替换“值传递”可...

1-12 S3C2440中断的原理与实践

一、  中断处理流程     1.  CPU工作过程中,需要与外设进行交互的方式分为:         轮询方式:CPU不断地查询设备的状态,该方式实现简单,但CPU利用率低,而且不适合多任务系统。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)