zoukankan      html  css  js  c++  java
  • Verilog2001的向量部分选择

    rt,什么是向量部分选择呢?

    verilog-2001 LRM中有这么一句话:

    对于a[8*i+:8],this is the so-called "Indexed vector part selects" 。

    在Verilog-1995中,可以选择向量的任一位输出,也可以选择向量的连续几位输出,不过此时连续几位的始末数值的index需要是常量。

    vect[msb_expr : lsb_expr]; //其中msb_expr和lsb_expr必须是常量表达式。

    而在Verilog-2001中,可以用变量作为index,进行part select。

    [base_expr +: width_expr] //positive offset

    [base_expr -: width_expr] //negative offset

    其中base_expr可以是变量,而width_expr必须是常量。+:表示由base_expr向上增长width_expr位,-:表示由base_expr向下递减width_expr位。

    例如:

    reg [63:0] word;

    reg [3:0] byte_num; //a value from 0 to 7

    wire [7:0] byteN = word[byte_num*8 +: 8];

    如果byte_num的值为4,则将word[39:32]赋值给byteN。

  • 相关阅读:
    四轴PID思路整理
    STM32输入捕获TIM2四通道
    四轴和遥控器的对应
    四层板学习(二)
    四层板学习(一)布线前的准备
    冲突的处理方法
    散列表
    重设置电脑时间
    深圳销量统计源码分析
    源码分析
  • 原文地址:https://www.cnblogs.com/jyaray/p/2266082.html
Copyright © 2011-2022 走看看