assign / deassgin

force /release

the procedural continuous assignments(using keywords assign and force) are procedural statements that allow expressions to be driven continously onto variables or nets.

1. net_lvalue = expression  in force statement net_lvalue is verialbe reference or a net reference .  can be a concatenation of any of the above .bit-selects and part-selects of vector variables are not allowed

   variable_lvalue = expression   in assign statement  variable_lvalue is  verialbe reference or a concatenation of variables , not be a memory word(array reference) or a bit-select or a part-select of a variable

  

2.assign variable_assignment

   deassign variable_lvalue

   force variable_assignment

   force net_assignment

   release variable_lvalue

   release net_lvalue

3.the assign and deassign procedural statements

   the assign procedural continuous assignment statement shall override all procedural assignments to a variable(过程性持续赋值优先级要高于一般的过程赋值)

   the deassign procedural statement shall end a procedural continous assignment to a variable.

  the value of the variable shall remain the same until the variable is assigned a new value through a procedural assignment or procedural continuous assignment.

  If the keyword assign is applied to a variable for which there is already a procedural continous assignment,then this new procedural continous assignment shall deassgin the variable before making the new procedural continuous assignment.(如果有assign 先deassign, 再assign)

4.the force and release procedural statements

  1.these statements have a similar effect to the assign-deassign pair,but a force can be applied to nets as well as to variables.

  2. the left-hand side of the assignment can be a variable, a net ,a constant bit-select of a vector net, a part-select of a vector net , or a concatentation. It cannot be a memory word(array reference) a bit-select or

        a part-select of a vector variable.(看来force 使用的范围要比assign大,还是尽量用force-release好些)

  3.a force  statement to a variable shall override a procedural assignment or an assign procedural continous assignment to the variable until a release procedural statement is executed on the variable.

  4.when released, shall not immediately change value.the variable shall maintain its current value until the next procedural assignment or procedural continuous assignment to the variable.

  5. releasing a variable that currently has an active assign procedural continous assignment shall immediately reestablish that assignment.

   6.A force procedural statement on a net shall override all drivers of the net --gate outputs,module outputs,and continous assignments--until a release procedural statement is executed on the net.when released,

the net shall immediately be assgined the value determined by the dirvers of the net.

verilog behavioral modeling--procedural continous assignment(不用)的更多相关文章

  1. verilog behavioral modeling --procedural assignments

    1.procedural assignments are used for updating reg ,integer , time ,real,realtime and memory data ty ...

  2. verilog behaviral modeling -- procedural timing contronls

    1.delay control : an expression specifies the time duration between initially encountering the state ...

  3. verilog behavioral modeling ---Block statements

    block statements : 1. sequential block  : begin-end block 2.parallel block       :  fork - join bloc ...

  4. verilog behavioral modeling --loop statement

    1.forever 2.repeat 3.while 4.for The for statement accomplishes the same results as the following ps ...

  5. verilog behavioral modeling--blocking and nonblocking

                                                                                                 BLOCKIN ...

  6. verilog behavioral modeling--overview

    1.verilog behavioral models contain procedural statements that control the simulation and manipulate ...

  7. verilog behavioral modeling--branch statement

    conditional statement case statement 1. conditional statement     if(expression)         statement_o ...

  8. verilog behavioral modeling--sequential and parallel statements

    1.Sequential statement groups the begin-end keywords: .group several statements togethor .cause the ...

  9. verilog FAQ(zz)

    1. What is the race condition in verilog? Ans :The situation when two expressions are allowed to exe ...

随机推荐

  1. 存储-InfluxDB

    1 TSDB influxDB是一个time series时间序列数据库. 在监控系统的开发中,大体分为采集-存储-可视化三个大类.监控指标有很显著的时间特征数据,一般采用TSDB存储. 在TSDB中 ...

  2. with rollup

    实验吧的一道ctf题,这两天无聊,做做ctf题.在实验吧被一道也题卡了好久. 页面很简单就是一个登陆页面,按照之前的经验觉得应该是注入吧.再看题猜测应该是绕waf之类的. 查看页面源码找到了提供的源代 ...

  3. 542 01 Matrix 01 矩阵

    给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离.两个相邻元素间的距离为 1 .示例 1:输入:0 0 00 1 00 0 0输出:0 0 00 1 00 0 0 示例 2:输入: ...

  4. jQuery toggleClass 源码解读

    toggleClass: function( value, stateVal ) { var type = typeof value;//值类型 if ( typeof stateVal === &q ...

  5. D. Anton and Chess 模拟题 + 读题

    http://codeforces.com/contest/734/problem/D 一开始的时候看不懂题目,以为象是中国象棋那样走,然后看不懂样例. 原来是走对角线的,长知识了. 所以我们就知道, ...

  6. Redis特点

    内存存储,速度极快. 支持的数据类型多,相比较其他的Nosql. 键:字符串 值的六种数据结构:字符串,列表,散列,集合,有序集合,HyperLogLog 附加功能强大

  7. Linux--NiaoGe-Service-04

    操作系统版本:CentOS 6.10 x86_64 查看内核所获取到的网卡信息 [root@xueji ~]# dmesg | grep -in eth :e1000 ::-bit) :0c::6b: ...

  8. 关于.NET .cs后台提示并进行页面跳转代码

    在后台.CS页面中植入下面代码 string url = "<script>alert('xxx');window.location.href='"xxx.html&q ...

  9. jsp中<c:forEach varStatus="status">的属性值问题

    c:forEach varStatus属性 current当前这次迭代的(集合中的)项 index当前这次迭代从 0 开始的迭代索引 count当前这次迭代从 1 开始的迭代计数 first用来表明当 ...

  10. Azure资源管理工具Azure PowerShell介绍

    什么是 Azure PowerShell? Azure PowerShell 是一组模块,提供用于通过 Windows PowerShell 管理 Azure 的 cmdlet.你可以使用 cmdle ...