zoukankan      html  css  js  c++  java
  • 常见的关系运算符(位拼运算符)

    写在前面的话

    位拼运算符是将多个小的表达式合并形成一个大的表达式,用符号{}来实现多个表达式的连接运算,各个表达式之间用“,”隔开。位拼运算符是梦翼师兄特别喜欢的一种运算符,它聪慧灵秀,不但可以进行简单的数据拼接,更是可以用来执行移位操作,而且数据永远是循环的,不会丢失,用途非常广泛。

    代码实例

        /****************************************************          

        *   Engineer        :   梦翼师兄

        *   QQ               :   761664056

        *   The module function:位拼接运算符模块

        *****************************************************/

    01  module shift(clk,rst_n,led_out);

    02  input clk;//系统输入

    03  input rst_n;//系统复位

    04

    05  output reg [3:0]led_out;//led驱动端口

    06

    07  always@(posedge clk or negedge rst_n)

    08      begin

    09          if(!rst_n)

    10              begin

    11                  led_out<=4'b0111;//让其中一盏灯点亮

    12              end 

    13          else 

    14              begin

    15                  led_out<={led_out[0],led_out[3:1]};//实现流水灯

    16              end 

    17      end 

    18  endmodule 

    编写测试代码如下

        /****************************************************          

        *   Engineer        :   梦翼师兄

        *   QQ               :   761664056

        *   The module function:位拼接运算符测试模块

        *****************************************************/

    01  `timescale 1ns/1ps 

    02  module tb;

    03  reg clk;

    04  reg rst_n;

    05

    06  wire [3:0]led_out;

    07

    08  initial

    09      begin

    10          clk=0;

    11          rst_n=0;

    12          # 1000.1 rst_n=1;

    13      end 

    14

    15  always #10 clk=~clk;    

    16      

    17  shift shift(

    18      .clk(clk),

    19      .rst_n(rst_n),

    20      .led_out(led_out)

    21   );

    22  endmodule 

    查看仿真波形如下:

    从仿真图可以看出,每个时钟周期,0都会向右移动一位。到最右边时就会放返回最左边继续循环,使用拼位的运算符,在很多场合-如串并转换等,会使代码编写变得简单。

    代码的意思是,每次把最低位放到最高位,让前三位放到后面,这样逻辑就实现了移位,形成了循环。

  • 相关阅读:
    Java版远程控制V1.0
    Struts2使用Kindeditor4.0.3在线编辑器上传图片、视频、FLASH、附件
    给你的网站加上站内搜索Spring+Hibernate基于Compass(基于Lucene)实现
    Hibernate整合进spring使用自己的事务处理
    Hibernate整合进spring使用hibernateTemplate.getSessionFactory().getCurrentSession()理解
    GWT(Google Web Toolkit)入门学习
    转载:狼与哈士奇
    [转]远程桌面无法连接上(管理员已结束了会话)的解决方法
    ibmDW:凤凰涅槃:从 iBatis 到 MyBatis
    hibernate多对多映射拆成2个一对多映射(注解)
  • 原文地址:https://www.cnblogs.com/mengyi1989/p/11515975.html
Copyright © 2011-2022 走看看