zoukankan      html  css  js  c++  java
  • RTL基本知识:快速填充矢量

    【问题描述】

    在使用Verilog进行设计时,经常会遇到多位向量需要全部填充为"1","x"或者"z"的情况,特别是在不指定位宽的时候,"'bx"或者"'b z"可以填充到矢量的所有位,但是"'b1"并不能得到期望的所有为位"1"的结果。本文针对这种情况,通过详细的示例解释其中原因,同时给出当向量位数不是2的倍数或者位数特别巨大时,如何能够正确的将"1","x"或者"z"赋值到对应的所有位的快捷方法?

    【误区】

    如果在设计中试图想给一个多位宽的向量各位赋予相同是的值,该如何进行呢?常见的代码编写情况如下:    

    【解决方法】

    第一种方法:使用拼位操作符“{}”法

    第二种方法:省略数据类型法

    【注意事项】

    第一种方法:使用拼位运算符“{}”法

    注意重复运算符使用的注意事项,可参考往期topic《Verilog中的拼位操作》。

    第二种方法:省略数据类型法

    注意忽略数据类型后,操作数可以为任何宽度,操作的具体对象是数据的每一bit。


    【魏老师说IC】旨在通过该平台为大家提供一个集成电路技术交流、分享、学习的平台,如果有任何问题或者咨询,可以在博客中留言或者关注个人微信公众号“芯光灿烂”进行更深入的交流和学习。
  • 相关阅读:
    MMU_段式映射
    MMU段式映射(VA -> PA)过程分析
    NOR FLASH驱动程序
    PCB上 如何显示 汉字
    poj1273 Drainage Ditches
    poj2349 Arctic Network
    poj3660 Cow Contest
    poj3259 Wormholes
    poj3159 Candies
    poj1011 Sticks
  • 原文地址:https://www.cnblogs.com/xgcl-wei/p/8906289.html
Copyright © 2011-2022 走看看