面试系列:RTL基本知识【5】快速填充矢量

快速扩充VECTOR所有位为1


【问题描述】

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

【误区】

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

【解决方法】

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


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



【注意事项】

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

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

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

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


欢迎大家点赞转发哦~ ,本文原发于微信公众号【硅芯思见】

全部评论
感谢分享,希望我面试能用得到
点赞 回复 分享
发布于 2022-06-29 17:01

相关推荐

有了offer来还愿:学校不行,专业不行,学历不行,怎么找?
点赞 评论 收藏
分享
牛客48826091...:哥们胸肌挺好看
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务