公海赌船网址2、行为级描述。2、行为级描述。/

1、在用verilog描述电路时,既好展开行为级的描述,也可以进行结构级的叙述。

1、在使用verilog描述电路时,既好进行行为级的叙述,也可开展结构级的讲述。

verilog
/* Verilog 学习笔记 – 1 */

      ①行为级描述:侧重针对模块行为功能的架空描述。

      ①行为级描述:侧重针对模块行为功能的虚幻描述。

// @`13
// 2017年6月6日

      ②完构级描述:侧重针对模块内部结构实现的切实描述。

      ②了构级描述:侧重针对模块内部结构实现的有血有肉讲述。

/* 1.1 什么是Verilog HDL? */
//———————————————————————
// Verilog HDL (Hardware Description Language)
是同样栽硬件描述语言,可以以算法级、
// 门级到开关级的余架空设计层次上对数字系统建模。
//
它可描述设计的表现特征、数据流特性、结构重组和包含响应监控与统筹验证点
// 的时延和波产生体制。此外,verilog提供了编程语言接口,
//
通过该接口用户可以模拟、验证期间由表面看计划,包括学的现实性控制与运作。
// Verilog
不仅定义了语法,而且对每个语法结构都定义了鲜明的依样画葫芦、仿真语义。因此,
// 用这种语言编写的模型能够用 Verilog 仿真器进行认证。
// Verilog
从C语言中继承了多操作符和布局,所以于布局及看两者有好多相似之处在。
// Verilog HDL是公以支付 FPGA 、ASIC 时采用的言语,跟开发软件使用
C语言一个道理。

2、行为级描述

2、行为级描述

/* 1.2 Verilog的历史 */
//———————————————————————
// Verilog HDL是由GDA(Gateway Design Automation)公司
// 的PhilMoorby在1983年末首创的,
//
最初单纯计划了一个假与认证器,之后同时陆续开发了有关的故障模拟与时序分析工具。
// 1985年Moorby推出它的老三只商用仿真器Verilog-XL,获得了了不起的中标,
// 从而使得 Verilog HDL
迅速得到推广应用。1989年CADENCE公司收购了GDA公司,
// 使得 Verilog HDL成为了该商家的分别专利。
// 1990年CADENCE公司公开刊登了Verilog HDL,
// 并树立LVI组织以推动Verilog HDL成为IEEE标准,即IEEE Standard
1364-1995.
// Verilog-1995后的版本是Verilog 2001,称作Verilog 2.0。
// SystemVerilog 是贴近几年发展起来的,称作 Verilog 3.0.
// 本书讲述的是Verilog-1995。对于多数开销FPGA的人数的话,
// 掌握Verilog-1995凡得的,因为大部分已经起计划还是根据Verilog 1995之。

     ①描绘述体的组成

     ①写述体的做

/* 1.3 Verilog的根本讲述能力 */
//———————————————————————
// Verilog
是超级的寄存器传输级设计语言与门级描述语言,这是Verilog成功之常有。
// 下面列有之凡 Verilog 硬件描述语言的要紧力量(不耐烦的读者可以稍微过):

      ※由多独相运行的历程块组成。

      ※由多只相互运行的进程块组成。

// (1)基本逻辑门,
// 例如 and、
// or 和
// nand 等都坐在语言中。

      ※过程块由过程语句(initial和always)和片语句(串行块begin-end和相块fork-join)组成。

      ※过程块由过程语句(initial和always)和片语句(串行块begin-end和相互块fork-join)组成。

//
(2)用户定义原语(UDP)创建的八面玲珑。用户定义之原语既可是结合逻辑原语,
// 也得以是时序逻辑原语。

      ※块语句由过程赋值语句和高级程序报句构成。

      ※块语句由过程赋值语句和高档程序报句构成。

// (3)开关级基本构造模型,例如 pmos 和 nmos 等为被平放在言语中。

            ◇过程赋值语句:阻塞与非阻塞式赋值。

            ◇过程赋值语句:阻塞与非阻塞式赋值。

//
(4)提供显式语言结构指定设计受到的端口到端口的时延及路径时延和计划的时序检查。

            ◇高级程序报句:C语言如if-else、case、while、wait等结合。

            ◇高级程序报句:C语言如if-else、case、while、wait等做。

