欢迎光临散文网 会员登陆 & 注册

HDLBits (16) — 向量的拼接

2022-01-25 23:45 作者:僚机Wingplane  | 我要投稿

本题链接:

https://hdlbits.01xz.net/wiki/Vector3

部分选择用于选择访问向量的一部分。 拼接运算符 {a,b,c} 用于通过将几个小向量拼接在一起来创建更大的向量。

连接需要知道每个组件的宽度(或者你怎么知道结果的长度?)。因此,{1,2,3} 是非法的从而会导致错误消息:串联中不允许使用未调整大小的常量。

连接运算符可用于赋值的左侧和右侧。

题目

给定几个输入向量,将它们连接在一起,之后它们分成几个输出向量。 有六个 5 位输入向量:a、b、c、d、e 和 f,总共 30 位输入。 有四个 8 位输出向量:w、x、y 和 z,用于 32 位输出。 输出应该是输入向量的串联,后跟两个 1 位:

答案

输出波形

Verilog 中提供了大约 9 种操作符,分别是算术、关系、等价、逻辑、按位、归约、移位、拼接、条件操作符。

大部分操作符与 C 语言中类似。同类型操作符之间,除条件操作符从右往左关联,其余操作符都是自左向右关联。圆括号内表达式优先执行。例如下面每组的 2 种写法都是等价的。

拼接操作符用大括号 {,} 来表示,用于将多个操作数(向量)拼接成新的操作数(向量),信号间用逗号隔开。

拼接符操作数必须指定位宽,常数的话也需要指定位宽。

参考内容:

2.4 Verilog 表达式 | 菜鸟教程:

https://www.runoob.com/w3cnote/verilog-expression.html


HDLBits (16) — 向量的拼接的评论 (共 条)

分享到微博请遵守国家法律