登录 注册
当前位置:主页 > 资源下载 > 50 > 连续赋值语句-机器人动力学与控制-word版下载

连续赋值语句-机器人动力学与控制-word版下载

  • 更新:2024-06-23 11:24:20
  • 大小:2.96MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:嵌入式 - 课程资源
  • 格式:PDF

资源介绍

7.1 连续赋值语句 连续赋值语句将值赋给线网 (连续赋值不能为寄存器赋值 ),它的格式如下 (简单形式 ): a s s i g n LHS_target = RHS_expression; 例如, w i r e [3:0] Z, Preset, Clear; //线网说明 a s s i g n Z = Preset & Clear; //连续赋值语句 连续赋值的目标为 Z,表达式右端为“ Preset & Clear”。注意连续赋值语句中的关键词 a s s i g n。 连续赋值语句在什么时候执行呢 ? 只要在右端表达式的操作数上有事件 (事件为值的变化 ) 发生时,表达式即被计算;如果结果值有变化,新结果就赋给左边的线网。 在上面的例子中,如果 P re s e t或C l e a r变化,就计算右边的整个表达式。如果结果变化, 那么结果即赋值到线网 Z。 连续赋值的目标类型如下 : 1) 标量线网 2). 向量线网 3) 向量的常数型位选择 4) 向量的常数型部分选择 5) 上述类型的任意的拼接运算结果 下面是连续赋值语句的另一些例子: a s s i g n BusErr = Parity| (One & OP) ; a s s i g n Z = ~ (A | B) & (C | D) & (E | F) ; 只要A、B、C、D、E或F的值变化,最后一个连续赋值语句就执行。在这种情况下,计 算右边整个表达式,并将结果赋给目标 Z。 在下一个例子中,目标是一个向量线网和一个标量线网的拼接结果。 wire C o u t, C i n ; w i r e [3:0] Sum, A, B; . . . a s s i g n {Cout, Sum} = A + B + Cin; 因为A和B是4位宽,加操作的结果最大能够产生 5位结果。左端表达式的长度指定为 5位 (Cout 1位,Sum 4位)。赋值语句因此促使右端表达式最右边的 4位的结果赋给 S u m,第5位(进 位位)赋给C o u t。 下例说明如何在一个连续赋值语句中编写多个赋值方式。