// (5)可使用三栽不同方式还是混合方式对设计建模。这些点子包括:
// 行为叙道—使用过程化结构建模;
// 数据流方式—使用连续赋值语句方式建模;
// 结构化方式—使用门和模块实例语句描述建模。

     ②行为级描述模块的成图

     ②行为级描述模块的结缘图

// (6)Verilog HDL 中生三三两两类似数据类型:
// 线网数据类型和寄存器数据类型。
// 线网类型表示构件间的大体连线,而寄存器类型表示抽象的数量存储元件。

    公海赌船网址 1

    公海赌船网址 2

// (7)能够描述层次设计,可采用模块实例结构描述任何层次。

 Verilog Code 

 Verilog Code 

// (8)设计的圈足以是随机的;语言不针对计划之范畴(大小)施加任何限制。
// (9)Verilog HDL 不再是一些商家之专有语言而是 IEEE 标准。
// (10)人同机具还可读 Verilog 语言,因此其不过看作 EDA
的家伙及设计者之间的相语言。
// (11)Verilog HDL
语言的讲述能力会由此利用编程语言接口(PLI)机制更加扩大。
// PLI 是容外部函数访问 Verilog
模块内信息、允许设计者和模拟器交互的例程集合。
//
(12)设计能以多单层次上加以描述,从开关级、门级、寄存器传送级(RTL)到算法级,
// 包括过程和班列级。
// (13)能够使内置开关级原语在开关级对设计总体建模。
//
(14)同一语言可用来转移模拟激励与指定测试的证明约束规范,例如输入值的指定。
// (15)Verilog HDL 能够监控模拟验证的履行,
//
模拟验证执行过程被设计之价会被监督和出示。这些价值吗能用于和期望值比较,
// 以未兼容的情形下,打印报告信息。
// (16)在行为级描述负,Verilog HDL 不仅能当 RTL 级上拓展设计描述,
// 而且能够当系结构级描述及其算法级行为及展开规划描述。
// (17)能够使用门和模块实例化语句以结构级进行结构描述。
// (18)Verilog HDL 还具有内置逻辑函数,例如
// &(按位与)和
// |(按位或)。

//例:全加器行为级描述
module fadder(sum,a,b,cin);//模块定义
output sum,cout;//端口声明
input a,b,cin;//端口声明
reg sum,cout;//数据类型声明

//例:全加器行为级描述
module fadder(sum,a,b,cin);//模块定义
output sum,cout;//端口声明
input a,b,cin;//端口声明
reg sum,cout;//数据类型声明

// (19)对高档编程语言结构,例如
// 条件语句、
// 情况语句和
// 循环语句子, 语言中还好下。

always @(a or b or cin)//过程语句
   
    begin//高级程序报句
      sum=a^b^cin;//过程赋值语句
      cout=(a&b)|(b&cin)|(a&cin);//过程赋值语句
    end
endmodule//结束行

always @(a or b or cin)//过程语句
   
    begin//高级程序报句
      sum=a^b^cin;//过程赋值语句
      cout=(a&b)|(b&cin)|(a&cin);//过程赋值语句
    end
endmodule//结束行

// (20)可以显式地对出现和定时进行建模。
// (21)提供强大的文书读写能力。
//
(22)语言在一定情景下是无阳的,即于不同的模拟器上型可以起不同之结果;
// 例如,事件队列上之波顺序以正式中莫概念。

 

 

/* 2.1 Verilog-模块 */
// ==============================================
// 模块是Verilog
的基本描述单位,用于描述有设计之功用要结构及其与其它模块通信的表面端口。
// 一个规划的结构可使用 开关级原语、 门级原语和
用户定义的原语方式讲述;
// 设计的数额流行为运用 连续赋值语句进行描述;
时序行为以过程结构描述。
// 一个模块可于其它一个模块中利用。

3、结构级描述

3、结构级描述

// 一个模块的着力语法如下:
module module_name(port_list) ;
// …
endmodule
[/** 注意最后有个子公司 */]

    ①写述体的成

    ①绘画述体的结

// 说明部分用以定义不同之起,例如模块描述中运用的寄存器和参数。
// 语句定义设计之效益跟组织。
// 说明一些以及讲话可以散布在模块中之其它地方;但是变量、寄存器、
// 线网和参数等之认证部分必须以应用前出现。
// 为了要模块描述清晰与有良好的可读性,
// 最好拿具有的辨证一些在语句前。本书中之所有实例都守就同标准。

        ※门级描述:对由基本逻辑门(and、or、not、xor等)互连而改为的有所自然作用的电路模块的讲述。

        ※门级描述:对由于中心逻辑门(and、or、not、xor等)互连而改为的所有一定力量的电路模块的叙说。

// Demo 一个半加器电路的模块。
module HalfAdder (A, B, Sum, Carry) ;

        ※结构级描述:将上述逻辑门用一个个功能模块替换,就开展及一般意义之结构级描述。

        ※结构级描述:将上述逻辑门用一个个功能模块替换,就展开至一般意义的结构级描述。

input A, B; //输入
output Sum, Carry;//输出

    ②扫尾构级描述模块

    ②截止构级描述模块

assign #2 Sum = A ^ B;//赋值
assign #5 Carry = A & B;//赋值

      例:全加器门级

      例:全加器门级

endmodule

      公海赌船网址 3

      公海赌船网址 4

// 模块的讳是 HalfAdder。
// 模块有4个端口:
// 两单输入端口A和B,
// 两只出口端口Sum和Carry。
// // 由于无定义端口的位数, 所有端口大小都为1员;
// // 同时, 由于没有各个端口的数据类型说明, 这四独端口还是 [线网]
数据类型。
// // 模块包含两漫长描述半加器数据流行为的连续赋值语句。
// // 从这种意义上言语,这些言辞以模块中冒出的逐条无关紧要,这些话语是
[并发] 的。
// 每条告词的实行顺序依赖让产生在变量A和B上的风波。

 Verilog Code 

 Verilog Code 

// 在模块中,可用下述方式讲述一个计划:
// 1) 数据流方式;
// 2) 行为艺术;
// 3) 结构方式;
// 4) 上述描述道的混合。

//例:全加器结构级描述
module fadder(sum,a,b,cin);//模块定义
    output sum,cout;//端口声明
    input a,b,cin;//端口声明
    /*******门级互连*****/
    xor U0(sum,a,b,cin);
    and U1(net1,a,b);
    and U2(net2,a,cin);
    and U3(net3,b,cin);
    or U4(cout,net1,net2,net3);
endmodule//结束行

//例:全加器结构级描述
module fadder(sum,a,b,cin);//模块定义
    output sum,cout;//端口声明
    input a,b,cin;//端口声明
    /*******门级互连*****/
    xor U0(sum,a,b,cin);
    and U1(net1,a,b);
    and U2(net2,a,cin);
    and U3(net3,b,cin);
    or U4(cout,net1,net2,net3);
endmodule//结束行

/* 2.2 Verilog-时延 */

//

// Verilog
HDL模型中的保有时延都基于日单位定义。下面是带来时延的总是赋值语句实例。

assign #2 Sum = A ^ B;
// # 2指2单日子单位。

//
用编译指令以日单位以及物理时间相关联。这样的编译器指令需以模块描述前定义,
// 如下所示:
`timescale 1ns /100ps

// 此语说明时延时间单位吗1 ns 并且时间精度也100ps
// (时间精度是恃具有的时延必须给界定于0.1ns内)。
// 如果这个编译器指令所在的模块包含上面的连赋值语句,
// #2 代表2ns。如果无如此的编译器指令,
// Verilog HDL 模拟器会指定一个缺省时间单位。
// IEEE Verilog HDL 1995 标准中从未规定缺省时间单位。

// 注意:这里谈话的是IEEE Verilog 1995之语法,
// 我们将以后文讲述IEEE Verilog 2001跟1995底异。

/* 2.3 Verilog-assign语句 */

//

//
本节讲述连续赋值语句。在连接赋值语句被,某个值为选派给线网变量。连续赋值语句之语法为:

assign [delay] LHS_n e t = RHS_expression;

//右边表达式使用的
[/* 操作数无论何时发生变化 , 右边表达式都再度计算 , /]
//并且以指定的时延后变化值被赋予左边表达式的线网变量。
// 时延定义了右表达式操作数变化及赋值给左表达式之间的持续时间。
[/
如果没概念时延值, 缺省常常延为0。 */]

// DEMO2 解码器电路
`timescale 1ns/ 1ns
module Decoder2x4 (A, B, EN, Z);

input A, B, EN;
output [0 :3] Z;
wire Abar, Bbar;

assign #1 Abar = ~ A; // 语句1。
assign #1 Bbar = ~ B; // 语句2。
assign #2 Z[0] = ~ (Abar & Bbar & EN ) ; // 语句3。
assign #2 Z[1] = ~ (Abar & B & EN) ; // 语句4。
assign #2 Z[2] = ~ (A & Bbar & EN) ; // 语句5。
assign #2 Z[3] = ~ ( A & B & EN) ; // 语句6。

endmodule

// 解释
[预编译指令]
// 以反引号“ ”开始的第一条语句是编译器指令, // 编译器指令 timescale
将模块中具有时延的单位安装为1 ns,时间精度也1 ns。
// 例如,在连年赋值语句中时延值# 1和# 2分别对应时延1ns和2ns。
[网线型数据类型]
//
模块Decoder2x4起3单输入端口和1只4各类输出端口。线网类型说明了区区个连线型变量
Abar
// 和 Bbar (连线类型是线网类型的一模一样栽)。此外,模块包含6单连续赋值语句。
// 当E N在第5 ns变化时,语句3、4、5和6执行。
// 这是盖E N是这些连赋值语句被右边表达式的操作数。
// Z[ 0 ]以第7 ns时为与新值0。当A于第15 ns变化时,
语句1、5同6履。
// 执行语句5和6不影响Z[ 0 ]和Z[ 1 ]
// 的取值。执行语句5导致Z[ 2 ]值在第17 ns变为0。
// 执行报告句1导致A b a r在第16 ns被再赋值。由于A b a r
// 的更改,反过来又导致Z[ 0 ]值在第18 n s变为1。
// 请注意连续赋值语句是安对电路的数目流行为建模的;
// 这种建模方式是隐式而非显式的建模方式。
// 此外,
[连年赋值语句是出现执行之]
// 也就是说各语句之实施各个及该当叙负出现的相继无关。

/* 2.4 Verilog-initial语句 */

//

//
initial语句子:在虚假中仅实行同样次等,用于初始化变量,描述一次性行为,在虚假时刻0开始实行。
// 下面是initial语句的演示:

`timescale 1ns/1ns

module Test(Pop,Pid);

output Pop,Pid;
reg Pop,Pid;

initial

begin
Pop = 0;//语句1。
Pid = 0;//语句2。
Pop = #5 1;//语句3。
Pid = #3 1;//语句4。
Pop = #6 0;//语句5。
Pid = #2 0;//语句6。
end

endmodule

[nitial语句包含一个历过程。]
// 这同逐项过程在0ns时起实践,并且以依次过程被
[拥有语句全部履行完毕后,initial语句永远挂于。]
// 这同样历过程包含带有定义语句内时延的分组过程赋值的实例。
// 语句1跟2在0ns时实施。第三漫长告句也在0时刻执行,
// 导致Pop在第5ns时受赋值。语句4以第5ns执行,并且Pid在第8ns被赋值。
// 同,Pop在14ns被与值0,Pid在第16ns被授予值0。第6漫漫告句子执行后,
// initial语句永远给吊于。第8回将重新详细地讲学initial语句。

/* 2.5 Verilog-always语句 */

//

[always语句总是循环执行],
// 或者说这个语句再度执行。只有
[偏偏生 寄存器类型数据(REG) 能够当这种话中叫赋值]。
// 寄存器类型数据以被给予新价值前保持原来值未换。
// 所有的初始化语句和always语句在0时刻出现执行。

// DEMO 1位全加器电路
module FA_Seq(A,B,Cin,Sum,Cou)t;

input A,B,Cin;
output Sum,Cout;
reg Sum,Cout;
reg T1,T2,T3;

always @(A or B or Cin)
begin
Sum = (AB)Cin;
T1 = A&Cin;
T2 = B&Cin;
T3 = A&B;

Cout=(T1|T2)|T3;
end

endmodule

// 模块FA_Seq有三个输入和少数单出口。由于Sum、Cout、T1、T2和T3
//
在always语句被受赋值,它们让证明也reg类型(reg是寄存器数据类型的等同种植)。
[always语句被起一个跟事件控制(紧跟以字符@后面的表达式)]。
//
这表示只要A、B或Cin上发出事变,即A、B或Cin之一的价值发生变化,顺序过程就推行。

[互关联的一一过程(begin-end对)。]
// 以依次过程被的语顺序执行,并且于逐一过程实行完毕后为吊起于。
// 顺序过程执行好后,always语句再次等待A、B或Cin上出的轩然大波。
// 以一一过程被出现的言辞是过程赋值模块化的实例。
//
模块化过程赋值在产一样久告词执行前形成实施。过程赋值可以产生一个可选的时延。

[时延可以分为少种植类型]:
// 1)语句间时延: 这是常延语句执行之时延。
// 2)语句内时延: 这是右手表达式数值计算和左侧表达式赋值间的时延。

// 下面是语句间时延的以身作则:

Sum = (AB)Cin;

4 T1 = A&Cin;

// 在亚修告句被之时延规定赋值延迟4单日子单位履行。
// 就是说,在第一长条告句执行后等候4只时刻单位,然后实施第二漫漫语句。

// 下面是语句内时延的以身作则。

Sum= #3 (AB)Cin;
//
这个赋值中之时延意味着首先计算右边表达式的值,等待3只时间单位,然后赋值给Sum。

/* 2.6 Verilog的结构化描述形式(???) */
// ===============================

// 于VerilogHDL中可是利用如下方式讲述结构:
// 1)内置门原语(在门级);
// 2)开关级原语(在晶体管级);
// 3)用户定义的原语(在门级);
// 4)模块实例(创建层次结构)。

//
在就同实例中,模块包含门的实例语句,也就是说包含内置门xor、and和or的实例语句。
// 门实例由线网类型变量S1、T1、T2和T3互连。由于无点名的一一,
//
门实例语句可以坐其他顺序出现;图中展示了纯结构;xor、and和or是外置门原语;
// X1、X2、A1抵是实例名称。紧跟在每个门后的信号列表是它们的互连;
// 列表中之率先独凡是门输出,余下的是输入。
// 例如,S1与xor门实例X1的输出连接,而A和B与实例X1的输入连接。

// 4各都加器的组织描述形式。
module FourBitFA(FA,FB,FCin,FSum,FCout);

parameter SIZE=4;

input [SIZE:1]FA,FB;
output [SIZE:1]FSum
input FCin;
input FCout;

wire [1:SIZE-1]FTemp;

FA_Str

FA1(.A(FA[1]),.B(FB[1]),.Cin(FCin),.Sum(FSum[1]),.Cout(FTemp[2])),
FA2(.A(FA[2]),.B(FB[2]),.Cin(FTemp[1]),.Sum(FSum[2]),.Cout(FTemp[2])),
FA3(FA[3],FB[3],FTemp[2],FSum[3],FTemp[3],
FA4(FA[4],FB[4],FTemp[3],FSum[4],FCout);

endmodule

//在及时等同实例中,模块实例用于建模4号皆加器。在模块实例语句被,
//
端口可与名或位置关系。前少单实例FA1和FA2使用命名关联方式,也就是说,
// 端口的称呼以及它连接的线网被显式描述
[(每一个之样式都也“.port_name(net_name))]
//
最后两只实例语句,实例FA3以及FA4使用位置关系方式以端口和线网关联。这里提到的次第很重点,
// 例如,在实例FA4中,第一个FA[4]与FA_Str的端口A连接,
// 第二个FB[4]与FA_Str的端口B连接,余下的由此类推。

/* 2.7 Verilog-混合设计描述道 */
// ===============================

// 于模块中,结构的以及行的结构可以随便混合。也
// 就是说,模块描述负得蕴涵
// 实例化的山头、
// 模块实例化语句、
// 连续赋值语句
// 以及always语句和initial语句的搅和。
// 它们中间可以并行包含。来自always语句和initial语句
[切记只有寄存器类型数据好当当下简单种植语句被赋值]
//的值会驱动门或开关,而来于家要连赋值语句(只能使线网)的值能
// 够反过来用于触发always语句和initial语句。

// DEMO 混合设计方法的1位全加器实例。

module FA_Mix (A, B, Cin, Sum, Cout);

input A,B, Cin;
output Sum, Cout;

reg Cout;
reg T1, T2, T3;

wire S1;
xor X1(S1, A, B); // 门实例语句。

always @( A or B or Cin )

begin
T1 = A & Cin;
T2 = B & Cin;
T3 = A & B;
Cout = (T1| T2) | T3;
end

assign Sum = S1 ^ Cin; // 连续赋值语句。

endmodule

//
只要A或B上出事件产生,门实例语句即受执行。只要A、B或Cin上产生事件来,
// 就执行always 语句,并且要S1或Cin上起事件闹,就执行连续赋值语句。

/* 2.8 Verilog-设计模拟 */
// =========================================

// Verilog
HDL不仅提供描述设计之力量,而且提供针对性鼓舞、控制、存储响应与统筹验证的建模能力。
//
激励和决定可用初始化语句子产生。验证运行过程遭到的响应得以当做“变化时保留”或当作选通的多少存储。
//
最后,设计验证可以由此以初始化语句被描写副相应的言语自动与企盼的响应值比较到位。

// 下面是测试模块Top的例子。该例子测试2 . 3省吃说到之FA Seq模块。

`timescale 1 ns/1 ns

module Top; // 一个模块可生一个空的端口列表。

reg PA, PB, PCi;
wire PCo, PSum;

// 正在测试的实例化模块:

FA_Seq F1(PA, PB, PCi, PSum, PC)o; // 定位。

initial

begin: ONLY_ONCE

reg [3:0] Pal;
// 需要4个, Pal才能够赢得值8。

for (Pal = 0; Pal < 8; Pal = Pal + 1)

begin
{PA, PB, PCi} = Pal;

5 $display(“PA, PB, PCi = %b% b% “b, PA, PB, PCi,PCo, PSum=%b%b ”, PCo, PSum) ;

end

end

endmodule

//
在测试模块描述中以位置关系方式将模块实例语句被之信号与模块中之端口相连接。
// 也就是说,PA连接受模块FA Seq的端口A,P B连接受模块FA S e
q的端口B,依此类推。
// 注意初始化语词被以了一个f o r循环语句,在PA、P B和P C
i上出波形。
// for
循环中的率先漫长赋值语句用于表示合并的对象。自右为左,右端各对应的位赋给左端的参数。
// 初始化语句还富含有一个预先定义好的系任务。系统任务$d i s p l a
y将输入以一定的格式打印输出。
// 系统任务$ d i s p l a y调用中的时延控制规定$d i s p l a
y任务在5单日子单位后执行。
// 这5独日子单位多代表了逻辑处理时。
// 即是输入向量的加载到观察到模块于测试条件下输出之间的延迟时间。
// 这同样型中还有另外一个细微差别。P a l在初始化语句子内被有定义。
// 也做到就同作用,初始化语句子被之次第过程( b e g i n – e n
d)必须标记。
// 于这种情景下, ONLY O N C
E是各个过程标记。如果在逐一过程外没有有声明的变量,
// 就无欲该标记。测试模块出的波如图2 –
7亮。下面是测试模块出的输出。

// DEMO 交叉连接的及非门
// 验证与非门交叉连接成的R S F F模块的测试模块如图2 – 8所展示。

`timescale 10ns / 1ns

module RSFF (Q, Qbar, R, S) ;

output Q, Qbar;
input R, S;

nand #1 (Q, R, Qbar) ;
nand #1 (Qbar, S, Q,) ;

// 于门实例语句被,实例名称是可选的。

endmodule

module Test;

reg TS, TR;

wire TQ, TQb;

// 测试模块的实例语句:

RS_FF NSTA ( .Q(T Q), .S(T S), .R(T R), .Q b a r(T Q b));

//采用端口名互动关联的连天方式。

// 加载激励:

initial

begin:

TR = 0;
TS = 0;

5 TS = 1;

5 TS = 0;

TR = 1;

5 TS = 1;

TR = 0;

5 TS = 0;

5 TR = 1;

end

//输出显示:

initial

$monitor(“At time %t ,” , $ t i m e,”TR = %b, TS=%b, TQ=%b, TQb= %b”T,R
, TS, TQ, TQ)b ;

endmodule
/*
RS_FF模块描述了计划的结构。在门实例语句被以门时延;例
要是,第一个实例语句被的门时延为1只时刻单位。
该门时延意味着如果R或Qbar假定在T时刻变化,Q将于T+
1时刻获得计算结果值。
模块Te s t是一个测试模块。测试模块中之R S F
F用实例语句说明该端口用端口名关联方式连接。
以及时同样模块中发出半点漫漫初始化语句。第一个初始化语句只简单地来T S和T
R上的脉。
立刻同样新始化语句包含带有语句间时延的次块过程赋值语句。
老二漫漫初始化语句调用系统任务$m o n i t o r。
当下同一体系任务调用的效力是使参数表中指定的变量值发生变化就打印指定的字符串。
*/

相关文章